From: mquinson Date: Sun, 13 Feb 2005 15:54:27 +0000 (+0000) Subject: re-doxygenification X-Git-Tag: v3.3~4364 X-Git-Url: http://info.iut-bm.univ-fcomte.fr/pub/gitweb/simgrid.git/commitdiff_plain/c9f0b6f33ed2290b8f99ca0d34646e6418dcd0ba re-doxygenification git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/simgrid/simgrid/trunk@987 48e7efb5-ca39-0410-a469-dd3cf9ba447f --- diff --git a/src/xbt/config.c b/src/xbt/config.c index 39bde111d9..571a57081c 100644 --- a/src/xbt/config.c +++ b/src/xbt/config.c @@ -1,6 +1,6 @@ /* $Id$ */ -/* config - Dictionnary where the type of each cell is provided. */ +/* config - Dictionnary where the type of each variable is provided. */ /* This is useful to build named structs, like option or property sets. */ @@ -20,13 +20,13 @@ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(config,xbt,"configuration support"); -/* xbt_cfgelm_t: the typedef corresponding to a config cell. +/* xbt_cfgelm_t: the typedef corresponding to a config variable. Both data and DTD are mixed, but fixing it now would prevent me to ever defend my thesis. */ typedef struct { - /* Allowed type of the cell */ + /* Allowed type of the variable */ e_xbt_cfgelm_type_t type; int min,max; @@ -38,10 +38,10 @@ typedef struct { static const char *xbt_cfgelm_type_name[xbt_cfgelm_type_count]= {"int","double","string","host"}; -/* Internal stuff used in cache to free a cell */ +/* Internal stuff used in cache to free a variable */ static void xbt_cfgelm_free(void *data); -/* Retrieve the cell we'll modify */ +/* Retrieve the variable we'll modify */ static xbt_error_t xbt_cfgelm_get(xbt_cfg_t cfg, const char *name, e_xbt_cfgelm_type_t type, /* OUT */ xbt_cfgelm_t *whereto); @@ -62,10 +62,7 @@ void xbt_cfg_host_free(void *d){ /*----[ Memory management ]-----------------------------------------------*/ -/** - * xbt_cfg_new: - * - * \return +/** @brief Constructor * * Initialise an config set */ @@ -75,45 +72,43 @@ xbt_cfg_t xbt_cfg_new(void) { return (xbt_cfg_t)xbt_dict_new(); } -/** - * xbt_cfg_cpy: +/** @brief Copy an existing configuration set * * \arg whereto the config set to be created * \arg tocopy the source data * + * This only copy the registrations, not the actual content */ void xbt_cfg_cpy(xbt_cfg_t tocopy,xbt_cfg_t *whereto) { xbt_dict_cursor_t cursor=NULL; - xbt_cfgelm_t cell=NULL; + xbt_cfgelm_t variable=NULL; char *name=NULL; *whereto=NULL; xbt_assert0(tocopy,"cannot copy NULL config"); - xbt_dict_foreach((xbt_dict_t)tocopy,cursor,name,cell) { - xbt_cfg_register(*whereto, name, cell->type, cell->min, cell->max); + xbt_dict_foreach((xbt_dict_t)tocopy,cursor,name,variable) { + xbt_cfg_register(*whereto, name, variable->type, variable->min, variable->max); } } +/** @brief Destructor */ void xbt_cfg_free(xbt_cfg_t *cfg) { xbt_dict_free((xbt_dict_t*)cfg); } -/** - * xbt_cfg_dump: +/** @brief Dump a config set for debuging purpose + * * \arg name The name to give to this config set * \arg indent what to write at the begining of each line (right number of spaces) * \arg cfg the config set - * - * Dumps a config set for debuging purpose */ -void -xbt_cfg_dump(const char *name,const char *indent,xbt_cfg_t cfg) { +void xbt_cfg_dump(const char *name,const char *indent,xbt_cfg_t cfg) { xbt_dict_t dict = (xbt_dict_t) cfg; xbt_dict_cursor_t cursor=NULL; - xbt_cfgelm_t cell=NULL; + xbt_cfgelm_t variable=NULL; char *key=NULL; int i; int size; @@ -124,41 +119,41 @@ xbt_cfg_dump(const char *name,const char *indent,xbt_cfg_t cfg) { if (name) printf("%s>> Dumping of the config set '%s':\n",indent,name); - xbt_dict_foreach(dict,cursor,key,cell) { + xbt_dict_foreach(dict,cursor,key,variable) { printf("%s %s:",indent,key); - size = xbt_dynar_length(cell->content); + size = xbt_dynar_length(variable->content); printf("%d_to_%d_%s. Actual size=%d. List of values:\n", - cell->min,cell->max,xbt_cfgelm_type_name[cell->type], + variable->min,variable->max,xbt_cfgelm_type_name[variable->type], size); - switch (cell->type) { + switch (variable->type) { case xbt_cfgelm_int: for (i=0; icontent,i,int); + ival = xbt_dynar_get_as(variable->content,i,int); printf ("%s %d\n",indent,ival); } break; case xbt_cfgelm_double: for (i=0; icontent,i,double); + dval = xbt_dynar_get_as(variable->content,i,double); printf ("%s %f\n",indent,dval); } break; case xbt_cfgelm_string: for (i=0; icontent,i,char*); + sval = xbt_dynar_get_as(variable->content,i,char*); printf ("%s %s\n",indent,sval); } break; case xbt_cfgelm_host: for (i=0; icontent,i,xbt_host_t*); + hval = xbt_dynar_get_as(variable->content,i,xbt_host_t*); printf ("%s %s:%d\n",indent,hval->name,hval->port); } break; @@ -176,11 +171,7 @@ xbt_cfg_dump(const char *name,const char *indent,xbt_cfg_t cfg) { return; } -/** - * xbt_cfgelm_free: - * - * \arg data the data to be freed (typed as void* to be usable as free funct in dict) - * +/* * free an config element */ @@ -194,14 +185,12 @@ void xbt_cfgelm_free(void *data) { /*----[ Registering stuff ]-----------------------------------------------*/ -/** - * xbt_cfg_register: - * \arg cfg the config set - * \arg type the type of the config element - * \arg min the minimum - * \arg max the maximum +/** @brief Register an element within a config set * - * register an element within a config set + * @arg cfg the config set + * @arg type the type of the config element + * @arg min the minimum + * @arg max the maximum */ void @@ -250,14 +239,12 @@ xbt_cfg_register(xbt_cfg_t cfg, xbt_dict_set((xbt_dict_t)cfg,name,res,&xbt_cfgelm_free); } -/** - * xbt_cfg_unregister: +/** @brief Unregister an element from a config set. * - * \arg cfg the config set - * \arg name the name of the elem to be freed + * @arg cfg the config set + * @arg name the name of the elem to be freed * - * unregister an element from a config set. - * Note that it removes both the DTD and the actual content. + * Note that it removes both the description and the actual content. */ xbt_error_t @@ -266,12 +253,14 @@ xbt_cfg_unregister(xbt_cfg_t cfg,const char *name) { } /** - * xbt_cfg_register_str: + * @brief Parse a string and register the stuff described. * - * \arg cfg the config set - * \arg entry a string describing the element to register + * @arg cfg the config set + * @arg entry a string describing the element to register * - * Parse a string and register the stuff described. + * The string may consist in several variable description separated by a space. + * Each of them must use the following syntax: \:\_to_\_\ + * with type being one of 'string','int', 'host' or 'double'. */ xbt_error_t @@ -340,40 +329,34 @@ xbt_cfg_register_str(xbt_cfg_t cfg,const char *entry) { return no_error; } -/** - * xbt_cfg_check: - * - * \arg cfg the config set - * - * Check the config set - */ +/** @brief Check that each variable have the right amount of values */ xbt_error_t xbt_cfg_check(xbt_cfg_t cfg) { xbt_dict_cursor_t cursor; - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; char *name; int size; xbt_assert0(cfg,"NULL config set."); - xbt_dict_foreach((xbt_dict_t)cfg,cursor,name,cell) { - size = xbt_dynar_length(cell->content); - if (cell->min > size) { + xbt_dict_foreach((xbt_dict_t)cfg,cursor,name,variable) { + size = xbt_dynar_length(variable->content); + if (variable->min > size) { ERROR4("Config elem %s needs at least %d %s, but there is only %d values.", name, - cell->min, - xbt_cfgelm_type_name[cell->type], + variable->min, + xbt_cfgelm_type_name[variable->type], size); xbt_dict_cursor_free(&cursor); return mismatch_error; } - if (cell->max < size) { + if (variable->max < size) { ERROR4("Config elem %s accepts at most %d %s, but there is %d values.", name, - cell->max, - xbt_cfgelm_type_name[cell->type], + variable->max, + xbt_cfgelm_type_name[variable->type], size); xbt_dict_cursor_free(&cursor); return mismatch_error; @@ -394,7 +377,7 @@ static xbt_error_t xbt_cfgelm_get(xbt_cfg_t cfg, (void**)whereto); if (errcode == mismatch_error) { - ERROR1("No registered cell %s in this config set", + ERROR1("No registered variable %s in this config set", name); return mismatch_error; } @@ -410,39 +393,37 @@ static xbt_error_t xbt_cfgelm_get(xbt_cfg_t cfg, return no_error; } -/** - * xbt_cfg_get_type: +/** @brief Get the type of this variable in that configuration set * * \arg cfg the config set * \arg name the name of the element * \arg type the result * - * Give the type of the config element */ xbt_error_t xbt_cfg_get_type(xbt_cfg_t cfg, const char *name, /* OUT */e_xbt_cfgelm_type_t *type) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; - TRYCATCH(mismatch_error,xbt_dict_get((xbt_dict_t)cfg,name,(void**)&cell)); + TRYCATCH(mismatch_error,xbt_dict_get((xbt_dict_t)cfg,name,(void**)&variable)); if (errcode == mismatch_error) { - ERROR1("Can't get the type of '%s' since this cell does not exist", + ERROR1("Can't get the type of '%s' since this variable does not exist", name); return mismatch_error; } - *type=cell->type; + *type=variable->type; return no_error; } /*----[ Setting ]---------------------------------------------------------*/ -/** - * xbt_cfg_set_vargs(): +/** @brief va_args version of xbt_cfg_set + * * \arg cfg config set to fill * \arg varargs NULL-terminated list of pairs {(const char*)key, value} * @@ -488,18 +469,17 @@ xbt_cfg_set_vargs(xbt_cfg_t cfg, va_list pa) { break; default: - RAISE1(unknown_error,"Config element cell %s not valid.",name); + RAISE1(unknown_error,"Config element variable %s not valid.",name); } } return no_error; } -/** - * xbt_cfg_set(): +/** @brief Add a NULL-terminated list of pairs {(char*)key, value} to the set + * * \arg cfg config set to fill * \arg varargs NULL-terminated list of pairs {(const char*)key, value} * - * Add some values to the config set. * \warning if the list isn't NULL terminated, it will segfault. */ xbt_error_t xbt_cfg_set(xbt_cfg_t cfg, ...) { @@ -512,16 +492,16 @@ xbt_error_t xbt_cfg_set(xbt_cfg_t cfg, ...) { return errcode; } -/** - * xbt_cfg_set_parse(): +/** @brief Add values parsed from a string into a config set + * * \arg cfg config set to fill * \arg options a string containing the content to add to the config set. This - * is a '\t',' ' or '\n' separated list of cells. Each individual cell is + * is a '\\t',' ' or '\\n' separated list of variables. Each individual variable is * like "[name]:[value]" where [name] is the name of an already registred - * cell, and [value] conforms to the data type under which this cell was + * variable, and [value] conforms to the data type under which this variable was * registred. * - * Add the cells described in a string to a config set. + * @todo This is a crude manual parser, it should be a proper lexer. */ xbt_error_t @@ -530,7 +510,7 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { double d; char *str; - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; char *optionlist_cpy; char *option, *name,*val; @@ -556,19 +536,21 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { /* Pass the value */ while (option-name<=(len-1) && *option != ' ' && *option != '\n' && *option != '\t') { - /*fprintf(stderr,"Take %c.\n",*option);*/ + DEBUG1("Take %c.\n",*option); option++; } if (option-name == len) { - /*fprintf(stderr,"Boundary=EOL\n");*/ + DEBUG0("Boundary=EOL\n"); option=NULL; /* don't do next iteration */ } else { - /*fprintf(stderr,"Boundary on '%c'. len=%d;option-name=%d\n",*option,len,option-name);*/ + DEBUG3("Boundary on '%c'. len=%d;option-name=%d\n", + *option,len,option-name); /* Pass the following blank chars */ *(option++)='\0'; - while (option-name<(len-1) && (*option == ' ' || *option == '\n' || *option == '\t')) { + while (option-name<(len-1) && + (*option == ' ' || *option == '\n' || *option == '\t')) { /* fprintf(stderr,"Ignore a blank char.\n");*/ option++; } @@ -586,19 +568,19 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { if (!val) { xbt_free(optionlist_cpy); xbt_assert1(FALSE, - "Malformated option: '%s'; Should be of the form 'name:value'", - name); + "Malformated option: '%s'; Should be of the form 'name:value'", + name); } *(val++)='\0'; DEBUG2("name='%s';val='%s'",name,val); - errcode=xbt_dict_get((xbt_dict_t)cfg,name,(void**)&cell); + errcode=xbt_dict_get((xbt_dict_t)cfg,name,(void**)&variable); switch (errcode) { case no_error: break; case mismatch_error: - ERROR1("No registrated cell corresponding to '%s'.",name); + ERROR1("No registrated variable corresponding to '%s'.",name); xbt_free(optionlist_cpy); return mismatch_error; break; @@ -607,7 +589,7 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { return errcode; } - switch (cell->type) { + switch (variable->type) { case xbt_cfgelm_string: errcode = xbt_cfg_set_string(cfg, name, val); if (errcode != no_error) { @@ -654,7 +636,7 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { if (!val) { xbt_free(optionlist_cpy); xbt_assert1(FALSE, - "Value of option %s not valid. Should be an host (machine:port)", + "Value of option %s not valid. Should be an host (machine:port)", name); } @@ -663,7 +645,7 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { if (val==NULL) { xbt_free(optionlist_cpy); xbt_assert1(FALSE, - "Value of option %s not valid. Should be an host (machine:port)", + "Value of option %s not valid. Should be an host (machine:port)", name); } @@ -684,99 +666,90 @@ xbt_cfg_set_parse(xbt_cfg_t cfg, const char *options) { return no_error; } -/** - * xbt_cfg_set_int: +/** @brief Set or add an integer value to \a name within \a cfg * * \arg cfg the config set - * \arg name the name of the cell - * \arg val the value of the cell - * - * Set the value of the cell #name in #cfg with the provided value. + * \arg name the name of the variable + * \arg val the value of the variable */ xbt_error_t xbt_cfg_set_int(xbt_cfg_t cfg,const char*name, int val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; VERB2("Configuration setting: %s=%d",name,val); - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&variable)); - if (cell->max > 1) { - xbt_dynar_push(cell->content,&val); + if (variable->max > 1) { + xbt_dynar_push(variable->content,&val); } else { - xbt_dynar_set(cell->content,0,&val); + xbt_dynar_set(variable->content,0,&val); } return no_error; } -/** - * xbt_cfg_set_double: +/** @brief Set or add a double value to \a name within \a cfg + * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the doule to set - * - * Set the value of the cell #name in #cfg with the provided value. */ xbt_error_t xbt_cfg_set_double(xbt_cfg_t cfg,const char*name, double val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; VERB2("Configuration setting: %s=%f",name,val); - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&variable)); - if (cell->max > 1) { - xbt_dynar_push(cell->content,&val); + if (variable->max > 1) { + xbt_dynar_push(variable->content,&val); } else { - xbt_dynar_set(cell->content,0,&val); + xbt_dynar_set(variable->content,0,&val); } return no_error; } -/** - * xbt_cfg_set_string: +/** @brief Set or add a string value to \a name within \a cfg * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the value to be added * - * Set the value of the cell #name in #cfg with the provided value. */ xbt_error_t xbt_cfg_set_string(xbt_cfg_t cfg,const char*name, const char*val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; char *newval = xbt_strdup(val); VERB2("Configuration setting: %s=%s",name,val); - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&variable)); - if (cell->max > 1) { - xbt_dynar_push(cell->content,&newval); + if (variable->max > 1) { + xbt_dynar_push(variable->content,&newval); } else { - xbt_dynar_set(cell->content,0,&newval); + xbt_dynar_set(variable->content,0,&newval); } return no_error; } -/** - * xbt_cfg_set_host: +/** @brief Set or add an host value to \a name within \a cfg * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg host the host * \arg port the port number * - * Set the value of the cell #name in #cfg with the provided value - * on the given #host to the given #port + * \e host values are composed of a string (hostname) and an integer (port) */ xbt_error_t xbt_cfg_set_host(xbt_cfg_t cfg,const char*name, const char *host,int port) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; xbt_host_t *val=xbt_new(xbt_host_t,1); @@ -785,38 +758,35 @@ xbt_cfg_set_host(xbt_cfg_t cfg,const char*name, val->name = xbt_strdup(name); val->port = port; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&variable)); - if (cell->max > 1) { - xbt_dynar_push(cell->content,&val); + if (variable->max > 1) { + xbt_dynar_push(variable->content,&val); } else { - xbt_dynar_set(cell->content,0,&val); + xbt_dynar_set(variable->content,0,&val); } return no_error; } /* ---- [ Removing ] ---- */ -/** - * xbt_cfg_rm_int: +/** @brief Remove the provided \e val integer value from a variable * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the value to be removed - * - * Remove the provided #val from the cell #name in #cfg. */ xbt_error_t xbt_cfg_rm_int(xbt_cfg_t cfg,const char*name, int val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; int cpt,seen; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&variable)); - xbt_dynar_foreach(cell->content,cpt,seen) { + xbt_dynar_foreach(variable->content,cpt,seen) { if (seen == val) { - xbt_dynar_cursor_rm(cell->content,&cpt); + xbt_dynar_cursor_rm(variable->content,&cpt); return no_error; } } @@ -826,27 +796,24 @@ xbt_error_t xbt_cfg_rm_int(xbt_cfg_t cfg,const char*name, int val) { return mismatch_error; } -/** - * xbt_cfg_rm_double: +/** @brief Remove the provided \e val double value from a variable * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the value to be removed - * - * Remove the provided #val from the cell #name in #cfg. */ xbt_error_t xbt_cfg_rm_double(xbt_cfg_t cfg,const char*name, double val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; int cpt; double seen; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&variable)); - xbt_dynar_foreach(cell->content,cpt,seen) { + xbt_dynar_foreach(variable->content,cpt,seen) { if (seen == val) { - xbt_dynar_cursor_rm(cell->content,&cpt); + xbt_dynar_cursor_rm(variable->content,&cpt); return no_error; } } @@ -856,27 +823,24 @@ xbt_error_t xbt_cfg_rm_double(xbt_cfg_t cfg,const char*name, double val) { return mismatch_error; } -/** - * xbt_cfg_rm_string: +/** @brief Remove the provided \e val string value from a variable * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the value of the string which will be removed - * - * Remove the provided #val from the cell #name in #cfg. */ xbt_error_t xbt_cfg_rm_string(xbt_cfg_t cfg,const char*name, const char *val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; int cpt; char *seen; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&variable)); - xbt_dynar_foreach(cell->content,cpt,seen) { + xbt_dynar_foreach(variable->content,cpt,seen) { if (!strcpy(seen,val)) { - xbt_dynar_cursor_rm(cell->content,&cpt); + xbt_dynar_cursor_rm(variable->content,&cpt); return no_error; } } @@ -886,29 +850,26 @@ xbt_cfg_rm_string(xbt_cfg_t cfg,const char*name, const char *val) { return mismatch_error; } -/** - * xbt_cfg_rm_host: +/** @brief Remove the provided \e val host value from a variable * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg host the hostname * \arg port the port number - * - * Remove the provided #host:#port from the cell #name in #cfg. */ xbt_error_t xbt_cfg_rm_host(xbt_cfg_t cfg,const char*name, const char *host,int port) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; int cpt; xbt_host_t *seen; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&variable)); - xbt_dynar_foreach(cell->content,cpt,seen) { + xbt_dynar_foreach(variable->content,cpt,seen) { if (!strcpy(seen->name,host) && seen->port == port) { - xbt_dynar_cursor_rm(cell->content,&cpt); + xbt_dynar_cursor_rm(variable->content,&cpt); return no_error; } } @@ -918,48 +879,43 @@ xbt_cfg_rm_host(xbt_cfg_t cfg,const char*name, const char *host,int port) { return mismatch_error; } -/* rm everything */ - -/** - * xbt_cfg_empty: +/** @brief Remove all the values from a variable * * \arg cfg the config set - * \arg name the name of the cell - * - * rm evenything + * \arg name the name of the variable */ xbt_error_t xbt_cfg_empty(xbt_cfg_t cfg,const char*name) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; TRYCATCH(mismatch_error, - xbt_dict_get((xbt_dict_t)cfg,name,(void**)&cell)); + xbt_dict_get((xbt_dict_t)cfg,name,(void**)&variable)); if (errcode == mismatch_error) { ERROR1("Can't empty '%s' since this config element does not exist", name); return mismatch_error; } - if (cell) { - xbt_dynar_reset(cell->content); + if (variable) { + xbt_dynar_reset(variable->content); } return no_error; } /*----[ Getting ]---------------------------------------------------------*/ -/** - * xbt_cfg_get_int: +/** @brief Retrieve an integer value of a variable (get a warning if not uniq) + * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the wanted value * * Returns the first value from the config set under the given name. - * If there is more than one value, it will issue a warning. Consider using xbt_cfg_get_dynar() - * instead. + * If there is more than one value, it will issue a warning. Consider using + * xbt_cfg_get_dynar() instead. * * \warning the returned value is the actual content of the config set */ @@ -967,29 +923,29 @@ xbt_error_t xbt_cfg_get_int (xbt_cfg_t cfg, const char *name, int *val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_int,&variable)); - if (xbt_dynar_length(cell->content) > 1) { + if (xbt_dynar_length(variable->content) > 1) { WARN2("You asked for the first value of the config element '%s', but there is %lu values", - name, xbt_dynar_length(cell->content)); + name, xbt_dynar_length(variable->content)); } - *val = xbt_dynar_get_as(cell->content, 0, int); + *val = xbt_dynar_get_as(variable->content, 0, int); return no_error; } -/** - * xbt_cfg_get_double: +/** @brief Retrieve a double value of a variable (get a warning if not uniq) + * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the wanted value * * Returns the first value from the config set under the given name. - * If there is more than one value, it will issue a warning. Consider using xbt_cfg_get_dynar() - * instead. + * If there is more than one value, it will issue a warning. Consider using + * xbt_cfg_get_dynar() instead. * * \warning the returned value is the actual content of the config set */ @@ -998,30 +954,29 @@ xbt_error_t xbt_cfg_get_double(xbt_cfg_t cfg, const char *name, double *val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_double,&variable)); - if (xbt_dynar_length(cell->content) > 1) { + if (xbt_dynar_length(variable->content) > 1) { WARN2("You asked for the first value of the config element '%s', but there is %lu values\n", - name, xbt_dynar_length(cell->content)); + name, xbt_dynar_length(variable->content)); } - *val = xbt_dynar_get_as(cell->content, 0, double); + *val = xbt_dynar_get_as(variable->content, 0, double); return no_error; } -/** - * xbt_cfg_get_string: +/** @brief Retrieve a string value of a variable (get a warning if not uniq) * * \arg th the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg val the wanted value * * Returns the first value from the config set under the given name. - * If there is more than one value, it will issue a warning. Consider using xbt_cfg_get_dynar() - * instead. + * If there is more than one value, it will issue a warning. Consider using + * xbt_cfg_get_dynar() instead. * * \warning the returned value is the actual content of the config set */ @@ -1029,33 +984,32 @@ xbt_cfg_get_double(xbt_cfg_t cfg, xbt_error_t xbt_cfg_get_string(xbt_cfg_t cfg, const char *name, char **val) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; *val=NULL; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_string,&variable)); - if (xbt_dynar_length(cell->content) > 1) { + if (xbt_dynar_length(variable->content) > 1) { WARN2("You asked for the first value of the config element '%s', but there is %lu values\n", - name, xbt_dynar_length(cell->content)); + name, xbt_dynar_length(variable->content)); } - *val = xbt_dynar_get_as(cell->content, 0, char *); + *val = xbt_dynar_get_as(variable->content, 0, char *); return no_error; } -/** - * xbt_cfg_get_host: +/** @brief Retrieve an host value of a variable (get a warning if not uniq) * * \arg cfg the config set - * \arg name the name of the cell + * \arg name the name of the variable * \arg host the host * \arg port the port number * * Returns the first value from the config set under the given name. - * If there is more than one value, it will issue a warning. Consider using xbt_cfg_get_dynar() - * instead. + * If there is more than one value, it will issue a warning. Consider using + * xbt_cfg_get_dynar() instead. * * \warning the returned value is the actual content of the config set */ @@ -1064,50 +1018,50 @@ xbt_error_t xbt_cfg_get_host (xbt_cfg_t cfg, const char *name, char **host, int *port) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode; xbt_host_t *val; - TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&cell)); + TRY (xbt_cfgelm_get(cfg,name,xbt_cfgelm_host,&variable)); - if (xbt_dynar_length(cell->content) > 1) { + if (xbt_dynar_length(variable->content) > 1) { WARN2("You asked for the first value of the config element '%s', but there is %lu values\n", - name, xbt_dynar_length(cell->content)); + name, xbt_dynar_length(variable->content)); } - val = xbt_dynar_get_as(cell->content, 0, xbt_host_t*); + val = xbt_dynar_get_as(variable->content, 0, xbt_host_t*); *host=val->name; *port=val->port; return no_error; } -/** - * xbt_cfg_get_dynar: +/** @brief Retrieve the dynar of all the values stored in a variable + * * \arg cfg where to search in * \arg name what to search for * \arg dynar result * - * Get the data stored in the config bag. + * Get the data stored in the config set. * * \warning the returned value is the actual content of the config set */ xbt_error_t xbt_cfg_get_dynar (xbt_cfg_t cfg, const char *name, xbt_dynar_t *dynar) { - xbt_cfgelm_t cell; + xbt_cfgelm_t variable; xbt_error_t errcode = xbt_dict_get((xbt_dict_t)cfg,name, - (void**)&cell); + (void**)&variable); if (errcode == mismatch_error) { - ERROR1("No registered cell %s in this config set", + ERROR1("No registered variable %s in this config set", name); return mismatch_error; } if (errcode != no_error) return errcode; - *dynar = cell->content; + *dynar = variable->content; return no_error; } diff --git a/src/xbt/context.c b/src/xbt/context.c index 6e367a0560..5695fecfbd 100644 --- a/src/xbt/context.c +++ b/src/xbt/context.c @@ -3,7 +3,7 @@ /* a fast and simple context switching library */ /* Copyright (c) 2004 Arnaud Legrand. */ -/* Copyright (c) 2004 Martin Quinson. */ +/* Copyright (c) 2004, 2005 Martin Quinson. */ /* All rights reserved. */ /* This program is free software; you can redistribute it and/or modify it @@ -15,12 +15,6 @@ #include "xbt/dynar.h" #include "gras_config.h" - /** \defgroup XBT_context User-level context library - * \brief This section describes how to use high-level functions - * (as opposed to setjump/longjmp) to schedule non-preemptible - * threads. - */ - XBT_LOG_NEW_DEFAULT_SUBCATEGORY(context, xbt, "Context"); /* #define WARNING(format, ...) (fprintf(stderr, "[%s , %s : %d] ", __FILE__, __FUNCTION__, __LINE__),\ */ @@ -45,9 +39,11 @@ static void __xbt_context_yield(xbt_context_t context) xbt_assert0(current_context,"You have to call context_init() first."); -/* WARNING("--------- current_context (%p) is yielding to context(%p) ---------",current_context,context); */ -/* VOIRP(current_context); */ -/* if(current_context) VOIRP(current_context->save); */ + DEBUG2("--------- current_context (%p) is yielding to context(%p) ---------", + current_context,context); + + if(current_context) + DEBUG1("current_context->save = %p",current_context->save); /* VOIRP(context); */ /* if(context) VOIRP(context->save); */ diff --git a/src/xbt/context_private.h b/src/xbt/context_private.h index dde53e787b..89e7d0a5a4 100644 --- a/src/xbt/context_private.h +++ b/src/xbt/context_private.h @@ -11,9 +11,11 @@ #include "xbt/sysdep.h" #include "xbt/swag.h" -#include "xbt/context.h" +#include "xbt/dynar.h" /* void_f_pvoid_t */ #include "portable.h" /* loads context system definitions */ +#include "xbt/context.h" + #define STACK_SIZE 524288 typedef struct s_xbt_context { s_xbt_swag_hookup_t hookup; diff --git a/src/xbt/dynar.c b/src/xbt/dynar.c index 777f226a86..fc66a87458 100644 --- a/src/xbt/dynar.c +++ b/src/xbt/dynar.c @@ -14,9 +14,6 @@ #include "xbt/dynar.h" #include -/** \defgroup XBT_dynar A generic dynamic array - * \brief This section describes the API to generic dynamic array (vector). - */ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(dynar,xbt,"Dynamic arrays"); @@ -123,8 +120,8 @@ _xbt_dynar_put_elm(const xbt_dynar_t dynar, memcpy(elm, src, elmsize); } -/** - * \ingroup XBT_dynar +/** @brief Constructor + * * \param elmsize size of each element in the dynar * \param free_f function to call each time we want to get rid of an element (or NULL if nothing to do). * @@ -147,12 +144,12 @@ xbt_dynar_new(const unsigned long elmsize, return dynar; } -/** - * \ingroup XBT_dynar +/** @brief Destructor of the structure not touching to the content + * * \param dynar poor victim * - * kilkil a dynar BUT NOT its content. Ie, the array is freed, but not what - * its contain points to. + * kilkil a dynar BUT NOT its content. Ie, the array is freed, but the content + * is not touched (the \a free_f function is not used) */ void xbt_dynar_free_container(xbt_dynar_t *dynar) { @@ -170,11 +167,9 @@ xbt_dynar_free_container(xbt_dynar_t *dynar) { } } -/** - * \ingroup XBT_dynar - * \param dynar who to squeeze +/** @brief Frees the content and set the size to 0 * - * Frees the content and set the size to 0 + * \param dynar who to squeeze */ void xbt_dynar_reset(xbt_dynar_t const dynar) { @@ -194,8 +189,8 @@ xbt_dynar_reset(xbt_dynar_t const dynar) { dynar->data = NULL; } -/** - * \ingroup XBT_dynar +/** @brief Destructor + * * \param dynar poor victim * * kilkil a dynar and its content @@ -209,24 +204,20 @@ xbt_dynar_free(xbt_dynar_t * dynar) { } } -/** - * \ingroup XBT_dynar +/** @brief Count of dynar's elements + * * \param dynar the dynar we want to mesure - * - * Returns the count of elements in a dynar */ unsigned long xbt_dynar_length(const xbt_dynar_t dynar) { return (dynar ? (unsigned long) dynar->used : (unsigned long)0); } -/** - * \ingroup XBT_dynar +/** @brief Retrieve a copy of the Nth element of a dynar. + * * \param dynar information dealer * \param idx index of the slot we want to retrive * \param[out] dst where to put the result to. - * - * Retrieve a copy of the Nth element of a dynar. */ void xbt_dynar_get_cpy(const xbt_dynar_t dynar, @@ -240,14 +231,14 @@ xbt_dynar_get_cpy(const xbt_dynar_t dynar, _xbt_dynar_get_elm(dst, dynar, idx); } -/** - * \ingroup XBT_dynar +/** @brief Retrieve a pointer to the Nth element of a dynar. + * * \param dynar information dealer * \param idx index of the slot we want to retrieve - * \return the #idx-th element of #dynar. + * \return the \a idx-th element of \a dynar. * - * Retrieve the Nth element of a dynar. Warning, the returned value is the actual content of - * the dynar. Make a copy before fooling with it. + * \warning The returned value is the actual content of the dynar. + * Make a copy before fooling with it. */ void* xbt_dynar_get_ptr(const xbt_dynar_t dynar, @@ -260,15 +251,13 @@ xbt_dynar_get_ptr(const xbt_dynar_t dynar, return _xbt_dynar_elm(dynar, idx); } -/** - * \ingroup XBT_dynar +/** @brief Set the Nth element of a dynar (expended if needed). Previous value at this position is NOT freed + * * \param dynar information dealer * \param idx index of the slot we want to modify * \param src What will be feeded to the dynar * - * Set the Nth element of a dynar, expanding the dynar if needed, BUT NOT freeing - * the previous value at this position. If you want to free the previous content, - * use xbt_dynar_replace(). + * If you want to free the previous content, use xbt_dynar_replace(). */ void xbt_dynar_set(xbt_dynar_t dynar, @@ -287,8 +276,8 @@ xbt_dynar_set(xbt_dynar_t dynar, _xbt_dynar_put_elm(dynar, idx, src); } -/** - * \ingroup XBT_dynar +/** @brief Set the Nth element of a dynar (expended if needed). Previous value is freed + * * \param dynar * \param idx * \param object @@ -314,16 +303,14 @@ xbt_dynar_replace(xbt_dynar_t dynar, xbt_dynar_set(dynar, idx, object); } -/** - * \ingroup XBT_dynar +/** @brief Make room for a new element, and return a pointer to it * - * Make room for a new element in the dynar, and return a pointer to - * its position. You can then use regular affectation to set its value - * instead of relying on the slow memcpy + * You can then use regular affectation to set its value instead of relying + * on the slow memcpy. This is what xbt_dynar_insert_at_as() does. */ void * xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, - const int idx) { + const int idx) { __sanity_check_dynar(dynar); __sanity_check_idx(idx); @@ -349,20 +336,16 @@ xbt_dynar_insert_at_ptr(xbt_dynar_t const dynar, } } -/** - * \ingroup XBT_dynar - * \param dynar - * \param idx - * \param src What will be feeded to the dynar - * +/** @brief Set the Nth dynar's element, expending the dynar and sliding the previous values to the right + * * Set the Nth element of a dynar, expanding the dynar if needed, and * moving the previously existing value and all subsequent ones to one * position right in the dynar. */ void xbt_dynar_insert_at(xbt_dynar_t const dynar, - const int idx, - const void * const src) { + const int idx, + const void * const src) { /* checks done in xbt_dynar_insert_at_ptr */ memcpy(xbt_dynar_insert_at_ptr(dynar,idx), @@ -370,11 +353,7 @@ xbt_dynar_insert_at(xbt_dynar_t const dynar, dynar->elmsize); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param idx - * \param object +/** @brief Remove the Nth dynar's element, sliding the previous values to the left * * Get the Nth element of a dynar, removing it from the dynar and moving * all subsequent values to one position left in the dynar. @@ -409,23 +388,17 @@ xbt_dynar_remove_at(xbt_dynar_t const dynar, } } -/** - * \ingroup XBT_dynar - * - * Make room at the end of the dynar for a new element, and return a pointer to it +/** @brief Make room at the end of the dynar for a new element, and return a pointer to it. + * + * You can then use regular affectation to set its value instead of relying + * on the slow memcpy. This is what xbt_dynar_push_as() does. */ void * xbt_dynar_push_ptr(xbt_dynar_t const dynar) { return xbt_dynar_insert_at_ptr(dynar, dynar->used); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param src - * - * Add an element at the end of the dynar - */ +/** @brief Add an element at the end of the dynar */ void xbt_dynar_push(xbt_dynar_t const dynar, const void * const src) { @@ -433,11 +406,10 @@ xbt_dynar_push(xbt_dynar_t const dynar, xbt_dynar_insert_at(dynar, dynar->used, src); } -/** - * \param dynar - * \param dst +/** @brief Mark the last dynar's element as unused and return a pointer to it. * - * Make the last element of the dynar as unused and return a pointer to it. + * You can then use regular affectation to set its value instead of relying + * on the slow memcpy. This is what xbt_dynar_pop_as() does. */ void * xbt_dynar_pop_ptr(xbt_dynar_t const dynar) { @@ -448,13 +420,7 @@ xbt_dynar_pop_ptr(xbt_dynar_t const dynar) { return _xbt_dynar_elm(dynar,dynar->used); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param[out] dst - * - * Get and remove the last element of the dynar - */ +/** @brief Get and remove the last element of the dynar */ void xbt_dynar_pop(xbt_dynar_t const dynar, void * const dst) { @@ -464,13 +430,9 @@ xbt_dynar_pop(xbt_dynar_t const dynar, xbt_dynar_remove_at(dynar, dynar->used-1, dst); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param src +/** @brief Add an element at the begining of the dynar. * - * Add an element at the begining of the dynar (rather long, Use - * xbt_dynar_push() when possible) + * This is less efficient than xbt_dynar_push() */ void xbt_dynar_unshift(xbt_dynar_t const dynar, @@ -480,13 +442,9 @@ xbt_dynar_unshift(xbt_dynar_t const dynar, xbt_dynar_insert_at(dynar, 0, src); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param[out] dst +/** @brief Get and remove the first element of the dynar. * - * Get and remove the first element of the dynar (rather long, Use - * xbt_dynar_pop() when possible) + * This is less efficient than xbt_dynar_pop() */ void xbt_dynar_shift(xbt_dynar_t const dynar, @@ -496,13 +454,10 @@ xbt_dynar_shift(xbt_dynar_t const dynar, xbt_dynar_remove_at(dynar, 0, dst); } -/** - * \ingroup XBT_dynar - * \param dynar - * \param operator +/** @brief Apply a function to each member of a dynar * - * Apply a function to each member of a dynar (this function may change the - * value of the element itself, but should not mess with the dynar). + * The mapped function may change the value of the element itself, + * but should not mess with the structure of the dynar. */ void xbt_dynar_map(const xbt_dynar_t dynar, @@ -522,30 +477,20 @@ xbt_dynar_map(const xbt_dynar_t dynar, } } -/** - * \ingroup XBT_dynar - * - * Put the cursor at the begining of the dynar. (actually, one step before - * the begining, so that you can iterate over the dynar with a for loop). - * - * Dynar cursor are as dumb as possible. If you insert or remove elements - * from the dynar between the creation and end, you'll fuck up your - * cursors. +/** @brief Put the cursor at the begining of the dynar. * + * Actually, the cursor is set one step before the begining, so that you + * can iterate over the dynar with a for loop. */ void xbt_dynar_cursor_first(const xbt_dynar_t dynar, - int * const cursor) { + int * const cursor) { DEBUG1("Set cursor on %p to the first position",(void*)dynar); *cursor = 0; } -/** - * \ingroup XBT_dynar - * - * Move the cursor to the next value (and return true), or return false. - */ +/** @brief Move the cursor to the next value */ void xbt_dynar_cursor_step(const xbt_dynar_t dynar, int * const cursor) { @@ -553,11 +498,7 @@ xbt_dynar_cursor_step(const xbt_dynar_t dynar, (*cursor)++; } -/** - * \ingroup XBT_dynar - * - * Get the current value of the cursor - */ +/** @brief Get the data currently pointed by the cursor */ int xbt_dynar_cursor_get(const xbt_dynar_t dynar, int * const cursor, @@ -580,12 +521,9 @@ xbt_dynar_cursor_get(const xbt_dynar_t dynar, } -/** - * \ingroup XBT_dynar - * \param dynar - * \param cursor +/** @brief Removes and free the entry pointed by the cursor * - * Remove (free) the entry pointed by the cursor, for use in the middle of a foreach + * This function can be used while traversing without problem. */ void xbt_dynar_cursor_rm(xbt_dynar_t dynar, int * const cursor) { diff --git a/src/xbt/error.c b/src/xbt/error.c index 907a1af8df..98d1b4aaf5 100644 --- a/src/xbt/error.c +++ b/src/xbt/error.c @@ -37,12 +37,21 @@ XBT_LOG_EXTERNAL_CATEGORY(xbt); XBT_LOG_DEFAULT_CATEGORY(xbt); /** - * @brief Kill the prog + * @brief Kill the program with an error message * \param msg * * Things are so messed up that the only thing to do now, is to stop the program. + * + * The message is handled by a CRITICAL logging request + * + * If you want to pass arguments to the format, you can always write xbt_assert1(0,"fmt",args) */ void xbt_die (const char *msg) { CRITICAL1("%s",msg); xbt_abort(); } + +/** @brief Kill the program in silence */ +void xbt_abort(void) { + abort(); +} diff --git a/src/xbt/heap_private.h b/src/xbt/heap_private.h index 87de1eb58a..72389dc602 100644 --- a/src/xbt/heap_private.h +++ b/src/xbt/heap_private.h @@ -8,7 +8,7 @@ #ifndef _XBT_HEAP_PRIVATE_H #define _XBT_HEAP_PRIVATE_H -#include +#include "xbt/dynar.h" /* void_f_pvoid_t */ #include "xbt/heap.h" typedef struct xbt_heapItem { diff --git a/src/xbt/module.c b/src/xbt/module.c index 0a18cf8723..aa5a0bba8d 100644 --- a/src/xbt/module.c +++ b/src/xbt/module.c @@ -27,18 +27,13 @@ struct xbt_module_ { xbt_module_finalize_fct_t finalize; }; +/** @brief Initialize the xbt mecanisms. */ void xbt_init(int *argc, char **argv) { xbt_init_defaultlog(argc, argv, NULL); } -/** - * xbt_init_defaultlog: - * @argc: - * @argv: - * - * Initialize the xbt mecanisms. - */ +/** @brief Initialize the xbt mecanisms. */ void xbt_init_defaultlog(int *argc,char **argv, const char *defaultlog) { static short int first_run = 1; @@ -51,12 +46,9 @@ xbt_init_defaultlog(int *argc,char **argv, const char *defaultlog) { xbt_log_init(argc,argv,defaultlog); } -/** - * xbt_exit: - * - * Finalize the xbt mecanisms. - */ +/** @brief Finalize the xbt mecanisms. */ void xbt_exit(){ xbt_log_exit(); } + diff --git a/src/xbt/set.c b/src/xbt/set.c index 39c1032111..1323a3fdba 100644 --- a/src/xbt/set.c +++ b/src/xbt/set.c @@ -16,11 +16,8 @@ #include "xbt/set.h" -/** \defgroup XBT_set A generic set datatype - * \brief A data container consisting in \ref XBT_dict and \ref XBT_dynar - */ - -XBT_LOG_NEW_DEFAULT_SUBCATEGORY(set,xbt,"data container consisting in dict+dynar"); +XBT_LOG_NEW_DEFAULT_SUBCATEGORY(set,xbt, + "set: data container consisting in dict+dynar"); /*####[ Type definition ]####################################################*/ typedef struct xbt_set_ { @@ -29,12 +26,7 @@ typedef struct xbt_set_ { } s_xbt_set_t; /*####[ Memory ]############################################################*/ -/** - * \ingroup XBT_set - * \return a new set - * - * Creates a new set. - */ +/** @brief Constructor */ xbt_set_t xbt_set_new (void) { xbt_set_t res=xbt_new(s_xbt_set_t,1); @@ -44,12 +36,7 @@ xbt_set_t xbt_set_new (void) { return res; } -/** - * \ingroup XBT_set - * \param set - * - * Frees a set. - */ +/** @brief Destructor */ void xbt_set_free(xbt_set_t *set) { if (*set) { xbt_dict_free ( &( (*set)->dict ) ); @@ -59,16 +46,14 @@ void xbt_set_free(xbt_set_t *set) { } } -/** - * \ingroup XBT_set +/** @brief Add an element to a set. + * * \param set set to populate * \param elm element to add. * \param free_func How to add the data * - * Add an element to a set. - * * elm->name must be set; - * elm->name_len is used as is unless it's <= 0 (in which case it's recomputed); + * if elm->name_len <= 0, it is recomputed. If >0, it's used as is; * elm->ID is attributed automatically. */ void xbt_set_add (xbt_set_t set, @@ -108,13 +93,11 @@ void xbt_set_add (xbt_set_t set, } -/** - * \ingroup XBT_set +/** @brief Retrive data by providing its name. + * * \param set * \param name Name of the searched cell * \param dst where to put the found data into - * - * get a data stored in the cell by providing its name. */ xbt_error_t xbt_set_get_by_name (xbt_set_t set, const char *name, @@ -124,16 +107,16 @@ xbt_error_t xbt_set_get_by_name (xbt_set_t set, DEBUG2("Lookup key %s: %s",name,xbt_error_name(errcode)); return errcode; } -/** - * \ingroup XBT_set + +/** @brief Retrive data by providing its name and the length of the name + * * \param set * \param name Name of the searched cell * \param name_len length of the name, when strlen cannot be trusted * \param dst where to put the found data into * - * get a data stored in the cell by providing its name (and the length - * of the name, when strlen cannot be trusted because you don't use a char* - * as name, you weird guy). + * This is useful when strlen cannot be trusted because you don't use a char* + * as name, you weirdo. */ xbt_error_t xbt_set_get_by_name_ext(xbt_set_t set, const char *name, @@ -143,13 +126,12 @@ xbt_error_t xbt_set_get_by_name_ext(xbt_set_t set, return xbt_dict_get_ext (set->dict, name, name_len, (void**)dst); } -/** - * \ingroup XBT_set +/** @brief Retrive data by providing its ID + * * \param set * \param id what you're looking for * \param dst where to put the found data into * - * get a data stored in the cell by providing its id. * @warning, if the ID does not exists, you're getting into trouble */ xbt_error_t xbt_set_get_by_id (xbt_set_t set, @@ -173,13 +155,7 @@ typedef struct xbt_set_cursor_ { int val; } s_xbt_set_cursor_t; -/** - * \ingroup XBT_set - * \param set on what to let the cursor iterate - * \param cursor dest address - * - * Create the cursor if it does not exists. Rewind it in any case. - */ +/** @brief Create the cursor if it does not exists, rewind it in any case. */ void xbt_set_cursor_first (xbt_set_t set, xbt_set_cursor_t *cursor) { @@ -197,23 +173,14 @@ void xbt_set_cursor_first (xbt_set_t set, } } -/** - * \ingroup XBT_set - * \param cursor the cursor - * - * Move to the next element. - */ +/** @brief Move to the next element. */ void xbt_set_cursor_step (xbt_set_cursor_t cursor) { xbt_dynar_cursor_step(cursor->set->dynar, &( cursor->val ) ); } -/** - * \ingroup XBT_set - * \param curs the cursor - * \param elm an element +/** @brief Get current data + * * \return true if it's ok, false if there is no more data - * - * Get current data */ int xbt_set_cursor_get_or_free (xbt_set_cursor_t *curs, xbt_set_elm_t *elm) { diff --git a/src/xbt/sysdep.c b/src/xbt/sysdep.c index ecf11f6681..a3b0a8a040 100644 --- a/src/xbt/sysdep.c +++ b/src/xbt/sysdep.c @@ -15,17 +15,10 @@ #include -/** \defgroup XBT_sysdep All system dependency - * \brief This section describes many macros/functions that can serve as - * an OS abstraction. - */ +/* \defgroup XBT_sysdep All system dependency + * \brief This section describes many macros/functions that can serve as + * an OS abstraction. + */ XBT_LOG_NEW_DEFAULT_SUBCATEGORY(sysdep, xbt, "System dependency"); -/**** - **** Misc - ****/ - -void xbt_abort(void) { - abort(); -}