diff options
author | Subv <subv2112@gmail.com> | 2018-01-06 21:14:14 -0500 |
---|---|---|
committer | bunnei <bunneidev@gmail.com> | 2018-01-07 17:11:43 -0500 |
commit | 226786f0b05405b4c0287786f106ae2e08feefec (patch) | |
tree | f4cb770adc575fa749b98e60f8f5fa0012cdc4c6 /src/core/hle/ipc.h | |
parent | bc8ef64804841c996aeebfe7ce23f34347a0be60 (diff) |
IPC: Use the correct size when pushing raw data to the command buffer and fixed pushing domain objects.
Domain object ids are always stored immediately after the raw data.
Diffstat (limited to 'src/core/hle/ipc.h')
-rw-r--r-- | src/core/hle/ipc.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/core/hle/ipc.h b/src/core/hle/ipc.h index 4dc8937c3..4c21f5024 100644 --- a/src/core/hle/ipc.h +++ b/src/core/hle/ipc.h @@ -143,7 +143,7 @@ struct DataPayloadHeader { }; static_assert(sizeof(DataPayloadHeader) == 8, "DataPayloadRequest size is incorrect"); -struct DomainMessageHeader { +struct DomainRequestMessageHeader { union { BitField<0, 8, u32_le> command; BitField<16, 16, u32_le> size; @@ -151,7 +151,13 @@ struct DomainMessageHeader { u32_le object_id; INSERT_PADDING_WORDS(2); }; -static_assert(sizeof(DomainMessageHeader) == 16, "DomainMessageHeader size is incorrect"); +static_assert(sizeof(DomainRequestMessageHeader) == 16, "DomainRequestMessageHeader size is incorrect"); + +struct DomainResponseMessageHeader { + u32_le num_objects; + INSERT_PADDING_WORDS(3); +}; +static_assert(sizeof(DomainResponseMessageHeader) == 16, "DomainResponseMessageHeader size is incorrect"); enum DescriptorType : u32 { // Buffer related desciptors types (mask : 0x0F) |