#define MAX_MODULES 5 //nombres maximal de modules #define MODULES_PATH "./modules" #define MAX_BIND_MODULE 2 // a augementer //const int NB_MODULES_LOAD = 1; // nombre de modules chargés ! /* variable globales pour les modules */ #define RECV 0 #define SEND 1 #define END 2 #define ERROR 3 struct bind_module { void (*bind)(struct struct_client *s_client, char *buf, int state); char type[MAX_BUFFER]; char data[MAX_BUFFER]; }; struct struct_module { char name[MAX_BUFFER]; void *handler; int (*MainModule)(struct struct_module *s_module); //unsigned short num; unsigned short num; struct bind_module *s_bind_module[MAX_BIND_MODULE]; int NB_BIND; }; struct all_module { struct struct_module s_module[MAX_MODULES]; int NB_MODULES_LOAD; }s_all_module; int LoadAllModule(struct all_module *s_all_module, int nb_modules); int BindModule(struct struct_module *s_module, void (*func)(struct struct_client *s_client, char *buf, int state), char *type, char *data); void BindEndAllModule(struct struct_client *s_client); int SendBindAllModule(void *buf,struct struct_client *s_client, int state); int SendClient(struct struct_client *s_client,unsigned char *buf, int size); int CheckIfModuleBind(struct struct_client *s_client);