2 * Acess GUI (AxWin) Version 2
3 * By John Hodge (thePowersGang)
8 #include <axwin/messages.h>
10 #define STATICBUF_SIZE 64
13 typedef void tMessages_Handle_Callback(int, size_t,void*);
16 void Messages_PollIPC();
17 void Messages_RespondIPC(int ID, size_t Length, void *Data);
18 void Messages_Handle(tAxWin_Message *Msg, tMessages_Handle_Callback *Respond, int ID);
27 giIPCFileHandle = open("/Devices/ip/loop/udpc", OPENFLAG_READ|OPENFLAG_EXEC);
28 // ioctl(giIPCFileHandle, );
31 void Messages_PollIPC()
35 char staticBuf[STATICBUF_SIZE];
39 while( (len = SysGetMessage(&tid, NULL)) == 0 )
42 // Allocate the space for it
43 if( len <= STATICBUF_SIZE )
44 msg = (void*)staticBuf;
50 "ERROR - Unable to allocate message buffer, ignoring message from %i\n",
52 SysGetMessage(NULL, GETMSG_IGNORE);
58 SysGetMessage(NULL, msg);
60 Messages_Handle(msg, Messages_RespondIPC, tid);
63 void Messages_RespondIPC(int ID, size_t Length, void *Data)
65 SysSendMessage(ID, Length, Data);
68 void Messages_Handle(tAxWin_Message *Msg, tMessages_Handle_Callback *Respond, int ID)
74 Msg->ID = MSG_SRSP_VERSION;
78 *(uint16_t*)&Msg->Data[2] = -1;
79 Messages_RespondIPC(ID, sizeof(Msg->ID), Msg);
83 fprintf(stderr, "WARNING: Unknown message %i from %i (%p)\n", Msg->ID, ID, Respond);
84 _SysDebug("WARNING: Unknown message %i from %i (%p)\n", Msg->ID, ID, Respond);