X-Git-Url: https://hackdaworld.org/gitweb/?p=my-code%2Fivac.git;a=blobdiff_plain;f=src%2Fivac.h;h=a25732d1a6650fce0fba14a68f2b41661f6a9d91;hp=a4365f4ff063708cf0739f7e012d93d35d8650c0;hb=050a55681aaf01024a475eb4e68880040af758bd;hpb=d3c5d3d150e9f9368b2ba9f8d0f957dbb58c14d4 diff --git a/src/ivac.h b/src/ivac.h index a4365f4..a25732d 100644 --- a/src/ivac.h +++ b/src/ivac.h @@ -10,13 +10,21 @@ #include "network.h" #include "event.h" #include "input.h" +#include "display.h" +#include "audio.h" /* defines */ +#define PROG_NAME "ivac -- Copyright (C) 2004 Frank Zirkelbach" + #define CHAR_USERNAME 32 +#define IVAC_CONSOLE_STRING_LEN 64 +#define MAX_BOX_CHARS 64 + #define ERROR -1 #define SUCCESS 1 #define IVAC_LISTEN_PORT 1025 +#define IVAC_UDP_PORT 1026 #define IVAC_S_SEC 2 #define IVAC_S_USEC 500 @@ -24,6 +32,7 @@ #define IVAC_SEND_NAME 'n' #define IVAC_SEND_G_CAP 'g' #define IVAC_SEND_AV_CAP 'c' +#define IVAC_SEND_QUIT 'q' #define NETWORK (1<<0) @@ -31,8 +40,12 @@ #define VIDEO (1<<1) #define DUPLEX (1<<2) -#define COLUMN 80 -#define LINE 24 +#define IVAC_HEAD_LEN 3 +#define IVAC_PROMPT_LEN 2 +#define IVAC_CONSOLE_LEN 8 + +#define IVAC_ARG_LEN CHAR_USERNAME +#define IVAC_ARG_COUNT 4 /* variables */ typedef struct s_challenger { @@ -48,17 +61,31 @@ typedef struct s_ivac { t_net net; t_event event; t_input input; + t_display display; t_challenger challenger[MAX_CONNECTIONS]; + char console[IVAC_CONSOLE_LEN][IVAC_CONSOLE_STRING_LEN]; + t_audio audio; } t_ivac; /* function prototypes */ +int usage(void); +int ivac_shutdown(t_ivac *ivac); int ivac_send_info(int channel,t_ivac *ivac); +int ivac_send_quit(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_head(t_ivac *ivac); +int ivac_display_box(t_ivac *ivac); +int ivac_display_box_content(t_ivac *ivac); +int ivac_display_console(t_ivac *ivac); +int ivac_display_console_content(t_ivac *ivac); int ivac_display_prompt(t_ivac *ivac); +int ivac_display_prompt_content(t_ivac *ivac); +int ivac_display_content(t_ivac *ivac); int ivac_display(t_ivac *ivac); +int ivac_display_draw(t_ivac *ivac); +int ivac_add_to_monitor(t_ivac *ivac,char *msg); #endif