make number of throttle buckets configurable
[l2tpns.git] / l2tpns.h
index d4c8ff7..d84be52 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.18 2004/09/19 23:26:46 fred_nerk Exp $
+// $Id: l2tpns.h,v 1.24 2004/10/29 04:01:11 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
@@ -15,7 +15,7 @@
 #include <sys/types.h>
 #include <libcli.h>
 
-#define VERSION        "2.0.1"
+#define VERSION        "2.0.2"
 
 // Limits
 #define MAXTUNNEL      500             // could be up to 65535
 #define BUSY_WAIT_TIMEOUT      3000    // 5 minutes in 1/10th seconds to wait for radius to cleanup on shutdown
 
 // Constants
-#include "config.h"
-#ifndef PLUGINDIR
-#define PLUGINDIR      LIBDIR                  // Plugins
+#ifndef ETCDIR
+#define ETCDIR         "/etc/l2tpns"
 #endif
 
-#ifndef PLUGINCONF
-#define PLUGINCONF     ETCDIR                  // Plugin config dir
+#ifndef LIBDIR
+#define LIBDIR         "/usr/lib/l2tpns"
 #endif
 
-#ifndef DATADIR
-#define DATADIR                "/tmp"
+#ifndef STATEDIR
+#define STATEDIR       "/var/lib/l2tpns"
+#endif
+
+#ifndef PLUGINDIR
+#define PLUGINDIR      LIBDIR          // Plugins
+#endif
+
+#ifndef PLUGINCONF
+#define PLUGINCONF     ETCDIR          // Plugin config dir
 #endif
 
 #ifndef FLASHDIR
 #define FLASHDIR       ETCDIR
 #endif
 
+#ifndef DATADIR
+#define DATADIR                STATEDIR
+#endif
+
 #define TUNDEVICE      "/dev/net/tun"
 #define STATEFILE      DATADIR "/state.dump"           // State dump file
 #define CONFIGFILE     FLASHDIR "/startup-config"      // Configuration file
@@ -408,7 +419,9 @@ struct configt
 
        ipt             default_dns1, default_dns2;
 
-       unsigned long   rl_rate;
+       unsigned long   rl_rate;                        // throttle rate
+       int             num_tbfs;                       // number of throttle buckets
+
        int             save_state;
        char            accounting_dir[128];
        ipt             bind_address;
@@ -448,7 +461,6 @@ struct configt
        char            bgp_peer[2][64];
        u16             bgp_peer_as[2];
 #endif
-       char            hostname[256];                  // our hostname - set to gethostname() by default
 };
 
 struct config_descriptt
@@ -456,7 +468,7 @@ struct config_descriptt
        char *key;
        int offset;
        int size;
-       enum { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IP } type;
+       enum { INT, STRING, UNSIGNED_LONG, SHORT, BOOL, IP, MAC } type;
 };
 
 // arp.c
@@ -503,7 +515,7 @@ clockt backoff(u8 try);
 void routeset(sessionidt, ipt ip, ipt mask, ipt gw, u8 add);
 void inittun(void);
 void initudp(void);
-void initdata(void);
+void initdata(int optdebug, char *optconfig);
 void initippool();
 sessionidt sessionbyip(ipt ip);
 sessionidt sessionbyuser(char *username);
@@ -547,7 +559,7 @@ int sessionsetup(tunnelidt t, sessionidt s);
 int cluster_send_session(int s);
 int cluster_send_tunnel(int t);
 int cluster_send_goodbye();
-void init_cli();
+void init_cli(char *hostname);
 void cli_do_file(FILE *fh);
 void cli_do(int sockfd);
 int cli_arg_help(struct cli_def *cli, int cr_ok, char *entry, ...);