10.2. configfile
— Configuration file (INI-file)¶
The INI file format is an informal standard for configuration files for some platforms or software. INI files are simple text files with a basic structure composed of sections, properties, and values.
More information on Wikipedia.
10.2.1. File format description¶
- Line terminators:
\n
,\r\n
or\n\r
. - Opening bracket (
[
) at the beginning of a line indicates a section. The section name is all characters until a closing bracket (]
). - A property line starts with its name, then a colon (
:
) or equal sign (=
), and then the value. - Semicolon (
;
) or number sign (#
) at the beginning of a line indicate a comment.
10.2.2. Example file¶
; last modified 1 April 2001 by John Doe
[owner]
name = John Doe
organization = Acme Widgets Inc.
[database]
; use IP address in case network name resolution is not working
server = 192.0.2.62
port = 143
file = "payroll.dat"
Source code: src/text/configfile.h, src/text/configfile.c
Test code: tst/text/configfile/main.c
Test coverage: src/text/configfile.c
Functions
-
int
configfile_init
(struct configfile_t *self_p, char *buf_p, size_t size)¶ Initialize given configuration file object.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Object to initialize.buf_p
: Configuration file contents as a NULL terminated string.size
: Size of the configuration file contents.
-
int
configfile_set
(struct configfile_t *self_p, const char *section_p, const char *property_p, const char *value_p)¶ Set the value of given property in given section.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized parser.section_p
: Section to set the property from.property_p
: Property to set the value for.value_p
: NULL terminated value to set.
-
char *
configfile_get
(struct configfile_t *self_p, const char *section_p, const char *property_p, char *value_p, int length)¶ Get the value of given property in given section.
- Return
- Value pointer or NULL on failure.
- Parameters
self_p
: Initialized parser.section_p
: Section to get the property from.property_p
: Property to get the value for.value_p
: Value of given property in given section.size
: Size of the value buffer.
-
int
configfile_get_long
(struct configfile_t *self_p, const char *section_p, const char *property_p, long *value_p)¶ Get the value of given property in given section, converted to an integer.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized parser.section_p
: Section to get the property from.property_p
: Property to get the value for.value_p
: Value of given property in given section.
-
int
configfile_get_float
(struct configfile_t *self_p, const char *section_p, const char *property_p, float *value_p)¶ Get the value of given property in given section, converted to a float.
- Return
- zero(0) or negative error code.
- Parameters
self_p
: Initialized parser.section_p
: Section to get the property from.property_p
: Property to get the value for.value_p
: Value of given property in given section.
- struct
- #include <configfile.h>