summaryrefslogtreecommitdiff
path: root/src/core/hle/ipc.h
diff options
context:
space:
mode:
authorGravatar Subv2018-01-06 21:14:14 -0500
committerGravatar bunnei2018-01-07 17:11:43 -0500
commit226786f0b05405b4c0287786f106ae2e08feefec (patch)
treef4cb770adc575fa749b98e60f8f5fa0012cdc4c6 /src/core/hle/ipc.h
parentsvc: Implement svcSignalProcessWideKey. (diff)
downloadyuzu-226786f0b05405b4c0287786f106ae2e08feefec.tar.gz
yuzu-226786f0b05405b4c0287786f106ae2e08feefec.tar.xz
yuzu-226786f0b05405b4c0287786f106ae2e08feefec.zip
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.h10
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 {
143}; 143};
144static_assert(sizeof(DataPayloadHeader) == 8, "DataPayloadRequest size is incorrect"); 144static_assert(sizeof(DataPayloadHeader) == 8, "DataPayloadRequest size is incorrect");
145 145
146struct DomainMessageHeader { 146struct DomainRequestMessageHeader {
147 union { 147 union {
148 BitField<0, 8, u32_le> command; 148 BitField<0, 8, u32_le> command;
149 BitField<16, 16, u32_le> size; 149 BitField<16, 16, u32_le> size;
@@ -151,7 +151,13 @@ struct DomainMessageHeader {
151 u32_le object_id; 151 u32_le object_id;
152 INSERT_PADDING_WORDS(2); 152 INSERT_PADDING_WORDS(2);
153}; 153};
154static_assert(sizeof(DomainMessageHeader) == 16, "DomainMessageHeader size is incorrect"); 154static_assert(sizeof(DomainRequestMessageHeader) == 16, "DomainRequestMessageHeader size is incorrect");
155
156struct DomainResponseMessageHeader {
157 u32_le num_objects;
158 INSERT_PADDING_WORDS(3);
159};
160static_assert(sizeof(DomainResponseMessageHeader) == 16, "DomainResponseMessageHeader size is incorrect");
155 161
156enum DescriptorType : u32 { 162enum DescriptorType : u32 {
157 // Buffer related desciptors types (mask : 0x0F) 163 // Buffer related desciptors types (mask : 0x0F)