diff --git a/legacy/evil/doc/Doxyfile b/legacy/evil/doc/Doxyfile index 952593428d..e029f12e9a 100644 --- a/legacy/evil/doc/Doxyfile +++ b/legacy/evil/doc/Doxyfile @@ -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. diff --git a/legacy/evil/doc/Makefile.am b/legacy/evil/doc/Makefile.am index 26b1922613..51a8fbbfeb 100755 --- a/legacy/evil/doc/Makefile.am +++ b/legacy/evil/doc/Makefile.am @@ -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 diff --git a/legacy/evil/doc/e.css b/legacy/evil/doc/e.css new file mode 100644 index 0000000000..8697a3a0be --- /dev/null +++ b/legacy/evil/doc/e.css @@ -0,0 +1,218 @@ +/* + Author: + Andres Blanc + DaveMDS Andreoli + + 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%; +} + diff --git a/legacy/evil/doc/foot.html b/legacy/evil/doc/foot.html new file mode 100644 index 0000000000..78ef911c72 --- /dev/null +++ b/legacy/evil/doc/foot.html @@ -0,0 +1,19 @@ + +
+ + + + + + + + + + + diff --git a/legacy/evil/doc/head.html b/legacy/evil/doc/head.html new file mode 100644 index 0000000000..8a225a013d --- /dev/null +++ b/legacy/evil/doc/head.html @@ -0,0 +1,66 @@ + + + $title + + + + + + + + + + + + + + +
+ + + +
+
diff --git a/legacy/evil/doc/img/e.png b/legacy/evil/doc/img/e.png new file mode 100755 index 0000000000..b3884a5cbc Binary files /dev/null and b/legacy/evil/doc/img/e.png differ diff --git a/legacy/evil/doc/img/e_big.png b/legacy/evil/doc/img/e_big.png new file mode 100755 index 0000000000..d42aeb4200 Binary files /dev/null and b/legacy/evil/doc/img/e_big.png differ diff --git a/legacy/evil/doc/img/edoxy.css b/legacy/evil/doc/img/edoxy.css new file mode 100644 index 0000000000..3caf7a9736 --- /dev/null +++ b/legacy/evil/doc/img/edoxy.css @@ -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%; +} + diff --git a/legacy/evil/doc/img/foot_bg.png b/legacy/evil/doc/img/foot_bg.png new file mode 100755 index 0000000000..b24f3a48b4 Binary files /dev/null and b/legacy/evil/doc/img/foot_bg.png differ diff --git a/legacy/evil/doc/img/head_bg.png b/legacy/evil/doc/img/head_bg.png new file mode 100755 index 0000000000..081dc131e4 Binary files /dev/null and b/legacy/evil/doc/img/head_bg.png differ diff --git a/legacy/evil/doc/img/menu_bg.png b/legacy/evil/doc/img/menu_bg.png new file mode 100755 index 0000000000..e978743651 Binary files /dev/null and b/legacy/evil/doc/img/menu_bg.png differ diff --git a/legacy/evil/doc/img/menu_bg_current.png b/legacy/evil/doc/img/menu_bg_current.png new file mode 100755 index 0000000000..de97c9268e Binary files /dev/null and b/legacy/evil/doc/img/menu_bg_current.png differ diff --git a/legacy/evil/doc/img/menu_bg_hover.png b/legacy/evil/doc/img/menu_bg_hover.png new file mode 100755 index 0000000000..3fd851d075 Binary files /dev/null and b/legacy/evil/doc/img/menu_bg_hover.png differ diff --git a/legacy/evil/doc/img/menu_bg_last.png b/legacy/evil/doc/img/menu_bg_last.png new file mode 100755 index 0000000000..88c116c8c8 Binary files /dev/null and b/legacy/evil/doc/img/menu_bg_last.png differ diff --git a/legacy/evil/doc/img/menu_bg_unsel.png b/legacy/evil/doc/img/menu_bg_unsel.png new file mode 100755 index 0000000000..50e5fd8d3d Binary files /dev/null and b/legacy/evil/doc/img/menu_bg_unsel.png differ diff --git a/legacy/evil/src/lib/dlfcn/dlfcn.h b/legacy/evil/src/lib/dlfcn/dlfcn.h index 8e206fb1d1..3badaae53e 100644 --- a/legacy/evil/src/lib/dlfcn/dlfcn.h +++ b/legacy/evil/src/lib/dlfcn/dlfcn.h @@ -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. - * */ diff --git a/legacy/evil/src/lib/evil_main.h b/legacy/evil/src/lib/evil_main.h index c31ea85d0a..9fb50015a9 100644 --- a/legacy/evil/src/lib/evil_main.h +++ b/legacy/evil/src/lib/evil_main.h @@ -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__ */ diff --git a/legacy/evil/src/lib/evil_stdio.h b/legacy/evil/src/lib/evil_stdio.h index d68cca347c..686c1b16ad 100644 --- a/legacy/evil/src/lib/evil_stdio.h +++ b/legacy/evil/src/lib/evil_stdio.h @@ -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__ */ diff --git a/legacy/evil/src/lib/evil_stdlib.c b/legacy/evil/src/lib/evil_stdlib.c index 8015882726..06b1ecd869 100644 --- a/legacy/evil/src/lib/evil_stdlib.c +++ b/legacy/evil/src/lib/evil_stdlib.c @@ -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__ diff --git a/legacy/evil/src/lib/evil_stdlib.h b/legacy/evil/src/lib/evil_stdlib.h index 36f300fbd1..bf2817e99e 100644 --- a/legacy/evil/src/lib/evil_stdlib.h +++ b/legacy/evil/src/lib/evil_stdlib.h @@ -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__ */ diff --git a/legacy/evil/src/lib/evil_string.c b/legacy/evil/src/lib/evil_string.c index 6e02cba8b4..0b74f1c5fc 100644 --- a/legacy/evil/src/lib/evil_string.c +++ b/legacy/evil/src/lib/evil_string.c @@ -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__ diff --git a/legacy/evil/src/lib/evil_string.h b/legacy/evil/src/lib/evil_string.h index aeb7c94835..806af3a5d3 100644 --- a/legacy/evil/src/lib/evil_string.h +++ b/legacy/evil/src/lib/evil_string.h @@ -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__ */ diff --git a/legacy/evil/src/lib/evil_unistd.h b/legacy/evil/src/lib/evil_unistd.h index fc5c63c88f..b7dda0dd6b 100644 --- a/legacy/evil/src/lib/evil_unistd.h +++ b/legacy/evil/src/lib/evil_unistd.h @@ -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. + * + * Supported OS: Windows CE (not cegcc). + */ EAPI int evil_stat(const char *file_name, struct stat *st); -# define stat(f, st) evil_stat(f, st) +/** + * @def stat(f,st) + * + * Wrapper around evil_stat(). + */ +# define stat(f,st) evil_stat((f),(st)) #endif /* _WIN32_WCE && ! __CEGCC__ */ @@ -139,13 +199,15 @@ EAPI int evil_stat(const char *file_name, struct stat *st); * * Conformity: Almost POSIX.1 (no errno set) * - * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, - * Windows XP, WinCE. - * - * @ingroup Evil + * Supported OS: Windows XP, Windows CE. */ EAPI char *evil_getcwd(char *buffer, size_t size); +/** + * @def getcwd(b,s) + * + * Wrapper around evil_getcwd(). + */ #define getcwd(b,s) evil_getcwd((b),(s)) /* @@ -163,10 +225,7 @@ EAPI char *evil_getcwd(char *buffer, size_t size); * * Conformity: Non applicable. * - * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, - * Windows XP. - * - * @ingroup Evil + * Supported OS: Windows XP, Windows CE. */ EAPI int evil_sockets_init(void); @@ -177,10 +236,7 @@ EAPI int evil_sockets_init(void); * * Conformity: Non applicable. * - * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, - * Windows XP. - * - * @ingroup Evil + * Supported OS: Windows XP, Windows CE. */ EAPI void evil_sockets_shutdown(void); @@ -196,13 +252,15 @@ EAPI void evil_sockets_shutdown(void); * * Conformity: Not applicable. * - * Supported OS: Windows 95, Windows 98, Windows Me, Windows NT, Windows 2000, - * Windows XP. - * - * @ingroup Evil + * Supported OS: Windows XP, Windows CE. */ EAPI int evil_pipe(int *fds); +/** + * @def pipe(fds) + * + * Wrapper around evil_pipe(). + */ #define pipe(fds) evil_pipe(fds) @@ -224,11 +282,18 @@ EAPI int evil_pipe(int *fds); * This function does nothing and returns always 1. It is defined for * ecore_app only for native Windows CE code. * - * @ingroup Evil + * Conformity: Not appliclable. + * + * Supported OS: Windows CE (not cegcc). */ EAPI int execvp( const char *file, char *const argv[]); #endif /* _WIN32_WCE && ! __CEGCC__ */ +/** + * @} + */ + + #endif /* __EVIL_UNISTD_H__ */