diff options
Diffstat (limited to 'src/core/hle/ipc_helpers.h')
| -rw-r--r-- | src/core/hle/ipc_helpers.h | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/src/core/hle/ipc_helpers.h b/src/core/hle/ipc_helpers.h index 323158bb5..11a33c8bd 100644 --- a/src/core/hle/ipc_helpers.h +++ b/src/core/hle/ipc_helpers.h | |||
| @@ -27,6 +27,18 @@ public: | |||
| 27 | DEBUG_ASSERT_MSG(index == TotalSize(), "Operations do not match the header (cmd 0x%x)", | 27 | DEBUG_ASSERT_MSG(index == TotalSize(), "Operations do not match the header (cmd 0x%x)", |
| 28 | header.raw); | 28 | header.raw); |
| 29 | } | 29 | } |
| 30 | |||
| 31 | /** | ||
| 32 | * @brief Retrieves the address of a static buffer, used when a buffer is needed for output | ||
| 33 | * @param buffer_id The index of the static buffer | ||
| 34 | * @param data_size If non-null, will store the size of the buffer | ||
| 35 | */ | ||
| 36 | VAddr PeekStaticBuffer(u8 buffer_id, size_t* data_size = nullptr) const { | ||
| 37 | u32* static_buffer = cmdbuf + Kernel::kStaticBuffersOffset / 4 + buffer_id * 2; | ||
| 38 | if (data_size) | ||
| 39 | *data_size = StaticBufferDescInfo{static_buffer[0]}.size; | ||
| 40 | return static_buffer[1]; | ||
| 41 | } | ||
| 30 | }; | 42 | }; |
| 31 | 43 | ||
| 32 | class RequestBuilder : public RequestHelperBase { | 44 | class RequestBuilder : public RequestHelperBase { |