/* defines */
#define MAX_CONNECTIONS 32
+#define MAX_NIC_DEVICE 32
#define IP_DIGITS 16
#define C_IN_USE (1<<0)
#define N_E_ACCEPT -7
#define N_E_MAXC -8
+#define N_UDP_WRONG_SENDER -9
+
#define MAX_LISTEN_QUEUE 32
/* net specific variables */
} 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;
t_connection connection[MAX_CONNECTIONS];
unsigned int sendmask; /* 32 bits for maximum of 32 connections */
+ char nic[MAX_NIC_DEVICE];
} t_net;
/* function prototypes */
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