X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=src%2Fivac.h;h=bd427f044443069b7a07b323cb672d403e2569cf;hb=8a6fa2a921c79c007f3203aab1388fe2f0620eda;hp=2f14ab5887cc1749900f367b45f6bf7f34ea9b0b;hpb=4d58fd24070e19da1438f6723935df782d33133f;p=my-code%2Fivac.git diff --git a/src/ivac.h b/src/ivac.h index 2f14ab5..bd427f0 100644 --- a/src/ivac.h +++ b/src/ivac.h @@ -7,17 +7,62 @@ #define _GNU_SOURCE #include +/* for ui */ +#include + +#include "network.h" +#include "event.h" +#include "input.h" + /* defines */ #define CHAR_USERNAME 32 #define ERROR -1 #define SUCCESS 1 +#define IVAC_LISTEN_PORT 1025 + +#define IVAC_S_SEC 2 +#define IVAC_S_USEC 500 + +#define IVAC_SEND_NAME 'n' +#define IVAC_SEND_G_CAP 'g' +#define IVAC_SEND_AV_CAP 'c' + +#define NETWORK (1<<0) + +#define AUDIO (1<<0) +#define VIDEO (1<<1) +#define DUPLEX (1<<2) + +#define COLUMN 80 +#define LINE 24 + /* variables */ +typedef struct s_challenger { + char name[CHAR_USERNAME]; + unsigned char g_cap; + unsigned short av_cap; +} t_challenger; -typedef s_ivac { +typedef struct s_ivac { char username[CHAR_USERNAME]; + unsigned char g_cap; + unsigned short av_cap; t_net net; t_event event; + t_input input; + t_challenger challenger[MAX_CONNECTIONS]; } t_ivac; +/* function prototypes */ +int ivac_shutdown(t_ivac *ivac); +int ivac_send_info(int channel,t_ivac *ivac); +int ivac_receive_info(int channel,t_ivac *ivac); +int ivac_event_cb(t_event *event,void *ptr); +int ivac_regular_cb(t_event *event,void *ptr); +int ivac_parse_command(t_input *input,void *ptr); +int ivac_display_head(void); +int ivac_display_prompt(t_ivac *ivac); +int ivac_display(t_ivac *ivac); + #endif