X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=src%2Finet.h;h=e7c48b7576b124df0b5cbd952ffedab9dd2921c4;hb=058c06c0b8b2dbbde5ee32b54ad8e502527cd155;hp=a8fbe2a894d8f4e99311e011ededc47d78c9c853;hpb=aea15365fab80e1d7128bdf4112440405375e29c;p=my-code%2Fivac.git diff --git a/src/inet.h b/src/inet.h index a8fbe2a..e7c48b7 100644 --- a/src/inet.h +++ b/src/inet.h @@ -3,10 +3,52 @@ #ifndef INET_H #define INET_H -/* variables */ +/* includes */ +#include "ivac.h" +#include +#include +#include +#include +#include + +/* net specific includes */ +#include + +/* 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) + +#define SEND_I_MAX 128 +#define SEND_I_NAME 'n' +#define SEND_I_G_CAP 'g' +#define SEND_I_AV_CAP 'c' + +/* net specific variables */ +typedef s_connection { + int fd; + char name[CHAR_USERNAME]; + char ip[IP_DIGITS]; + in_port_t port; + unsigned char status; + unsigned char cap; /* general capabilities */ + unsigned short avcap; /* audio/video capabilities */ +} t_connection; + typedef s_net { - int l_fd,c_fd; - + int l_fd; /* listen file descriptor */ + in_port_t l_port; + unsigned char cap; + unsigned short avcap; + /* 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 */ } t_net; #endif