X-Git-Url: https://git.ucc.asn.au/?a=blobdiff_plain;f=Usermode%2FApplications%2Faxwin3_src%2FWM%2Fipc.c;h=5b600ee8707fe1823e410732a3812bd08c549b22;hb=a01b96ccf4ec884e5b894d08a819a37ea3f5f749;hp=38cd1335fa7f9837128132504b6a2a9fc96eae73;hpb=ed78a9ac44c440180c37c1cbbbd7ecbc4d9076d7;p=tpg%2Facess2.git diff --git a/Usermode/Applications/axwin3_src/WM/ipc.c b/Usermode/Applications/axwin3_src/WM/ipc.c index 38cd1335..5b600ee8 100644 --- a/Usermode/Applications/axwin3_src/WM/ipc.c +++ b/Usermode/Applications/axwin3_src/WM/ipc.c @@ -76,11 +76,11 @@ void IPC_Init(void) { int tmp; // TODO: Check this - giNetworkFileHandle = open("/Devices/ip/loop/udp", OPENFLAG_READ); + giNetworkFileHandle = _SysOpen("/Devices/ip/loop/udp", OPENFLAG_READ); if( giNetworkFileHandle != -1 ) { tmp = AXWIN_PORT; - ioctl(giNetworkFileHandle, 4, &tmp); // TODO: Don't hard-code IOCtl number + _SysIOCtl(giNetworkFileHandle, 4, &tmp); // TODO: Don't hard-code IOCtl number } } @@ -103,7 +103,7 @@ void IPC_HandleSelect(fd_set *set) int readlen, identlen; char *msg; - readlen = read(giNetworkFileHandle, staticBuf, sizeof(staticBuf)); + readlen = _SysRead(giNetworkFileHandle, staticBuf, sizeof(staticBuf)); identlen = 4 + Net_GetAddressSize( ((uint16_t*)staticBuf)[1] ); msg = staticBuf + identlen; @@ -114,11 +114,11 @@ void IPC_HandleSelect(fd_set *set) } size_t len; - pid_t tid; - while( (len = SysGetMessage(&tid, 0, NULL)) ) + int tid; + while( (len = _SysGetMessage(&tid, 0, NULL)) ) { char data[len]; - SysGetMessage(NULL, len, data); + _SysGetMessage(NULL, len, data); IPC_Handle(&gIPC_Type_SysMessage, &tid, len, (void*)data); // _SysDebug("IPC_HandleSelect: Message handled"); @@ -145,7 +145,7 @@ void IPC_Type_Datagram_Send(const void *Ident, size_t Length, const void *Data) memcpy(tmpbuf, Ident, identlen); // Header memcpy(tmpbuf + identlen, Data, Length); // Data // TODO: Handle fragmented packets - write(giNetworkFileHandle, tmpbuf, sizeof(tmpbuf)); + _SysWrite(giNetworkFileHandle, tmpbuf, sizeof(tmpbuf)); } int IPC_Type_Sys_GetSize(const void *Ident) @@ -160,7 +160,7 @@ int IPC_Type_Sys_Compare(const void *Ident1, const void *Ident2) void IPC_Type_Sys_Send(const void *Ident, size_t Length, const void *Data) { - SysSendMessage( *(const tid_t*)Ident, Length, Data ); + _SysSendMessage( *(const tid_t*)Ident, Length, Data ); } // --- Client -> Window Mappings @@ -571,7 +571,8 @@ void IPC_Handle(const tIPC_Type *IPCType, const void *Ident, size_t MsgLen, tAxW } _SysDebug("IPC_Handle: Call %s-%i", renderer->Name, Msg->ID); rv = renderer->IPCHandlers[Msg->ID](win, Msg->Size, Msg->Data); - _SysDebug("IPC_Handle: rv = %i", rv); + if( rv ) + _SysDebug("IPC_Handle: rv != 0 (%i)", rv); } else { @@ -589,11 +590,12 @@ void IPC_Handle(const tIPC_Type *IPCType, const void *Ident, size_t MsgLen, tAxW _SysDebug("IPC_Handle: Call WM-%i", Msg->ID); rv = gIPC_MessageHandlers[Msg->ID](client, Msg); - _SysDebug("IPC_Handle: rv = %i", rv); + if( rv ) + _SysDebug("IPC_Handle: rv != 0 (%i)", rv); } } -// --- Server->Client replies +// Dispatch a message to the client void IPC_SendWMMessage(tIPC_Client *Client, uint32_t Src, uint32_t Dst, int MsgID, int Len, void *Data) { tAxWin_IPCMessage *hdr; @@ -616,6 +618,7 @@ void IPC_SendWMMessage(tIPC_Client *Client, uint32_t Src, uint32_t Dst, int MsgI Client->IPCType->SendMessage(Client->Ident, sizeof(buf), buf); } +// --- Server->Client replies void IPC_SendReply(tIPC_Client *Client, uint32_t WinID, int MsgID, size_t Len, const void *Data) { tAxWin_IPCMessage *hdr;