some network functions (to be continued)
[my-code/ivac.git] / src / inet.h
index 0f6df5c..7f949ac 100644 (file)
@@ -3,13 +3,41 @@
 #ifndef INET_H
 #define INET_H
 
+/* includes */
+#include "ivac.h"
+#include <stdio.h>
+#include <errno.h>
+#include <string.h>
+#include <sys/types.h>
+#include <sys/socket.h>
+
 /* net specific includes */
 #include <netinet/in.h>
 
+/* defines */
+#define MAX_CONNECTIONS 32
+#define IP_DIGITS 16
+#define C_IN_USE (1<<0)
+#define C_INFO_A (1<<1)
+#define C_SOCKET (1<<2)
+#define C_ESTABL (1<<3)
+#define C_HANGUP (1<<4)
+
 /* net specific variables */
+typedef s_connection {
+  int fd;
+  char name[CHAR_USERNAME];
+  char ip[IP_DIGITS];
+  in_port_t port;
+  unsigned char status;
+} t_connection;
+
 typedef s_net {
-  int l_fd,c_fd;
-  
+  int l_fd; /* listen file descriptor */
+  in_port_t l_port;
+  /* limited connections by now -- replaced by list management later */
+  int c_count;
+  t_connection connection[MAX_CONNECTIONS];
 } t_net;
 
 #endif