--- /dev/null
+/*
+ * $Id: options.h,v 1.1 2004/11/14 07:26:26 paulus Exp $
+ *
+ * Copyright (C) 1996 Lars Fenneberg
+ *
+ * See the file COPYRIGHT for the respective terms and conditions.
+ * If the file is missing contact me at lf@elemental.net
+ * and I'll send you a copy.
+ *
+ */
+
+#define OPTION_LEN 64
+
+/* ids for different option types */
+#define OT_STR (1<<0) /* string */
+#define OT_INT (1<<1) /* integer */
+#define OT_SRV (1<<2) /* server list */
+#define OT_AUO (1<<3) /* authentication order */
+
+#define OT_ANY ((unsigned int)~0) /* used internally */
+
+/* status types */
+#define ST_UNDEF (1<<0) /* option is undefined */
+
+typedef struct _option {
+ char name[OPTION_LEN]; /* name of the option */
+ int type, status; /* type and status */
+ void *val; /* pointer to option value */
+} OPTION;
+
+static SERVER acctserver = {0};
+static SERVER authserver = {0};
+
+int default_tries = 4;
+int default_timeout = 60;
+
+static OPTION config_options[] = {
+/* internally used options */
+{"config_file", OT_STR, ST_UNDEF, NULL},
+/* General options */
+{"auth_order", OT_AUO, ST_UNDEF, NULL},
+{"login_tries", OT_INT, ST_UNDEF, &default_tries},
+{"login_timeout", OT_INT, ST_UNDEF, &default_timeout},
+{"nologin", OT_STR, ST_UNDEF, "/etc/nologin"},
+{"issue", OT_STR, ST_UNDEF, "/etc/radiusclient/issue"},
+/* RADIUS specific options */
+{"authserver", OT_SRV, ST_UNDEF, &authserver},
+{"acctserver", OT_SRV, ST_UNDEF, &acctserver},
+{"servers", OT_STR, ST_UNDEF, NULL},
+{"dictionary", OT_STR, ST_UNDEF, NULL},
+{"login_radius", OT_STR, ST_UNDEF, "/usr/sbin/login.radius"},
+{"seqfile", OT_STR, ST_UNDEF, NULL},
+{"mapfile", OT_STR, ST_UNDEF, NULL},
+{"default_realm", OT_STR, ST_UNDEF, NULL},
+{"radius_timeout", OT_INT, ST_UNDEF, NULL},
+{"radius_retries", OT_INT, ST_UNDEF, NULL},
+{"nas_identifier", OT_STR, ST_UNDEF, ""},
+/* local options */
+{"login_local", OT_STR, ST_UNDEF, NULL},
+};
+
+static int num_options = ((sizeof(config_options))/(sizeof(config_options[0])));