Fix a format string pointer diff specifier.
[l2tpns.git] / l2tpns.h
index b9a0714..f38e9f3 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -38,6 +38,7 @@
 #define PPPoE_MRU      1492            // maximum PPPoE MRU (rfc2516: 1500 less PPPoE header (6) and PPP protocol ID (2))
 #define MAXETHER       (MAXMTU+18)     // max packet we try sending to tun
 #define MAXTEL         96              // telephone number
 #define PPPoE_MRU      1492            // maximum PPPoE MRU (rfc2516: 1500 less PPPoE header (6) and PPP protocol ID (2))
 #define MAXETHER       (MAXMTU+18)     // max packet we try sending to tun
 #define MAXTEL         96              // telephone number
+#define MAXHOSTNAME    256             // hostname
 #define MAXUSER                128             // username
 #define MAXPASS                128             // password
 #define MAXPLUGINS     20              // maximum number of plugins to load
 #define MAXUSER                128             // username
 #define MAXPASS                128             // password
 #define MAXPLUGINS     20              // maximum number of plugins to load
@@ -233,7 +234,7 @@ struct cli_tunnel_actions {
 typedef struct                 // route
 {
        in_addr_t ip;
 typedef struct                 // route
 {
        in_addr_t ip;
-       in_addr_t mask;
+       int prefixlen;
 }
 routet;
 
 }
 routet;
 
@@ -241,7 +242,10 @@ typedef struct controls            // control message
 {
        struct controls *next;  // next in queue
        uint16_t length;        // length
 {
        struct controls *next;  // next in queue
        uint16_t length;        // length
-       uint8_t buf[MAXCONTROL];
+       union {
+               uint8_t buf[MAXCONTROL];
+               uint16_t buf16[MAXCONTROL/2];
+       } __attribute__ ((__transparent_union__));
 }
 controlt;
 
 }
 controlt;
 
@@ -716,6 +720,8 @@ typedef struct
 
        int             cluster_master_min_adv;         // Master advertises routes while the number of up to date
                                                        // slaves is less than this value.
 
        int             cluster_master_min_adv;         // Master advertises routes while the number of up to date
                                                        // slaves is less than this value.
+       in_addr_t       cli_bind_address;               // bind address for CLI
+       char            hostname[MAXHOSTNAME];  // hostname (overridden by -h on command line)
        // Guest change
        char            guest_user[MAXUSER];            // Guest account username
 
        // Guest change
        char            guest_user[MAXUSER];            // Guest account username
 
@@ -727,7 +733,10 @@ typedef struct
                uint16_t as;
                int keepalive;
                int hold;
                uint16_t as;
                int keepalive;
                int hold;
+               struct in_addr update_source;
        } neighbour[BGP_NUM_PEERS];
        } neighbour[BGP_NUM_PEERS];
+       in_addr_t       nexthop_address;
+       struct in6_addr nexthop6_address;
 #endif
 } configt;
 
 #endif
 } configt;
 
@@ -901,7 +910,8 @@ void become_master(void);   // We're the master; kick off any required master init
 
 
 // cli.c
 
 
 // cli.c
-void init_cli(char *hostname);
+void init_cli();
+void cli_init_hostname(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, ...);