X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=network%2Fnetwork.h;h=e80995d93b4e051638591923fd771e8e0fdc13da;hb=HEAD;hp=079cea387df6e8cef3cca6113638105deed90702;hpb=24edc387e6e88c32c6142f397ee891746eed62e3;p=my-code%2Fapi.git diff --git a/network/network.h b/network/network.h index 079cea3..e80995d 100644 --- a/network/network.h +++ b/network/network.h @@ -4,6 +4,7 @@ #define NETWORK_H /* includes */ +#define _GNU_SOURCE #include #include #include @@ -42,6 +43,8 @@ #define MAX_LISTEN_QUEUE 32 +#define MTU 1448 + /* net specific variables */ typedef struct s_connection { int fd; @@ -52,6 +55,7 @@ typedef struct s_connection { } t_connection; typedef struct s_net { + int outfd; int l_fd; /* fd for tcp conn */ int l_udp_fd; /* fd for udp data receive */ int s_udp_fd; /* fd for udp data send */ @@ -66,7 +70,8 @@ typedef struct s_net { } t_net; /* function prototypes */ -int network_init(t_net *net); +int network_init(t_net *net,int outfd); +int network_listen(t_net *net); int network_shutdown(t_net *net); int network_set_listen_port(t_net *net,in_port_t port); int network_manage_connection(t_net *net); @@ -78,7 +83,9 @@ int network_select(t_net *net,int channel); int network_deselect(t_net *net,int channel); int network_manage_incoming(t_net *net); int network_send(int fd,unsigned char *data,int datasize); +int network_send_chan(t_net *net,int chan,unsigned char *data,int datasize); int network_receive(int fd,unsigned char *data,int datasize); +int network_receive_chan(t_net *net,int chan,unsigned char *data,int datasize); int network_udp_listen_init(t_net *net); int network_udp_receive(t_net *net,int channel, unsigned char *data,int count); int network_udp_send(t_net *net,int channel, unsigned char *data,int size);