Fix a format string pointer diff specifier.
[l2tpns.git] / l2tpns.h
index e6357b6..f38e9f3 100644 (file)
--- a/l2tpns.h
+++ b/l2tpns.h
@@ -234,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;
 
@@ -242,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;
 
@@ -617,6 +620,10 @@ struct Tstats
 #define SET_STAT(x, y)
 #endif
 
 #define SET_STAT(x, y)
 #endif
 
+#ifndef IFNAMSIZ
+# define IFNAMSIZ 16
+#endif
+
 typedef struct
 {
        int             debug;                          // debugging level
 typedef struct
 {
        int             debug;                          // debugging level
@@ -632,7 +639,7 @@ typedef struct
        int             reload_config;                  // flag to re-read config (set by cli)
        int             multi_read_count;               // amount of packets to read per fd in processing loop
 
        int             reload_config;                  // flag to re-read config (set by cli)
        int             multi_read_count;               // amount of packets to read per fd in processing loop
 
-       char            tundevice[10];                  // tun device name
+       char            tundevice[IFNAMSIZ];            // tun device name
        char            log_filename[128];
 
        char            l2tp_secret[64];                // L2TP shared secret
        char            log_filename[128];
 
        char            l2tp_secret[64];                // L2TP shared secret
@@ -729,6 +736,7 @@ typedef struct
                struct in_addr update_source;
        } neighbour[BGP_NUM_PEERS];
        in_addr_t       nexthop_address;
                struct in_addr update_source;
        } neighbour[BGP_NUM_PEERS];
        in_addr_t       nexthop_address;
+       struct in6_addr nexthop6_address;
 #endif
 } configt;
 
 #endif
 } configt;
 
@@ -902,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, ...);
@@ -940,6 +949,7 @@ struct event_data {
                FD_TYPE_DAE,
                FD_TYPE_RADIUS,
                FD_TYPE_BGP,
                FD_TYPE_DAE,
                FD_TYPE_RADIUS,
                FD_TYPE_BGP,
+               FD_TYPE_NETLINK,
        } type;
        int index; // for RADIUS, BGP
 };
        } type;
        int index; // for RADIUS, BGP
 };