- Generalized config file parsing to support multiple configuration trees.
[tinc] / src / conf.h
index 9402090..39f9053 100644 (file)
@@ -17,7 +17,7 @@
     along with this program; if not, write to the Free Software
     Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 
-    $Id: conf.h,v 1.6.4.6 2000/08/07 14:52:14 guus Exp $
+    $Id: conf.h,v 1.6.4.10 2000/10/11 13:42:52 guus Exp $
 */
 
 #ifndef __TINC_CONF_H__
@@ -37,17 +37,24 @@ typedef union data_t {
 } data_t;
 
 typedef enum which_t {
-  passphrasesdir = 1,
-  upstreamip,
-  upstreamport,
-  listenport,
-  myvpnip,
-  tapdevice,
-  allowconnect,
+  tincname = 1,
+  connectto,
   pingtimeout,
+  tapdevice,
+  privatekey,
   keyexpire,
-  vpnmask,
   resolve_dns,
+  interface,
+  interfaceip,
+  configuration
+  address,
+  port,
+  publickey,
+  subnet,
+  restricthosts,
+  restrictsubnets,
+  restrictaddress,
+  restrictport,
   indirectdata,
   tcponly,
 } which_t;
@@ -59,6 +66,12 @@ typedef struct config_t {
   data_t data;
 } config_t;
 
+typedef struct internal_config_t {
+  char *name;
+  enum which_t which;
+  int argtype;
+} internal_config_t;
+
 enum {
   stupid_false = 1,
   stupid_true
@@ -82,5 +95,6 @@ extern config_t *add_config_val(config_t **, int, char *);
 extern int read_config_file(const char *);
 extern const config_t *get_config_val(which_t type);
 extern const config_t *get_next_config_val(which_t type, int);
+extern void clear_config();
 
 #endif /* __TINC_CONF_H__ */