X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcconfig.h;h=c58bd28a32c4cbe6901036814126c4c697146324;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=5138dc247490c2908beb0d332de8ea5924733fe2;hpb=5b13d746e13fa691e4172c1c992e40d8578c522b;p=silc.git diff --git a/lib/silcutil/silcconfig.h b/lib/silcutil/silcconfig.h index 5138dc24..c58bd28a 100644 --- a/lib/silcutil/silcconfig.h +++ b/lib/silcutil/silcconfig.h @@ -2,14 +2,13 @@ silcconfig.h - Author: Johnny Mnemonic + Author: Giovanni Giacobbi - Copyright (C) 1997 - 2002 Pekka Riikonen + Copyright (C) 2002 - 2003 Giovanni Giacobbi This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by - the Free Software Foundation; either version 2 of the License, or - (at your option) any later version. + the Free Software Foundation; version 2 of the License. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -76,7 +75,7 @@ #ifndef SILCCONFIG_H #define SILCCONFIG_H -/****d* silcutil/SilcConfigAPI/errno +/****d* silcutil/SilcConfigAPI/SilcConfigErrno * * NAME * @@ -144,7 +143,8 @@ typedef enum { * SYNOPSIS * * typedef int (*SilcConfigCallback)(SilcConfigType type, const char *name, - * SilcUInt32 line, void *val, void *context); + * SilcUInt32 line, void *val, + * void *context); * DESCRIPTION * * This is the callback prototype for the options handler. The pointer @@ -207,7 +207,7 @@ typedef struct SilcConfigTableStruct { * * SYNOPSIS * - * typedef struct { ... } SilcConfigFile; + * typedef struct SilcConfigFileObject SilcConfigFile; * * DESCRIPTION * @@ -223,7 +223,7 @@ typedef struct SilcConfigFileObject SilcConfigFile; * * SYNOPSIS * - * typedef struct { ... } SilcConfigEntity; + * typedef struct SilcConfigEntityObject *SilcConfigEntity; * * DESCRIPTION * @@ -386,7 +386,7 @@ char *silc_config_read_current_line(SilcConfigFile *file); * * SYNOPSIS * - * bool silc_config_register(SilcConfigEntity ent, const char *name, + * SilcBool silc_config_register(SilcConfigEntity ent, const char *name, * SilcConfigType type, SilcConfigCallback cb, * const SilcConfigTable *subtable, * void *context); @@ -396,9 +396,11 @@ char *silc_config_read_current_line(SilcConfigFile *file); * Register option `name' in the entity `ent'. If `cb' is not NULL, it * will be called with the *val pointer pointing to an internally * allocated storage of type described by `type'. + * * If `type' is SILC_CONFIG_ARG_BLOCK, then `subtable' must be a valid * pointer to a SilcConfigTable array specifying the options in the * sub-block. + * * If the option `name' was already registered in this sub-block or it * matches the reserved word "Include", then this function returns FALSE, * otherwise it returns TRUE. @@ -407,7 +409,7 @@ char *silc_config_read_current_line(SilcConfigFile *file); * silc_config_register_table * ***/ -bool silc_config_register(SilcConfigEntity ent, const char *name, +SilcBool silc_config_register(SilcConfigEntity ent, const char *name, SilcConfigType type, SilcConfigCallback cb, const SilcConfigTable *subtable, void *context); @@ -415,7 +417,7 @@ bool silc_config_register(SilcConfigEntity ent, const char *name, * * SYNOPSIS * - * bool silc_config_register_table(SilcConfigEntity ent, + * SilcBool silc_config_register_table(SilcConfigEntity ent, * const SilcConfigTable table[], * void *context); * @@ -424,8 +426,10 @@ bool silc_config_register(SilcConfigEntity ent, const char *name, * Register the tableset of options `table' automatically in the entity * `ent'. If defined in the table, the callback functions will be called * all with the same context `context'. + * * The `table' array must be terminated with an entry with the name field * set to NULL. + * * If the table contains invalid data this function returns FALSE, otherwise * it returns TRUE. If a calling to this function failed, you must destroy * and recreate the entity before retrying, as it's impossible to detect @@ -435,7 +439,7 @@ bool silc_config_register(SilcConfigEntity ent, const char *name, * SilcConfigTable * ***/ -bool silc_config_register_table(SilcConfigEntity ent, +SilcBool silc_config_register_table(SilcConfigEntity ent, const SilcConfigTable table[], void *context); /****f* silcutil/SilcConfigAPI/silc_config_main @@ -448,6 +452,7 @@ bool silc_config_register_table(SilcConfigEntity ent, * * Enter the main parsing loop. When this function returns the parsing * is finished in the current block (and sub-blocks). + * * When this function exits, the entity is already destroyed, because * of this you should set it to NULL right after the function call. *