#define C_ESTABL (1<<3)
#define C_HANGUP (1<<4)
-#define CHAR_N_UNAME 32
-
#define SEND_N_MAX 128
-#define SEND_N_NAME 'n'
-#define SEND_N_G_CAP 'g'
-#define SEND_N_AV_CAP 'c'
#define N_SUCCESS 1
#define N_ERROR -1
+#define N_E_IN_USE -2
+#define N_E_NO_INFO -3
+#define N_E_CLOSE -4
+#define N_E_CONNECT -5
+#define N_E_NC -6
+#define N_E_ACCEPT -7
+#define N_E_MAXC -8
+
+#define N_UDP_WRONG_SENDER -9
#define MAX_LISTEN_QUEUE 32
/* net specific variables */
typedef struct s_connection {
int fd;
- char name[CHAR_N_UNAME];
char ip[IP_DIGITS];
in_port_t port;
unsigned char status;
- unsigned char cap; /* general capabilities */
- unsigned short avcap; /* audio/video capabilities */
+ unsigned short cap; /* capabilities */
} t_connection;
typedef struct s_net {
- int l_fd; /* listen file descriptor */
- in_port_t l_port;
- unsigned char cap;
- unsigned short avcap;
+ 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];
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);
+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 send_info(int channel,t_net *net,char *name);
-int receive_info(int channel,t_net *net);
+int network_udp_listen_init(t_net *net,int port);
+int network_set_udp_ports(t_net *net,int port);
+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