X-Git-Url: http://git.silcnet.org/gitweb/?a=blobdiff_plain;f=lib%2Fsilcutil%2Fsilcconfig.h;h=c58bd28a32c4cbe6901036814126c4c697146324;hb=e7b6c157b80152bf9fb9266e6bdd93f9fb0db776;hp=b4f5a70482e677b2054f3973f3b131a631ed0e3a;hpb=386c883d8774999c6e74d7c6c37e52e4163a4cb1;p=silc.git diff --git a/lib/silcutil/silcconfig.h b/lib/silcutil/silcconfig.h index b4f5a704..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 @@ -18,7 +17,7 @@ */ -/****h* silcutil/SilcConfigAPI +/****h* silcutil/SILC Config Interface * * DESCRIPTION * @@ -76,7 +75,7 @@ #ifndef SILCCONFIG_H #define SILCCONFIG_H -/****d* silcutil/SilcConfigAPI/errno +/****d* silcutil/SilcConfigAPI/SilcConfigErrno * * NAME * @@ -94,6 +93,7 @@ enum { SILC_CONFIG_OK, /* OK */ SILC_CONFIG_ESILENT, /* Error defined by callback function */ + SILC_CONFIG_EPRINTLINE, /* Error defined by callback function */ SILC_CONFIG_EGENERIC, /* Invalid syntax */ SILC_CONFIG_EINTERNAL, /* Internal Error (caused by developer) */ SILC_CONFIG_ECANTOPEN, /* Can't open specified file */ @@ -143,7 +143,8 @@ typedef enum { * SYNOPSIS * * typedef int (*SilcConfigCallback)(SilcConfigType type, const char *name, - * uint32 line, void *val, void *context); + * SilcUInt32 line, void *val, + * void *context); * DESCRIPTION * * This is the callback prototype for the options handler. The pointer @@ -154,7 +155,7 @@ typedef enum { * ***/ typedef int (*SilcConfigCallback)(SilcConfigType type, const char *name, - uint32 line, void *val, void *context); + SilcUInt32 line, void *val, void *context); /****s* silcutil/SilcConfigAPI/SilcConfigTable * @@ -206,7 +207,7 @@ typedef struct SilcConfigTableStruct { * * SYNOPSIS * - * typedef struct { ... } SilcConfigFile; + * typedef struct SilcConfigFileObject SilcConfigFile; * * DESCRIPTION * @@ -222,7 +223,7 @@ typedef struct SilcConfigFileObject SilcConfigFile; * * SYNOPSIS * - * typedef struct { ... } SilcConfigEntity; + * typedef struct SilcConfigEntityObject *SilcConfigEntity; * * DESCRIPTION * @@ -249,7 +250,7 @@ typedef struct SilcConfigEntityObject *SilcConfigEntity; */ #define SILC_CONFIG_CALLBACK(func) \ static int func(SilcConfigType type, const char *name, \ - uint32 line, void *val, void *context) + SilcUInt32 line, void *val, void *context) /***/ /* Prototypes */ @@ -268,7 +269,7 @@ static int func(SilcConfigType type, const char *name, \ * silc_config_close(). * ***/ -SilcConfigFile *silc_config_open(char *configfile); +SilcConfigFile *silc_config_open(const char *configfile); /****f* silcutil/SilcConfigAPI/silc_config_close * @@ -338,20 +339,20 @@ char *silc_config_get_filename(SilcConfigFile *file); * * SYNOPSIS * - * uint32 silc_config_get_line(SilcConfigFile *file); + * SilcUInt32 silc_config_get_line(SilcConfigFile *file); * * DESCRIPTION * * Returns the current line that file parsing arrived at. * ***/ -uint32 silc_config_get_line(SilcConfigFile *file); +SilcUInt32 silc_config_get_line(SilcConfigFile *file); /****f* silcutil/SilcConfigAPI/silc_config_read_line * * SYNOPSIS * - * char *silc_config_read_line(SilcConfigFile *file, uint32 line); + * char *silc_config_read_line(SilcConfigFile *file, SilcUInt32 line); * * DESCRIPTION * @@ -363,7 +364,7 @@ uint32 silc_config_get_line(SilcConfigFile *file); * silc_config_read_current_line * ***/ -char *silc_config_read_line(SilcConfigFile *file, uint32 line); +char *silc_config_read_line(SilcConfigFile *file, SilcUInt32 line); /****f* silcutil/SilcConfigAPI/silc_config_read_current_line * @@ -385,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); @@ -395,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. @@ -406,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); @@ -414,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); * @@ -423,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 @@ -434,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 @@ -447,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. *