logo
Free, unlimited AI code reviews that run on commit
git-lrc git-lrc GitHub Install Now We'd appreciate a star git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt git-lrc - Free, unlimited AI code reviews that run on commit | Product Hunt

confuse.h - A configuration file parser library.

Author

       Generated automatically by Doxygen for confuse from the source code.

confuse                                            Version 3.3                                      confuse.h(3)

Detailed Description

       A configuration file parser library.

Enumeration Type Documentation

enumcfg_bool_t
       Boolean values.

   enumcfg_type_t
       Fundamental option types.

       EnumeratorCFGT_INT
              integer

       CFGT_FLOAT
              floating point number

       CFGT_STR
              string

       CFGT_BOOL
              boolean value

       CFGT_SEC
              section

       CFGT_FUNC
              function

       CFGT_PTR
              pointer to user-defined value

       CFGT_COMMENT
              comment/annotation

Function Documentation

DLLIMPORTint__exportcfg_add_searchpath(cfg_t*cfg,constchar*dir)
       Add  a searchpath directory to the configuration context, the const char* argument will be duplicated and
       then freed as part of the usual context takedown. All directories added to the  context  in  this  manner
       will  be  searched  for  the file specified in cfg_parse(), and for those included. All directories added
       with this function will be 'tilde expanded'. Note  that  the  current  directory  is  not  added  to  the
       searchpath by default.

       Parameterscfg The configuration file context as returned from cfg_init().
           dir Directory to be added to the search path.

       Returns
           On success, CFG_SUCCESS, on failure (which can only be caused by a failed malloc()), CFG_PARSE_ERROR.

       References CFG_SUCCESS, and cfg_t::path.

   DLLIMPORTint__exportcfg_addlist(cfg_t*cfg,constchar*name,unsignedintnvalues,...)
       Add values for a list option. The new values are appended to any current values in the list.

       Parameterscfg The configuration file context.
           name The name of the option.
           nvalues Number of values to add.
           ...  The  values  to add, the type must match the type of the option and the number of values must be
           equal to the nvalues parameter.

       Returns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, CFGF_LIST, and cfg_opt_t::flags.

   DLLIMPORTcfg_t*cfg_addtsec(cfg_t*cfg,constchar*name,constchar*title)
       Create a new titled config section.

       Parameterscfg The configuration file context.
           name The name of the option.
           title The title of this section.

       Returns
           A pointer to the created section or if the section already  exists  a  pointer  to  that  section  is
           returned. If the section could not be created or found, 0 is returned.

       References cfg_t::errfunc, cfg_t::line, cfg_t::path, and cfg_value_t::section.

   DLLIMPORTvoid__exportcfg_error(cfg_t*cfg,constchar*fmt,...)
       Show a parser error. Any user-defined error reporting function is called.

       Seealsocfg_set_error_function

       References cfg_t::errfunc, cfg_t::filename, and cfg_t::line.

   DLLIMPORTint__exportcfg_free(cfg_t*cfg)
       Free a cfg_t context. All memory allocated by the cfg_t context structure are freed, and can't be used in
       any further cfg_* calls.

       Returns
           POSIX OK(0), or non-zero on failure.

       References  CFG_SUCCESS,  cfg_t::comment,  cfg_t::filename,  cfg_t::name,  cfg_opt_t::name,  cfg_t::opts,
       cfg_t::path, and cfg_t::title.

   DLLIMPORTint__exportcfg_free_value(cfg_opt_t*opt)
       Free the memory allocated for the values of a given option. Only the values are  freed,  not  the  option
       itself (it is freed by cfg_free()).

       Seealsocfg_free()Returns
           POSIX OK(0), or non-zero on failure.

       References    CFG_SUCCESS,    CFGT_PTR,   CFGT_SEC,   CFGT_STR,   cfg_opt_t::comment,   cfg_opt_t::flags,
       cfg_opt_t::nvalues,    cfg_t::path,    cfg_value_t::ptr,    cfg_value_t::section,    cfg_value_t::string,
       cfg_opt_t::type, and cfg_opt_t::values.

   DLLIMPORTcfg_bool_t__exportcfg_getbool(cfg_t*cfg,constchar*name)
       Returns the value of a boolean option.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The  requested  value  is  returned. If the option was not set in the configuration file, the default
           value given in the corresponding cfg_opt_t structure is returned. It is an error to  try  to  get  an
           option that isn't declared.

   DLLIMPORTchar*__exportcfg_getcomment(cfg_t*cfg,constchar*name)
       Returns  the  option comment. This function can be used to extract option annotations from a config file.
       Only comments preceding the option are read by cfg_parse().

       Parameterscfg The configuration file context.
           name The name of the option.

       Seealsocfg_setcommentReturns
           The comment for this option, or NULL if unset

   DLLIMPORTdouble__exportcfg_getfloat(cfg_t*cfg,constchar*name)
       Returns the value of a floating point option.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The requested value is returned. If the option was not set in the  configuration  file,  the  default
           value  given  in  the  corresponding cfg_opt_t structure is returned. It is an error to try to get an
           option that isn't declared.

   DLLIMPORTlongint__exportcfg_getint(cfg_t*cfg,constchar*name)
       Returns the value of an integer option. This is the same as calling cfg_getnint with index 0.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The requested value is returned. If the option was not set in the  configuration  file,  the  default
           value  given  in  the  corresponding cfg_opt_t structure is returned. It is an error to try to get an
           option that isn't declared.

   DLLIMPORTcfg_bool_t__exportcfg_getnbool(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_getbool(), used for lists.

       Parameterscfg The configuration file context.
           name The name of the option.
           index Index of the value to get. Zero based.

       Seealsocfg_getboolDLLIMPORTdouble__exportcfg_getnfloat(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_getfloat(), used for lists.

       Parameterscfg The configuration file context.
           name The name of the option.
           index Index of the value to get. Zero based.

       Seealsocfg_getfloatDLLIMPORTlongint__exportcfg_getnint(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_getint(), used for lists.

       Parameterscfg The configuration file context.
           name The name of the option.
           index Index of the value to get. Zero based.

       Seealsocfg_getintDLLIMPORTcfg_opt_t*cfg_getnopt(cfg_t*cfg,unsignedintindex)
       Return the nth option in a file or section.

       Parameterscfg The configuration file or section context
           index Option index

       Seealsocfg_num

       References cfg_opt_t::name, and cfg_t::opts.

   DLLIMPORTcfg_t*__exportcfg_getnsec(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_getsec(), used for sections with the CFGF_MULTI flag set.

       Parameterscfg The configuration file context.
           name The name of the option.
           index Index of the section to get. Zero based.

       Seealsocfg_getsecDLLIMPORTchar*__exportcfg_getnstr(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_getstr(), used for lists.

       Parameterscfg The configuration file context.
           name The name of the option.
           index Index of the value to get. Zero based.

       Seealsocfg_getstrDLLIMPORTcfg_opt_t*__exportcfg_getopt(cfg_t*cfg,constchar*name)
       Return an option given it's name.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           Returns a pointer to the option. If the option isn't declared, libConfuse will print an error message
           and return 0.

   DLLIMPORTvoid*__exportcfg_getptr(cfg_t*cfg,constchar*name)
       Returns the value of a user-defined option (void pointer).

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The requested value is returned. If the option was not set in the  configuration  file,  the  default
           value  given  in  the  corresponding cfg_opt_t structure is returned. It is an error to try to get an
           option that isn't declared.

   DLLIMPORTcfg_t*__exportcfg_getsec(cfg_t*cfg,constchar*name)
       Returns the value of a section option. The returned value is another cfg_t structure that can be used  in
       following calls to cfg_getint, cfg_getstr or other get-functions.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The  requested  section  is returned. If no section is found with that name, 0 is returned. There can
           only be default values for section without the CFGF_MULTI flag set. It is an error to try  to  get  a
           section that isn't declared.

   DLLIMPORTchar*__exportcfg_getstr(cfg_t*cfg,constchar*name)
       Returns the value of a string option.

       Parameterscfg The configuration file context.
           name The name of the option.

       Returns
           The  requested  value  is  returned. If the option was not set in the configuration file, the default
           value given in the corresponding cfg_opt_t structure is returned. It is an error to  try  to  get  an
           option that isn't declared.

   DLLIMPORTcfg_t*__exportcfg_gettsec(cfg_t*cfg,constchar*name,constchar*title)
       Return a section given the title, used for section with the CFGF_TITLE flag set.

       Parameterscfg The configuration file context.
           name The name of the option.
           title The title of this section. The CFGF_TITLE flag must have been set for this option.

       Seealsocfg_getsecDLLIMPORTint__exportcfg_include(cfg_t*cfg,cfg_opt_t*opt,intargc,constchar**argv)
       Predefined  include-function.  This function can be used in the options passed to cfg_init() to specify a
       function for including other  configuration  files  in  the  parsing.  For  example:  CFG_FUNC('include',
       &cfg_include)

   DLLIMPORTcfg_t*__exportcfg_init(cfg_opt_t*opts,cfg_flag_tflags)
       Create  and  initialize  a  cfg_t structure. This should be the first function called when setting up the
       parsing of a configuration file. The options passed in the first parameter is initialized using the CFG_*
       initializers. The last option in the option array must be CFG_END(), unless you like segmentation faults.

       The options must no longer be defined in the same scope as where the cfg_xxx functions  are  used  (since
       version 2.3).

       CFGF_IGNORE_UNKNOWN  can be specified to use the '__unknown' option whenever an unknown option is parsed.
       Be sure to define an '__unknown' option in each scope that unknown parameters are allowed.

       Call setlocale() before calling this function to localize handling  of  types,  LC_CTYPE,  and  messages,
       LC_MESSAGES, since version 2.9:

           setlocale(LC_MESSAGES, '');
           setlocale(LC_CTYPE, '');

       Parametersopts An array of options
           flags  One or more flags (bitwise or'ed together). Currently only CFGF_NOCASE and CFGF_IGNORE_UNKNOWN
           are available. Use 0 if no flags are needed.

       Returns
           A configuration context structure. This pointer is passed to almost all other functions as the  first
           parameter.

       References cfg_t::errfunc, cfg_t::filename, cfg_t::flags, cfg_t::line, cfg_t::name, and cfg_t::opts.

   DLLIMPORTconstchar*__exportcfg_name(cfg_t*cfg)
       Return the name of a section.

       Parameterscfg The configuration file context.

       Returns
           Returns the title, or 0 if there is no title. This string should not be modified.

       References cfg_t::name.

   DLLIMPORTunsignedint__exportcfg_num(cfg_t*cfg)
       Return number of options in a file or section.

       Parameterscfg The configuration file or section context

       When  a  file  has  been  parsed this function returns the number of options/settings the file, or a sub-
       section, has.

       Returns
           Number of options in a config file or section.

       References cfg_t::opts.

   DLLIMPORTchar*__exportcfg_opt_getcomment(cfg_opt_t*opt)
       Returns the option comment.

       Parametersopt The option structure (eg, as returned from cfg_getopt())

       Seealsocfg_getcomment

       References cfg_opt_t::comment.

   DLLIMPORTcfg_bool_t__exportcfg_opt_getnbool(cfg_opt_t*opt,unsignedintindex)
       Returns the value of a boolean option, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.

       Seealsocfg_getnbool

       References    cfg_value_t::boolean,    CFGT_BOOL,    cfg_opt_t::simple_value,    cfg_opt_t::type,     and
       cfg_opt_t::values.

   DLLIMPORTdouble__exportcfg_opt_getnfloat(cfg_opt_t*opt,unsignedintindex)
       Returns the value of a floating point option, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.

       Seealsocfg_getnfloat

       References    CFGT_FLOAT,    cfg_value_t::fpnumber,    cfg_opt_t::simple_value,    cfg_opt_t::type,   and
       cfg_opt_t::values.

   DLLIMPORTsignedlong__exportcfg_opt_getnint(cfg_opt_t*opt,unsignedintindex)
       Returns the value of an integer option, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.

       Seealsocfg_getnint

       References    CFGT_INT,    cfg_value_t::number,     cfg_opt_t::simple_value,     cfg_opt_t::type,     and
       cfg_opt_t::values.

   DLLIMPORTcfg_t*__exportcfg_opt_getnsec(cfg_opt_t*opt,unsignedintindex)
       Returns the value of a section option, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.

       Seealsocfg_getnsec

       References CFGT_SEC, cfg_value_t::section, cfg_opt_t::type, and cfg_opt_t::values.

   DLLIMPORTchar*__exportcfg_opt_getnstr(cfg_opt_t*opt,unsignedintindex)
       Returns the value of a string option, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.

       Seealsocfg_getnstr

       References     CFGT_STR,     cfg_opt_t::simple_value,     cfg_value_t::string,    cfg_opt_t::type,    and
       cfg_opt_t::values.

   DLLIMPORTconstchar*cfg_opt_getstr(cfg_opt_t*opt)
       Return the string value of a key=value pair.

       Parametersopt The option structure (eg, as returned from cfg_getnopt())

       Seealsocfg_opt_nameReturns
           The string value for the option, or NULL if it's not a string. This string must not be modified!

   DLLIMPORTcfg_t*__exportcfg_opt_gettsec(cfg_opt_t*opt,constchar*title)
       Returns the value of a section option, given a cfg_opt_t pointer and the title.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           title The title of this section. The CFGF_TITLE flag must have been set for this option.

       Seealsocfg_gettsec

       References CFGF_TITLE, and cfg_opt_t::flags.

   DLLIMPORTconstchar*__exportcfg_opt_name(cfg_opt_t*opt)
       Return the name of an option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())

       Returns
           Returns the title, or 0 if there is no title. This string should not be modified.

       References cfg_opt_t::name.

   DLLIMPORTint__exportcfg_opt_nprint_var(cfg_opt_t*opt,unsignedintindex,FILE*fp)
       Default value print function. Print only the value of  a  given  option.  Does  not  handle  sections  or
       functions.  Use cfg_opt_print to print the whole assignment ('option = value'), or cfg_print to print the
       whole config file.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index The index in the option value array that should be printed
           fp File stream to print to.

       Seealsocfg_print, cfg_opt_printReturns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, CFGT_BOOL, CFGT_COMMENT, CFGT_FLOAT,  CFGT_FUNC,  CFGT_INT,  CFGT_PTR,  CFGT_SEC,
       CFGT_STR, and cfg_opt_t::type.

   DLLIMPORTint__exportcfg_opt_print(cfg_opt_t*opt,FILE*fp)
       Print  an option and its value to a file. If a print callback function is specified for the option, it is
       used instead of cfg_opt_nprint_var.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           fp File stream to print to.

       Seealsocfg_print_func_tReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_opt_print_indent(cfg_opt_t*opt,FILE*fp,intindent)
       Print an option and its value to a file. Same as cfg_opt_print, but with the indentation level specified.

       Seealsocfg_opt_printReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_opt_rmnsec(cfg_opt_t*opt,unsignedintindex)
       Removes and frees a config section, given a cfg_opt_t pointer.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the section to remove. Zero based.

       Seealsocfg_rmnsecReturns
           POSIX OK(0), or non-zero on failure.

       References  CFG_SUCCESS,  CFGT_SEC,  cfg_opt_t::nvalues,   cfg_value_t::section,   cfg_opt_t::type,   and
       cfg_opt_t::values.

   DLLIMPORTint__exportcfg_opt_rmtsec(cfg_opt_t*opt,constchar*title)
       Removes and frees a config section, given a cfg_opt_t pointer and the title.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           title The title of this section. The CFGF_TITLE flag must have been set for this option.

       Seealsocfg_rmtsecReturns
           POSIX OK(0), or non-zero on failure.

       References CFGF_NOCASE, CFGF_TITLE, cfg_opt_t::flags, and cfg_t::title.

   DLLIMPORTcfg_print_func_t__exportcfg_opt_set_print_func(cfg_opt_t*opt,cfg_print_func_tpf)
       Set a print callback function for an option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           pf The print function callback.

       Seealsocfg_print_func_t

       References cfg_opt_t::pf.

   DLLIMPORTint__exportcfg_opt_setcomment(cfg_opt_t*opt,char*comment)
       Annotate an option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           comment The annotation

       Seealsocfg_setcommentReturns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, CFGF_COMMENTS, CFGF_MODIFIED, cfg_opt_t::comment, and cfg_opt_t::flags.

   DLLIMPORTintcfg_opt_setmulti(cfg_t*cfg,cfg_opt_t*opt,unsignedintnvalues,char**values)
       Set an option (create an instance of an option).

       Parameterscfg The configuration file context.
           opt The option definition.
           nvalues The number of values to set for the option.
           values The value(s) for the option.

       Returns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, CFGF_MODIFIED, cfg_opt_t::flags, cfg_opt_t::nvalues, and cfg_opt_t::values.

   DLLIMPORTint__exportcfg_opt_setnbool(cfg_opt_t*opt,cfg_bool_tvalue,unsignedintindex)
       Set a value of a boolean option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           value The value to set.
           index  The index in the option value array that should be modified. It is an error to set values with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References   cfg_value_t::boolean,   CFG_SUCCESS,   CFGF_MODIFIED,   CFGT_BOOL,   cfg_opt_t::flags,   and
       cfg_opt_t::type.

   DLLIMPORTint__exportcfg_opt_setnfloat(cfg_opt_t*opt,doublevalue,unsignedintindex)
       Set a value of a floating point option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           value The value to set.
           index  The index in the option value array that should be modified. It is an error to set values with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References  CFG_SUCCESS,  CFGF_MODIFIED,   CFGT_FLOAT,   cfg_opt_t::flags,   cfg_value_t::fpnumber,   and
       cfg_opt_t::type.

   DLLIMPORTint__exportcfg_opt_setnint(cfg_opt_t*opt,longintvalue,unsignedintindex)
       Set a value of an integer option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           value The value to set.
           index  The index in the option value array that should be modified. It is an error to set values with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References   CFG_SUCCESS,   CFGF_MODIFIED,   CFGT_INT,   cfg_opt_t::flags,    cfg_value_t::number,    and
       cfg_opt_t::type.

   DLLIMPORTint__exportcfg_opt_setnstr(cfg_opt_t*opt,constchar*value,unsignedintindex)
       Set a value of a string option.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           value  The  value  to  set.  Memory for the string is allocated and the value is copied. Any previous
           string value is freed.
           index The index in the option value array that should be modified. It is an error to set values  with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References    CFG_SUCCESS,    CFGF_MODIFIED,   CFGT_STR,   cfg_opt_t::flags,   cfg_value_t::string,   and
       cfg_opt_t::type.

   DLLIMPORTunsignedint__exportcfg_opt_size(cfg_opt_t*opt)
       Return the number of values this option has. If no default value is given for the option and no value was
       found in the config file, 0 will be returned (ie, the option value is not set at all).

       Parametersopt The option structure (eg, as returned from cfg_getopt())

       References cfg_opt_t::nvalues.

   DLLIMPORTint__exportcfg_parse(cfg_t*cfg,constchar*filename)
       Parse a configuration file. Tilde expansion is performed on the filename before it  is  opened.  After  a
       configuration  file  has been initialized (with cfg_init()) and parsed (with cfg_parse()), the values can
       be read with the cfg_getXXX functions.

       Parameterscfg The configuration file context as returned from cfg_init().
           filename The name of the file to parse.

       Returns
           On success, CFG_SUCCESS is returned. If the file couldn't be opened for  reading,  CFG_FILE_ERROR  is
           returned.  On  all  other  errors,  CFG_PARSE_ERROR  is  returned  and  cfg_error() was called with a
           descriptive error message.

       References cfg_t::filename, and cfg_t::path.

   DLLIMPORTint__exportcfg_parse_boolean(constchar*s)
       Parse a boolean option string. Accepted 'true' values are 'true', 'on' and 'yes',  and  accepted  'false'
       values are 'false', 'off' and 'no'.

       Returns
           Returns 1 or 0 (true/false) if the string was parsed correctly, or -1 if an error occurred.

   DLLIMPORTint__exportcfg_parse_buf(cfg_t*cfg,constchar*buf)
       Same as cfg_parse() above, but takes a character buffer as argument.

       Parameterscfg The configuration file context as returned from cfg_init().
           buf A zero-terminated string with configuration directives.

       Seealsocfg_parse()Returns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, and cfg_t::filename.

   DLLIMPORTint__exportcfg_parse_fp(cfg_t*cfg,FILE*fp)
       Same  as  cfg_parse()  above, but takes an already opened file as argument. Reading begins at the current
       position. After parsing, the position is not reset. The caller is responsible for closing the file.

       Parameterscfg The configuration file context as returned from cfg_init().
           fp An open file stream.

       Seealsocfg_parse()Returns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, cfg_t::filename, and cfg_t::line.

   DLLIMPORTint__exportcfg_print(cfg_t*cfg,FILE*fp)
       Print the options and values to a file. Note that options in any included file are expanded  and  printed
       directly to the file. Option values given with environment variables in the parsed input are also printed
       expanded.  This  means  that if you parse a configuration file you can't expect that the output from this
       function is identical to the initial file.

       Parameterscfg The configuration file context.
           fp File stream to print to, use stdout to print to the screen.

       Seealsocfg_print_func_t, cfg_set_print_funcReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_print_indent(cfg_t*cfg,FILE*fp,intindent)
       Print the options and values to a file. Same as cfg_print, but with the indentation level specified.

       Seealsocfg_printReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_rmnsec(cfg_t*cfg,constchar*name,unsignedintindex)
       Indexed version of cfg_rmsec(), used for CFGF_MULTI sections.

       Parameterscfg The configuration file context.
           name The name of the section.
           index Index of the section to remove. Zero based.

       Seealsocfg_rmsecReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_rmsec(cfg_t*cfg,constchar*name)
       Removes and frees a config section. This is the same as calling cfg_rmnsec with index 0.

       Parameterscfg The configuration file context.
           name The name of the section.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_rmtsec(cfg_t*cfg,constchar*name,constchar*title)
       Removes and frees a section given the title, used for section with the CFGF_TITLE flag set.

       Parameterscfg The configuration file context.
           name The name of the section.
           title The title of this section. The CFGF_TITLE flag must have been set for this option.

       Seealsocfg_rmsecReturns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTchar*__exportcfg_searchpath(cfg_searchpath_t*path,constchar*file)
       Search the linked-list of cfg_searchpath_t for the specified file. If  not  NULL,  the  return  value  is
       freshly allocated and and should be freed by the caller.

       Parameterspath The linked list of cfg_searchpath_t structs, each containing a directory to be searched
           file The file for which to search

       Returns
           If the file is found on the searchpath then the full path to the file is returned. If not found, NULL
           is returned.

   DLLIMPORTcfg_errfunc_t__exportcfg_set_error_function(cfg_t*cfg,cfg_errfunc_terrfunc)
       Install a user-defined error reporting function.

       Returns
           The old error reporting function is returned.

       References cfg_t::errfunc.

   DLLIMPORTcfg_print_filter_func_t__exportcfg_set_print_filter_func(cfg_t*cfg,cfg_print_filter_func_tpff)
       Install a user-defined print filter function. This callback is called for each option when printing  cfg,
       or  something  above  cfg  if  cfg  is a section in some parent cfg. When cfg (or something above cfg) is
       printed, this filter is also inherited to child sections unless the  child  section  has  its  own  print
       filter.

       Parameterscfg The configuration file context.
           pff The print filter callback function.

       Returns
           The old print filter function is returned.

       Seealsocfg_print_filter_func_t

       References cfg_t::pff.

   DLLIMPORTcfg_print_func_t__exportcfg_set_print_func(cfg_t*cfg,constchar*name,cfg_print_func_tpf)
       Set a print callback function for an option given its name.

       Parameterscfg The configuration file context.
           name The name of the option.
           pf The print callback function.

       Seealsocfg_print_func_tDLLIMPORTcfg_validate_callback_t__exportcfg_set_validate_func(cfg_t*cfg,constchar*name,cfg_validate_callback_tvf)
       Register a validating callback function for an option.

       Parameterscfg The configuration file context.
           name The name of the option.
           vf The validating callback function.

       Seealsocfg_validate_callback_t

       References cfg_t::flags, cfg_t::opts, and cfg_opt_t::validcb.

   DLLIMPORTcfg_validate_callback2_t__exportcfg_set_validate_func2(cfg_t*cfg,constchar*name,cfg_validate_callback2_tvf)
       Register  a  validating  callback  function  for  an  option.  This callback is called for all cfg_set*()
       functions, although not cfg_opt_set*(), and can be used to check and modify a value/string *before* it is
       actually set. The regular callbacks are run after the fact and are only called when parsing a  buffer  or
       file.

       Parameterscfg The configuration file context.
           name The name of the option.
           vf The validating callback function.

       Seealsocfg_validate_callback2_t

       References cfg_t::flags, cfg_t::opts, and cfg_opt_t::validcb2.

   DLLIMPORTint__exportcfg_setbool(cfg_t*cfg,constchar*name,cfg_bool_tvalue)
       Set the value of a boolean option given its name.

       Parameterscfg The configuration file context.
           name The name of the option.
           value  The  value  to  set. If the option is a list (the CFGF_LIST flag is set), only the first value
           (with index 0) is set.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_setcomment(cfg_t*cfg,constchar*name,char*comment)
       Annotate an option given its name. All options can be annotated as long  as  the  CFGF_COMMENTS  flag  is
       given to cfg_init().

       When calling cfg_print(), annotations are saved as a C style one-liner comment before each option.

       When  calling  cfg_parse(), only one-liner comments preceding an option are read and used to annotate the
       option.

       Parameterscfg The configuration file context.
           name The name of the option.
           comment The annotation

       Returns
           POSIX OK(0), or non-zero on failure. This function will fail if memory for the new comment cannot  be
           allocated.

   DLLIMPORTint__exportcfg_setfloat(cfg_t*cfg,constchar*name,doublevalue)
       Set the value of a floating point option given its name.

       Parameterscfg The configuration file context.
           name The name of the option.
           value  The  value  to  set. If the option is a list (the CFGF_LIST flag is set), only the first value
           (with index 0) is set.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_setint(cfg_t*cfg,constchar*name,longintvalue)
       Set the value of an integer option given its name.

       Parameterscfg The configuration file context.
           name The name of the option.
           value The value to set. If the option is a list (the CFGF_LIST flag is set),  only  the  first  value
           (with index 0) is set.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_setlist(cfg_t*cfg,constchar*name,unsignedintnvalues,...)
       Set values for a list option. All existing values are replaced with the new ones.

       Parameterscfg The configuration file context.
           name The name of the option.
           nvalues Number of values to set.
           ...  The  values  to set, the type must match the type of the option and the number of values must be
           equal to the nvalues parameter.

       Returns
           POSIX OK(0), or non-zero on failure.

       References CFG_SUCCESS, CFGF_LIST, and cfg_opt_t::flags.

   DLLIMPORTintcfg_setmulti(cfg_t*cfg,constchar*name,unsignedintnvalues,char**values)
       Set an option (create an instance of an option).

       Parameterscfg The configuration file context.
           name The name of the option.
           nvalues The number of values to set for the option.
           values The value(s) for the option.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_setnbool(cfg_t*cfg,constchar*name,cfg_bool_tvalue,unsignedintindex)
       Set a value of a boolean option given its name and index.

       Parameterscfg The configuration file context.
           name The name of the option.
           value The value to set.
           index The index in the option value array that should be modified. It is an error to set values  with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTint__exportcfg_setnfloat(cfg_t*cfg,constchar*name,doublevalue,unsignedintindex)
       Set a value of a floating point option given its name and index.

       Parameterscfg The configuration file context.
           name The name of the option.
           value The value to set.
           index  The index in the option value array that should be modified. It is an error to set values with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References cfg_opt_t::validcb2.

   DLLIMPORTint__exportcfg_setnint(cfg_t*cfg,constchar*name,longintvalue,unsignedintindex)
       Set a value of an integer option given its name and index.

       Parameterscfg The configuration file context.
           name The name of the option.
           value The value to set.
           index The index in the option value array that should be modified. It is an error to set values  with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References cfg_opt_t::validcb2.

   DLLIMPORTint__exportcfg_setnstr(cfg_t*cfg,constchar*name,constchar*value,unsignedintindex)
       Set a value of a boolean option given its name and index.

       Parameterscfg The configuration file context.
           name The name of the option.
           value  The  value  to  set.  Memory for the string is allocated and the value is copied. Any privious
           string value is freed.
           index The index in the option value array that should be modified. It is an error to set values  with
           indices larger than 0 for options without the CFGF_LIST flag set.

       Returns
           POSIX OK(0), or non-zero on failure.

       References cfg_opt_t::validcb2.

   DLLIMPORTcfg_value_t*cfg_setopt(cfg_t*cfg,cfg_opt_t*opt,constchar*value)
       Set an option (create an instance of an option).

       Parameterscfg The configuration file context.
           opt The option definition.
           value The initial value for the option.

       Returns
           Returns a pointer to the value object.

       References     cfg_value_t::boolean,     CFGF_KEYSTRVAL,     CFGF_LIST,     CFGF_MODIFIED,    CFGF_MULTI,
       CFGF_NO_TITLE_DUPES,  CFGF_NOCASE,  CFGF_TITLE,  CFGT_BOOL,  CFGT_FLOAT,  CFGT_INT,  CFGT_PTR,  CFGT_SEC,
       CFGT_STR,   cfg_t::errfunc,   cfg_t::filename,   cfg_t::flags,  cfg_opt_t::flags,  cfg_value_t::fpnumber,
       cfg_t::line,  cfg_t::name,   cfg_opt_t::name,   cfg_value_t::number,   cfg_opt_t::nvalues,   cfg_t::opts,
       cfg_opt_t::parsecb,   cfg_t::path,   cfg_value_t::ptr,   cfg_value_t::section,   cfg_opt_t::simple_value,
       cfg_value_t::string, cfg_opt_t::subopts, cfg_t::title, cfg_opt_t::type, and cfg_opt_t::values.

   DLLIMPORTint__exportcfg_setstr(cfg_t*cfg,constchar*name,constchar*value)
       Set the value of a string option given its name.

       Parameterscfg The configuration file context.
           name The name of the option.
           value The value to set. Memory for the string is allocated and the  value  is  copied.  Any  previous
           string  value  is  freed.  If  the option is a list (the CFGF_LIST flag is set), only the first value
           (with index 0) is set.

       Returns
           POSIX OK(0), or non-zero on failure.

   DLLIMPORTunsignedint__exportcfg_size(cfg_t*cfg,constchar*name)
       Return the number of values this option has. If no default value is given for the option and no value was
       found in the config file, 0 will be returned (ie, the option value is not set at all).

       Note that there is no way to *not* specify a default value for integers, floats and  booleans.  Ie,  they
       always  have  default  values  (since 0 or NULL is a valid integer/float/boolean value). Only strings and
       lists may have no default value.

       Parameterscfg The configuration file context.
           name The name of the option.

   DLLIMPORTchar*__exportcfg_tilde_expand(constchar*filename)
       Does tilde expansion (~ -> $HOME) on the filename.

       Returns
           The expanded filename is returned. If a ~user was not found, the original filename  is  returned.  In
           any case, a dynamically allocated string is returned, which should be free()'d by the caller.

   DLLIMPORTconstchar*__exportcfg_title(cfg_t*cfg)
       Return the title of a section.

       Parameterscfg The configuration file context.

       Returns
           Returns the title, or 0 if there is no title. This string should not be modified.

       References cfg_t::title.

Macro Definition Documentation

#defineCFG_END(){0,0,CFGT_NONE,0,0,CFGF_NONE,0,{0,0,cfg_false,0,0},0,{0},0,0,0,0,0}
       Terminate list of options. This must be the last initializer in the option list.

       Examplesftpconf.c, reread.c, and simple.c.

   #defineCFG_FUNC(name,func){name,0,CFGT_FUNC,0,0,CFGF_NONE,0,{0,0,cfg_false,0,0},func,{0},0,0,0,0,0}
       Initialize a function.

       Parametersname The name of the option
           func The callback function.

       Seealsocfg_func_tExamplesftpconf.c.

   #defineCFG_PTR_CB(name,def,flags,parsecb,freecb)__CFG_PTR(name,def,flags,0,parsecb,freecb)
       Initialize a user-defined option. CFG_PTR options can only be used together with a value parsing
       callback.

       Parametersname The name of the option
           def Default value
           flags Flags
           parsecb Value parsing callback
           freecb Memory release function

       Seealsocfg_callback_t, cfg_free_func_t#defineCFG_SEC(name,opts,flags){name,0,CFGT_SEC,0,0,flags,opts,{0,0,cfg_false,0,0},0,{0},0,0,0,0,0}
       Initialize a section.

       Parametersname The name of the option
           opts Array of options that are valid within this section
           flags Flags, specify CFGF_MULTI if it should be possible to have multiples of the same section, and
           CFGF_TITLE if the section(s) must have a title (which can be used in the cfg_gettsec() function)

       Examplesftpconf.c, and reread.c.

   #defineCFG_SIMPLE_INT(name,svalue)__CFG_INT(name,0,CFGF_NONE,svalue,0)
       Initialize a 'simple' integer option (see documentation for CFG_SIMPLE_STR for more information). Note
       that confuse uses long integers, so make sure that any pointer you provide for svalue points to a long
       int rather than a normal int. Otherwise, you will have strange problems on 64-bit architectures.

       Examplessimple.c.

   #defineCFG_SIMPLE_STR(name,svalue)__CFG_STR(name,0,CFGF_NONE,svalue,0)
       Initialize a 'simple' string option. 'Simple' options (in lack of a better expression) does not support
       lists of values or multiple sections. LibConfuse will store the value of a simple option in the user-
       defined location specified by the value parameter in the initializer. Simple options are not stored in
       the cfg_t context, only a pointer. Sections can not be initialized as a 'simple' option.

       As of version 2.2, libConfuse can now return the values of simple options with the cfg_get functions.
       This allows using the new cfg_print function with simple options.

       libConfuse doesn't support handling default values for 'simple' options. They are assumed to be set by
       the calling application before cfg_parse is called.

       Parametersname name of the option
           svalue pointer to a character pointer (a char **). This value must be initialized either to NULL or
           to a malloc()'ed string. You can't use

           char *user = 'joe';
           ...
           cfg_opt_t opts[] = {
               CFG_SIMPLE_STR('user', &user),
           ...

            since libConfuse will try to free the static string 'joe' (which is an error) when a 'user' option
           is found. Rather, use the following code snippet:

           char *user = strdup('joe');
           ...
           cfg_opt_t opts[] = {
                CFG_SIMPLE_STR('user', &user),
           ...

            Alternatively, the default value can be set after the opts struct is defined, as in:

           char *user = 0;
           ...
           cfg_opt_t opts[] = {
                CFG_SIMPLE_STR('user', &user),
           ...
           user = strdup('joe');
           cfg = cfg_init(opts, 0);
           cfg_parse(cfg, filename);

       Examplessimple.c.

   #defineCFG_SUCCESS0
       Return codes from cfg_parse(), cfg_parse_boolean(), and cfg_set*() functions.

       Examplesftpconf.c, and reread.c.

   #defineCFGF_DEPRECATED(1<<9)
       option is deprecated and should be ignored.

   #defineCFGF_NONE(0)
       Flags.

       Examplesftpconf.c, and reread.c.

Name

       confuse.h - A configuration file parser library.

Synopsis

       #include <stdio.h>
       #include <stdarg.h>

   DataStructures
       struct cfg_t
           Data structure holding information about a 'section'.
       union cfg_value_t
           Data structure holding the value of a fundamental option value.
       union cfg_simple_t
           Data structure holding the pointer to a user provided variable defined with CFG_SIMPLE_*.
       struct cfg_defvalue_t
           Data structure holding the default value given by the initialization macros.
       struct cfg_opt_t
           Data structure holding information about an option.

   Macros
       #define CFGF_NONE   (0)
           Flags.
       #define CFGF_MULTI   (1 <<  0)
           option may be specified multiple times (only applies to sections)
       #define CFGF_LIST   (1 <<  1)
           option is a list
       #define CFGF_NOCASE   (1 <<  2)
           configuration file is case insensitive
       #define CFGF_TITLE   (1 <<  3)
           option has a title (only applies to sections)
       #define CFGF_NODEFAULT   (1 <<  4)
           option has no default value
       #define CFGF_NO_TITLE_DUPES   (1 <<  5)
           multiple section titles must be unique (duplicates raises an error, only applies to sections)
       #define CFGF_IGNORE_UNKNOWN   (1 <<  8)
           ignore unknown options in configuration files
       #define CFGF_DEPRECATED   (1 <<  9)
           option is deprecated and should be ignored.
       #define CFGF_DROP   (1 << 10)
           option should be dropped after parsing
       #define CFGF_COMMENTS   (1 << 11)
           Enable option annotation/comments support.
       #define CFGF_MODIFIED   (1 << 12)
           option has been changed from its default value
       #define CFGF_KEYSTRVAL   (1 << 13)
           section has free-form key=value string options created when parsing file
       #define CFG_SUCCESS   0
           Return codes from cfg_parse(), cfg_parse_boolean(), and cfg_set*() functions.
       #define CFG_STR(name,  def,  flags)     __CFG_STR(name, def, flags, 0, 0)
           Initialize a string option.
       #define CFG_STR_LIST(name,  def,  flags)     __CFG_STR_LIST(name, def, flags, 0, 0)
           Initialize a string list option.
       #define CFG_STR_CB(name,  def,  flags,  cb)     __CFG_STR(name, def, flags, 0, cb)
           Initialize a string option with a value parsing callback.
       #define CFG_STR_LIST_CB(name,  def,  flags,  cb)     __CFG_STR_LIST(name, def, flags, 0, cb)
           Initialize a string list option with a value parsing callback.
       #define CFG_SIMPLE_STR(name,  svalue)     __CFG_STR(name, 0, CFGF_NONE, svalue, 0)
           Initialize a 'simple' string option.
       #define CFG_INT(name,  def,  flags)     __CFG_INT(name, def, flags, 0, 0)
           Initialize an integer option.
       #define CFG_INT_LIST(name,  def,  flags)     __CFG_INT_LIST(name, def, flags, 0, 0)
           Initialize an integer list option.
       #define CFG_INT_CB(name,  def,  flags,  cb)     __CFG_INT(name, def, flags, 0, cb)
           Initialize an integer option with a value parsing callback.
       #define CFG_INT_LIST_CB(name,  def,  flags,  cb)     __CFG_INT_LIST(name, def, flags, 0, cb)
           Initialize an integer list option with a value parsing callback.
       #define CFG_SIMPLE_INT(name,  svalue)     __CFG_INT(name, 0, CFGF_NONE, svalue, 0)
           Initialize a 'simple' integer option (see documentation for CFG_SIMPLE_STR for more information).
       #define CFG_FLOAT(name,  def,  flags)     __CFG_FLOAT(name, def, flags, 0, 0)
           Initialize a floating point option.
       #define CFG_FLOAT_LIST(name,  def,  flags)     __CFG_FLOAT_LIST(name, def, flags, 0, 0)
           Initialize a floating point list option.
       #define CFG_FLOAT_CB(name,  def,  flags,  cb)     __CFG_FLOAT(name, def, flags, 0, cb)
           Initialize a floating point option with a value parsing callback.
       #define CFG_FLOAT_LIST_CB(name,  def,  flags,  cb)     __CFG_FLOAT_LIST(name, def, flags, 0, cb)
           Initialize a floating point list option with a value parsing callback.
       #define CFG_SIMPLE_FLOAT(name,  svalue)     __CFG_FLOAT(name, 0, CFGF_NONE, svalue, 0)
           Initialize a 'simple' floating point option (see documentation for CFG_SIMPLE_STR for more
           information).
       #define CFG_BOOL(name,  def,  flags)     __CFG_BOOL(name, def, flags, 0, 0)
           Initialize a boolean option.
       #define CFG_BOOL_LIST(name,  def,  flags)     __CFG_BOOL_LIST(name, def, flags, 0, 0)
           Initialize a boolean list option.
       #define CFG_BOOL_CB(name,  def,  flags,  cb)     __CFG_BOOL(name, def, flags, 0, cb)
           Initialize a boolean option with a value parsing callback.
       #define CFG_BOOL_LIST_CB(name,  def,  flags,  cb)     __CFG_BOOL_LIST(name, def, flags, 0, cb)
           Initialize a boolean list option with a value parsing callback.
       #define CFG_SIMPLE_BOOL(name,  svalue)     __CFG_BOOL(name, cfg_false, CFGF_NONE, svalue, 0)
           Initialize a 'simple' boolean option (see documentation for CFG_SIMPLE_STR for more information).
       #define CFG_SEC(name,  opts,  flags)
           {name,0,CFGT_SEC,0,0,flags,opts,{0,0,cfg_false,0,0},0,{0},0,0,0,0,0}
           Initialize a section.
       #define CFG_FUNC(name,  func)
           {name,0,CFGT_FUNC,0,0,CFGF_NONE,0,{0,0,cfg_false,0,0},func,{0},0,0,0,0,0}
           Initialize a function.
       #define CFG_PTR_CB(name,  def,  flags,  parsecb,  freecb)     __CFG_PTR(name, def, flags, 0, parsecb,
           freecb)
           Initialize a user-defined option.
       #define CFG_PTR_LIST_CB(name,  def,  flags,  parsecb,  freecb)     __CFG_PTR(name, def, flags |
           CFGF_LIST, 0, parsecb, freecb)
           Initialize a list of user-defined options.
       #define CFG_END()     {0,0,CFGT_NONE,0,0,CFGF_NONE,0,{0,0,cfg_false,0,0},0,{0},0,0,0,0,0}
           Terminate list of options.

   Typedefs
       typedef int(* cfg_func_t) (cfg_t *cfg, cfg_opt_t *opt, int argc, const char **argv)
           Function prototype used by CFGT_FUNC options.
       typedef void(* cfg_print_func_t) (cfg_opt_t *opt, unsigned int index, FILE *fp)
           Function prototype used by the cfg_print_ functions.
       typedef int(* cfg_callback_t) (cfg_t *cfg, cfg_opt_t *opt, const char *value, void *result)
           Value parsing callback prototype.
       typedef int(* cfg_validate_callback_t) (cfg_t *cfg, cfg_opt_t *opt)
           Validating callback prototype.
       typedef int(* cfg_validate_callback2_t) (cfg_t *cfg, cfg_opt_t *opt, void *value)
           Validating callback2 prototype.
       typedef void(* cfg_free_func_t) (void *value)
           User-defined memory release function for CFG_PTR values.
       typedef void(* cfg_errfunc_t) (cfg_t *cfg, const char *fmt, va_list ap)
           Error reporting function.
       typedef int(* cfg_print_filter_func_t) (cfg_t *cfg, cfg_opt_t *opt)
           Print filter function.

   Enumerations
       enum cfg_type_t {  }
           Fundamental option types.
       enum cfg_bool_t
           Boolean values.

   Functions
       DLLIMPORT cfg_t *__export cfg_init (cfg_opt_t *opts, cfg_flag_t flags)
           Create and initialize a cfg_t structure.
       DLLIMPORT int __export cfg_add_searchpath (cfg_t *cfg, const char *dir)
           Add a searchpath directory to the configuration context, the const char* argument will be duplicated
           and then freed as part of the usual context takedown.
       DLLIMPORT char *__export cfg_searchpath (cfg_searchpath_t *path, const char *file)
           Search the linked-list of cfg_searchpath_t for the specified file.
       DLLIMPORT int __export cfg_parse (cfg_t *cfg, const char *filename)
           Parse a configuration file.
       DLLIMPORT int __export cfg_parse_fp (cfg_t *cfg, FILE *fp)
           Same as cfg_parse() above, but takes an already opened file as argument.
       DLLIMPORT int __export cfg_parse_buf (cfg_t *cfg, const char *buf)
           Same as cfg_parse() above, but takes a character buffer as argument.
       DLLIMPORT int __export cfg_free_value (cfg_opt_t *opt)
           Free the memory allocated for the values of a given option.
       DLLIMPORT int __export cfg_free (cfg_t *cfg)
           Free a cfg_t context.
       DLLIMPORT cfg_errfunc_t __export cfg_set_error_function (cfg_t *cfg, cfg_errfunc_t errfunc)
           Install a user-defined error reporting function.
       DLLIMPORT void __export cfg_error (cfg_t *cfg, const char *fmt,...)
           Show a parser error.
       DLLIMPORT char *__export cfg_opt_getcomment (cfg_opt_t *opt)
           Returns the option comment.
       DLLIMPORT char *__export cfg_getcomment (cfg_t *cfg, const char *name)
           Returns the option comment.
       DLLIMPORT signed long __export cfg_opt_getnint (cfg_opt_t *opt, unsigned int index)
           Returns the value of an integer option, given a cfg_opt_t pointer.
       DLLIMPORT long int __export cfg_getnint (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_getint(), used for lists.
       DLLIMPORT long int __export cfg_getint (cfg_t *cfg, const char *name)
           Returns the value of an integer option.
       DLLIMPORT double __export cfg_opt_getnfloat (cfg_opt_t *opt, unsigned int index)
           Returns the value of a floating point option, given a cfg_opt_t pointer.
       DLLIMPORT double __export cfg_getnfloat (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_getfloat(), used for lists.
       DLLIMPORT double __export cfg_getfloat (cfg_t *cfg, const char *name)
           Returns the value of a floating point option.
       DLLIMPORT char *__export cfg_opt_getnstr (cfg_opt_t *opt, unsigned int index)
           Returns the value of a string option, given a cfg_opt_t pointer.
       DLLIMPORT char *__export cfg_getnstr (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_getstr(), used for lists.
       DLLIMPORT char *__export cfg_getstr (cfg_t *cfg, const char *name)
           Returns the value of a string option.
       DLLIMPORT cfg_bool_t __export cfg_opt_getnbool (cfg_opt_t *opt, unsigned int index)
           Returns the value of a boolean option, given a cfg_opt_t pointer.
       DLLIMPORT cfg_bool_t __export cfg_getnbool (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_getbool(), used for lists.
       DLLIMPORT cfg_bool_t __export cfg_getbool (cfg_t *cfg, const char *name)
           Returns the value of a boolean option.
       DLLIMPORT void *__export cfg_getptr (cfg_t *cfg, const char *name)
           Returns the value of a user-defined option (void pointer).
       DLLIMPORT cfg_t *__export cfg_opt_getnsec (cfg_opt_t *opt, unsigned int index)
           Returns the value of a section option, given a cfg_opt_t pointer.
       DLLIMPORT cfg_t *__export cfg_getnsec (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_getsec(), used for sections with the CFGF_MULTI flag set.
       DLLIMPORT cfg_t *__export cfg_opt_gettsec (cfg_opt_t *opt, const char *title)
           Returns the value of a section option, given a cfg_opt_t pointer and the title.
       DLLIMPORT cfg_t *__export cfg_gettsec (cfg_t *cfg, const char *name, const char *title)
           Return a section given the title, used for section with the CFGF_TITLE flag set.
       DLLIMPORT cfg_t *__export cfg_getsec (cfg_t *cfg, const char *name)
           Returns the value of a section option.
       DLLIMPORT unsigned int __export cfg_opt_size (cfg_opt_t *opt)
           Return the number of values this option has.
       DLLIMPORT unsigned int __export cfg_size (cfg_t *cfg, const char *name)
           Return the number of values this option has.
       DLLIMPORT const char *__export cfg_title (cfg_t *cfg)
           Return the title of a section.
       DLLIMPORT const char *__export cfg_name (cfg_t *cfg)
           Return the name of a section.
       DLLIMPORT const char *__export cfg_opt_name (cfg_opt_t *opt)
           Return the name of an option.
       DLLIMPORT const char * cfg_opt_getstr (cfg_opt_t *opt)
           Return the string value of a key=value pair.
       DLLIMPORT int __export cfg_include (cfg_t *cfg, cfg_opt_t *opt, int argc, const char **argv)
           Predefined include-function.
       DLLIMPORT char *__export cfg_tilde_expand (const char *filename)
           Does tilde expansion (~ -> $HOME) on the filename.
       DLLIMPORT int __export cfg_parse_boolean (const char *s)
           Parse a boolean option string.
       DLLIMPORT cfg_opt_t * cfg_getnopt (cfg_t *cfg, unsigned int index)
           Return the nth option in a file or section.
       DLLIMPORT cfg_opt_t *__export cfg_getopt (cfg_t *cfg, const char *name)
           Return an option given it's name.
       DLLIMPORT cfg_value_t * cfg_setopt (cfg_t *cfg, cfg_opt_t *opt, const char *value)
           Set an option (create an instance of an option).
       DLLIMPORT int __export cfg_opt_setcomment (cfg_opt_t *opt, char *comment)
           Annotate an option.
       DLLIMPORT int __export cfg_setcomment (cfg_t *cfg, const char *name, char *comment)
           Annotate an option given its name.
       DLLIMPORT int __export cfg_opt_setnint (cfg_opt_t *opt, long int value, unsigned int index)
           Set a value of an integer option.
       DLLIMPORT int __export cfg_setint (cfg_t *cfg, const char *name, long int value)
           Set the value of an integer option given its name.
       DLLIMPORT int __export cfg_setnint (cfg_t *cfg, const char *name, long int value, unsigned int index)
           Set a value of an integer option given its name and index.
       DLLIMPORT int __export cfg_opt_setnfloat (cfg_opt_t *opt, double value, unsigned int index)
           Set a value of a floating point option.
       DLLIMPORT int __export cfg_setfloat (cfg_t *cfg, const char *name, double value)
           Set the value of a floating point option given its name.
       DLLIMPORT int __export cfg_setnfloat (cfg_t *cfg, const char *name, double value, unsigned int index)
           Set a value of a floating point option given its name and index.
       DLLIMPORT int __export cfg_opt_setnbool (cfg_opt_t *opt, cfg_bool_t value, unsigned int index)
           Set a value of a boolean option.
       DLLIMPORT int __export cfg_setbool (cfg_t *cfg, const char *name, cfg_bool_t value)
           Set the value of a boolean option given its name.
       DLLIMPORT int __export cfg_setnbool (cfg_t *cfg, const char *name, cfg_bool_t value, unsigned int index)
           Set a value of a boolean option given its name and index.
       DLLIMPORT int __export cfg_opt_setnstr (cfg_opt_t *opt, const char *value, unsigned int index)
           Set a value of a string option.
       DLLIMPORT int __export cfg_setstr (cfg_t *cfg, const char *name, const char *value)
           Set the value of a string option given its name.
       DLLIMPORT int __export cfg_setnstr (cfg_t *cfg, const char *name, const char *value, unsigned int index)
           Set a value of a boolean option given its name and index.
       DLLIMPORT int __export cfg_setlist (cfg_t *cfg, const char *name, unsigned int nvalues,...)
           Set values for a list option.
       DLLIMPORT unsigned int __export cfg_num (cfg_t *cfg)
           Return number of options in a file or section.
       DLLIMPORT int __export cfg_addlist (cfg_t *cfg, const char *name, unsigned int nvalues,...)
           Add values for a list option.
       DLLIMPORT int cfg_opt_setmulti (cfg_t *cfg, cfg_opt_t *opt, unsigned int nvalues, char **values)
           Set an option (create an instance of an option).
       DLLIMPORT int cfg_setmulti (cfg_t *cfg, const char *name, unsigned int nvalues, char **values)
           Set an option (create an instance of an option).
       DLLIMPORT cfg_t * cfg_addtsec (cfg_t *cfg, const char *name, const char *title)
           Create a new titled config section.
       DLLIMPORT int __export cfg_opt_rmnsec (cfg_opt_t *opt, unsigned int index)
           Removes and frees a config section, given a cfg_opt_t pointer.
       DLLIMPORT int __export cfg_rmnsec (cfg_t *cfg, const char *name, unsigned int index)
           Indexed version of cfg_rmsec(), used for CFGF_MULTI sections.
       DLLIMPORT int __export cfg_rmsec (cfg_t *cfg, const char *name)
           Removes and frees a config section.
       DLLIMPORT int __export cfg_opt_rmtsec (cfg_opt_t *opt, const char *title)
           Removes and frees a config section, given a cfg_opt_t pointer and the title.
       DLLIMPORT int __export cfg_rmtsec (cfg_t *cfg, const char *name, const char *title)
           Removes and frees a section given the title, used for section with the CFGF_TITLE flag set.
       DLLIMPORT int __export cfg_opt_nprint_var (cfg_opt_t *opt, unsigned int index, FILE *fp)
           Default value print function.
       DLLIMPORT int __export cfg_opt_print_indent (cfg_opt_t *opt, FILE *fp, int indent)
           Print an option and its value to a file.
       DLLIMPORT int __export cfg_opt_print (cfg_opt_t *opt, FILE *fp)
           Print an option and its value to a file.
       DLLIMPORT int __export cfg_print_indent (cfg_t *cfg, FILE *fp, int indent)
           Print the options and values to a file.
       DLLIMPORT int __export cfg_print (cfg_t *cfg, FILE *fp)
           Print the options and values to a file.
       DLLIMPORT cfg_print_func_t __export cfg_opt_set_print_func (cfg_opt_t *opt, cfg_print_func_t pf)
           Set a print callback function for an option.
       DLLIMPORT cfg_print_func_t __export cfg_set_print_func (cfg_t *cfg, const char *name, cfg_print_func_t
           pf)
           Set a print callback function for an option given its name.
       DLLIMPORT cfg_print_filter_func_t __export cfg_set_print_filter_func (cfg_t *cfg, cfg_print_filter_func_t
           pff)
           Install a user-defined print filter function.
       DLLIMPORT cfg_validate_callback_t __export cfg_set_validate_func (cfg_t *cfg, const char *name,
           cfg_validate_callback_t vf)
           Register a validating callback function for an option.
       DLLIMPORT cfg_validate_callback2_t __export cfg_set_validate_func2 (cfg_t *cfg, const char *name,
           cfg_validate_callback2_t vf)
           Register a validating callback function for an option.

Typedef Documentation

typedefint(*cfg_callback_t)(cfg_t*cfg,cfg_opt_t*opt,constchar*value,void*result)
       Value parsing callback prototype. This is a callback function (different from the one registered with the
       CFG_FUNC initializer) used to parse a value. This can be used to override the internal parsing of a
       value.

       Suppose you want an integer option that only can have certain values, for example 1, 2 and 3, and these
       should be written in the configuration file as 'yes', 'no' and 'maybe'. The callback function would be
       called with the found value ('yes', 'no' or 'maybe') as a string, and the result should be stored in the
       result parameter.

       Parameterscfg The configuration file context.
           opt The option.
           value The value found in the configuration file.
           result Pointer to storage for the result, cast to a void pointer.

       Returns
           On success, 0 should be returned. All other values indicates an error, and the parsing is aborted.
           The callback function should notify the error itself, for example by calling cfg_error().

   typedefvoid(*cfg_errfunc_t)(cfg_t*cfg,constchar*fmt,va_listap)
       Error reporting function.

   typedefvoid(*cfg_free_func_t)(void*value)
       User-defined memory release function for CFG_PTR values. This callback is used to free memory allocated
       in a value parsing callback function. Especially useful for CFG_PTR options, since libConfuse will not
       itself release such values. If the values are simply allocated with a malloc(3), one can use the standard
       free(3) function here.

   typedefint(*cfg_func_t)(cfg_t*cfg,cfg_opt_t*opt,intargc,constchar**argv)
       Function prototype used by CFGT_FUNC options. This is a callback function, registered with the CFG_FUNC
       initializer. Each time libConfuse finds a function, the registered callback function is called
       (parameters are passed as strings, any conversion to other types should be made in the callback
       function). libConfuse does not support any storage of the data found; these are passed as parameters to
       the callback, and it's the responsibility of the callback function to do whatever it should do with the
       data.

       Parameterscfg The configuration file context.
           opt The option.
           argc Number of arguments passed. The callback function is responsible for checking that the correct
           number of arguments are passed.
           argv Arguments as an array of character strings.

       Returns
           On success, 0 should be returned. All other values indicates an error, and the parsing is aborted.
           The callback function should notify the error itself, for example by calling cfg_error().

       SeealsoCFG_FUNCtypedefint(*cfg_print_filter_func_t)(cfg_t*cfg,cfg_opt_t*opt)
       Print filter function.

       Parameterscfg The configuration file context that opt belongs to.
           opt The configuration option that is about to be printed, or not.

       Returns
           Zero if opt should be printed, non-zero if it should be filtered out.

       Seealsocfg_set_print_filter_func()typedefvoid(*cfg_print_func_t)(cfg_opt_t*opt,unsignedintindex,FILE*fp)
       Function prototype used by the cfg_print_ functions. This callback function is used to print option
       values. For options with a value parsing callback, this is often required, especially if a string is
       mapped to an integer by the callback. This print callback must then map the integer back to the
       appropriate string.

       Except for functions, the print callback function should only print the value of the option, not the name
       and the equal sign (that is handled by the cfg_opt_print function). For function options however, the
       name and the parenthesis must be printed by this function. The value to print can be accessed with the
       cfg_opt_get functions.

       Parametersopt The option structure (eg, as returned from cfg_getopt())
           index Index of the value to get. Zero based.
           fp File stream to print to, use stdout to print to the screen.

       Seealsocfg_print, cfg_set_print_functypedefint(*cfg_validate_callback2_t)(cfg_t*cfg,cfg_opt_t*opt,void*value)
       Validating callback2 prototype. This callback function is called before an option is set using the
       cfg_set*() APIs. The function is called only for strings, integers, and floats. Compared to the regular
       callback function this takes a value pointer argument which must be cast before use, but can also be used
       to correct a value before it is set, e.g. when a too large value is set this can be used to set the MAX.

       Returns
           On success, 0 should be returned. All other values indicates an error, and the cfg_set*() function
           will return without setting the value.

       Seealsocfg_set_validate_func2()typedefint(*cfg_validate_callback_t)(cfg_t*cfg,cfg_opt_t*opt)
       Validating callback prototype. This callback function is called after an option has been parsed and set.
       The function is called for both fundamental values (strings, integers etc) as well as lists and sections.
       This can for example be used to validate that all required options in a section has been set to sane
       values.

       Returns
           On success, 0 should be returned. All other values indicates an error, and the parsing is aborted.
           The callback function should notify the error itself, for example by calling cfg_error().

       Seealsocfg_set_validate_func

See Also