fix Evil documentation

SVN revision: 43077
This commit is contained in:
Vincent Torri 2009-10-14 18:48:13 +00:00
parent 2ba1de41c8
commit ac15f9b938
23 changed files with 1101 additions and 67 deletions

View File

@ -493,7 +493,7 @@ WARN_LOGFILE =
# directories like "/usr/src/myproject". Separate the files or directories
# with spaces.
INPUT = "../src"
INPUT = ../src/lib ../src/lib/dlfcn
# This tag can be used to specify the character encoding of the source files that
# doxygen parses. Internally doxygen uses the UTF-8 encoding, which is also the default
@ -515,7 +515,7 @@ FILE_PATTERNS =
# should be searched for input files as well. Possible values are YES and NO.
# If left blank NO is used.
RECURSIVE = YES
RECURSIVE = NO
# The EXCLUDE tag can be used to specify files and/or directories that should
# excluded from the INPUT source files. This way you can easily exclude a
@ -568,7 +568,7 @@ EXAMPLE_RECURSIVE = NO
# directories that contain image that are included in the documentation (see
# the \image command).
IMAGE_PATH =
IMAGE_PATH = img
# The INPUT_FILTER tag can be used to specify a program that doxygen should
# invoke to filter for each input file. Doxygen will invoke the filter program
@ -700,13 +700,13 @@ HTML_FILE_EXTENSION = .html
# each generated HTML page. If it is left blank doxygen will generate a
# standard header.
HTML_HEADER =
HTML_HEADER = head.html
# The HTML_FOOTER tag can be used to specify a personal HTML footer for
# each generated HTML page. If it is left blank doxygen will generate a
# standard footer.
HTML_FOOTER =
HTML_FOOTER = foot.html
# The HTML_STYLESHEET tag can be used to specify a user-defined cascading
# style sheet that is used by each HTML page. It can be used to
@ -715,7 +715,7 @@ HTML_FOOTER =
# the style sheet file to the HTML output directory, so don't put your own
# stylesheet in the HTML output directory as well, or it will be erased!
HTML_STYLESHEET =
HTML_STYLESHEET = e.css
# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
# files or namespaces will be aligned in HTML using tables. If set to
@ -773,7 +773,7 @@ TOC_EXPAND = NO
# top of each HTML page. The value NO (the default) enables the index and
# the value YES disables it.
DISABLE_INDEX = NO
DISABLE_INDEX = YES
# This tag can be used to set the number of enum values (range [1..20])
# that doxygen will group on one line in the generated HTML documentation.
@ -1070,7 +1070,7 @@ INCLUDE_FILE_PATTERNS =
# undefined via #undef or recursively expanded use the := operator
# instead of the = operator.
PREDEFINED =
PREDEFINED = _WIN32_WCE __MINGW32CE__
# If the MACRO_EXPANSION and EXPAND_ONLY_PREDEF tags are set to YES then
# this tag can be used to specify a list of macro names that should be expanded.

View File

@ -3,11 +3,26 @@ MAINTAINERCLEANFILES = Makefile.in
.PHONY: doc
PACKAGE_DOCNAME = $(PACKAGE_TARNAME)-$(PACKAGE_VERSION)-doc
if EFL_BUILD_DOC
doc-clean:
rm -rf html/ latex/ xml/ $(PACKAGE_DOCNAME).tar*
doc: all
rm -rf html/ latex/ man/
$(efl_doxygen)
cp img/* html/
rm -rf $(PACKAGE_DOCNAME).tar*
mkdir -p $(PACKAGE_DOCNAME)/doc
cp -R html/ latex/ $(PACKAGE_DOCNAME)/doc
tar cf $(PACKAGE_DOCNAME).tar $(PACKAGE_DOCNAME)/
bzip2 -9 $(PACKAGE_DOCNAME).tar
rm -rf $(PACKAGE_DOCNAME)/
mv $(PACKAGE_DOCNAME).tar.bz2 $(top_srcdir)
clean-local: doc-clean
else
@ -16,7 +31,4 @@ doc:
endif
clean-local:
@rm -rf html/ latex/ man/
EXTRA_DIST = Doxyfile

218
legacy/evil/doc/e.css Normal file
View File

@ -0,0 +1,218 @@
/*
Author:
Andres Blanc <andresblanc@gmail.com>
DaveMDS Andreoli <dave@gurumeditation.it>
Supported Browsers:
ie7, opera9, konqueror4 and firefox3
Please use a different file for ie6, ie5, etc. hacks.
*/
/* Necessary to place the footer at the bottom of the page */
html, body {
height: 100%;
margin: 0px;
padding: 0px;
}
#container {
min-height: 100%;
height: auto !important;
height: 100%;
margin: 0 auto -53px;
}
#footer, #push {
height: 53px;
}
* html #container {
height: 100%;
}
/* Prevent floating elements overflowing containers */
.clear {
clear: both;
width: 0px;
height: 0px;
}
/* Flexible & centered layout from 750 to 960 pixels */
.layout {
max-width: 960px;
min-width: 760px;
margin-left: auto;
margin-right: auto;
}
body {
/*font-family: Lucida Grande, Helvetica, sans-serif;*/
font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif
}
/* Prevent design overflowing the viewport in small resolutions */
#container {
padding-right: 17px;
padding-left: 17px;
background-image: url(head_bg.png);
background-repeat: repeat-x;
}
#header {
width: 100%;
height: 102px;
}
#header h1 {
width: 63px;
height: 63px;
background-image: url(e.png);
background-repeat: no-repeat;
position: absolute;
margin: 0px;
}
#header h1 span {
display: none;
}
#header h2 {
display: none;
}
/* .menu-container is used to set properties common to .menu and .submenu */
#header .menu-container {
}
#header .menu-container ul {
list-style-type: none;
list-style-position: inside;
margin: 0;
}
#header .menu-container li {
display: block;
float: right;
}
#header .menu {
height: 63px;
display: block;
background-image: url(menu_bg.png);
background-repeat: repeat-x;
}
#header .menu ul {
height: 100%;
display: block;
background-image: url(menu_bg_last.png);
background-repeat: no-repeat;
background-position: top right;
padding-right: 17px;
}
#header .menu li {
height: 100%;
text-align: center;
background-image: url(menu_bg_unsel.png);
background-repeat: no-repeat;
}
#header .menu a {
height: 100%;
display: block;
color: #cdcdcd;
text-decoration: none;
font-size: 10pt;
line-height: 59px;
text-align: center;
padding: 0px 15px 0px 15px;
}
#header .menu li:hover {
background-image: url(menu_bg_hover.png);
background-repeat: no-repeat;
}
#header .menu li:hover a {
color: #FFFFFF;
}
#header .menu li.current {
background-image: url(menu_bg_current.png);
background-repeat: no-repeat;
}
#header .menu li.current a {
color: #646464;
}
/* Hide all the submenus but the current */
#header .submenu ul {
display: none;
}
#header .submenu .current {
display: block;
}
#header .submenu {
font: bold 10px verdana,'Bitstream Vera Sans',helvetica,arial,sans-serif;
margin-top: 10px;
}
#header .submenu a {
color: #888888;
text-decoration: none;
font-size: 0.9em;
line-height: 15px;
padding:0px 5px 0px 5px;
}
#header .submenu a:hover {
color: #444444;
}
#header .submenu li {
border-left: 1px solid #DDDDDD;
}
#header .submenu li:last-child {
border-left: 0;
}
#header .doxytitle {
position: absolute;
font-size: 1.8em;
font-weight: bold;
color: #444444;
line-height: 35px;
}
#header small {
font-size: 0.4em;
}
#footer {
background-image: url(foot_bg.png);
width: 100%;
}
#footer table {
width: 100%;
text-align: center;
white-space: nowrap;
padding: 5px 30px 5px 30px;
font-size: 0.8em;
font-family: "Bitstream Vera","Vera","Trebuchet MS",Trebuchet,Tahoma,sans-serif;
color: #888888;
}
#footer td.copyright {
width: 100%;
}

19
legacy/evil/doc/foot.html Normal file
View File

@ -0,0 +1,19 @@
<div id="push"></div>
</div> <!-- #content -->
</div> <!-- .layout -->
</div> <!-- #container -->
<div id="footer">
<table><tr>
<td class="poweredby"><img src="doxygen.png"></td>
<td class="copyright">Copyright &copy;$year Enlightenment</td>
<td class="generated">Docs generated $datetime</td>
</tr></table>
</div>
</body>
</html>

66
legacy/evil/doc/head.html Normal file
View File

@ -0,0 +1,66 @@
<html>
<head>
<title>$title</title>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<meta name="author" content="Andres Blanc" >
<link rel="icon" href="img/favicon.png" type="image/x-icon">
<link rel="shortcut icon" href="img/favicon.png" type="image/x-icon">
<link rel="icon" href="img/favicon.png" type="image/ico">
<link rel="shortcut icon" href="img/favicon.png" type="image/ico">
<link rel="stylesheet" type="text/css" media="screen" href="e.css">
<link rel="stylesheet" type="text/css" media="screen" href="edoxy.css">
</head>
<body>
<div id="container">
<div id="header">
<div class="layout">
<h1><span>Enlightenment</span></h1>
<h2><span>Beauty at your fingertips</span></h2>
<div class="menu-container">
<div class="menu">
<ul>
<li class="current"><a href="http://web.enlightenment.org/p.php?p=docs">Docs</a></li>
<li><a href="http://trac.enlightenment.org/e">Tracker</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=contact">Contact</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=contribute">Contribute</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=support">Support</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=download">Download</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=about">About</a></li>
<li><a href="http://www.enlightenment.org/p.php?p=news">News</a></li>
<li><a href="http://www.enlightenment.org/">Home</a></li>
</ul>
</div>
</div>
<div class="doxytitle">
$projectname Documentation <small>at $date</small>
</div>
<div class="menu-container">
<div class="submenu">
<ul class="current">
<li><a href="group___dlfcn.html">Dlfcn</a></li>
<li><a href="group___evil___unistd___group.html">Unistd</a></li>
<li><a href="group___evil___string___group.html">String</a></li>
<li><a href="group___evil___stdio___group.html">Stdio</a></li>
<li><a href="group___evil___stdlib___group.html">Stdlib</a></li>
<li><a href="group___evil___main___group.html">Main</a></li>
<li class="current"><a href="index.html">Main Page</a></li>
</ul>
</div>
</div>
<div class="clear"></div>
</div>
</div>
<div id="content">
<div class="layout">

BIN
legacy/evil/doc/img/e.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

BIN
legacy/evil/doc/img/e_big.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

View File

@ -0,0 +1,483 @@
/*
* This file contain a custom doxygen style to match e.org graphics
*/
/* BODY,H1,H2,H3,H4,H5,H6,P,CENTER,TD,TH,UL,DL,DIV {
font-family: Geneva, Arial, Helvetica, sans-serif;
}*/
BODY, TD {
font-size: 12px;
}
H1 {
text-align: center;
font-size: 160%;
}
H2 {
font-size: 120%;
}
H3 {
font-size: 100%;
}
CAPTION {
font-weight: bold
}
DIV.qindex {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.navpath {
width: 100%;
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
padding: 2px;
line-height: 140%;
}
DIV.navtab {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
TD.navtab {
font-size: 70%;
}
A.qindex {
text-decoration: none;
font-weight: bold;
color: #1A419D;
}
A.qindex:visited {
text-decoration: none;
font-weight: bold;
color: #1A419D
}
A.qindex:hover {
text-decoration: none;
background-color: #ddddff;
}
A.qindexHL {
text-decoration: none;
font-weight: bold;
background-color: #6666cc;
color: #ffffff;
border: 1px double #9295C2;
}
A.qindexHL:hover {
text-decoration: none;
background-color: #6666cc;
color: #ffffff;
}
A.qindexHL:visited {
text-decoration: none;
background-color: #6666cc;
color: #ffffff
}
A.el {
text-decoration: none;
font-weight: bold
}
A.elRef {
font-weight: bold
}
A.code:link {
text-decoration: none;
font-weight: normal;
color: #0000FF
}
A.code:visited {
text-decoration: none;
font-weight: normal;
color: #0000FF
}
A.codeRef:link {
font-weight: normal;
color: #0000FF
}
A.codeRef:visited {
font-weight: normal;
color: #0000FF
}
A:hover, A:visited:hover {
text-decoration: none;
/* background-color: #f2f2ff; */
color: #000055;
}
A.anchor {
color: #000;
}
DL.el {
margin-left: -1cm
}
.fragment {
font-family: monospace, fixed;
font-size: 95%;
}
PRE.fragment {
border: 1px solid #CCCCCC;
background-color: #f5f5f5;
margin-top: 4px;
margin-bottom: 4px;
margin-left: 2px;
margin-right: 8px;
padding-left: 6px;
padding-right: 6px;
padding-top: 4px;
padding-bottom: 4px;
}
DIV.ah {
background-color: black;
font-weight: bold;
color: #ffffff;
margin-bottom: 3px;
margin-top: 3px
}
DIV.groupHeader {
margin-left: 16px;
margin-top: 12px;
margin-bottom: 6px;
font-weight: bold;
}
DIV.groupText {
margin-left: 16px;
font-style: italic;
font-size: 90%
}
/*BODY {
background: white;
color: black;
margin-right: 20px;
margin-left: 20px;
}*/
TD.indexkey {
background-color: #e8eef2;
font-weight: bold;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TD.indexvalue {
background-color: #e8eef2;
font-style: italic;
padding-right : 10px;
padding-top : 2px;
padding-left : 10px;
padding-bottom : 2px;
margin-left : 0px;
margin-right : 0px;
margin-top : 2px;
margin-bottom : 2px;
border: 1px solid #CCCCCC;
}
TR.memlist {
background-color: #f0f0f0;
}
P.formulaDsp {
text-align: center;
}
IMG.formulaDsp {
}
IMG.formulaInl {
vertical-align: middle;
}
SPAN.keyword { color: #008000 }
SPAN.keywordtype { color: #604020 }
SPAN.keywordflow { color: #e08000 }
SPAN.comment { color: #800000 }
SPAN.preprocessor { color: #806020 }
SPAN.stringliteral { color: #002080 }
SPAN.charliteral { color: #008080 }
SPAN.vhdldigit { color: #ff00ff }
SPAN.vhdlchar { color: #000000 }
SPAN.vhdlkeyword { color: #700070 }
SPAN.vhdllogic { color: #ff0000 }
.mdescLeft {
padding: 0px 8px 4px 8px;
font-size: 80%;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.mdescRight {
padding: 0px 8px 4px 8px;
font-size: 80%;
font-style: italic;
background-color: #FAFAFA;
border-top: 1px none #E0E0E0;
border-right: 1px none #E0E0E0;
border-bottom: 1px none #E0E0E0;
border-left: 1px none #E0E0E0;
margin: 0px;
}
.memItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplItemLeft {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplItemRight {
padding: 1px 8px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: none;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
background-color: #FAFAFA;
font-size: 80%;
}
.memTemplParams {
padding: 1px 0px 0px 8px;
margin: 4px;
border-top-width: 1px;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-color: #E0E0E0;
border-right-color: #E0E0E0;
border-bottom-color: #E0E0E0;
border-left-color: #E0E0E0;
border-top-style: solid;
border-right-style: none;
border-bottom-style: none;
border-left-style: none;
color: #606060;
background-color: #FAFAFA;
font-size: 80%;
}
.search {
color: #003399;
font-weight: bold;
}
FORM.search {
margin-bottom: 0px;
margin-top: 0px;
}
INPUT.search {
font-size: 75%;
color: #000080;
font-weight: normal;
background-color: #e8eef2;
}
TD.tiny {
font-size: 75%;
}
a {
color: #1A41A8;
}
a:visited {
color: #2A3798;
}
.dirtab {
padding: 4px;
border-collapse: collapse;
border: 1px solid #84b0c7;
}
TH.dirtab {
background: #e8eef2;
font-weight: bold;
}
HR {
height: 1px;
border: none;
border-top: 1px solid black;
}
/* Style for detailed member documentation */
.memtemplate {
font-size: 80%;
color: #606060;
font-weight: normal;
margin-left: 3px;
}
.memnav {
background-color: #e8eef2;
border: 1px solid #84b0c7;
text-align: center;
margin: 2px;
margin-right: 15px;
padding: 2px;
}
.memitem {
padding: 4px;
background-color: #eef3f5;
border-width: 1px;
border-style: solid;
border-color: #dedeee;
-moz-border-radius: 8px 8px 8px 8px;
}
.memname {
white-space: nowrap;
font-weight: bold;
}
.memdoc{
padding-left: 10px;
}
.memproto {
background-color: #d5e1e8;
width: 100%;
border-width: 1px;
border-style: solid;
border-color: #84b0c7;
font-weight: bold;
-moz-border-radius: 8px 8px 8px 8px;
}
.paramkey {
text-align: right;
}
.paramtype {
white-space: nowrap;
}
.paramname {
color: #602020;
font-style: italic;
white-space: nowrap;
}
/* End Styling for detailed member documentation */
/* for the tree view */
.ftvtree {
font-family: sans-serif;
margin:0.5em;
}
/* these are for tree view when used as main index */
.directory {
font-size: 9pt;
font-weight: bold;
}
.directory h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
/* The following two styles can be used to replace the root node title */
/* with an image of your choice. Simply uncomment the next two styles, */
/* specify the name of your image and be sure to set 'height' to the */
/* proper pixel height of your image. */
/* .directory h3.swap { */
/* height: 61px; */
/* background-repeat: no-repeat; */
/* background-image: url("yourimage.gif"); */
/* } */
/* .directory h3.swap span { */
/* display: none; */
/* } */
.directory > h3 {
margin-top: 0;
}
.directory p {
margin: 0px;
white-space: nowrap;
}
.directory div {
display: none;
margin: 0px;
}
.directory img {
vertical-align: -30%;
}
/* these are for tree view when not used as main index */
.directory-alt {
font-size: 100%;
font-weight: bold;
}
.directory-alt h3 {
margin: 0px;
margin-top: 1em;
font-size: 11pt;
}
.directory-alt > h3 {
margin-top: 0;
}
.directory-alt p {
margin: 0px;
white-space: nowrap;
}
.directory-alt div {
display: none;
margin: 0px;
}
.directory-alt img {
vertical-align: -30%;
}

BIN
legacy/evil/doc/img/foot_bg.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 173 B

BIN
legacy/evil/doc/img/head_bg.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 214 B

BIN
legacy/evil/doc/img/menu_bg.png Executable file

Binary file not shown.

After

Width:  |  Height:  |  Size: 192 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 637 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@ -45,7 +45,6 @@ extern "C" {
* This header provides functions to load and unload dynamic-link
* libaries, to get the address of a symbol, and to get diagnostic
* information.
*
*/

View File

@ -2,9 +2,51 @@
#define __EVIL_MAIN_H__
/**
* @file evil_main.h
* @brief The file that provides functions to initialize and shut down Evil.
* @defgroup Evil_Main_Group Main
*
* This header provides functions to initialize and shut down the Evil
* library.
*
* @{
*/
/**
* @brief Initialize the Evil library.
*
* This function initializes the Evil library. It must be called before
* using evil_time_get(), gettimeofday() or pipe(). It returns 0 on
* failure, otherwise it returns the number of times it has already been
* called.
*
* When Evil is not used anymore, call evil_shutdown() to shut down
* the Evil library.
*/
EAPI int evil_init();
/**
* @brief Shut down the Evil library.
*
* @return 0 when the Evil library is completely shut down, 1 or
* greater otherwise.
*
* This function shuts down the Evil library. It returns 0 when it has
* been called the same number of times than evil_init().
*
* Once this function succeeds (that is, @c 0 is returned), you must
* not call any of the Evil function listed in evil_init()
* documentation anymore . You must call evil_init() again to use these
* functions again.
*/
EAPI int evil_shutdown();
/**
* @}
*/
#endif /* __EVIL_MAIN_H__ */

View File

@ -2,6 +2,17 @@
#define __EVIL_STDIO_H__
/**
* @file evil_stdio.h
* @brief The file that provides functions ported from Unix in stdio.h.
* @defgroup Evil_Stdio_Group Stdio.h functions
*
* This header provides functions ported from Unix in stdio.h.
*
* @{
*/
#if defined (_WIN32_WCE) && ! defined (__CEGCC__)
/*
@ -38,4 +49,9 @@ EAPI int evil_fclose_native(FILE *stream);
#endif /* _WIN32_WCE */
/**
* @}
*/
#endif /* __EVIL_STDIO_H__ */

View File

@ -28,7 +28,7 @@
*
*/
#if defined(__CEGCC__) || defined(__MINGW32CE__)
#ifdef _WIN32_WCE
static char _evil_stdlib_getenv_buffer[PATH_MAX];
@ -91,7 +91,7 @@ getenv(const char *name)
}
}
#endif /* __CEGCC__ || __MINGW32CE__ */
#endif /* _WIN32_WCE */
#ifdef __MINGW32CE__

View File

@ -2,20 +2,72 @@
#define __EVIL_STDLIB_H__
/**
* @file evil_stdlib.h
* @brief The file that provides functions ported from Unix in stdlib.h.
* @defgroup Evil_Stdlib_Group Stdlib.h functions.
*
* This header provides functions ported from Unix in stdlib.h.
*
* @{
*/
/*
* Environment variable related functions
*
*/
#if defined(__CEGCC__) || defined(__MINGW32CE__)
#ifdef _WIN32_WCE
/**
* @brief Retrieve the value of environment variables.
*
* @param name The name of the environment variable.
* @return The value of the environment variable.
*
* This function searches the environment variable @p name if it
* exists and return a pointer to the value of the environment
* variable. If the specified environment variable cannot be found,
* @c NULL is returned.
*
* The returned value may be overwritten by a subsequent call to
* getenv(), setenv(), or unsetenv().
*
* Conformity: Non applicable.
*
* Supported OS: Windows CE.
*
* @note On Windows CE, there is no environment variable. This is
* faked by storing a value in a key in the base registry.
*/
EAPI char *getenv(const char *name);
#endif /* __CEGCC__ || __MINGW32CE__ */
#endif /* _WIN32_WCE */
#ifdef __MINGW32CE__
/**
* @brief Set the value of environment variables.
*
* @param string A formatted string.
* @return 0 in success, non-zero otherwise.
*
* This function uses @p string to set environment variable values.
* @p string should point to a string of the form "name=value". This
* function makes the value of the environment variable name equal to
* value by altering an existing variable or creating a new one. In
* either case, the string pointed to by @p string becomes part of the
* environment, so altering @p string shall change the environment.
*
* Conformity: Non applicable.
*
* Supported OS: Windows CE.
*
* @note On Windows CE, there is no environment variable. This is
* faked by storing a value in a key in the base registry.
*/
EAPI int putenv(const char *string);
#endif /* __MINGW32CE__ */
@ -25,20 +77,24 @@ EAPI int putenv(const char *string);
*
* @param name The name of the environment variable.
* @param value The value of the environment variable to set.
* @param overwrite 0 to let the environment variable unchanged, 1 otherwise.
* @return 0 on success, -1 otherwise.
*
* Add the new environment variable @p name or modify its value if it
* exists, and set it to @p value. Environment variables define the
* environment in which a process executes. If @p value is @c NULL, the
* variable is removed (unset) and that call is equivalent to unsetenv().
* variable is removed (unset) and that call is equivalent to
* unsetenv().If the environment variable named by @p name already
* exists and the value of @p overwrite is 0, the function shall
* return success and the environment shall remain unchanged.
* If the function succeeds, it returns 0, otherwise it returns -1.
*
* Conformity: Non applicable.
*
* Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
* Supported OS: Windows XP, Windows CE.
*
* @ingroup Evil
* @note On Windows CE, there is no environment variable. This is
* faked by storing a value in a key in the base registry.
*/
EAPI int setenv(const char *name,
const char *value,
@ -60,10 +116,10 @@ EAPI int setenv(const char *name,
*
* Conformity: Non applicable.
*
* Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
* Supported OS: Windows XP, Windows CE (not cegcc).
*
* @ingroup Evil
* @note On Windows CE, there is no environment variable. This is
* faked by storing a value in a key in the base registry.
*/
EAPI int unsetenv(const char *name);
@ -78,7 +134,7 @@ EAPI int unsetenv(const char *name);
/**
* @brief Make temporay unique file name.
*
* @param template Template of the file to create.
* @param __template Template of the file to create.
* @return A file descriptor on success, -1 otherwise.
*
* Take the given file name @p template and overwrite a portion of it
@ -103,10 +159,7 @@ EAPI int unsetenv(const char *name);
*
* Conformity: Should follow BSD conformity.
*
* Supported OS: Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
*
* @ingroup Evil
* Supported OS: Windows XP, Windows CE.
*/
EAPI int mkstemp(char *__template);
@ -129,13 +182,15 @@ EAPI int mkstemp(char *__template);
*
* Conformity: None.
*
* Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
*
* @ingroup Evil
* Supported OS: Windows XP, Windows CE.
*/
EAPI char *realpath(const char *file_name, char *resolved_name);
/**
* @}
*/
#endif /* __EVIL_STDLIB_H__ */

View File

@ -6,7 +6,7 @@
#include "Evil.h"
#ifdef __MINGW32CE__
#if defined (_WIN32_WCE) && ! defined (__CEGCC__)
/*
* Error related functions
@ -18,7 +18,7 @@ char *strerror (int errnum __UNUSED__)
return "[Windows CE] error\n";
}
#endif /* __MINGW32CE__ */
#endif /* _WIN32_WCE && ! __CEGCC__ */
#ifndef __CEGCC__

View File

@ -2,16 +2,40 @@
#define __EVIL_STRING_H__
#ifdef __MINGW32CE__
/**
* @file evil_string.h
* @brief The file that provides functions ported from Unix in string.h.
* @defgroup Evil_String_Group String.h functions.
*
* This header provides functions ported from Unix in string.h.
*
* @{
*/
#if defined (_WIN32_WCE) && ! defined (__CEGCC__)
/*
* Environment variable related functions
*
*/
/**
* @brief Return the static string "[Windows CE] error\n".
*
* @param errnum Unused parameter.
* @return The static string "[Windows CE] error\n".
*
* This function just returns the static string "[Windows CE]
* error\n".
*
* Conformity: Non applicable.
*
* Supported OS: Windows CE (not cegcc).
*/
EAPI char *strerror (int errnum);
#endif /* __MINGW32CE__ */
#endif /* _WIN32_WCE && ! __CEGCC__ */
#ifndef __CEGCC__
@ -20,6 +44,22 @@ EAPI char *strerror (int errnum);
*
*/
/**
* @brief Return the position of the first (least significant) bit set in a word
*
* @param i Word to take the first bit.
* @retur The position of the first bit set, or 0 if no bits are set.
*
* This function returns the position of the first (least significant)
* bit set in @p i. The least significant bit is position 1 and the
* most significant position e.g. 32 or 64. The function returns 0 if
* no bits are set in @p i, or the position of the first bit set
* otherwise.
*
* Conformity: BSD
*
* Supported OS: Windows XP, Windows CE (not cegcc).
*/
EAPI int ffs(int i);
#endif /* ! __CEGCC__ */
@ -32,9 +72,28 @@ EAPI int ffs(int i);
*
*/
/**
* @brief Compare two strings.
*
* @param s1 The first string to compare.
* @param s2 The second string to compare.
* @return < 0 if s1 < s2, >0 if s1 > s2, 0 otherwise.
*
* This function is exactly the same as strcmp(). No possible way to
* achieve the behavior of strcoll() on Windows CE.
*
* Conformity: Non applicable.
*
* Supported OS: Windows CE.
*/
EAPI int strcoll (const char *s1, const char *s2);
#endif /* _WIN32_WCE */
/**
* @}
*/
#endif /* __EVIL_STRING_H__ */

View File

@ -2,16 +2,65 @@
#define __EVIL_UNISTD_H__
/**
* @file evil_unistd.h
* @brief The file that provides functions ported from Unix in unistd.h.
* @defgroup Evil_Unistd_Group Unistd.h functions
*
* This header provides functions ported from Unix in unistd.h.
*
* @{
*/
/*
* Time related functions
*
*/
/**
* @brief Return the time spent since the Evil library has been initialized.
*
* @return The time spent since the Evil library has been initialized.
*
* This function returns the time spent since the Evil library has
* been initialized. It uses a high-resolution timer and then can have
* a precision up to the nano-second. The precision is processor
* dependant. This function can be used to benchmark parts of code in
* with high precision.
*
* Conformity: Not appliclable.
*
* Supported OS: Windows XP, Windows CE.
*/
EAPI double evil_time_get();
/**
* @brief Retrieve the time since the Evil library has been
* initialized.
*
* @param tp Structure to fill.
* @param tzp Unused.
* @return Always 1.
*
* The function fills @p tp with the time spent since the Evil library
* has been initialized. It uses a high-resolution timer and then can
* have a precision up to the nano-second. The precision is processor
* dependant. This function can be used to benchmark parts of code in
* with high precision. This function always returns 1.
*
* Conformity: Not appliclable.
*
* Supported OS: Windows XP, Windows CE.
*/
EAPI int evil_gettimeofday(struct timeval * tp, void * tzp);
#define gettimeofday(tp, tzp) evil_gettimeofday(tp, tzp)
/**
* @def gettimeofday(tp,tzp)
*
* Wrapper around evil_gettimeofday().
*/
#define gettimeofday(tp,tzp) evil_gettimeofday((tp),(tzp))
/*
@ -31,10 +80,7 @@ EAPI int evil_gettimeofday(struct timeval * tp, void * tzp);
*
* Conformity: Not appliclable.
*
* Supported OS: Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
*
* @ingroup Evil
* Supported OS: Windows XP, Windows CE.
*/
EAPI pid_t getpid(void);
@ -65,10 +111,7 @@ EAPI pid_t getpid(void);
*
* Conformity: None.
*
* Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
*
* @ingroup Evil
* Supported OS: Windows XP, Windows CE.
*/
EAPI int symlink(const char *oldpath, const char *newpath);
@ -93,10 +136,7 @@ EAPI int symlink(const char *oldpath, const char *newpath);
*
* Conformity: None.
*
* Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000,
* Windows XP.
*
* @ingroup Evil
* Supported OS: Windows XP, Windows CE.
*/
EAPI ssize_t readlink(const char *path, char *buf, size_t bufsiz);
@ -109,9 +149,29 @@ EAPI ssize_t readlink(const char *path, char *buf, size_t bufsiz);
#if defined (_WIN32_WCE) && ! defined (__CEGCC__)
/**
* @brief Return information about a file.
*
* @param file_name The file to retrieve information from.
* @param st Buffer to fill
* @return 0 on success, -1 otherwise.
*
* This function retrieves information about the file named
* @p file_name and fill the structure @p st. If the function
* succeeds, 0 is returned, otherwise -1 is returned.
*
* Conformity: None.
*