libeconf 0.5.1
|
Public API for the econf library. More...
#include <stdbool.h>
#include <stdint.h>
#include <stdlib.h>
#include <sys/types.h>
Go to the source code of this file.
Macros | |
#define | econf_setValue(kf, group, key, value) |
Generic macro calls setter function depending on value type. More... | |
#define | econf_free(value) |
Generic macro to free memory allocated by econf_ functions. More... | |
Typedefs | |
typedef enum econf_err | econf_err |
typedef struct econf_file | econf_file |
Enumerations | |
enum | econf_err { ECONF_SUCCESS = 0 , ECONF_ERROR = 1 , ECONF_NOMEM = 2 , ECONF_NOFILE = 3 , ECONF_NOGROUP = 4 , ECONF_NOKEY = 5 , ECONF_EMPTYKEY = 6 , ECONF_WRITEERROR = 7 , ECONF_PARSE_ERROR = 8 , ECONF_MISSING_BRACKET = 9 , ECONF_MISSING_DELIMITER = 10 , ECONF_EMPTY_SECTION_NAME = 11 , ECONF_TEXT_AFTER_SECTION = 12 , ECONF_FILE_LIST_IS_NULL = 13 , ECONF_WRONG_BOOLEAN_VALUE = 14 , ECONF_KEY_HAS_NULL_VALUE = 15 , ECONF_WRONG_OWNER = 16 , ECONF_WRONG_GROUP = 17 , ECONF_WRONG_FILE_PERMISSION = 18 , ECONF_WRONG_DIR_PERMISSION = 19 , ECONF_ERROR_FILE_IS_SYM_LINK = 20 , ECONF_PARSING_CALLBACK_FAILED = 21 } |
libeconf error codes More... | |
Functions | |
econf_err | econf_readFile (econf_file **result, const char *file_name, const char *delim, const char *comment) |
Process the file of the given file_name and save its contents into key_file object. More... | |
econf_err | econf_readFileWithCallback (econf_file **result, const char *file_name, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data) |
Process the file of the given file_name and save its contents into key_file object. More... | |
econf_err | econf_mergeFiles (econf_file **merged_file, econf_file *usr_file, econf_file *etc_file) |
Merge the contents of two key_files objects. More... | |
econf_err | econf_readDirs (econf_file **key_file, const char *usr_conf_dir, const char *etc_conf_dir, const char *project_name, const char *config_suffix, const char *delim, const char *comment) |
Evaluating key/values of a given configuration by reading and merging all needed/available files in two different directories (normally in /usr/etc and /etc). More... | |
econf_err | econf_readDirsWithCallback (econf_file **key_file, const char *usr_conf_dir, const char *etc_conf_dir, const char *project_name, const char *config_suffix, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc). More... | |
econf_err | econf_readDirsHistory (econf_file ***key_files, size_t *size, const char *usr_conf_dir, const char *etc_conf_dir, const char *project_name, const char *config_suffix, const char *delim, const char *comment) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc). More... | |
econf_err | econf_readDirsHistoryWithCallback (econf_file ***key_files, size_t *size, const char *usr_conf_dir, const char *etc_conf_dir, const char *project_name, const char *config_suffix, const char *delim, const char *comment, bool(*callback)(const char *filename, const void *data), const void *callback_data) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc). More... | |
econf_err | econf_newKeyFile (econf_file **result, char delimiter, char comment) |
Create a new econf_file object. More... | |
econf_err | econf_newIniFile (econf_file **result) |
Create a new econf_file object in IniFile format. More... | |
char | econf_comment_tag (econf_file *key_file) |
Returns the comment character tag of the given econf_file object. More... | |
char | econf_delimiter_tag (econf_file *key_file) |
Returns the delimiter character of the given econf_file object. More... | |
void | econf_set_comment_tag (econf_file *key_file, const char comment) |
Set the comment character tag of the given econf_file object. More... | |
void | econf_set_delimiter_tag (econf_file *key_file, const char delimiter) |
Set the delimiter character of the given econf_file object. More... | |
econf_err | econf_writeFile (econf_file *key_file, const char *save_to_dir, const char *file_name) |
Write content of a econf_file struct to specified location. More... | |
char * | econf_getPath (econf_file *kf) |
Evaluating path name. More... | |
econf_err | econf_getGroups (econf_file *kf, size_t *length, char ***groups) |
Evaluating all group entries. More... | |
econf_err | econf_getKeys (econf_file *kf, const char *group, size_t *length, char ***keys) |
Evaluating all keys. More... | |
econf_err | econf_getIntValue (econf_file *kf, const char *group, const char *key, int32_t *result) |
Evaluating int32 value for given group/key. More... | |
econf_err | econf_getInt64Value (econf_file *kf, const char *group, const char *key, int64_t *result) |
Evaluating int64 value for given group/key. More... | |
econf_err | econf_getUIntValue (econf_file *kf, const char *group, const char *key, uint32_t *result) |
Evaluating uint32 value for given group/key. More... | |
econf_err | econf_getUInt64Value (econf_file *kf, const char *group, const char *key, uint64_t *result) |
Evaluating uint64 value for given group/key. More... | |
econf_err | econf_getFloatValue (econf_file *kf, const char *group, const char *key, float *result) |
Evaluating float value for given group/key. More... | |
econf_err | econf_getDoubleValue (econf_file *kf, const char *group, const char *key, double *result) |
Evaluating double value for given group/key. More... | |
econf_err | econf_getStringValue (econf_file *kf, const char *group, const char *key, char **result) |
Evaluating string value for given group/key. More... | |
econf_err | econf_getBoolValue (econf_file *kf, const char *group, const char *key, bool *result) |
Evaluating bool value for given group/key. More... | |
econf_err | econf_getIntValueDef (econf_file *kf, const char *group, const char *key, int32_t *result, int32_t def) |
Evaluating int32 value for given group/key. More... | |
econf_err | econf_getInt64ValueDef (econf_file *kf, const char *group, const char *key, int64_t *result, int64_t def) |
Evaluating int64 value for given group/key. More... | |
econf_err | econf_getUIntValueDef (econf_file *kf, const char *group, const char *key, uint32_t *result, uint32_t def) |
Evaluating uint32 value for given group/key. More... | |
econf_err | econf_getUInt64ValueDef (econf_file *kf, const char *group, const char *key, uint64_t *result, uint64_t def) |
Evaluating uint64 value for given group/key. More... | |
econf_err | econf_getFloatValueDef (econf_file *kf, const char *group, const char *key, float *result, float def) |
Evaluating float value for given group/key. More... | |
econf_err | econf_getDoubleValueDef (econf_file *kf, const char *group, const char *key, double *result, double def) |
Evaluating double value for given group/key. More... | |
econf_err | econf_getStringValueDef (econf_file *kf, const char *group, const char *key, char **result, char *def) |
Evaluating string value for given group/key. More... | |
econf_err | econf_getBoolValueDef (econf_file *kf, const char *group, const char *key, bool *result, bool def) |
Evaluating bool value for given group/key. More... | |
econf_err | econf_setIntValue (econf_file *kf, const char *group, const char *key, int32_t value) |
Set int32 value for given group/key. More... | |
econf_err | econf_setInt64Value (econf_file *kf, const char *group, const char *key, int64_t value) |
Set int64 value for given group/key. More... | |
econf_err | econf_setUIntValue (econf_file *kf, const char *group, const char *key, uint32_t value) |
Set uint32 value for given group/key. More... | |
econf_err | econf_setUInt64Value (econf_file *kf, const char *group, const char *key, uint64_t value) |
Set uint64 value for given group/key. More... | |
econf_err | econf_setFloatValue (econf_file *kf, const char *group, const char *key, float value) |
Set float value for given group/key. More... | |
econf_err | econf_setDoubleValue (econf_file *kf, const char *group, const char *key, double value) |
Set double value for given group/key. More... | |
econf_err | econf_setStringValue (econf_file *kf, const char *group, const char *key, const char *value) |
Set string value for given group/key. More... | |
econf_err | econf_setBoolValue (econf_file *kf, const char *group, const char *key, const char *value) |
Set bool value for given group/key. More... | |
const char * | econf_errString (const econf_err error) |
Convert an econf_err type to a string. More... | |
void | econf_errLocation (char **filename, uint64_t *line_nr) |
Info about where the error has happened. More... | |
void | econf_freeArray (char **array) |
Free an array of type char** created by econf_getGroups() or econf_getKeys(). More... | |
void | econf_freeFile (econf_file *key_file) |
Free memory allocated by e.g. More... | |
void | __attribute__ ((deprecated("use one of econf_read*WithCallback instead"))) econf_requireOwner(uid_t owner) |
All parsed files require this user permission. More... | |
Variables | |
void mode_t | dir_perms |
Public API for the econf library.
Definition in file libeconf.h.
#define econf_setValue | ( | kf, | |
group, | |||
key, | |||
value | |||
) |
Generic macro calls setter function depending on value type.
Use: econf_setValue(econf_file *key_file, char *group, char *key, generic value);
Replace generic with one of the supported value types. Supported Types: int, long, unsigned int, unsigned long, float, double, string (as *char). Note: Does not detect "yes", "no", 1 and 0 as boolean type. If you want to set a bool value use "true" or "false" or use setBoolValue() directly.
Definition at line 100 of file libeconf.h.
#define econf_free | ( | value | ) |
Generic macro to free memory allocated by econf_ functions.
Use: econf_free(generic value);
Replace generic with one of the supported value types. Supported Types: char** and econf_file*.
Definition at line 117 of file libeconf.h.
Definition at line 88 of file libeconf.h.
typedef struct econf_file econf_file |
Definition at line 123 of file libeconf.h.
enum econf_err |
libeconf error codes
Definition at line 41 of file libeconf.h.
econf_err econf_readFile | ( | econf_file ** | result, |
const char * | file_name, | ||
const char * | delim, | ||
const char * | comment | ||
) |
Process the file of the given file_name and save its contents into key_file object.
result | content of parsed file |
file_name | absolute path of parsed file |
delim | delimiters of key/value e.g. "\t =". If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
Usage:
Default behaviour if entries have the same name in one file: The first hit will be returned. Further entries will be ignored. This can be changed by setting the environment variable ECONF_JOIN_SAME_ENTRIES. In that case entries with the same name will be joined to one single entry.
econf_err econf_readFileWithCallback | ( | econf_file ** | result, |
const char * | file_name, | ||
const char * | delim, | ||
const char * | comment, | ||
bool(*)(const char *filename, const void *data) | callback, | ||
const void * | callback_data | ||
) |
Process the file of the given file_name and save its contents into key_file object.
The user defined function will be called in order e.g. to check the correct file permissions.
result | content of parsed file |
file_name | absolute path of parsed file |
delim | delimiters of key/value e.g. "\t =". If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
callback | function which will be called for the given filename. This user defined function has the pathname as paramter and returns true if this file can be parsed. If not, the parsing will be aborted and ECONF_PARSING_CALLBACK_FAILED will be returned. |
callback_data | pointer which will be given to the callback function. |
Usage:
Default behaviour if entries have the same name in one file: The first hit will be returned. Further entries will be ignored. This can be changed by setting the environment variable ECONF_JOIN_SAME_ENTRIES. In that case entries with the same name will be joined to one single entry.
econf_err econf_mergeFiles | ( | econf_file ** | merged_file, |
econf_file * | usr_file, | ||
econf_file * | etc_file | ||
) |
Merge the contents of two key_files objects.
Entries in etc_file will be prefered. Comment and delimiter tag will be taken from usr_file. This can be changed by calling the functions econf_set_comment_tag and econf_set_delimiter_tag.
merged_file | merged data |
usr_file | First data block which has to be merged. |
etc_file | Second data block which has to be merged. |
Usage:
econf_err econf_readDirs | ( | econf_file ** | key_file, |
const char * | usr_conf_dir, | ||
const char * | etc_conf_dir, | ||
const char * | project_name, | ||
const char * | config_suffix, | ||
const char * | delim, | ||
const char * | comment | ||
) |
Evaluating key/values of a given configuration by reading and merging all needed/available files in two different directories (normally in /usr/etc and /etc).
key_file | content of parsed file(s) |
usr_conf_dir | absolute path of the first directory (normally "/usr/etc") |
etc_conf_dir | absolute path of the second directory (normally "/etc") |
project_name | basename of the configuration file |
config_suffix | suffix of the configuration file. Can also be NULL. |
delim | delimiters of key/value e.g. "\t =" If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
Example: Reading content of example.conf in /usr/etc and /etc directory.
econf_err econf_readDirsWithCallback | ( | econf_file ** | key_file, |
const char * | usr_conf_dir, | ||
const char * | etc_conf_dir, | ||
const char * | project_name, | ||
const char * | config_suffix, | ||
const char * | delim, | ||
const char * | comment, | ||
bool(*)(const char *filename, const void *data) | callback, | ||
const void * | callback_data | ||
) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc).
For each parsed file the user defined function will be called in order e.g. to check the correct file permissions.
key_files | list of parsed file(s). Each entry includes all key/value, path, comments,... information of the regarding file. |
size | Size of the evaluated key_files list. |
usr_conf_dir | absolute path of the first directory (normally "/usr/etc") |
etc_conf_dir | absolute path of the second directory (normally "/etc") |
project_name | basename of the configuration file |
config_suffix | suffix of the configuration file. Can also be NULL. |
delim | delimiters of key/value e.g. "\t =" If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
callback | function which will be called for each file. This user defined function has the pathname as paramter and returns true if this file can be parsed. If not, the parsing of all files will be aborted and ECONF_PARSING_CALLBACK_FAILED will be returned. |
callback_data | pointer which will be given to the callback function. |
Example: Reading content of example.conf in /usr/etc and /etc directory.
econf_err econf_readDirsHistory | ( | econf_file *** | key_files, |
size_t * | size, | ||
const char * | usr_conf_dir, | ||
const char * | etc_conf_dir, | ||
const char * | project_name, | ||
const char * | config_suffix, | ||
const char * | delim, | ||
const char * | comment | ||
) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc).
Returns a list of read configuration files and their values.
key_files | list of parsed file(s). Each entry includes all key/value, path, comments,... information of the regarding file. |
size | Size of the evaluated key_files list. |
usr_conf_dir | absolute path of the first directory (normally "/usr/etc") |
etc_conf_dir | absolute path of the second directory (normally "/etc") |
project_name | basename of the configuration file |
config_suffix | suffix of the configuration file. Can also be NULL. |
delim | delimiters of key/value e.g. "\t =" If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
econf_err econf_readDirsHistoryWithCallback | ( | econf_file *** | key_files, |
size_t * | size, | ||
const char * | usr_conf_dir, | ||
const char * | etc_conf_dir, | ||
const char * | project_name, | ||
const char * | config_suffix, | ||
const char * | delim, | ||
const char * | comment, | ||
bool(*)(const char *filename, const void *data) | callback, | ||
const void * | callback_data | ||
) |
Evaluating key/values for every given configuration files in two different directories (normally in /usr/etc and /etc).
For each parsed file the user defined function will be called in order e.g. to check the correct file permissions. Returns a list of read configuration files and their values.
key_files | list of parsed file(s). Each entry includes all key/value, path, comments,... information of the regarding file. |
size | Size of the evaluated key_files list. |
usr_conf_dir | absolute path of the first directory (normally "/usr/etc") |
etc_conf_dir | absolute path of the second directory (normally "/etc") |
project_name | basename of the configuration file |
config_suffix | suffix of the configuration file. Can also be NULL. |
delim | delimiters of key/value e.g. "\t =" If delim contains space characters AND none space characters, multiline values are not parseable. |
comment | array of characters which define the start of a comment |
callback | function which will be called for each file. This user defined function has the pathname as paramter and returns true if this file can be parsed. If not, the parsing of all files will be aborted and ECONF_PARSING_CALLBACK_FAILED will be returned. |
callback_data | pointer which will be given to the callback function. |
econf_err econf_newKeyFile | ( | econf_file ** | result, |
char | delimiter, | ||
char | comment | ||
) |
Create a new econf_file object.
result | Pointer to the allocated econf_file object. |
delimiter | delimiter of key/value e.g. "=" |
comment | Character which defines the start of a comment. |
Default behaviour if entries have the same name in one file: The first hit will be returned. Further entries will be ignored. This can be changed by setting the environment variable ECONF_JOIN_SAME_ENTRIES. In that case entries with the same name will be joined to one single entry.
econf_err econf_newIniFile | ( | econf_file ** | result | ) |
Create a new econf_file object in IniFile format.
So the delimiter will be "=" and comments are beginning with "#".
result | Pointer to the allocated econf_file object. |
char econf_comment_tag | ( | econf_file * | key_file | ) |
Returns the comment character tag of the given econf_file object.
This tag will be taken while writing comments to file.
key_file | econf_file object. |
char econf_delimiter_tag | ( | econf_file * | key_file | ) |
Returns the delimiter character of the given econf_file object.
This delimiter will be taken while writing the data to file.
key_file | econf_file object. |
void econf_set_comment_tag | ( | econf_file * | key_file, |
const char | comment | ||
) |
Set the comment character tag of the given econf_file object.
This tag will be taken while writing comments to file.
key_file | econf_file object. |
comment | comment tag |
void econf_set_delimiter_tag | ( | econf_file * | key_file, |
const char | delimiter | ||
) |
Set the delimiter character of the given econf_file object.
This delimiter will be taken while writing the data to file.
key_file | econf_file object. |
delimiter | delimiter of key/value |
econf_err econf_writeFile | ( | econf_file * | key_file, |
const char * | save_to_dir, | ||
const char * | file_name | ||
) |
Write content of a econf_file struct to specified location.
key_file | Data which has to be written. |
save_to_dir | Directory into which the file has to be written. |
file_name | filename (with suffix) |
char * econf_getPath | ( | econf_file * | kf | ) |
Evaluating path name.
kf | given/parsed data |
econf_err econf_getGroups | ( | econf_file * | kf, |
size_t * | length, | ||
char *** | groups | ||
) |
Evaluating all group entries.
kf | given/parsed data |
length | Length of the returned group array. |
groups | String array of evaluated groups. |
econf_err econf_getKeys | ( | econf_file * | kf, |
const char * | group, | ||
size_t * | length, | ||
char *** | keys | ||
) |
Evaluating all keys.
kf | given/parsed data |
group | Group name for which the keys have to be evaluated or NULL for all keys. |
length | Length of the returned key array. |
keys | String array of evaluated keys. |
econf_err econf_getIntValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int32_t * | result | ||
) |
Evaluating int32 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getInt64Value | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int64_t * | result | ||
) |
Evaluating int64 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getUIntValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint32_t * | result | ||
) |
Evaluating uint32 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getUInt64Value | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint64_t * | result | ||
) |
Evaluating uint64 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getFloatValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
float * | result | ||
) |
Evaluating float value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getDoubleValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
double * | result | ||
) |
Evaluating double value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getStringValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
char ** | result | ||
) |
Evaluating string value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | A newly allocated string or NULL in error case. |
econf_err econf_getBoolValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
bool * | result | ||
) |
Evaluating bool value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
econf_err econf_getIntValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int32_t * | result, | ||
int32_t | def | ||
) |
Evaluating int32 value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getInt64ValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int64_t * | result, | ||
int64_t | def | ||
) |
Evaluating int64 value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getUIntValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint32_t * | result, | ||
uint32_t | def | ||
) |
Evaluating uint32 value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getUInt64ValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint64_t * | result, | ||
uint64_t | def | ||
) |
Evaluating uint64 value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getFloatValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
float * | result, | ||
float | def | ||
) |
Evaluating float value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getDoubleValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
double * | result, | ||
double | def | ||
) |
Evaluating double value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_getStringValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
char ** | result, | ||
char * | def | ||
) |
Evaluating string value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | Returns a newly allocated string, even if "default" is returned. |
def | Default value if the value has not been found. |
econf_err econf_getBoolValueDef | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
bool * | result, | ||
bool | def | ||
) |
Evaluating bool value for given group/key.
If key is not found, the default value is returned and error is ECONF_NOKEY.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value is requested. |
result | determined value |
def | Default value if the value has not been found. |
econf_err econf_setIntValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int32_t | value | ||
) |
Set int32 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setInt64Value | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
int64_t | value | ||
) |
Set int64 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setUIntValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint32_t | value | ||
) |
Set uint32 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setUInt64Value | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
uint64_t | value | ||
) |
Set uint64 value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setFloatValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
float | value | ||
) |
Set float value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setDoubleValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
double | value | ||
) |
Set double value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setStringValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
const char * | value | ||
) |
Set string value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
econf_err econf_setBoolValue | ( | econf_file * | kf, |
const char * | group, | ||
const char * | key, | ||
const char * | value | ||
) |
Set bool value for given group/key.
kf | given/parsed data |
group | Desired group or NULL if there is no group defined. |
key | Key for which the value has to be set. |
value | Value which has to be set. |
const char * econf_errString | ( | const econf_err | error | ) |
Convert an econf_err type to a string.
error | error enum |
void econf_errLocation | ( | char ** | filename, |
uint64_t * | line_nr | ||
) |
Info about where the error has happened.
filename | Path of the last scanned file. |
line_nr | Number of the last handled line. |
void econf_freeArray | ( | char ** | array | ) |
Free an array of type char** created by econf_getGroups() or econf_getKeys().
array | array of strings |
void econf_freeFile | ( | econf_file * | key_file | ) |
Free memory allocated by e.g.
econf_readFile(), econf_readDirs(),...
key_file | allocated data |
void __attribute__ | ( | (deprecated("use one of econf_read*WithCallback instead")) | ) |
All parsed files require this user permission.
Reset all UID, GID, permissions,... restrictions for parsed files/dirs.
Allowing the parser to follow sym links (default: true).
All parsed file have to have these file and directory permissions.
All parsed files require this group permission.
DEPRECATED: Use the callback in econf_readFileWithCallback, econf_readDirsWithCallback or econf_readDirsHistoryWithCallback instead.
owner | User ID |
DEPRECATED: Use the callback in econf_readFileWithCallback, econf_readDirsWithCallback or econf_readDirsHistoryWithCallback instead.
group | Group ID |
DEPRECATED: Use the callback in econf_readFileWithCallback, econf_readDirsWithCallback or econf_readDirsHistoryWithCallback instead.
file_perms | file permissions |
dir_perms | dir permissions |
DEPRECATED: Use the callback in econf_readFileWithCallback, econf_readDirsWithCallback or econf_readDirsHistoryWithCallback instead.
allow | allow to follow sym links. |
DEPRECATED: Use the callback in econf_readFileWithCallback, econf_readDirsWithCallback or econf_readDirsHistoryWithCallback instead.
void mode_t dir_perms |
Definition at line 852 of file libeconf.h.