implemented some udp features (untested)
[my-code/ivac.git] / src / network.h
index 25a9891..5253191 100644 (file)
@@ -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;
@@ -72,5 +77,10 @@ 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 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