#ifndef __MESSAGE_H
#define __MESSAGE_H
#include <ubixos/schedule.h>
#include <ubixos/types.h>
int connectionCreate(char * cname, uInt32 * cid, uInt8 flags);
int connectionOpen(char * cname, uInt32 * cid);
int messageRecv(uInt32 cid, uInt32 * sender, uInt32 * cmd, uInt32 * size, uInt8 * data);
int messageSend(uInt32 cid, uInt32 * cmd, uInt32 * size, uInt8 * data);
int messageReply(uInt32 cid, uInt32 mid, uInt32 cmd, uInt32 size, uInt8 * data);
enum {
MSG_SEND = 0x1,
MSG_REPLY = 0x2
};
typedef struct connectionStruct {
uInt32 used;
uInt32 owning_pid;
uInt8 unique_string[256];
waitQueue_t message_queue;
waitQueue_t old_queue;
} connection_t;
typedef struct messageStruct {
uInt32 send_taskId;
uInt32 id;
uInt32 cmd;
uInt8 flags;
uInt8 size;
uInt8 data[256];
} message_t;
#endif