merge
[l2tpns.git] / l2tpns.h
index 7ad7402..59e328b 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.20 2004/10/04 23:34:54 fred_nerk Exp $
+// $Id: l2tpns.h,v 1.25 2004/10/30 07:17:41 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 #define MAX_LOG_LENGTH 512             // Maximum size of log message
 #define ECHO_TIMEOUT   60              // Time between last packet sent and LCP ECHO generation
 #define IDLE_TIMEOUT   240             // Time between last packet sent and LCP ECHO generation
 #define MAX_LOG_LENGTH 512             // Maximum size of log message
 #define ECHO_TIMEOUT   60              // Time between last packet sent and LCP ECHO generation
 #define IDLE_TIMEOUT   240             // Time between last packet sent and LCP ECHO generation
-#define BUSY_WAIT_TIMEOUT      3000    // 5 minutes in 1/10th seconds to wait for radius to cleanup on shutdown
+#define BUSY_WAIT_TIME 3000            // 5 minutes in 1/10th seconds to wait for radius to cleanup on shutdown
 
 // Constants
 
 // Constants
-#include "config.h"
-#ifndef PLUGINDIR
-#define PLUGINDIR      LIBDIR                  // Plugins
+#ifndef ETCDIR
+#define ETCDIR         "/etc/l2tpns"
 #endif
 
 #endif
 
-#ifndef PLUGINCONF
-#define PLUGINCONF     ETCDIR                  // Plugin config dir
+#ifndef LIBDIR
+#define LIBDIR         "/usr/lib/l2tpns"
 #endif
 
 #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
 
 #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
 #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;
 
 
        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;
        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            bgp_peer[2][64];
        u16             bgp_peer_as[2];
 #endif
-       char            hostname[256];                  // our hostname - set to gethostname() by default
 };
 
 struct config_descriptt
 };
 
 struct config_descriptt
@@ -485,17 +497,6 @@ void radiusretry(u16 r);
 u16 radiusnew(sessionidt s);
 void radiusclear(u16 r, sessionidt s);
 
 u16 radiusnew(sessionidt s);
 void radiusclear(u16 r, sessionidt s);
 
-// throttle.c
-int throttle_session(sessionidt s, int throttle);
-
-
-// rl.c
-void init_rl();
-u16 rl_create_tbf();
-u16 rl_get_tbf();
-void rl_done_tbf(u16 t);
-void rl_destroy_tbf(u16 t);
-
 
 // l2tpns.c
 clockt now(void);
 
 // l2tpns.c
 clockt now(void);
@@ -503,7 +504,7 @@ clockt backoff(u8 try);
 void routeset(sessionidt, ipt ip, ipt mask, ipt gw, u8 add);
 void inittun(void);
 void initudp(void);
 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);
 void initippool();
 sessionidt sessionbyip(ipt ip);
 sessionidt sessionbyuser(char *username);
@@ -547,7 +548,7 @@ int sessionsetup(tunnelidt t, sessionidt s);
 int cluster_send_session(int s);
 int cluster_send_tunnel(int t);
 int cluster_send_goodbye();
 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, ...);
 void cli_do_file(FILE *fh);
 void cli_do(int sockfd);
 int cli_arg_help(struct cli_def *cli, int cr_ok, char *entry, ...);