X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=src%2Finet.h;h=e7c48b7576b124df0b5cbd952ffedab9dd2921c4;hb=058c06c0b8b2dbbde5ee32b54ad8e502527cd155;hp=0f6df5c3e2a014f16bef1710e193859346ea60c6;hpb=488add8be8351cfca34dd7961de14a2a87953e4a;p=my-code%2Fivac.git diff --git a/src/inet.h b/src/inet.h index 0f6df5c..e7c48b7 100644 --- a/src/inet.h +++ b/src/inet.h @@ -3,13 +3,52 @@ #ifndef INET_H #define INET_H +/* 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