2 /* This header file transforms the Heimdal config_parse.c profile
3 * parser into an AFS profile parser, hiding the krb5-ness of the parser
18 #include <sys/types.h>
33 #define KRB5_BUFSIZ 1024
35 #define KRB5_LIB_FUNCTION static AFS_UNUSED
38 #define KRB5_DEPRECATED_FUNCTION(x)
40 /* This value shouldn't be hard coded */
41 #define KRB5_CONFIG_BADFORMAT (-1765328248L)
45 typedef struct cmd_config_binding krb5_config_binding;
46 typedef struct cmd_config_binding krb5_config_section;
48 #define krb5_config_list cmd_config_list
49 #define krb5_config_string cmd_config_string
51 struct krb5_context_data {
52 krb5_config_section *cf;
55 typedef struct krb5_context_data * krb5_context;
56 typedef int krb5_error_code;
57 typedef int krb5_boolean;
58 typedef time_t krb5_deltat;
60 static const void *_krb5_config_vget(krb5_context,
61 const krb5_config_section *, int,
63 static const void *_krb5_config_vget_next(krb5_context,
64 const krb5_config_section *,
65 const krb5_config_binding **,
67 static const char *krb5_config_vget_string(krb5_context,
68 const krb5_config_section *,
70 static const char *krb5_config_vget_string_default(krb5_context,
71 const krb5_config_section *,
74 static const krb5_config_binding * krb5_config_vget_list
75 (krb5_context, const krb5_config_section *, va_list);
76 static krb5_error_code krb5_config_parse_file_multi
77 (krb5_context, const char *, krb5_config_section **);
78 static krb5_error_code krb5_config_parse_file
79 (krb5_context, const char *, krb5_config_section **);
80 static krb5_error_code krb5_config_file_free
81 (krb5_context, krb5_config_section *);
82 static krb5_boolean krb5_config_vget_bool_default
83 (krb5_context, const krb5_config_section *, int, va_list);
84 static int krb5_config_vget_int_default
85 (krb5_context, const krb5_config_section *, int, va_list);
87 static krb5_error_code
88 krb5_string_to_deltat(const char *str, krb5_deltat *t) {
92 KRB5_LIB_FUNCTION void krb5_clear_error_message(krb5_context context) {
96 static void krb5_set_error_message(krb5_context context, krb5_error_code ret,
97 const char *fmt, ...) {
101 static int _krb5_homedir_access(krb5_context context) {
105 static krb5_error_code
106 krb5_abortx(krb5_context context, const char *fmt, ...)
111 vfprintf(stderr, fmt, ap);
120 cmd_RawConfigParseFileMulti(const char *fname, cmd_config_section **res) {
121 return krb5_config_parse_file_multi(NULL, fname, res);
125 cmd_RawConfigParseFile(const char *fname, cmd_config_section **res) {
126 return krb5_config_parse_file(NULL, fname, res);
130 cmd_RawConfigFileFree(cmd_config_section *s) {
131 return krb5_config_file_free(NULL, s);
135 cmd_RawConfigGetString(const cmd_config_section *c,
136 const char *defval, ...)
143 va_start(args, defval);
144 ret = krb5_config_vget_string_default (NULL, c, defval, args);
150 cmd_RawConfigGetBool(const cmd_config_section *c, int defval, ...)
157 va_start(ap, defval);
158 ret = krb5_config_vget_bool_default (NULL, c, defval, ap);
164 cmd_RawConfigGetInt(const cmd_config_section *c, int defval, ...)
171 va_start(ap, defval);
172 ret = krb5_config_vget_int_default (NULL, c, defval, ap);
177 const cmd_config_binding *
178 cmd_RawConfigGetList(const cmd_config_section *c, ...)
181 const cmd_config_binding *ret;
186 ret = krb5_config_vget_list (NULL, c, ap);