remove dead session fields
[l2tpns.git] / l2tpns.h
index 7478794..8014c78 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -1,5 +1,5 @@
 // L2TPNS Global Stuff
 // L2TPNS Global Stuff
-// $Id: l2tpns.h,v 1.58 2005-03-10 03:31:25 bodea Exp $
+// $Id: l2tpns.h,v 1.64 2005-04-18 05:32:16 bodea Exp $
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 
 #ifndef __L2TPNS_H__
 #define __L2TPNS_H__
 #define LIBDIR         "/usr/lib/l2tpns"
 #endif
 
 #define LIBDIR         "/usr/lib/l2tpns"
 #endif
 
-#ifndef STATEDIR
-#define STATEDIR       "/var/lib/l2tpns"
-#endif
-
 #ifndef PLUGINDIR
 #define PLUGINDIR      LIBDIR          // Plugins
 #endif
 #ifndef PLUGINDIR
 #define PLUGINDIR      LIBDIR          // Plugins
 #endif
 #define FLASHDIR       ETCDIR
 #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 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
 #define CONFIGFILE     FLASHDIR "/startup-config"      // Configuration file
 #define CLIUSERS       FLASHDIR "/users"               // CLI Users file
 #define IPPOOLFILE     FLASHDIR "/ip_pool"             // Address pool configuration
@@ -152,9 +143,6 @@ struct cli_tunnel_actions {
 
 #define CLI_TUN_KILL           0x01
 
 
 #define CLI_TUN_KILL           0x01
 
-// dump header: update number if internal format changes
-#define DUMP_MAGIC "L2TPNS#" VERSION "#"
-
 // structures
 typedef struct                 // route
 {
 // structures
 typedef struct                 // route
 {
@@ -178,7 +166,7 @@ typedef struct
        tunnelidt tunnel;               // near end tunnel ID
        in_addr_t ip;                   // IP of session set by RADIUS response (host byte order).
        int ip_pool_index;              // index to IP pool
        tunnelidt tunnel;               // near end tunnel ID
        in_addr_t ip;                   // IP of session set by RADIUS response (host byte order).
        int ip_pool_index;              // index to IP pool
-       unsigned long unique_id;        // unique session id
+       uint32_t unique_id;             // unique session id
        uint16_t nr;                    // next receive
        uint16_t ns;                    // next send
        uint32_t magic;                 // ppp magic number
        uint16_t nr;                    // next receive
        uint16_t ns;                    // next send
        uint32_t magic;                 // ppp magic number
@@ -186,7 +174,6 @@ typedef struct
        uint32_t pin, pout;             // packet counts
        uint32_t total_cin;             // This counter is never reset while a session is open
        uint32_t total_cout;            // This counter is never reset while a session is open
        uint32_t pin, pout;             // packet counts
        uint32_t total_cin;             // This counter is never reset while a session is open
        uint32_t total_cout;            // This counter is never reset while a session is open
-       uint32_t id;                    // session id
        uint16_t throttle_in;           // upstream throttle rate (kbps)
        uint16_t throttle_out;          // downstream throttle rate
        clockt opened;                  // when started
        uint16_t throttle_in;           // upstream throttle rate (kbps)
        uint16_t throttle_out;          // downstream throttle rate
        clockt opened;                  // when started
@@ -199,9 +186,8 @@ typedef struct
        uint16_t tbf_in;                // filter bucket for throttling in from the user.
        uint16_t tbf_out;               // filter bucket for throttling out to the user.
        uint8_t l2tp_flags;             // various bit flags from the ICCN on the l2tp tunnel.
        uint16_t tbf_in;                // filter bucket for throttling in from the user.
        uint16_t tbf_out;               // filter bucket for throttling out to the user.
        uint8_t l2tp_flags;             // various bit flags from the ICCN on the l2tp tunnel.
-       uint8_t reserved_old_snoop;     // No longer used - remove at some time
+       uint32_t flags;                 // Various session flags.
        uint8_t walled_garden;          // is this session gardened?
        uint8_t walled_garden;          // is this session gardened?
-       uint8_t flags1;                 // additional flags (currently unused);
        char random_vector[MAXTEL];
        int random_vector_length;
        char user[MAXUSER];             // user (needed in seesion for radius stop messages)
        char random_vector[MAXTEL];
        int random_vector_length;
        char user[MAXUSER];             // user (needed in seesion for radius stop messages)
@@ -209,10 +195,8 @@ typedef struct
        char calling[MAXTEL];           // calling number
        uint32_t tx_connect_speed;
        uint32_t rx_connect_speed;
        char calling[MAXTEL];           // calling number
        uint32_t tx_connect_speed;
        uint32_t rx_connect_speed;
-       uint32_t flags;                 // Various session flags.
        in_addr_t snoop_ip;             // Interception destination IP
        uint16_t snoop_port;            // Interception destination port
        in_addr_t snoop_ip;             // Interception destination IP
        uint16_t snoop_port;            // Interception destination port
-       uint16_t sid;                   // near end session id.
        uint8_t filter_in;              // input filter index (to ip_filters[N-1]; 0 if none)
        uint8_t filter_out;             // output filter index
        struct in6_addr ipv6route;      // Static IPv6 route
        uint8_t filter_in;              // input filter index (to ip_filters[N-1]; 0 if none)
        uint8_t filter_out;             // output filter index
        struct in6_addr ipv6route;      // Static IPv6 route
@@ -620,7 +604,7 @@ sessionidt sessionbyipv6(struct in6_addr ip);
 sessionidt sessionbyuser(char *username);
 void random_data(uint8_t *buf, int len);
 void sessionkill(sessionidt s, char *reason);
 sessionidt sessionbyuser(char *username);
 void random_data(uint8_t *buf, int len);
 void sessionkill(sessionidt s, char *reason);
-void sessionshutdown(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);
 void send_garp(in_addr_t ip);
 void tunnelsend(uint8_t *buf, uint16_t l, tunnelidt t);
 void sendipcp(tunnelidt t, sessionidt s);