1 /* ivac.h -- main ivac header file */
17 #define PROG_NAME "ivac -- Copyright (C) 2004 Frank Zirkelbach"
19 #define CHAR_USERNAME 32
20 #define IVAC_CONSOLE_STRING_LEN 64
21 #define MAX_BOX_CHARS 64
26 #define IVAC_LISTEN_PORT 1025
27 #define IVAC_UDP_PORT 1026
30 #define IVAC_S_USEC 500
32 #define IVAC_SEND_NAME 'n'
33 #define IVAC_SEND_G_CAP 'g'
34 #define IVAC_SEND_AV_CAP 'c'
35 #define IVAC_SEND_QUIT 'q'
37 #define NETWORK (1<<0)
43 #define IVAC_HEAD_LEN 3
44 #define IVAC_PROMPT_LEN 2
45 #define IVAC_CONSOLE_LEN 8
47 #define IVAC_ARG_LEN CHAR_USERNAME
48 #define IVAC_ARG_COUNT 4
51 typedef struct s_challenger {
52 char name[CHAR_USERNAME];
54 unsigned short av_cap;
57 typedef struct s_ivac {
58 char username[CHAR_USERNAME];
60 unsigned short av_cap;
65 t_challenger challenger[MAX_CONNECTIONS];
66 char console[IVAC_CONSOLE_LEN][IVAC_CONSOLE_STRING_LEN];
70 /* function prototypes */
72 int ivac_shutdown(t_ivac *ivac);
73 int ivac_send_info(int channel,t_ivac *ivac);
74 int ivac_send_quit(int channel,t_ivac *ivac);
75 int ivac_receive_info(int channel,t_ivac *ivac);
76 int ivac_event_cb(t_event *event,void *ptr);
77 int ivac_regular_cb(t_event *event,void *ptr);
78 int ivac_parse_command(t_input *input,void *ptr);
79 int ivac_display_head(t_ivac *ivac);
80 int ivac_display_box(t_ivac *ivac);
81 int ivac_display_box_content(t_ivac *ivac);
82 int ivac_display_console(t_ivac *ivac);
83 int ivac_display_console_content(t_ivac *ivac);
84 int ivac_display_prompt(t_ivac *ivac);
85 int ivac_display_prompt_content(t_ivac *ivac);
86 int ivac_display_content(t_ivac *ivac);
87 int ivac_display(t_ivac *ivac);
88 int ivac_display_draw(t_ivac *ivac);
89 int ivac_add_to_monitor(t_ivac *ivac,char *msg);