.TH LIBCONFIG 3 "25 Oct 04" "libconfig 0.1.16" .SH NAME libconfig \- Consistent configuration library. .SH SYNOPSIS .B #include .sp .BI "int lc_register_callback(const char *" var ", char " opt ", lc_var_type_t " type ", int (*" callback ")(const char *, const char *, const char *, const char *, lc_flags_t, void *), void *" extra ");" .BI "int lc_register_var(const char *" var ", lc_var_type_t " type ", void *" data ", char " opt ");" .BI "int lc_process(int " argc ", char **" argv ", const char *" appname ", lc_conf_type_t " type ", const char *" extra ");" .BI "lc_err_t lc_geterrno(void);" .BI "char *lc_geterrstr(void);" .SH DESCRIPTION Libconfig is a library to provide easy access to configuration data in a consistent and logical manner. Variables (registered through .BR lc_register_var (3) or .BR lc_register_callback (3)) are processed with the .BR lc_process (3) and .BR lc_process_file (3) functions. Errors can be examined through .BR lc_geterrno (3) and .BR lc_geterrstr (3). Clean-up may be performed using the .BR lc_cleanup (3) function. .SH EXAMPLE .nf #include #include #include 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); } .fi .SH "SEE ALSO" .BR lc_register_var (3), .BR lc_register_callback (3), .BR lc_geterr (3), .BR lc_geterrstr (3), .BR lc_cleanup (3), .BR lc_process (3), .BR lc_process_file (3)