more state_state removal
[l2tpns.git] / l2tpns.h
index 684df59..20ec1fe 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.54 2005/01/25 04:19:05 bodea Exp $
+// $Id: l2tpns.h,v 1.62 2005/04/18 04:18:15 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
@@ -19,7 +19,7 @@
 
 // Limits
 #define MAXTUNNEL      500             // could be up to 65535
-#define MAXSESSION     50000           // could be up to 65535
+#define MAXSESSION     60000           // could be up to 65535
 #define MAXTBFS                6000            // Maximum token bucket filters. Might need up to 2 * session.
 
 #define RADIUS_SHIFT   5
@@ -32,6 +32,8 @@
 #define        MAXCONTROL      1000            // max length control message we ever send...
 #define        MAXETHER        (1500+18)       // max packet we try sending to tun
 #define        MAXTEL          96              // telephone number
+#define MAXUSER                128             // username
+#define MAXPASS                128             // password
 #define MAXPLUGINS     20              // maximum number of plugins to load
 #define MAXRADSERVER   10              // max radius servers
 #define        MAXROUTE        10              // max static routes per session
 #define LIBDIR         "/usr/lib/l2tpns"
 #endif
 
-#ifndef STATEDIR
-#define STATEDIR       "/var/lib/l2tpns"
-#endif
-
 #ifndef PLUGINDIR
 #define PLUGINDIR      LIBDIR          // Plugins
 #endif
 #define FLASHDIR       ETCDIR
 #endif
 
-#ifndef DATADIR
-#define DATADIR                STATEDIR
-#endif
-
 #define TUNDEVICE      "/dev/net/tun"
 #define RANDOMDEVICE   "/dev/urandom"                  // default, not as secure as /dev/random but non-blocking
-#define STATEFILE      DATADIR "/state.dump"           // State dump file
 #define CONFIGFILE     FLASHDIR "/startup-config"      // Configuration file
 #define CLIUSERS       FLASHDIR "/users"               // CLI Users file
 #define IPPOOLFILE     FLASHDIR "/ip_pool"             // Address pool configuration
@@ -150,9 +143,6 @@ struct cli_tunnel_actions {
 
 #define CLI_TUN_KILL           0x01
 
-// dump header: update number if internal format changes
-#define DUMP_MAGIC "L2TPNS#" VERSION "#"
-
 // structures
 typedef struct                 // route
 {
@@ -202,7 +192,7 @@ typedef struct
        uint8_t flags1;                 // additional flags (currently unused);
        char random_vector[MAXTEL];
        int random_vector_length;
-       char user[129];                 // user (needed in seesion for radius stop messages) (can we reduce this? --mo)
+       char user[MAXUSER];             // user (needed in seesion for radius stop messages)
        char called[MAXTEL];            // called number
        char calling[MAXTEL];           // calling number
        uint32_t tx_connect_speed;
@@ -470,7 +460,6 @@ typedef struct
        unsigned long   rl_rate;                        // default throttle rate
        int             num_tbfs;                       // number of throttle buckets
 
-       int             save_state;
        char            accounting_dir[128];
        in_addr_t       bind_address;
        in_addr_t       peer_address;
@@ -618,7 +607,8 @@ sessionidt sessionbyip(in_addr_t ip);
 sessionidt sessionbyipv6(struct in6_addr ip);
 sessionidt sessionbyuser(char *username);
 void random_data(uint8_t *buf, int len);
-void sessionshutdown(sessionidt s, char *reason);
+void sessionkill(sessionidt s, char *reason);
+void sessionshutdown(sessionidt s, char *reason, int result, int error);
 void send_garp(in_addr_t ip);
 void tunnelsend(uint8_t *buf, uint16_t l, tunnelidt t);
 void sendipcp(tunnelidt t, sessionidt s);