#ifndef CONFIG_H
#define CONFIG_H
+#include<ac/string.h>
+
typedef struct ConfigTable {
char *name;
char *what;
#define ARG_STRING 0x00005000
#define ARG_BERVAL 0x00006000
#define ARG_DN 0x00007000
+#define ARG_UINT 0x00008000
#define ARGS_SYNTAX 0xffff0000
#define ARG_IGNORED 0x00080000
typedef int (ConfigDriver)(struct config_args_s *c);
+typedef struct config_reply_s {
+ int err;
+ char msg[SLAP_TEXT_BUFLEN];
+} ConfigReply;
+
typedef struct config_args_s {
int argc;
char **argv;
const char *fname;
int lineno;
char log[MAXPATHLEN + STRLENOF(": line 18446744073709551615") + 1];
- char msg[SLAP_TEXT_BUFLEN];
+#define cr_msg reply.msg
+ ConfigReply reply;
int depth;
int valx; /* multi-valued value index */
/* parsed first val for simple cases */
union {
int v_int;
+ unsigned v_uint;
long v_long;
ber_len_t v_ber_t;
char *v_string;
#define CONFIG_ONLINE_ADD(ca) (!((ca)->lineno))
#define value_int values.v_int
+#define value_uint values.v_uint
#define value_long values.v_long
#define value_ber_t values.v_ber_t
#define value_string values.v_string