--- a/src/data_al.h +++ b/src/data_al.h @@ -35,7 +35,7 @@ extern "C" { #endif -pthread_mutex_t *data_access; +extern pthread_mutex_t *data_access; /* Holds each data type total counters */ --- a/src/data_reply.c +++ b/src/data_reply.c @@ -43,7 +43,7 @@ struct data_registry *current_reply; struct data_counter reply_count; /* Screen printing buffers */ -char line[300], tline[300]; +extern char line[300], tline[300]; extern char blank[]; --- a/src/data_request.c +++ b/src/data_request.c @@ -43,7 +43,7 @@ struct data_registry *request_current; struct data_counter request_count; /* Screen printing buffers */ -char line[300], tline[300]; +extern char line[300], tline[300]; extern char blank[]; --- a/src/data_unique.c +++ b/src/data_unique.c @@ -44,7 +44,7 @@ struct data_registry *current_unique; struct data_counter unique_count; /* Screen printing buffers */ -char line[300], tline[300]; +extern char line[300], tline[300]; extern char blank[]; --- a/src/ifaces.c +++ b/src/ifaces.c @@ -73,7 +73,7 @@ pcap_t *inject; unsigned char smac[] = { 0xCA, 0xFE, 0xCA, 0xFE, 0xCA, 0xFE }; struct p_header *temp_header; - +char errbuf[PCAP_ERRBUF_SIZE]; /* Start Sniffing on given iface */ void *start_sniffer(void *args) --- a/src/ifaces.h +++ b/src/ifaces.h @@ -51,7 +51,7 @@ extern "C" /* Shitty globals */ - char errbuf[PCAP_ERRBUF_SIZE]; + extern char errbuf[PCAP_ERRBUF_SIZE]; /* Threads data structure */ struct t_data { --- a/src/main.c +++ b/src/main.c @@ -44,6 +44,7 @@ #define RPATH "%s/.netdiscover/ranges" #define FPATH "%s/.netdiscover/fastips" +int continue_listening; extern void parseable_scan_end(); void *inject_arp(void *arg); @@ -52,6 +53,9 @@ void *parsable_screen_refresh(void *arg) void scan_range(char *disp, char *sip); void usage(); +char *current_network; +int parsable_output; +pthread_mutex_t *data_access; /* Last octect of ips scaned in fast mode */ /* Add new addr if needed here */ --- a/src/screen.c +++ b/src/screen.c @@ -56,6 +56,7 @@ int smode, oldmode; char line[300], tline[300]; char blank[] = " "; +struct winsize win_sz; /* Inits lists with null pointers, sighandlers, etc */ void init_screen() --- a/src/screen.h +++ b/src/screen.h @@ -51,9 +51,9 @@ extern "C" #define KNOWN_COLOR "\33[1m%s\33[0m\n" /* Ohh no, more globals */ -struct winsize win_sz; -char *current_network; -int parsable_output, continue_listening; +extern struct winsize win_sz; +extern char *current_network; +extern int parsable_output, continue_listening; /* Screen functions */