Main Page | Data Structures | File List | Data Fields | Globals | Related Pages

cfg+.h File Reference

main implementation header file More...

#include <stdio.h>

Go to the source code of this file.

Data Structures

struct  cfg_context
 Main structure for defining context. More...

struct  cfg_option
 Structure for defining one config option. More...


Property types

#define CFG_EOT   CFG_N_PROPS
 Terminators of variable number arguments in functions cfg_add_properties(), cfg_set_properties(), cfg_get_properties() and similar.

#define CFG_END_TYPE   CFG_N_PROPS
 Terminators of variable number arguments in functions cfg_add_properties(), cfg_set_properties(), cfg_get_properties() and similar.

enum  cfg_property_type {
  CFG_LINE_STOP_STRING = 0,
  CFG_LINE_SHORT_OPTION_PREFIX = 1,
  CFG_LINE_LONG_OPTION_PREFIX = 2,
  CFG_LINE_OPTION_ARG_SEPARATOR = 3,
  CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR = 4,
  CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR = 5,
  CFG_LINE_QUOTE_PREFIX = 6,
  CFG_LINE_QUOTE_POSTFIX = 7,
  CFG_FILE_STOP_PREFIX = 8,
  CFG_FILE_COMMENT_PREFIX = 9,
  CFG_FILE_MULTI_LINE_POSTFIX = 10,
  CFG_FILE_OPTION_ARG_SEPARATOR = 11,
  CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR = 12,
  CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR = 13,
  CFG_FILE_QUOTE_PREFIX = 14,
  CFG_FILE_QUOTE_POSTFIX = 15,
  CFG_N_PROPS = 16,
  CFG_QUOTE = 50,
  CFG_LINE_QUOTE = 51,
  CFG_FILE_QUOTE = 52,
  CFG_QUOTE_PREFIX = 53,
  CFG_QUOTE_POSTFIX = 54,
  CFG_MULTI_VALS_SEPARATOR = 55,
  CFG_FILE_MULTI_VALS_SEPARATOR = 56,
  CFG_LINE_MULTI_VALS_SEPARATOR = 57,
  CFG_NORMAL_MULTI_VALS_SEPARATOR = 58,
  CFG_LEFTOVER_MULTI_VALS_SEPARATOR = 59,
  CFG_OPTION_ARG_SEPARATOR = 60
}
 Terminators of variable number arguments in functions cfg_add_properties(), cfg_set_properties(), cfg_get_properties() and similar. More...


Functions and macros for creating and manipulating context

#define cfg_get_cmdline_context_pos(begin_pos, end_pos, argv, options)
#define cfg_get_cfgfile_context_pos(begin_pos, end_pos, argv, options)
#define cfg_set_cmdline_context_pos(con, begin_pos, end_pos, argv)
#define cfg_set_cfgfile_context_pos(con, begin_pos, end_pos, argv)
CFG_CONTEXT cfg_get_context (struct cfg_option *options)
 Initialize core context.

CFG_CONTEXT cfg_get_cmdline_context (long begin_pos, long size, char **argv, struct cfg_option *options)
 Initialize command line context.

CFG_CONTEXT cfg_get_cmdline_context_argc (int argc, char **argv, struct cfg_option *options)
 Initialize command line context by argc and argv passed to main().

CFG_CONTEXT cfg_get_cfgfile_context (long begin_pos, long size, char *filename, struct cfg_option *options)
 Initialize configuration file context.

void cfg_set_cmdline_context (const CFG_CONTEXT con, long begin_pos, long size, char **argv)
 Set context to command line.

void cfg_set_cmdline_context_argc (const CFG_CONTEXT con, int argc, char **argv)
 Set context to command line by argc and argv passed to main().

void cfg_set_cfgfile_context (const CFG_CONTEXT con, long begin_pos, long size, char *filename)
 Set context to configuration file.

void cfg_reset_context (const CFG_CONTEXT con)
 Reinitialize popt context.

void cfg_free_context (const CFG_CONTEXT con)
 Destroy context.


Functions for setting and clearing context flags

#define cfg_is_context_flag(con, flag)   cfg_get_context_flag(con, flag)
void cfg_set_context_flag (const CFG_CONTEXT con, int flag)
 Set context flag.

void cfg_clear_context_flag (const CFG_CONTEXT con, int flag)
 Clear context flag.

int cfg_get_context_flag (const CFG_CONTEXT con, int flag)
 Get context flag.

void cfg_set_context_flags (const CFG_CONTEXT con, int flags)
 Overwrite context flags.

int cfg_get_context_flags (const CFG_CONTEXT con)
 Get all context flags.


Error codes

enum  cfg_error {
  CFG_ERR_OK = 0,
  CFG_ERROR_OK = 0,
  CFG_OK = 0,
  CFG_ERR_NOARG = -1,
  CFG_ERROR_NOARG = -1,
  CFG_ERR_NOTALLOWEDARG = -2,
  CFG_ERROR_NOTALLOWEDARG = -2,
  CFG_ERR_BADOPT = -3,
  CFG_ERROR_BADOPT = -3,
  CFG_ERR_BADQUOTE = -4,
  CFG_ERROR_BADQUOTE = -4,
  CFG_ERR_BADNUMBER = -5,
  CFG_ERROR_BADNUMBER = -5,
  CFG_ERR_OVERFLOW = -6,
  CFG_ERROR_OVERFLOW = -6,
  CFG_ERR_MULTI = -7,
  CFG_ERROR_MULTI = -7,
  CFG_ERR_NOMEM = -8,
  CFG_ERROR_NOMEM = -8,
  CFG_ERR_STOP_STR = -9,
  CFG_ERR_STOP_STR_FOUND = -9,
  CFG_ERROR_STOP_STR = -9,
  CFG_ERROR_STOP_STR_FOUND = -9,
  CFG_ERR_NOEQUAL = -10,
  CFG_ERROR_NOEQUAL = -10,
  CFG_ERR_UNKNOWN = -11,
  CFG_ERROR_UNKNOWN = -11,
  CFG_ERR_FILE_NOT_FOUND = -12,
  CFG_ERROR_FILE_NOT_FOUND = -12,
  CFG_ERR_SEEK_ERROR = -13,
  CFG_ERROR_SEEK_ERROR = -13,
  CFG_ERR_INTERNAL = -20,
  CFG_ERROR_INTERNAL = -20
}
 Possible return values returned by parsing functions. More...


Context flags

enum  cfg_flag {
  CFG_IGNORE_MULTI = 1,
  CFG_IGNORE_UNKNOWN = 2,
  CFG_PROCESS_FIRST = 0,
  CFG_SKIP_FIRST = 4,
  CFG_POSIXLY_LEFTOVERS = 0,
  CFG_ADVANCED_LEFTOVERS = 8,
  CFG_NORMAL_LEFTOVERS = 0,
  CFG_STRICT_LEFTOVERS = 16,
  CFG_FILE_BYTE_POS_USAGE = 0,
  CFG_FILE_LINE_POS_USAGE = 32
}
 By default are CFG_PROCESS_FIRST, CFG_POSIXLY_LEFTOVERS and CFG_NORMAL_LEFTOVERS initialized. More...


Option types

enum  cfg_option_type {
  CFG_BOOL = 1,
  CFG_BOOLEAN = 1,
  CFG_INT = 2,
  CFG_INTEGER = 2,
  CFG_UINT = 3,
  CFG_UNSIGNED = 3,
  CFG_UNSIGNED_INT = 3,
  CFG_LONG = 4,
  CFG_ULONG = 5,
  CFG_UNSIGNED_LONG = 5,
  CFG_FLOAT = 6,
  CFG_DOUBLE = 7,
  CFG_STR = 8,
  CFG_STRING = 8,
  CFG_END = 0,
  CFG_DATA_TYPE_MASK = 31,
  CFG_SINGLE = 0,
  CFG_MULTI = 32,
  CFG_MULTI_ARRAY = 32,
  CFG_MULTI_SEPARATED = 32 + 64,
  CFG_LAST_ARGS = 128,
  CFG_LAST_ARGUMENTS = 128,
  CFG_LEFTOVER_ARGS = 128,
  CFG_LEFTOVER_ARGUMENTS = 128
}
 Possible types of options. More...


Property codes


Count of normal properties


Virtual property codes


Internal enumerations

enum  cfg_context_type {
  CFG_NO_CONTEXT = 0,
  CFG_CMDLINE = 1,
  CFG_LINE = 1,
  CFG_CFGFILE = 2,
  CFG_FILE = 2
}
 Context type. More...

enum  cfg_line_option_type {
  CFG_NONE_OPTION = 0,
  CFG_SHORT_OPTION = 1,
  CFG_LONG_OPTION = 2,
  CFG_SHORT_OPTIONS = 4,
  CFG_LONG_SEPINIT = 8,
  CFG_LONG_NOSEPINIT = 0
}
 Command line option type. More...


Functions and macros for properties manipulation

int cfg_clear_property (const CFG_CONTEXT con, enum cfg_property_type type)
 Clear all strings of property.

int cfg_clear_properties (const CFG_CONTEXT con, enum cfg_property_type type,...)
 Clear all strings of property.

int cfg_add_property (const CFG_CONTEXT con, enum cfg_property_type type, char *str)
 Add string to property.

int cfg_add_properties (const CFG_CONTEXT con, enum cfg_property_type type, char *str,...)
 Add multiple strings to particular properties.

int cfg_add_properties_str (const CFG_CONTEXT con, char *str, enum cfg_property_type type,...)
 Add string to multiple properties.

int cfg_add_properties_type (const CFG_CONTEXT con, enum cfg_property_type type, char *str,...)
 Add multiple strings to one property.

int cfg_remove_property (const CFG_CONTEXT con, enum cfg_property_type type, char *str)
 Remove string from property.

int cfg_remove_properties (const CFG_CONTEXT con, enum cfg_property_type type, char *str,...)
 Remove multiple strings from particular properties.

int cfg_remove_properties_str (const CFG_CONTEXT con, char *str, enum cfg_property_type type,...)
 Remove string from multiple properties.

int cfg_remove_properties_type (const CFG_CONTEXT con, enum cfg_property_type type, char *str,...)
 Remove multiple strings from one property.


Functions for processing context options

int cfg_parse (const CFG_CONTEXT con)
 Parse context.

int cfg_get_next_opt (const CFG_CONTEXT con)
 Parse next option(s) and return its value (if non-zero) or error code.

char * cfg_get_cur_opt (const CFG_CONTEXT con)
 Return currently processed option name.

char * cfg_get_cur_arg (const CFG_CONTEXT con)
 Return currently processed option argument.

int cfg_get_cur_idx (const CFG_CONTEXT con)
 Return currently processed option index (argv index in command line context, file byte position or line position in config file context).


Error handling functions

void cfg_print_error (const CFG_CONTEXT con)
 Print error string to stderr.

void cfg_fprint_error (const CFG_CONTEXT con, FILE *fh)
 Print error string to stream.

char * cfg_get_error_str (const CFG_CONTEXT con)
 Get error string; error string is dynamically allocated, it needs to be freed after use.

char * cfg_get_static_error_str (const int errorcode)
 Get static error string.


Defines

#define CFG_END_OPTION   { NULL, '\0', NULL, CFG_END, NULL, 0 }
 End of options list marker.

#define CFG_END_OF_LIST   CFG_END_OPTION
 Alias for CFG_END_OPTION.


Typedefs

typedef cfg_contextCFG_CONTEXT
 Context data type.


Detailed Description

main implementation header file

Author:
Ondrej Jombik <nepto@platon.sk>

Lubomir Host <rajo@platon.sk>

Version:
$Platon: libcfg+/src/cfg+.h,v 1.60 2004/01/12 06:03:08 nepto Exp $
Date:
2001-2004

Define Documentation

#define cfg_get_cfgfile_context_pos begin_pos,
end_pos,
argv,
options   ) 
 

Value:

cfg_get_cfgfile_context( \
                        begin_pos, \
                        end_pos - begin_pos + 1, \
                        argv, \
                        options)

#define cfg_get_cmdline_context_pos begin_pos,
end_pos,
argv,
options   ) 
 

Value:

cfg_get_cmdline_context( \
                        begin_pos, \
                        end_pos - begin_pos + 1, \
                        argv, \
                        options)

#define cfg_set_cfgfile_context_pos con,
begin_pos,
end_pos,
argv   ) 
 

Value:

cfg_get_cfgfile_context( \
                        con \
                        begin_pos, \
                        end_pos - begin_pos + 1, \
                        argv)

#define cfg_set_cmdline_context_pos con,
begin_pos,
end_pos,
argv   ) 
 

Value:

cfg_get_cmdline_context( \
                        con \
                        begin_pos, \
                        end_pos - begin_pos + 1, \
                        argv)


Enumeration Type Documentation

enum cfg_context_type
 

Context type.

Possible types of context (used internally)

Enumeration values:
CFG_NO_CONTEXT  No context.
CFG_CMDLINE  Command line context type.
CFG_CFGFILE  Config file context type.

enum cfg_error
 

Possible return values returned by parsing functions.

Enumeration values:
CFG_ERR_OK  OK, all is right.
CFG_ERROR_OK  OK, all is right.
CFG_OK  OK, all is right.
CFG_ERR_NOARG  An argument is missing for an option.
CFG_ERR_NOTALLOWEDARG  An argument is not allowed for an option.
CFG_ERR_BADOPT  An option's argument could not be parsed.
CFG_ERR_BADQUOTE  Error in quotations.
CFG_ERR_BADNUMBER  An option could not be converted to appropriate numeric type.
CFG_ERR_OVERFLOW  A given number was too big or too small.
CFG_ERR_MULTI  Multiple arguments used for single option.
CFG_ERR_NOMEM  Not enough memory.
CFG_ERR_STOP_STR  Stop string was found.
CFG_ERR_NOEQUAL  No equal sign on the line.
CFG_ERR_UNKNOWN  An unknown option.
CFG_ERR_FILE_NOT_FOUND  File not found error.
CFG_ERR_SEEK_ERROR  Seek error (fseek() failure).
CFG_ERR_INTERNAL  Internal error.

enum cfg_flag
 

By default are CFG_PROCESS_FIRST, CFG_POSIXLY_LEFTOVERS and CFG_NORMAL_LEFTOVERS initialized.

Todo:
CFG_APPEND, CFG_OVERWRITE, CFG_APPEND_MULTI_ONLY
Enumeration values:
CFG_IGNORE_MULTI  Ignore multiple arguments for single option.
CFG_IGNORE_UNKNOWN  Ignore unknown options.
CFG_PROCESS_FIRST  Process also the first argument on command line.
CFG_SKIP_FIRST  Skip processing of the first argument on command line.
CFG_POSIXLY_LEFTOVERS  Posixly correct leftover arguments.
CFG_ADVANCED_LEFTOVERS  Advanced leftover arguments.
CFG_NORMAL_LEFTOVERS  Normal leftover arguments initialization in file.

This flag is not used and it is kept from historical reasons.

CFG_STRICT_LEFTOVERS  Strict leftover arguments initialization in file.

This flag is not used and it is kept from historical reasons.

CFG_FILE_BYTE_POS_USAGE  Byte type position usage in file.
CFG_FILE_LINE_POS_USAGE  Line type position usage in file.

enum cfg_line_option_type
 

Command line option type.

Possible types of command line option (used internally)

Enumeration values:
CFG_NONE_OPTION  Not long and not short option.
CFG_SHORT_OPTION  Short command line option.
CFG_LONG_OPTION  Long command line option.
CFG_SHORT_OPTIONS  Short command line options.
CFG_LONG_SEPINIT  Long command line option argument initialized with separator.
CFG_LONG_NOSEPINIT  Long command line option argument initialized without separator (default).

enum cfg_option_type
 

Possible types of options.

Todo:
Thinking about case insensitivy of option ("--input" is the same as "--INPUT")
Enumeration values:
CFG_BOOL  Boolean.
CFG_INT  Integer.
CFG_UINT  Unsigned int.
CFG_LONG  Long.
CFG_ULONG  Unsigned long.
CFG_FLOAT  Float.
CFG_DOUBLE  Double.
CFG_STR  String.
CFG_END  End (to mark last item in list).
CFG_DATA_TYPE_MASK  Data type mask (used internally).
CFG_SINGLE  Single, multi or multi separated.

Single by default. Tells if option can be repeated. In multi case value is array of poiters to type ended with NULL.

CFG_LAST_ARGS  Leftover arguments specification.

Mark option which will contain leftover arguments.

enum cfg_property_type
 

Terminators of variable number arguments in functions cfg_add_properties(), cfg_set_properties(), cfg_get_properties() and similar.

Enumeration values:
CFG_LINE_STOP_STRING  Array of strings which forces to stop command line parsing.

By default it is empty.

CFG_LINE_SHORT_OPTION_PREFIX  Command line short option prefix.

By default is "-" initialized.

CFG_LINE_LONG_OPTION_PREFIX  Command line long option prefix.

By default is "--" initialized.

CFG_LINE_OPTION_ARG_SEPARATOR  Command line option argument separator.

By default is "=" initialized.

CFG_LINE_NORMAL_MULTI_VALS_SEPARATOR  Command line multi values separator.

By default are "," and ";" initialized.

CFG_LINE_LEFTOVER_MULTI_VALS_SEPARATOR  Command line multi values leftover arguments separator.

By default it is empty.

CFG_LINE_QUOTE_PREFIX  Command line quote prefix & postfix.

By default are apostrophes (') and quotations (") initlized for both.

CFG_LINE_QUOTE_POSTFIX  Array of strings which forces to stop command line parsing.

By default it is empty.

CFG_FILE_STOP_PREFIX  Array of strings prefixes which forces to stop config file parsing.

By default it is empty.

CFG_FILE_COMMENT_PREFIX  Array of string prefixes which mark comment line.

By default are "#" and ";" initialized.

CFG_FILE_MULTI_LINE_POSTFIX  Array of string postfixes to determine multi lines.

By default is "\\" initialized.

CFG_FILE_OPTION_ARG_SEPARATOR  Config file option argument separator.

By default is "=" initialized.

CFG_FILE_NORMAL_MULTI_VALS_SEPARATOR  Config file multi values separator.

By default are ",", ";" and " " initialized.

CFG_FILE_LEFTOVER_MULTI_VALS_SEPARATOR  Command line multi values leftover arguments separator.

By default is " " initialized.

CFG_FILE_QUOTE_PREFIX  Config file quote prefix & postfix.

By default are apostrophes (') and quotations (\") initlized for both.

CFG_FILE_QUOTE_POSTFIX  Array of strings which forces to stop command line parsing.

By default it is empty.

CFG_N_PROPS  Special properties count.
CFG_QUOTE  File quote prefix & postfix.
CFG_LINE_QUOTE  File quote prefix & postfix.
CFG_FILE_QUOTE  File quote prefix & postfix.
CFG_QUOTE_PREFIX  File quote prefix & postfix.
CFG_QUOTE_POSTFIX  File quote prefix & postfix.
CFG_MULTI_VALS_SEPARATOR  Multi values separator.
CFG_FILE_MULTI_VALS_SEPARATOR  File quote prefix & postfix.
CFG_LINE_MULTI_VALS_SEPARATOR  File quote prefix & postfix.
CFG_NORMAL_MULTI_VALS_SEPARATOR  File quote prefix & postfix.
CFG_LEFTOVER_MULTI_VALS_SEPARATOR  File quote prefix & postfix.
CFG_OPTION_ARG_SEPARATOR  Option argument separator.


Function Documentation

int cfg_add_properties const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str,
... 
 

Add multiple strings to particular properties.

Parameters:
con initialized context
type property type(s)
str string(s) for addition
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with typeN = CFG_EOT or strN = NULL. Use constructions like this:
cfg_add_properties(con, type1, str1, type2, str2, type3=CFG_EOT)

int cfg_add_properties_str const CFG_CONTEXT  con,
char *  str,
enum cfg_property_type  type,
... 
 

Add string to multiple properties.

Parameters:
con initialized context
str string for addition
type property type(s)
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with typeN = CFG_EOT. Use constructions like this:
cfg_add_properties(con, str, type1, type2, type3=CFG_EOT)

int cfg_add_properties_type const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str,
... 
 

Add multiple strings to one property.

Parameters:
con initialized context
type property type
str string(s) for addition
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with strN = NULL. Use constructions like this:
cfg_add_properties(con, type, str1, str2, str3=NULL)

int cfg_add_property const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str
 

Add string to property.

Parameters:
con initialized context
type property type
str string for addition
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type

void cfg_clear_context_flag const CFG_CONTEXT  con,
int  flag
 

Clear context flag.

Parameters:
con initialized context
flag context flag
Returns:
void

int cfg_clear_properties const CFG_CONTEXT  con,
enum cfg_property_type  type,
... 
 

Clear all strings of property.

Parameters:
con initialized context
type property type
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type

int cfg_clear_property const CFG_CONTEXT  con,
enum cfg_property_type  type
 

Clear all strings of property.

Parameters:
con initialized context
type property type
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type

void cfg_fprint_error const CFG_CONTEXT  con,
FILE *  fh
 

Print error string to stream.

Parameters:
con initialized context
fh stream opened for writting
Returns:
void

void cfg_free_context const CFG_CONTEXT  con  ) 
 

Destroy context.

Parameters:
con initialized context
Returns:
void

CFG_CONTEXT cfg_get_cfgfile_context long  begin_pos,
long  size,
char *  filename,
struct cfg_option options
 

Initialize configuration file context.

Parameters:
begin_pos starting position in file to parse
size maximal number of bytes/lines in file to parse (set value of -1 for infinite)
filename parsed filename
options pointer to options table
Returns:
initialized command line context

CFG_CONTEXT cfg_get_cmdline_context long  begin_pos,
long  size,
char **  argv,
struct cfg_option options
 

Initialize command line context.

Parameters:
begin_pos index of beginning argument of arguments array
size maximal number of array elements to parse (set value of -1 for infinite)
argv arguments array
options pointer to options table
Returns:
initialized command line context

CFG_CONTEXT cfg_get_cmdline_context_argc int  argc,
char **  argv,
struct cfg_option options
 

Initialize command line context by argc and argv passed to main().

Parameters:
argc argumet count (argc) passed to function main()
argv arguments array (argv) passed to function main()
options pointer to options table
Returns:
initialized command line context

CFG_CONTEXT cfg_get_context struct cfg_option options  ) 
 

Initialize core context.

Parameters:
options pointer to options table
Returns:
initialized core context; further specification to command line or config file is required

int cfg_get_context_flag const CFG_CONTEXT  con,
int  flag
 

Get context flag.

Parameters:
con initialized context
flag context flag
Returns:
0 on false, non-zero on true

int cfg_get_context_flags const CFG_CONTEXT  con  ) 
 

Get all context flags.

Parameters:
con initialized context
Returns:
all context flags

char* cfg_get_cur_arg const CFG_CONTEXT  con  ) 
 

Return currently processed option argument.

Parameters:
con initialized context
Returns:
pointer to current option argument

int cfg_get_cur_idx const CFG_CONTEXT  con  ) 
 

Return currently processed option index (argv index in command line context, file byte position or line position in config file context).

Parameters:
con initialized context
Returns:
index of current option

char* cfg_get_cur_opt const CFG_CONTEXT  con  ) 
 

Return currently processed option name.

Parameters:
con initialized context
Returns:
pointer to current option name

char* cfg_get_error_str const CFG_CONTEXT  con  ) 
 

Get error string; error string is dynamically allocated, it needs to be freed after use.

Parameters:
con initialized context
Returns:
dynamically allocated error string

int cfg_get_next_opt const CFG_CONTEXT  con  ) 
 

Parse next option(s) and return its value (if non-zero) or error code.

Parameters:
con initialized context
Returns:
next option val, code of error (CFG_ERROR_*) or CFG_OK on end
See also:
cfg_error

cfg_context

char* cfg_get_static_error_str const int  errorcode  ) 
 

Get static error string.

Parameters:
errorcode code of libcfg error
Returns:
static error string

int cfg_parse const CFG_CONTEXT  con  ) 
 

Parse context.

Parameters:
con initialized context
Returns:
code of error (CFG_ERROR_*) or CFG_OK if parsing was sucessfull
See also:
cfg_error

void cfg_print_error const CFG_CONTEXT  con  ) 
 

Print error string to stderr.

Parameters:
con initialized context
Returns:
void

int cfg_remove_properties const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str,
... 
 

Remove multiple strings from particular properties.

Parameters:
con initialized context
type property type(s)
str string(s) for removal
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with typeN = CFG_EOT or strN = NULL. Use constructions like this:
cfg_remove_properties(con, type1, str1, type2, str2, type3=CFG_EOT)

int cfg_remove_properties_str const CFG_CONTEXT  con,
char *  str,
enum cfg_property_type  type,
... 
 

Remove string from multiple properties.

Parameters:
con initialized context
str string for removal
type property type(s)
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with typeN = CFG_EOT. Use constructions like this:
cfg_remove_properties(con, str, type1, type2, type3=CFG_EOT)

int cfg_remove_properties_type const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str,
... 
 

Remove multiple strings from one property.

Parameters:
con initialized context
type property type
str string(s) for removal
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type
Argument list must be terminated with strN = NULL. Use constructions like this:
cfg_add_properties(con, type, str1, str2, str3=NULL)

int cfg_remove_property const CFG_CONTEXT  con,
enum cfg_property_type  type,
char *  str
 

Remove string from property.

Parameters:
con initialized context
type property type
str string for removal
Returns:
1 on success, 0 on not enough memory error
See also:
cfg_property_type

void cfg_reset_context const CFG_CONTEXT  con  ) 
 

Reinitialize popt context.

Parameters:
con initialized context
Returns:
void

void cfg_set_cfgfile_context const CFG_CONTEXT  con,
long  begin_pos,
long  size,
char *  filename
 

Set context to configuration file.

Parameters:
con initialized context
begin_pos starting position in file to parse
size maximal number of bytes/lines in file to parse (set value of -1 for infinite)
filename parsed filename
Returns:
void

void cfg_set_cmdline_context const CFG_CONTEXT  con,
long  begin_pos,
long  size,
char **  argv
 

Set context to command line.

Parameters:
con initialized context
begin_pos index of beginning argument of arguments array
size maximal number of array elements to parse (set value of -1 for infinite)
argv arguments array
Returns:
void

void cfg_set_cmdline_context_argc const CFG_CONTEXT  con,
int  argc,
char **  argv
 

Set context to command line by argc and argv passed to main().

Parameters:
con initialized context
argc argumet count (argc) passed to function main()
argv arguments array (argv) passed to function main()
Returns:
initialized command line context

void cfg_set_context_flag const CFG_CONTEXT  con,
int  flag
 

Set context flag.

Parameters:
con initialized context
flag context flag
Returns:
void

void cfg_set_context_flags const CFG_CONTEXT  con,
int  flags
 

Overwrite context flags.

Parameters:
con initialized context
flags context flags
Returns:
void


libcfg+ developer documentation generated by Doxygen