--- a/ginclude.h +++ b/ginclude.h @@ -22,8 +22,8 @@ struct FLAGS urg:1, ece:1, cwr:1; -} -f; +}; +extern struct FLAGS f; struct CHECKS { @@ -31,33 +31,33 @@ struct CHECKS data:1, /* include payload */ linkl:1, /* work with datalink */ debug:1; /* enable debug mode */ -} -ck; +}; +extern struct CHECKS ck; struct MULTI { u_long number; u_long delay; -} -m; +}; +extern struct MULTI m; struct ECN { u_int dscp:8; u_int ecn_ct:2; u_int ecn_ce:1; -} -ipv4_tos; +}; +extern struct ECN ipv4_tos; -u_long shost; -u_long dhost; -u_long seq; -u_long ack; -u_short id; -u_short urgp; -u_short tos; +extern u_long shost; +extern u_long dhost; +extern u_long seq; +extern u_long ack; +extern u_short id; +extern u_short urgp; +extern u_short tos; -char device[10]; -char data[128]; +extern char device[10]; +extern char data[128]; -u_char ebuf[LIBNET_ERRBUF_SIZE]; +extern u_char ebuf[LIBNET_ERRBUF_SIZE]; --- a/interface.h +++ b/interface.h @@ -20,47 +20,47 @@ GtkWidget* create_ECNWin (void); /* Define common Widget */ /* MainWin */ -GtkWidget *iface_entry; -GtkWidget *srcmac_entry; -GtkWidget *dstmac_entry; -GtkWidget *ethtype_combo; -GtkWidget *ethtype_combo_entry; -GtkWidget *DatalinkFrame; +extern GtkWidget *iface_entry; +extern GtkWidget *srcmac_entry; +extern GtkWidget *dstmac_entry; +extern GtkWidget *ethtype_combo; +extern GtkWidget *ethtype_combo_entry; +extern GtkWidget *DatalinkFrame; -GtkWidget *srcaddr_entry; -GtkWidget *dstaddr_entry; -GtkWidget *ttl_entry; -GtkWidget *id_entry; -GtkWidget *tos_entry; +extern GtkWidget *srcaddr_entry; +extern GtkWidget *dstaddr_entry; +extern GtkWidget *ttl_entry; +extern GtkWidget *id_entry; +extern GtkWidget *tos_entry; -GtkWidget *srcport_entry; -GtkWidget *dstport_entry; -GtkWidget *flags_table; -GtkWidget *syn_checkbutton; -GtkWidget *fin_checkbutton; -GtkWidget *push_checkbutton; -GtkWidget *ack_checkbutton; -GtkWidget *rst_checkbutton; -GtkWidget *urg_checkbutton; -GtkWidget *ece_checkbutton; -GtkWidget *cwr_checkbutton; -GtkWidget *seq_entry; -GtkWidget *ack_entry; -GtkWidget *win_entry; -GtkWidget *urg_entry; +extern GtkWidget *srcport_entry; +extern GtkWidget *dstport_entry; +extern GtkWidget *flags_table; +extern GtkWidget *syn_checkbutton; +extern GtkWidget *fin_checkbutton; +extern GtkWidget *push_checkbutton; +extern GtkWidget *ack_checkbutton; +extern GtkWidget *rst_checkbutton; +extern GtkWidget *urg_checkbutton; +extern GtkWidget *ece_checkbutton; +extern GtkWidget *cwr_checkbutton; +extern GtkWidget *seq_entry; +extern GtkWidget *ack_entry; +extern GtkWidget *win_entry; +extern GtkWidget *urg_entry; /* Info TextView */ -GtkWidget *TextView; -GtkTextBuffer *TextBuffer; -GtkWidget *VerticalScroll; +extern GtkWidget *TextView; +extern GtkTextBuffer *TextBuffer; +extern GtkWidget *VerticalScroll; /* DataWin */ -GtkWidget *DataEntry; +extern GtkWidget *DataEntry; /* Multi */ -GtkWidget *table2; -GtkWidget *NumberEntryMulti; -GtkWidget *DelayEntryMulty; +extern GtkWidget *table2; +extern GtkWidget *NumberEntryMulti; +extern GtkWidget *DelayEntryMulty; /* ECN */ -GtkWidget *dscpEntry; +extern GtkWidget *dscpEntry; --- a/gfuncts.c +++ b/gfuncts.c @@ -19,9 +19,12 @@ #include "interface.h" +struct FLAGS f; +struct CHECKS ck; +struct MULTI m; + /* private functions */ int CheckValues(); -u_short datalen; /* data (tcp payload) lenght */ int Initialize() { @@ -139,6 +142,7 @@ int SendPacket() /* BEGIN of variables ' declaration */ libnet_t *l; char *dataptr; + u_short datalen; /* data (tcp payload) lenght */ u_short sport, dport; u_short flag=0x00; --- a/interface.c +++ b/interface.c @@ -27,6 +27,47 @@ #include "ginclude.h" /* define payload and multi options */ #include "common.h" +GtkWidget *iface_entry; +GtkWidget *srcmac_entry; +GtkWidget *dstmac_entry; +GtkWidget *ethtype_combo; +GtkWidget *ethtype_combo_entry; +GtkWidget *DatalinkFrame; + +GtkWidget *srcaddr_entry; +GtkWidget *dstaddr_entry; +GtkWidget *ttl_entry; +GtkWidget *id_entry; +GtkWidget *tos_entry; + +GtkWidget *srcport_entry; +GtkWidget *dstport_entry; +GtkWidget *flags_table; +GtkWidget *syn_checkbutton; +GtkWidget *fin_checkbutton; +GtkWidget *push_checkbutton; +GtkWidget *ack_checkbutton; +GtkWidget *rst_checkbutton; +GtkWidget *urg_checkbutton; +GtkWidget *ece_checkbutton; +GtkWidget *cwr_checkbutton; +GtkWidget *seq_entry; +GtkWidget *ack_entry; +GtkWidget *win_entry; +GtkWidget *urg_entry; + +GtkWidget *TextView; +GtkTextBuffer *TextBuffer; +GtkWidget *VerticalScroll; + +GtkWidget *DataEntry; + +GtkWidget *table2; +GtkWidget *NumberEntryMulti; +GtkWidget *DelayEntryMulty; + +GtkWidget *dscpEntry; + #define GLADE_HOOKUP_OBJECT(component,widget,name) \ g_object_set_data_full (G_OBJECT (component), name, \ gtk_widget_ref (widget), (GDestroyNotify) gtk_widget_unref)