aboutsummaryrefslogtreecommitdiff
path: root/libpam_internal/include
diff options
context:
space:
mode:
Diffstat (limited to 'libpam_internal/include')
-rw-r--r--libpam_internal/include/pam_econf.h22
-rw-r--r--libpam_internal/include/pam_line.h26
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 */