#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include /* CONSTANTES */ #define READ 0 #define WRITE 1 /* PARAMETRES */ #define GROUP "239.255.194.160" #define PORT 52611 #define TTL 15; #define MAX_USER 256 /* VARIABLES GLOBALES */ char *dest; char *sess_name; char *media; unsigned char ttl; unsigned short port; int debug =0; char myid[256]; char user_id[MAX_USER][256]; int users_list_used[MAX_USER]; char history_message[10000]; /* widgets list utilises pour affichage*/ Widget users_list, message_list; /* cible de la destination */ char DEST[MAX_USER]; /* resources pour le fenetre */ static String fallbackResources[] = { "*title: Mchat Version 2.0b", NULL}; /* variables au niveau reseau */ int sdr, sdw; struct sockaddr_in sock_r,sock_w; int len_r,len_w; struct ip_mreq imr; char loop = 1; /* pour avoir echo direct ou non */ char nickname[L_cuserid]; char echo = 1; /* DECLARATION DES FONCTIONS */ int gethostname(char *, int); int init_socket(struct sockaddr_in * ,int ,char *,int); int init_reseaux(void); void sock_write(char*,int); void sock_read(Widget ,XtPointer ,XtPointer); void quit(Widget ,XtPointer ,XtPointer); void echo_switch(Widget ,XtPointer ,XtPointer); void send_callback(Widget ,XtPointer ,XtPointer); void refresh_callback(Widget ,XtPointer ,XtPointer); void help_callback(Widget ,XtPointer ,XtPointer); void quit_res(void); void traiter_message(char *,int); void init_declarations(void); void test_nom_connu(char *); void enlever_user(char *); void rajouter_user(char *); void rajouter_message(char *,int);