--- a/include/nast.h
+++ b/include/nast.h
@@ -95,32 +95,32 @@
 void init_scr(void);
 
 /* variable */
-FILE *logd;
-short offset;
-int npkt;
-u_char *packet;
-u_char *buf;
-struct pcap_pkthdr hdr;
-pcap_t* descr;
-pcap_dumper_t *dumper;
-struct pcap_stat statistic;
-bpf_u_int32 maskp;          /* subnet mask               */
-bpf_u_int32 netp;  	    /* ip                        */
-int datalink;
-struct bpf_program fp;      /* hold compiled program     */
-char *logname;
-char *tcpdl;
-u_short tr,tl;
-u_short graph;              /* global var for ncurses mode */
-u_short cont;
+extern FILE *logd;
+extern short offset;
+extern int npkt;
+extern u_char *packet;
+extern u_char *buf;
+extern struct pcap_pkthdr hdr;
+extern pcap_t* descr;
+extern pcap_dumper_t *dumper;
+extern struct pcap_stat statistic;
+extern bpf_u_int32 maskp;          /* subnet mask               */
+extern bpf_u_int32 netp;  	    /* ip                        */
+extern int datalink;
+extern struct bpf_program fp;      /* hold compiled program     */
+extern char *logname;
+extern char *tcpdl;
+extern u_short tr,tl;
+extern u_short graph;              /* global var for ncurses mode */
+extern u_short cont;
 /* golbal var*/
-int stream_glob;
-int bc_glob;
-int sniff_glob;
-int rst_glob;
-int arp_glob;
-pthread_t pt[2];
-int lg;
+extern int stream_glob;
+extern int bc_glob;
+extern int sniff_glob;
+extern int rst_glob;
+extern int arp_glob;
+extern pthread_t pt[2];
+extern int lg;
 
 struct host
 {
@@ -129,13 +129,13 @@
 };
 
 /* time variable */
-time_t tm;
-char timed[60];
+extern time_t tm;
+extern char timed[60];
 
 /* for demonize nast */
-u_short demonize;
+extern u_short demonize;
 
-int line_s;
-int row_s;
+extern int line_s;
+extern int row_s;
 
 
--- a/main.c
+++ b/main.c
@@ -26,6 +26,43 @@
 # include "missing/getopt.h"
 #endif
 
+/* variable */
+FILE *logd;
+short offset;
+int npkt;
+u_char *packet;
+u_char *buf;
+struct pcap_pkthdr hdr;
+pcap_t* descr;
+struct pcap_stat statistic;
+bpf_u_int32 maskp;          /* subnet mask               */
+bpf_u_int32 netp;  	    /* ip                        */
+int datalink;
+struct bpf_program fp;      /* hold compiled program     */
+char *logname;
+char *tcpdl;
+u_short tr,tl;
+u_short graph;              /* global var for ncurses mode */
+u_short cont;
+/* golbal var*/
+int stream_glob;
+int bc_glob;
+int sniff_glob;
+int rst_glob;
+int arp_glob;
+pthread_t pt[2];
+int lg;
+
+/* time variable */
+time_t tm;
+char timed[60];
+
+/* for demonize nast */
+u_short demonize;
+
+int line_s;
+int row_s;
+
 void usage(char *name);
 
 int main(int argc,char **argv)
--- a/ncurses/n_nast.c
+++ b/ncurses/n_nast.c
@@ -21,6 +21,48 @@
 
 #ifdef HAVE_LIBNCURSES
 
+WINDOW *query;
+WINDOW *werror;
+WINDOW *help;
+N_SCROLLWIN *princ;
+N_SCROLLWIN *winfo;
+N_SCROLLWIN *wstream;
+N_SCROLLWIN *wconn;
+
+MENU *my_nmenu;
+ITEM *curr_item;
+WINDOW *my_nmenu_win;
+WINDOW *pop_up;
+
+u_short mvar;
+u_short promisc,hex,ascii,ld,f,lr,l;
+u_short flg;
+int linm;
+int fileds;
+char dev[10];
+char n_filter[60];
+char ldfile[50];
+char tcpdfile[50];
+char reportl[50];
+char logfile[50];
+/*descriptor for stream*/
+pcap_t* str;
+pcap_dumper_t *dumper;
+
+/* thread for database connections */
+pthread_t thID[7];
+
+struct thread_conn th_data[1];
+struct thread_conn_rst th_r_data[1];
+struct thread_arp th_arp_data[1];
+
+struct connections c_inf[30];
+
+struct cnn sf[30];
+
+/* num max of db connections */
+int nmax;
+
 void init_curs(void);
 void title(void);
 int get_info(void);
--- a/ncurses/n_nast.h
+++ b/ncurses/n_nast.h
@@ -84,36 +84,36 @@
 int shutdown_thread(void);
 void help_win(void);
 
-WINDOW *query;
-WINDOW *werror;
-WINDOW *help;
-N_SCROLLWIN *princ;
-N_SCROLLWIN *winfo;
-N_SCROLLWIN *wstream;
-N_SCROLLWIN *wconn;
-
-MENU *my_nmenu;
-ITEM *curr_item;
-WINDOW *my_nmenu_win;
-WINDOW *pop_up;
-
-u_short mvar;
-u_short promisc,hex,ascii,ld,f,lr,l;
-u_short flg;
-int linm;
-int fileds;
-char dev[10];
-char n_filter[60];
-char ldfile[50];
-char tcpdfile[50];
-char reportl[50];
-char logfile[50];
+extern WINDOW *query;
+extern WINDOW *werror;
+extern WINDOW *help;
+extern N_SCROLLWIN *princ;
+extern N_SCROLLWIN *winfo;
+extern N_SCROLLWIN *wstream;
+extern N_SCROLLWIN *wconn;
+
+extern MENU *my_nmenu;
+extern ITEM *curr_item;
+extern WINDOW *my_nmenu_win;
+extern WINDOW *pop_up;
+
+extern u_short mvar;
+extern u_short promisc,hex,ascii,ld,f,lr,l;
+extern u_short flg;
+extern int linm;
+extern int fileds;
+extern char dev[10];
+extern char n_filter[60];
+extern char ldfile[50];
+extern char tcpdfile[50];
+extern char reportl[50];
+extern char logfile[50];
 /*descriptor for stream*/
-pcap_t* str;
-pcap_dumper_t *dumper;
+extern pcap_t* str;
+extern pcap_dumper_t *dumper;
 
 /* thread for database connections */
-pthread_t thID[7];
+extern pthread_t thID[7];
 
 struct thread_conn
 {
@@ -141,9 +141,9 @@
    int thread_id;
 };
 
-struct thread_conn th_data[1];
-struct thread_conn_rst th_r_data[1];
-struct thread_arp th_arp_data[1];
+extern struct thread_conn th_data[1];
+extern struct thread_conn_rst th_r_data[1];
+extern struct thread_arp th_arp_data[1];
 
 struct connections
 {
@@ -157,8 +157,9 @@
    int pr;
    int set;
 
-}
-c_inf[30];
+};
+
+extern struct connections c_inf[30];
 
 /* connection struct */
 struct cnn
@@ -173,11 +174,12 @@
    u_short s_port;
    u_short d_port;
    int cont;
-}
-sf[30];
+};
+
+extern struct cnn sf[30];
 
 /* num max of db connections */
-int nmax;
+extern int nmax;
 
 #endif
 
--- a/map.c
+++ b/map.c
@@ -40,7 +40,7 @@
 struct host * map_lan(char *dev, u_short mode, u_short * n);
 u_int scan_ulong(char *s, u_long *u);
 
-int line;
+extern int line;
 
 u_char enet_dst[6] =        /* broadcast */
 {
--- a/ncurses/n_conn.c
+++ b/ncurses/n_conn.c
@@ -31,7 +31,7 @@
 int lines = 1;
 
 int z = 0;
-int tmp;
+extern int tmp;
 
 int connection(char *dev,u_long ip_src,u_long ip_dst,u_short sport,u_short dport)
 {
--- a/ncurses/n_stream.c
+++ b/ncurses/n_stream.c
@@ -28,7 +28,7 @@
 
 int line = 1;
 int col = 3;
-int tmp;
+extern int tmp;
 
 struct stream_thread
 {
--- a/rst.c
+++ b/rst.c
@@ -24,7 +24,7 @@
    u_long seq;
    u_long ack;
 };
-char errbuf[256];
+extern char errbuf[256];
 struct pkt info;
 
 /* reset a connection */
