00001
00002
00003
00004
00005
00006 #ifndef _CHIMERA_MESSAGE_H_
00007 #define _CHIMERA_MESSAGE_H_
00008
00009 #include "key.h"
00010 #include "host.h"
00011 #include "jrb.h"
00012
00013
00014 typedef struct {
00015 Key dest;
00016 int type;
00017 int size;
00018 char *payload;
00019 } Message;
00020
00021 typedef void (*messagehandler_t)(ChimeraState *, Message *);
00022
00023 void* message_init(void *chstate, int port);
00024 void message_recieved(void *chstate,char *data, int size);
00025 void message_handler(void *chstate,int type, messagehandler_t func);
00026 int message_send(void *chstate,ChimeraHost *host, Message *message);
00027 Message *message_create(Key dest, int type, int size, char *payload);
00028
00029 #endif