#define _GNU_SOURCE
#include <stdio.h>
-/* for ui */
-#include <ncurses.h>
-
#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
#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)
#define VIDEO (1<<1)
#define DUPLEX (1<<2)
-#define IVAC_CONSOLE_STRING_LEN 64
-
#define IVAC_HEAD_LEN 3
-#define IVAC_PROMPT_LEN 3
+#define IVAC_PROMPT_LEN 2
#define IVAC_CONSOLE_LEN 8
#define IVAC_ARG_LEN CHAR_USERNAME
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(t_display *display);
-int ivac_display_box(t_display *display);
+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_display *display);
+int ivac_display_console(t_ivac *ivac);
int ivac_display_console_content(t_ivac *ivac);
-int ivac_display_prompt(t_display *display);
+int ivac_display_prompt(t_ivac *ivac);
int ivac_display_prompt_content(t_ivac *ivac);
-int ivac_display(t_display *display);
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