X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/blobdiff_plain/4e656aea20b21dc4170dea3d66df80060313252e..8aaf488a3efac91cd28691c832e0b084c83f2e95:/cruft/doc/tmpl/gras-unused.sgml diff --git a/cruft/doc/tmpl/gras-unused.sgml b/cruft/doc/tmpl/gras-unused.sgml index be7d4ee4f0..13fc99c080 100644 --- a/cruft/doc/tmpl/gras-unused.sgml +++ b/cruft/doc/tmpl/gras-unused.sgml @@ -136,6 +136,26 @@ Describing the data DataDescriptor API + + + + + + + + + + + + + + + + + +Dynamic arrays + + @@ -428,6 +448,286 @@ Overview of the GRAS library Overview + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt.sgml + + + + + + + + + + + + + + + + + + + +./gras-sections.txt + + @@ -587,60 +887,1042 @@ SG nws_comm - + - + - - + +Configuration facilities. - -Sockets + +Config - + - + -@c: -@f: - - + +Data container associating data to a string key. + + + +Dictionnary + + + +This module provide the quite usual dynamic array facility. -@c: -@f: -@a1: - + -@c: -@f: -@a1: -@a2: - + +Use arrays, forget about malloc + + + +Dynamic array + + + + + + + + + + + + + + + +Error reporting + + + +Errors handling + + + + + This is an adaptation of the log4c project, which is dead upstream, and which + I was given the permission to fork under the LGPL licence by the authors. log4c + itself was loosely based on the Apache project's Log4J, Log4CC, + etc. project. Because C is not object oriented, a lot had to change. + + + + Overview + + + There is 3 main concepts: category, priority and appender. These three + concepts work together to enable developers to log messages according to + message type and priority, and to control at runtime how these messages are + formatted and where they are reported. + + + + + Category hierarchy + + + The first and foremost advantage of any logging API over plain printf() + resides in its ability to disable certain log statements while allowing + others to print unhindered. This capability assumes that the logging space, + that is, the space of all possible logging statements, is categorized + according to some developer-chosen criteria. + + + + This observation led to choosing category as the central concept of the + system. Every category is declared by providing a name and an optional + parent. If no parent is explicitly named, the root category, LOG_ROOT_CAT + is the category's parent. + + + + A category is created by a macro call at the top level of a file. A + category can be created with any one of the following macros: + + + + + @GRAS_LOG_NEW_CATEGORY(MyCat); + create a new root + + + + @GRAS_LOG_NEW_SUBCATEGORY(MyCat, ParentCat); + Create a new category being child of the category ParentCat + + + + @GRAS_LOG_NEW_DEFAULT_CATEGORY(MyCat); + Like GRAS_LOG_NEW_CATEGORY, but the new category is the default one + in this file + + + + @GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(MyCat, ParentCat); + Like GRAS_LOG_NEW_SUBCATEGORY, but the new category is the default one + in this file + + + + + The parent cat can be defined in the same file or in another file, but each + category may have only one definition. + + + + Typically, there will be a Category for each module and sub-module, so you + can independently control logging for each module. + + + + + Priority + + + A category may be assigned a threshold priorty. The set of priorites are + defined by the @gras_log_priority_t enum. Their values are DEBUG, VERBOSE, + INFO, WARNING, ERROR and CRITICAL. + + + + If a given category is not assigned a threshold priority, then it inherits + one from its closest ancestor with an assigned threshold. + + + + To ensure that all categories can eventually inherit a threshold, the root + category always has an assigned threshold priority. + + + + Logging requests are made by invoking a logging macro on a category. All + of the macros have a printf-style format string followed by arguments. + Because most C compilers do not support vararg macros, there is a version + of the macro for any number of arguments from 0 to 6. The macro name ends + with the total number of arguments. + + + + Here is an example of the most basic type of macro: + + + CLOG5(MyCat, gras_log_priority_warning, "Values are: %d and '%s'", 5, "oops"); + + This is a logging request with priority WARN. + + + A logging request is said to be enabled if its priority is higher than or + equal to the threshold priority of its category. Otherwise, the request is + said to be disabled. A category without an assigned priority will inherit + one from the hierarchy. + + + + It is possible to use any non-negative integer as a priority. If, as in the + example, one of the standard priorites is used, then there is a convenience + macro that is typically used instead. For example, the above example is + equivalent to the shorter: + + + CWARN4(MyCat, "Values are: %d and '%s'", 5, "oops"); + + + + Default category + + + If @GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(MyCat, Parent) or + @GRAS_LOG_NEW_DEFAULT_CATEGORY(MyCat) is used to create the category, then + the even shorter form can be used: + + + WARN3("Values are: %d and '%s'", 5, "oops"); + + + Only one default category can be created per file, though multiple + non-defaults can be created and used. + + + + + Example + + Here is a more complete example: + + + #include "gras.h" + + /* create a category and a default subcategory */ + GRAS_LOG_NEW_CATEGORY(VSS); + GRAS_LOG_NEW_DEFAULT_SUBCATEGORY(SA, VSS); + + main() { + /* Now set the parent's priority. + (the string would typcially be a runtime option) */ + gras_log_control_set("SA.thresh=3"); + + /* This request is enabled, because WARNING >= INFO. */ + CWARN2(VSS, "Low fuel level."); + + /* This request is disabled, because DEBUG < INFO. */ + CDEBUG2(VSS, "Starting search for nearest gas station."); + + /* The default category SA inherits its priority from VSS. Thus, + the following request is enabled because INFO >= INFO. */ + INFO1("Located nearest gas station."); + + /* This request is disabled, because DEBUG < INFO. */ + DEBUG1("Exiting gas station search"); + } + + + + Configuration + + + Configuration is typically done during program initialization by invoking + the gras_log_control_set() method. The control string passed to it + typically comes from the command line. Look at the doucmentation for that + function for the format of the control string. + + + + + Performance + + + Clever design insures efficiency. Except for the first invocation, a + disabled logging request requires an a single comparison of a static + variable to a constant. + + + + There is also compile time constant, @GRAS_LOG_STATIC_THRESHOLD, which + causes all logging requests with a lower priority to be optimized to 0 cost + by the compiler. By setting it to gras_log_priority_infinite, all logging + requests are statically disabled and cost nothing. Released executables + might typically be compiled with + "-DGRAS_LOG_STATIC_THRESHOLD=gras_log_priority_infinite". + + + + + Appenders + + + Each category has an optional appender. An appender is a pointer to a + structure whcih starts with a pointer to a doAppend() function. DoAppend() + prints a message to a log. + + + + WHen a category is passed a message by one of the logging macros, the + category performs the following actions: + + + + + + if the category has an appender, the message is passed to the + appender's doAppend() function, + + + + + + if 'willLogToParent' is true for the category, the message is passed + to the category's parent. + + + + By default, all categories except root have no appender and + 'willLogToParent' is true. This situation causes all messages to be + logged by the root category's appender. + + + + Typically, you would only change the root category's appender when you + wanted, say, a different output format. Copying defaultLogAppender.c + would be a good start. + + + + The default appender function currently prints to stderr, but more + would be needed, like the one able to send the logs to a remote + dedicated server. + + + + + + + Misc and Caveats + + + Do not use any of the macros that start with '_'. + + + + The current set of macros force each file to use categories declared in + that file. This is intentional. Make the category a child of the file's + module category. + + + + Log4J has a 'rolling file appender' which you can select with a run-time + option and specify the max file size. This would be a nice default for + non-kernel applications. + + + + Careful, category names are global variables. + + + + + + + + + + + +An easy-to-use, fast and flexible message logging architecture. + + + +Logging facilities + + + + + + + + + + + + + + + +Data storage for very quick retrieve + + + +Data set + + + + + + + + + + + + + + + + + + + +Sockets + + + + + + + + + + + + + + + + + + + +xbt_cfg + + + + + + + + + + + + + + + + + + + +xbt_dico + + + + + + + + + + + + + + + + + + + +Errors + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml.sgml + + + + + + + + + + + + + + + + + + + +xbt_swag.sgml + + + + + + + + + + + + + +@c: +@f: + + + + + + +@c: +@f: +@a1: + + + + + + +@c: +@f: +@a1: +@a2: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + + + + + +@c: +@f: + + + + + + +@c: +@f: +@a1: + + + + + + +@c: +@f: +@a1: +@a2: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + + + + + +@c: +@f: + + + + + + +@c: +@f: +@a1: + + + + + + +@c: +@f: +@a1: +@a2: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + + + + + +@c: +@f: + + + + + + +@c: +@f: +@a1: + + + + + + +@c: +@f: +@a1: +@a2: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@c: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + + + + + +@c: +@p: +@f: + + + + + + +@c: +@p: +@f: +@a1: + + + + + + +@c: +@p: +@f: +@a1: +@a2: + + + + + + +@c: +@p: +@f: +@a1: +@a2: +@a3: + + + + + + +@c: +@p: +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@c: +@p: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + + + + + +@c: +@p: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: +@a6: + + + + + + +@f: + + + + + + +@f: +@a1: + + + + + + +@f: +@a1: +@a2: + + + + + + +@f: +@a1: +@a2: +@a3: + + + + + + +@f: +@a1: +@a2: +@a3: +@a4: + + + + + + +@f: +@a1: +@a2: +@a3: +@a4: +@a5: + + @@ -650,1276 +1932,1576 @@ Sockets @a1: @a2: @a3: +@a4: +@a5: +@a6: + + + + + + +@addr: +@Param2: +@sock: +@timeOut: +@Returns: + + + + + + +@sock: +@waitForPeer: +@Returns: + + + + + + +@destination: +@source: +@description: +@length: +@sourceFormat: + + + + + + +@pid: +@parentToChild: +@childToParent: +@Returns: + + + + + + +@sock: +@Returns: + + + + + + +@description: +@length: +@format: +@Returns: + + + + + + +@CHAR_TYPE: +@DOUBLE_TYPE: +@FLOAT_TYPE: +@INT_TYPE: +@LONG_TYPE: +@SHORT_TYPE: +@UNSIGNED_INT_TYPE: +@UNSIGNED_LONG_TYPE: +@UNSIGNED_SHORT_TYPE: +@STRUCT_TYPE: +@LAST_TYPE: + + + + + + +@whatType: +@Returns: + + + + + + +@Returns: + + + + + + +@whatType: +@Returns: + + + + + + + + + + + + + + + + + + +@Param1: +@Param2: +@ear: +@earPort: +@Returns: + + + + + + +@HOST_FORMAT: +@NETWORK_FORMAT: + + + + + + +@cname: + + + + + + +@cname: + + + + + + +@catName: +@priority: + + + + + + + + + + + + +@catName: +@desc: + + + + + + +@cname: +@desc: + + + + + + +@cname: +@parent: +@desc: + + + + + + +@catName: +@parent: +@desc: + + + + + + + + + + + - + + -@c: -@f: -@a1: -@a2: -@a3: -@a4: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: - + -@c: -@f: - + -@c: -@f: -@a1: - + -@c: -@f: -@a1: -@a2: - + -@c: -@f: -@a1: -@a2: -@a3: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: - + -@c: -@f: - + -@c: -@f: -@a1: - + -@c: -@f: -@a1: -@a2: - + -@c: -@f: -@a1: -@a2: -@a3: +@destination: +@source: +@whatType: +@repetitions: +@sourceFormat: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: +@whatType: +@repetitions: +@format: +@Returns: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: - + -@c: -@f: +@addr: +@Returns: - + -@c: -@f: -@a1: +@addr: +@Returns: - + -@c: -@f: -@a1: -@a2: +@addr: +@Returns: - + -@c: -@f: -@a1: -@a2: -@a3: +@addr: +@Returns: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: +@machineOrAddress: +@address: - + -@c: +@machineOrAddress: +@addressList: +@atMost: +@Returns: + + + + + + +@timeOut: +@sd: +@ldap: +@Returns: + + + + + + +@sd: +@Returns: + + + + + + +@sd: +@Returns: + + + + + + +@machineOrAddress: + + + + + + +@p: @f: @a1: @a2: @a3: @a4: @a5: +@a6: - + -@c: -@p: -@f: +@Returns: - + -@c: -@p: -@f: -@a1: - + -@c: -@p: -@f: -@a1: -@a2: +@notifyFn: + + + + + + +@addr: +@Param2: +@sock: +@Returns: + + + + + + +@Param1: +@Param2: +@ear: +@earPort: +@Returns: + + + + + + + + + + + + + + + + + + + + + - + + + + -@c: -@p: -@f: -@a1: -@a2: -@a3: - + -@c: -@p: -@f: -@a1: -@a2: -@a3: -@a4: - + -@c: -@p: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: +@structType: +@lastMember: +@memberType: +@repetitions: - + -@c: -@p: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: -@a6: +@sock: +@child: +@Returns: - + -@f: +@sd: +@Returns: - + -@f: -@a1: +@sd: +@Returns: - + -@f: -@a1: -@a2: +@sd: +@Returns: - + -@f: -@a1: -@a2: -@a3: +@destination: +@source: +@whatType: +@repetitions: +@format: - + -@f: -@a1: -@a2: -@a3: -@a4: +@type: +@repetitions: - + -@f: -@a1: -@a2: -@a3: -@a4: -@a5: +@type: +@repetitions: +@offset: - + -@c: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: -@a6: - + -@addr: -@Param2: -@sock: -@timeOut: -@Returns: - + -@sock: -@waitForPeer: -@Returns: - + -@destination: -@source: -@description: -@length: -@sourceFormat: +@sig: - + -@pid: -@parentToChild: -@childToParent: -@Returns: +@Param1: - + -@sock: +@sd: @Returns: - + -@description: -@length: -@format: +@sd: @Returns: - + -@CHAR_TYPE: -@DOUBLE_TYPE: -@FLOAT_TYPE: -@INT_TYPE: -@LONG_TYPE: -@SHORT_TYPE: -@UNSIGNED_INT_TYPE: -@UNSIGNED_LONG_TYPE: -@UNSIGNED_SHORT_TYPE: -@STRUCT_TYPE: -@LAST_TYPE: - + -@whatType: -@Returns: +@f: +@a1: +@a2: +@a3: +@a4: +@a5: +@a6: - + -@Returns: +@sd: +@msgType: +@vdata: - + -@whatType: +@sock: @Returns: - + +@dd1: +@c1: +@dd2: +@c2: +@Returns: +@description: - + +@description: +@Returns: - + -@Param1: -@Param2: -@ear: -@earPort: +@sd: +@data: +@description: +@description_length: +@repetition: @Returns: - + -@HOST_FORMAT: -@NETWORK_FORMAT: +@sd: +@data: +@description: +@description_length: +@repetition: +@Returns: - + +@description: +@ft: +@Returns: - + +@no_error: +@malloc_error: +@mismatch_error: +@sanity_error: +@system_error: +@network_error: +@timeout_error: +@thread_error: +@unknown_error: - + +@Returns: - + - + +@sd: +@size: - + +@id: +@Returns: - + - + +@msg: - + +@timeOut: - + +@msgId: +@dataSize: +@seqCount: +@Returns: - + +@msgId: +@free_data_on_free: +@seqCount: +@Varargs: +@Returns: - + +@msg: +@timeout: +@Returns: +@sd: - + +@message: +@name: +@sequence_count: +@Varargs: +@Returns: - + -@destination: -@source: -@whatType: -@repetitions: -@sourceFormat: +@sd: +@message: +@sequence_count: +@Varargs: +@Returns: - + -@whatType: -@repetitions: -@format: +@sd: +@timeout: +@message: +@sequence_count: +@Varargs: @Returns: - + +@Returns: - + -@addr: +@host: +@Param2: +@sock: @Returns: - + -@addr: +@Param1: +@Param2: +@sock: @Returns: - + -@addr: -@Returns: - + -@addr: +@sd: @Returns: - + -@machineOrAddress: -@address: +@sd: +@Returns: - + -@machineOrAddress: -@addressList: -@atMost: +@sd: +@data: +@description: @Returns: - + -@timeOut: -@sd: -@ldap: -@Returns: +@message: +@TTL: +@cb: - + @sd: +@data: +@description: @Returns: - + -@sd: @Returns: - + -@machineOrAddress: - + -@p: -@f: -@a1: -@a2: -@a3: -@a4: -@a5: -@a6: +@type: - + -@Returns: +@ud: - + +@cfg: +@Returns: - + -@notifyFn: +@tocopy: +@whereto: +@Returns: - + -@addr: -@Param2: -@sock: -@Returns: +@name: +@indent: +@cfg: - + -@Param1: -@Param2: -@ear: -@earPort: +@cfg: +@name: @Returns: - + +@cfg: - + +@cfg: +@name: +@val: +@Returns: - + +@cfg: +@name: +@dynar: +@Returns: - + +@cfg: +@name: +@host: +@port: +@Returns: - + +@cfg: +@name: +@val: +@Returns: - + +@cfg: +@name: +@val: +@Returns: - + -@structType: -@lastMember: -@memberType: -@repetitions: +@Returns: +@whereto: - + -@sock: -@child: +@cfg: +@name: +@type: +@min: +@max: @Returns: - + -@sd: +@cfg: +@entry: @Returns: - + -@sd: +@cfg: +@name: +@val: @Returns: - + -@sd: +@cfg: +@name: +@host: +@port: @Returns: - + -@destination: -@source: -@whatType: -@repetitions: -@format: +@cfg: +@name: +@val: +@Returns: - + -@type: -@repetitions: +@cfg: +@name: +@val: +@Returns: - + -@type: -@repetitions: -@offset: +@cfg: +@Varargs: +@Returns: - + +@cfg: +@name: +@val: +@Returns: - + +@cfg: +@name: +@host: +@port: +@Returns: - + +@cfg: +@name: +@val: +@Returns: - + -@sig: +@cfg: +@options: +@Returns: - + -@Param1: +@cfg: +@name: +@val: +@Returns: - + -@sd: +@cfg: +@pa: @Returns: - + -@sd: -@Returns: +@type: +@post: - + +@type: +@pre: - + -@f: -@a1: -@a2: -@a3: -@a4: -@a5: -@a6: +@d1: +@d2: +@Returns: +@dd1: +@c1: +@dd2: +@c2: - + -@sd: -@msgType: -@vdata: +@dd: +@c: +@data: - + -@sock: -@Returns: +@name: +@elm_type: +@size: +@code: - + -@dd1: -@c1: -@dd2: -@c2: +@name: +@element_type: +@fixed_size: +@dynamic_size: +@post: +@code: @Returns: -@description: - + -@description: +@name: +@element_type: +@dynamic_size: +@dst: @Returns: +@elm_type: +@code: - + -@sd: -@data: -@description: -@description_length: -@repetition: +@name: +@element_type: +@fixed_size: +@dst: @Returns: - + -@sd: -@data: -@description: -@description_length: -@repetition: +@name: +@referenced_type: +@dst: @Returns: +@ref_type: +@code: - + -@description: -@ft: +@name: +@referenced_type: +@discriminant: +@post: +@code: @Returns: - + -@no_error: -@malloc_error: -@mismatch_error: -@sanity_error: -@system_error: -@network_error: -@timeout_error: -@thread_error: -@unknown_error: +@name: +@discriminant: +@code: - + +@name: +@discriminant: +@dst: @Returns: - + +@name: +@dst: +@Returns: +@code: - + -@sd: -@size: +@struct_code: +@field_name: +@field_type_code: - + -@id: +@struct_code: +@field_name: +@field_code: +@pre_cb: +@post_cb: @Returns: - + +@struct_code: +@field_name: +@field_type_name: - + -@msg: +@struct_code: +@field_name: +@field_type_name: +@pre_cb: +@post_cb: +@Returns: - + -@timeOut: +@struct_type: +@name: +@field_type: +@Returns: - + -@msgId: -@dataSize: -@seqCount: +@struct_type: +@name: +@field_type_name: @Returns: - + -@msgId: -@free_data_on_free: -@seqCount: -@Varargs: +@name: +@pre_cb: +@post_cb: +@code: @Returns: - + -@msg: -@timeout: -@Returns: -@sd: +@struct_type: - + -@message: @name: -@sequence_count: -@Varargs: +@selector: +@dst: @Returns: +@code: - + -@sd: -@message: -@sequence_count: -@Varargs: -@Returns: +@union_code: +@field_name: +@field_type_code: - + -@sd: -@timeout: -@message: -@sequence_count: -@Varargs: +@union_code: +@field_name: +@field_code: +@pre_cb: +@post_cb: @Returns: - + -@Returns: +@union_code: +@field_name: +@field_type_name: - + -@host: -@Param2: -@sock: +@union_code: +@field_name: +@field_type_name: +@pre_cb: +@post_cb: @Returns: - + -@Param1: -@Param2: -@sock: +@union_type: +@name: +@field_type: @Returns: - + +@union_type: +@name: +@field_type_name: +@Returns: - + -@sd: +@name: +@field_count: +@post: +@code: @Returns: - + -@sd: -@Returns: +@union_type: - + -@sd: -@data: -@description: +@name: +@desc: +@howmany: +@code: @Returns: +@dst: - + -@message: -@TTL: -@cb: +@name: +@desc: +@howmany: +@dst: +@Returns: - + -@sd: -@data: -@description: +@name: +@Cdefinition: +@dst: @Returns: +@code: +@def: - + -@Returns: +@ps: - + +@ps: - + -@type: +@ps: +@name: +@ddt: + + + + + + +@ps: +@name: +@ddt: - + -@ud: +@ps: +@name: +@data: +@ddt: - + -@type: -@post: +@ps: +@name: +@data: +@ddt: - + @type: -@pre: - + -@d1: -@d2: +@code: +@type: @Returns: -@dd1: -@c1: -@dd2: -@c2: - - - - - - -@dd: -@c: -@data: - + @name: -@elm_type: -@size: -@code: +@type: +@Returns: - + @@ -1929,46 +3511,45 @@ Sockets @fixed_size: @dynamic_size: @post: -@code: +@dst: @Returns: - + @name: -@element_type: -@dynamic_size: +@desc: +@howmany: @dst: @Returns: -@elm_type: -@code: - + @name: -@element_type: -@fixed_size: +@default_value: +@free_func: +@size: +@alignment: +@post: @dst: @Returns: - + @name: -@referenced_type: +@C_definition: @dst: @Returns: -@ref_type: -@code: - + @@ -1977,532 +3558,527 @@ Sockets @referenced_type: @discriminant: @post: -@code: +@dst: @Returns: - + @name: -@discriminant: -@code: +@type: +@Returns: - + @name: -@discriminant: +@pre: +@post: @dst: @Returns: - + + + + + +@struct_type: +@name: +@field_type: +@pre: +@post: +@Returns: + + @name: +@field_count: +@post: @dst: @Returns: -@code: - + -@struct_code: -@field_name: -@field_type_code: +@union_type: +@name: +@field_type: +@pre: +@post: +@Returns: - + -@struct_code: -@field_name: -@field_code: -@pre_cb: -@post_cb: +@type: @Returns: - + -@struct_code: -@field_name: -@field_type_name: +@cursor: +@Returns: - + -@struct_code: -@field_name: -@field_type_name: -@pre_cb: -@post_cb: +@cursor: +@data: @Returns: - + -@struct_type: -@name: -@field_type: +@cursor: +@key: @Returns: - + -@struct_type: -@name: -@field_type_name: +@head: @Returns: +@cursor: - + -@name: -@pre_cb: -@post_cb: -@code: +@cursor: @Returns: - + -@struct_type: +@cursor: +@Returns: - + -@name: -@selector: -@dst: +@head: +@output: @Returns: -@code: - + -@union_code: -@field_name: -@field_type_code: +@dict: +@cursor: +@key: +@data: - + -@union_code: -@field_name: -@field_code: -@pre_cb: -@post_cb: +@dict: @Returns: - + -@union_code: -@field_name: -@field_type_name: +@head: +@key: +@data: +@Returns: - + -@union_code: -@field_name: -@field_type_name: -@pre_cb: -@post_cb: +@head: +@key: +@key_len: +@data: @Returns: - + -@union_type: -@name: -@field_type: +@head: +@key: +@data: +@free_ctn: @Returns: - + -@union_type: -@name: -@field_type_name: +@head: +@key: +@key_len: +@data: +@free_ctn: @Returns: - + -@name: -@field_count: -@post: -@code: @Returns: +@dict: - + -@union_type: +@data: - + -@name: -@desc: -@howmany: -@code: +@data: + + + + + + +@head: +@key: @Returns: -@dst: - + -@name: -@desc: -@howmany: -@dst: +@head: +@key: +@key_len: @Returns: - + + + + + +@head: +@key: +@data: +@Returns: + + -@name: -@Cdefinition: -@dst: +@head: +@key: +@key_len: +@data: @Returns: -@code: -@def: - + -@ps: +@head: +@key: +@data: +@free_ctn: +@Returns: - + -@ps: +@head: +@key: +@key_len: +@data: +@free_ctn: +@Returns: - + -@ps: -@name: -@ddt: +@dynar: +@cursor: - + -@ps: -@name: -@ddt: +@dynar: +@cursor: +@whereto: +@Returns: - + -@ps: -@name: -@data: -@ddt: +@dynar: +@cursor: - + -@ps: -@name: -@data: -@ddt: +@dynar: +@cursor: - + -@type: +@dynar: +@cursor: +@Returns: - + -@code: -@type: -@Returns: +@_dynar: +@_cursor: +@_data: +@_whereto: - + -@name: -@type: +@dynar: @Returns: - + -@name: -@element_type: -@fixed_size: -@dynamic_size: -@post: -@dst: +@dynar: @Returns: - + -@name: -@desc: -@howmany: +@dynar: +@idx: @dst: +@whereto: @Returns: - + -@name: -@default_value: -@free_func: -@size: -@alignment: -@post: -@dst: +@dynar: +@idx: +@src: @Returns: +@object: - + -@name: -@C_definition: -@dst: +@dynar: @Returns: - + -@name: -@referenced_type: -@discriminant: -@post: -@dst: +@dynar: +@operator: @Returns: - + -@name: -@type: +@Param1: +@free_func: @Returns: +@whereto: +@elm_size: - + -@name: -@pre: -@post: -@dst: +@dynar: +@cursor: +@whereto: @Returns: - + -@struct_type: -@name: -@field_type: -@pre: -@post: -@Returns: +@dynar: +@dst: +@whereto: - + -@name: -@field_count: -@post: -@dst: +@dynar: +@src: @Returns: +@object: - + -@union_type: -@name: -@field_type: -@pre: -@post: +@dynar: +@idx: +@object: @Returns: - + -@type: +@dynar: +@idx: +@object: @Returns: - + -@cursor: +@dynar: @Returns: - + -@head: -@key: -@data: -@free_ctn: +@dynar: +@idx: +@src: @Returns: +@object: - + -@head: -@key: -@key_len: -@data: -@free_ctn: +@dynar: +@dst: +@whereto: @Returns: - + -@head: -@key: -@data: +@dynar: +@src: @Returns: +@object: - + -@head: -@key: -@key_len: -@data: -@Returns: +@no_error: no error +@mismatch_error: Not found +@system_error: a syscall did fail +@network_error: error while sending/receiving data +@timeout_error: not quick enough, dude +@thread_error: error while [un]locking +@unknown_error: no idea - + -@dynar: -@cursor: @Returns: - + -@dynar: -@idx: -@dst: -@whereto: -@Returns: +@cat: +@app: - + -@dynar: -@cursor: -@whereto: +@cs: @Returns: - + -@Returns: @@ -2573,6 +4149,71 @@ Sockets @Varargs: @Returns: + + + + + +@set: +@elm: +@free_func: +@Returns: + + + + + + +@set: +@cursor: +@elm: + + + + + + +@set: + + + + + + +@set: +@id: +@dst: +@Returns: + + + + + + +@set: +@key: +@dst: +@Returns: + + + + + + +@set: +@name: +@name_len: +@dst: +@Returns: + + + + + + +@Returns: +@dst: + @@ -2639,3 +4280,22 @@ Sockets @Returns: + + + + + +@no_error: +@mismatch_error: +@system_error: +@network_error: +@timeout_error: +@thread_error: +@unknown_error: +@remote_mismatch_error: +@remote_system_error: +@remote_network_error: +@remote_timeout_error: +@remote_thread_error: +@remote_unknown_error: +