--- a/tp_as.c +++ b/tp_as.c @@ -50,6 +50,7 @@ static char * ra_service; static struct hostent * ra_hostent; static struct servent * ra_servent; +char as_string[1024]; int setup_as ( void ) { --- a/tp_as.h +++ b/tp_as.h @@ -33,7 +33,7 @@ #ifndef TP_AS_H #define TP_AS_H 1 -char as_string[1024]; +extern char as_string[1024]; /*! Initialisation function for AS lookups; returns 0 iff successful. */ int setup_as(void); --- a/tp_miscfunc.c +++ b/tp_miscfunc.c @@ -52,6 +52,8 @@ #include #endif /* HAVE_LIBDMALLOC */ +struct cleanup tixe_cleanup; + /* * take a comma separated list (sans spaces) and give them a miss * (ie don't send probes with the ttl set to these numbers) --- a/tp_miscfunc.h +++ b/tp_miscfunc.h @@ -32,7 +32,8 @@ struct cleanup { unsigned int libnet_cleanup : 1; unsigned int pcap_cleanup : 1; unsigned int addrinfo_cleanup : 1; -} tixe_cleanup; +}; +extern struct cleanup tixe_cleanup; int parse_skips ( char * ); --- a/traceproto.c +++ b/traceproto.c @@ -55,6 +55,12 @@ #include #endif /* HAVE_LIBDMALLOC */ +struct tp_align_ref tp_align_freelist; +struct behavior behavior; +struct packet packet; +struct state state; +struct debug debug; + int main( int argc, char * argv[] ) { --- a/traceproto.h +++ b/traceproto.h @@ -104,9 +104,10 @@ enum tp_tstamps { struct tp_align_ref { struct tp_align_ref * next; u_char * ref; -} tp_align_freelist; +}; +extern struct tp_align_ref tp_align_freelist; -struct { +struct behavior { unsigned int continuous : 1; unsigned int continuous_accounting : 1; unsigned int do_skip : 1; @@ -148,9 +149,10 @@ struct { char timestamp_str [ TP_TIMESTAMP_LEN ]; char timestamp_style; struct addrinfo hint; -} behavior; +}; +extern struct behavior behavior; -struct { +struct packet { int dst_port; int src_port; int protocol_number; @@ -161,9 +163,10 @@ struct { long packed_src; unsigned short frag_bit; unsigned short ip_id; -} packet; +}; +extern struct packet packet; -struct { +struct state { char * prog; unsigned int account_hops; struct hop_record { @@ -208,9 +211,10 @@ struct { unsigned int low_ttl; unsigned int incr_error : 1; unsigned int target_response : 1; -} state; +}; +extern struct state state; -struct { +struct debug { unsigned int loop : 1; unsigned int interface : 1; unsigned int send_buf : 1; @@ -219,6 +223,7 @@ struct { unsigned int timestamp : 1; unsigned int as_lookup : 1; unsigned int memory : 1; -} debug; +}; +extern struct debug debug; #endif /* TRACEPROTO_H */