.TH LC_PROCESS_FILE 3 "25 Oct 04" "@PACKAGE_STRING@"
.SH NAME
lc_process_file \- Process a specific file

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

.SH DESCRIPTION
The
.BR lc_process_file (3)
function processes exactly one configuration file.  The file is specified by the
.I pathname
argument and should be in the format specified by the
.I type
argument.  The
.I appname
argument should be a reasonable form of the name of the application.

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

.SH EXAMPLE
.nf
#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_file("example", "/data/extra.conf",
	                           LC_CONF_APACHE);

	lc_cleanup();

	if (lc_p_ret != 0) {
		fprintf(stderr, "Error processing configuration file: \\
		        %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);
}
.fi

.SH "SEE ALSO"
.BR lc_register_var (3),
.BR lc_register_callback (3),
.BR lc_geterrno (3),
.BR lc_geterrstr (3),
.BR lc_cleanup (3),
.BR lc_process (3)
