LC_PROCESS

Section: C Library Functions (3)
Updated: 25 Oct 04
Index Return to Main Contents
 

NAME

lc_process - Begin processing configuration files.

 

SYNOPSIS

#include <libconfig.h>

int lc_process(int argc, char **argv, const char *appname, lc_conf_type_t type, const char *extra);

 

DESCRIPTION

The lc_process(3) function begins processing of the command line arguments, environment variables, and command line options. The argc and argv parameters should be in the same format as passed to the main function of your program. The appname parameter should be a reasonable form of the name of the application. The type parameter should describe the format of the configuration file (see below). The extra parameter should list any extra configuration files to process.

Valid type parameter values:

LC_CONF_SECTION
This type of configuration file is similar to the Windows INI-file style. An example configuration file:
        [section]
        variable = value

LC_CONF_APACHE
This type of configuration file is similar to the Apache configuration file. An example configuration file:
        <Section argument>
                variable value
        </Section>

LC_CONF_SPACE
This is a simple, flat configuration file. It has no section headers. An example configuration file:
        variable value

 

RETURN VALUE

On success 0 is returned, otherwise -1 is returned.

 

EXAMPLE

#include <libconfig.h>
#include <stdlib.h>
#include <stdio.h>

int main(int argc, char **argv) {
        int lc_p_ret, lc_rv_ret;
        char *filename = NULL;

        lc_rv_ret = lc_register_var("File", LC_VAR_STRING,
                                    &filename, 'f');
        if (lc_rv_ret != 0) {
                fprintf(stderr, "Error registering variable: %i.\n",
                        lc_geterrno());
                return(EXIT_FAILURE);
        }

        lc_p_ret = lc_process(argc, argv, "example", LC_CONF_APACHE,
                              NULL);

        lc_cleanup();

        if (lc_p_ret != 0) {
                fprintf(stderr, "Error processing configuration: \
                        %s\n", lc_geterrstr());
                return(EXIT_FAILURE);
        }

        if (filename != NULL) {
                printf("File specified was: %s\n", filename);
        } else {
                printf("No filename specified.\n");
        }

        return(EXIT_SUCCESS);
}

 

SEE ALSO

libconfig(3), lc_register_var(3), lc_register_callback(3), lc_geterrno(3), lc_geterrstr(3), lc_seterrstr(3), lc_handle_type(3), lc_process_file(3), lc_cleanup(3)


 

Index

NAME
SYNOPSIS
DESCRIPTION
RETURN VALUE
EXAMPLE
SEE ALSO

This document was created by man2html, using the manual pages.
Time: 20:11:49 GMT, November 24, 2014