X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fivac.git;a=blobdiff_plain;f=src%2Fnetwork.h;h=60ae77363e42aabbbcffce911ea6a0bec3b3ab9a;hp=14168bfb2d835b69cd11d3dbc06c4f8930adf93d;hb=17fdfff130690ae3aa68a9bef133271e4c1061a9;hpb=c799218d9fee714d9934b499b0b24fd75535c312 diff --git a/src/network.h b/src/network.h index 14168bf..60ae773 100644 --- a/src/network.h +++ b/src/network.h @@ -37,6 +37,8 @@ #define N_E_ACCEPT -7 #define N_E_MAXC -8 +#define N_UDP_WRONG_SENDER -9 + #define MAX_LISTEN_QUEUE 32 /* net specific variables */ @@ -49,8 +51,11 @@ typedef struct s_connection { } t_connection; typedef struct s_net { - int l_fd; /* listen file descriptor */ - in_port_t l_port; + 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 */ + in_port_t l_port; /* tcp port */ + int l_udp_port; /* udp listen port */ unsigned short cap; /* limited connections by now -- replaced by list management later */ int c_count; @@ -65,11 +70,16 @@ int network_set_listen_port(t_net *net,in_port_t port); int network_manage_connection(t_net *net); int network_connect(t_net *net,int channel); int network_close(t_net *net,int channel); +int network_close_all(t_net *net); int network_set_connection_info(t_net *net,int channel,char *ip,int port); 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_receive(int fd,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); +int network_udp_shutdown(t_net *net); #endif