Fix ipc.h C++ compatibility errors (tested by compiling code as .cpp)

This commit is contained in:
fincs 2018-01-15 21:30:21 +01:00 committed by plutoo
parent a8a15f7d16
commit fb9c53235e

View File

@ -106,7 +106,7 @@ static inline void ipcSendHandleMove(IpcCommand* cmd, Handle h) {
} }
static inline void* ipcPrepareHeader(IpcCommand* cmd, size_t sizeof_raw) { static inline void* ipcPrepareHeader(IpcCommand* cmd, size_t sizeof_raw) {
u32* buf = armGetTls(); u32* buf = (u32*)armGetTls();
size_t i; size_t i;
*buf++ = 4 | (cmd->NumStaticIn << 16) | (cmd->NumSend << 20) | (cmd->NumRecv << 24) | (cmd->NumTransfer << 28); *buf++ = 4 | (cmd->NumStaticIn << 16) | (cmd->NumSend << 20) | (cmd->NumRecv << 24) | (cmd->NumTransfer << 28);
@ -206,7 +206,7 @@ typedef struct {
} IpcParsedCommand; } IpcParsedCommand;
static inline Result ipcParse(IpcParsedCommand* r) { static inline Result ipcParse(IpcParsedCommand* r) {
u32* buf = armGetTls(); u32* buf = (u32*)armGetTls();
u32 ctrl0 = *buf++; u32 ctrl0 = *buf++;
u32 ctrl1 = *buf++; u32 ctrl1 = *buf++;
size_t i; size_t i;
@ -259,7 +259,7 @@ static inline Result ipcParse(IpcParsedCommand* r) {
} }
static inline Result ipcQueryPointerBufferSize(Handle session, size_t *size) { static inline Result ipcQueryPointerBufferSize(Handle session, size_t *size) {
u32* buf = armGetTls(); u32* buf = (u32*)armGetTls();
buf[0] = 5; buf[0] = 5;
buf[1] = 8; buf[1] = 8;
@ -276,11 +276,11 @@ static inline Result ipcQueryPointerBufferSize(Handle session, size_t *size) {
IpcParsedCommand r; IpcParsedCommand r;
ipcParse(&r); ipcParse(&r);
struct { struct ipcQueryPointerBufferSizeResponse {
u64 magic; u64 magic;
u64 result; u64 result;
u32 size; u32 size;
} *raw = r.Raw; } *raw = (struct ipcQueryPointerBufferSizeResponse*)r.Raw;
rc = raw->result; rc = raw->result;
@ -294,7 +294,7 @@ static inline Result ipcQueryPointerBufferSize(Handle session, size_t *size) {
// Domain shit // Domain shit
static inline Result ipcConvertSessionToDomain(Handle session, u32* object_id_out) { static inline Result ipcConvertSessionToDomain(Handle session, u32* object_id_out) {
u32* buf = armGetTls(); u32* buf = (u32*)armGetTls();
buf[0] = 5; buf[0] = 5;
buf[1] = 8; buf[1] = 8;
@ -309,11 +309,11 @@ static inline Result ipcConvertSessionToDomain(Handle session, u32* object_id_ou
IpcParsedCommand r; IpcParsedCommand r;
ipcParse(&r); ipcParse(&r);
struct { struct ipcConvertSessionToDomainResponse {
u64 magic; u64 magic;
u64 result; u64 result;
u32 object_id; u32 object_id;
} *raw = r.Raw; } *raw = (struct ipcConvertSessionToDomainResponse*) r.Raw;
rc = raw->result; rc = raw->result;