Diff

Differences From Artifact [14e5602803]:

To Artifact [95fe0e123b]:


1
2
3
4
5
6
7
8
9
10
11
12
13












































14
15
16
17
18
19
20
.TH LC_PROCESS 3 "25 Oct 04" "@PACKAGE_STRING@"
.SH NAME
lc_process \- Begin processing configuration files.

.SH SYNOPSIS
.B #include <libconfig.h>
.sp
.BI "int lc_process(int " argc ", char **" argv ", const char *" appname ", lc_conf_type_t " type ", const char *" extra ");"

.SH DESCRIPTION
The
.BR lc_process (3)
function begins processing of the command line arguments, environment variables, and command line options.













































.SH "RETURN VALUE"
On success 0 is returned, otherwise -1 is returned.

.SH EXAMPLE
.nf
#include <libconfig.h>













>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>
>







1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
.TH LC_PROCESS 3 "25 Oct 04" "@PACKAGE_STRING@"
.SH NAME
lc_process \- Begin processing configuration files.

.SH SYNOPSIS
.B #include <libconfig.h>
.sp
.BI "int lc_process(int " argc ", char **" argv ", const char *" appname ", lc_conf_type_t " type ", const char *" extra ");"

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

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

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

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

.SH "RETURN VALUE"
On success 0 is returned, otherwise -1 is returned.

.SH EXAMPLE
.nf
#include <libconfig.h>
31
32
33
34
35
36
37



38
39
40
41
42
43
44
		fprintf(stderr, "Error registering variable: %i.\\n",
		        lc_geterrno());
		return(EXIT_FAILURE);
	}

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



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

	if (filename != NULL) {







>
>
>







75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
		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) {