diff options
Diffstat (limited to 'libpam_internal/include')
-rw-r--r-- | libpam_internal/include/pam_econf.h | 22 | ||||
-rw-r--r-- | libpam_internal/include/pam_line.h | 26 |
2 files changed, 48 insertions, 0 deletions
diff --git a/libpam_internal/include/pam_econf.h b/libpam_internal/include/pam_econf.h new file mode 100644 index 00000000..ebba659d --- /dev/null +++ b/libpam_internal/include/pam_econf.h @@ -0,0 +1,22 @@ +/* pam_econf.h -- routines to parse configuration files with libeconf */ + +#ifndef PAM_ECONF_H +#define PAM_ECONF_H + +#ifdef USE_ECONF + +#include <libeconf.h> + +econf_err pam_econf_readconfig(econf_file **key_file, + const char *usr_conf_dir, + const char *etc_conf_dir, + const char *config_name, + const char *config_suffix, + const char *delim, + const char *comment, + bool (*callback)(const char *filename, const void *data), + const void *callback_data); + +#endif /* USE_ECONF */ + +#endif /* PAM_ECONF_H */ diff --git a/libpam_internal/include/pam_line.h b/libpam_internal/include/pam_line.h new file mode 100644 index 00000000..70a5c483 --- /dev/null +++ b/libpam_internal/include/pam_line.h @@ -0,0 +1,26 @@ +/* pam_line.h -- routine to parse configuration lines */ + +#ifndef PAM_LINE_H +#define PAM_LINE_H + +#include "pam_inline.h" + +#include <stdlib.h> +#include <stdio.h> +#include <string.h> + +struct pam_line_buffer { + char *assembled; + char *chunk; + size_t chunk_size; + size_t len; + size_t size; +}; + +void _pam_line_buffer_clear(struct pam_line_buffer *buffer); + +void _pam_line_buffer_init(struct pam_line_buffer *buffer); + +int _pam_line_assemble(FILE *f, struct pam_line_buffer *buffer, char repl); + +#endif /* PAM_LINE_H */ |