ADDED lc_handle_type.3.in Index: lc_handle_type.3.in ================================================================== --- /dev/null +++ lc_handle_type.3.in @@ -0,0 +1,85 @@ +.TH LIBCONFIG 3 "25 Oct 04" "@PACKAGE_STRING@" +.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);" + +.BI "void lc_geterrstr(const char *" errstr ");" + +.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_seterrstr (3), +.BR lc_cleanup (3), +.BR lc_process (3), +.BR lc_process_file (3)