Lioncash
9e7e0ed9f0
ipc_helpers: Add PushEnum() member function to ResponseBuilder
Allows pushing strongly-typed enum members without the need to always
cast them at the call sites.
Note that we *only* allow strongly-typed enums in this case. The reason
for this is that strongly typed enums have a guaranteed defined size, so
the size of the data being pushed is always deterministic. With regular
enums this can be a little more error-prone, so we disallow them.
This function simply uses the underlying type of the enum to determine
the size of the data. For example, if an enum is defined as:
enum class SomeEnum : u16 {
SomeEntry
};
if PushEnum(SomeEnum::SomeEntry); is called, then it will push a
u16-size amount of data.
8 years ago
bunnei
5e4d01f80c
ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
8 years ago
mailwl
2ba8b89864
Fix: change check for domain order and existance of domain message header
8 years ago
mailwl
e05f10cae8
IPC: add domain header to response if only it exists in request
8 years ago
bunnei
ca93cbddcb
ResponseBuilder: Use a bit field for customizing instead of always_move_handles.
8 years ago
bunnei
f328cb2c7c
hle: Rename RequestBuilder to ResponseBuilder.
8 years ago
bunnei
2b07c87f0c
ipc_helpers: Make interface domain agnostic and add header validation.
8 years ago
bunnei
a3aadaea60
hle: Integrate Domain handling into ServerSession.
8 years ago
bunnei
4fabdf77d7
hle: Remove Domain and SyncObject kernel objects.
8 years ago
Subv
196f1226c5
IPC: Don't create an unnecessary port when using PushIpcInterface outside of a domain.
8 years ago
bunnei
a94d5d1938
fsp_srv: Various improvements to IStorage:Read implementation.
8 years ago
gdkchan
90b697db30
Stub PopLaunchParameter and implement Buffer C Descriptors reading on hle_ipc ( #96 )
* Stub PopLaunchParameter and implement Buffer C Descriptors reading
* Address PR feedback
* Ensure we push a u64 not a size_t
* Fix formatting
8 years ago
Subv
911ea4451e
IPC: Push domain objects as move handles when not in a domain.
8 years ago
Subv
da2990dbb7
IPC: Allow passing arguments to the Interfaces when using PushIpcInterface
8 years ago
Subv
f262afb38a
IPC: Take the number of domain objects as a parameter in MakeBuilder.
8 years ago
Subv
7d966999d4
IPC: Fixed pushing ResultCodes into the command buffer.
They should have 32 bits of padding after the error code now.
8 years ago
Subv
347ab620b5
IPC: Add functions to read the input move/copy objects from an IPC request.
8 years ago
Subv
fd93b1e0ef
IPC Cleanup: Remove 3DS-specific code and translate copy, move and domain objects in IPC requests.
Popping objects from the buffer is still not implemented.
8 years ago
Subv
d6a5e0b61b
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.
8 years ago
bunnei
9d04a45a90
kernel: Fix implementation of ConvertSessionToDomain.
8 years ago
bunnei
9ed2ef9c1c
ipc_helpers: Fix alignment (was wrong as a result of a dynarmic bug).
8 years ago
bunnei
be299c7636
hle: Implement ConvertSessionToDomain, various cleanups.
8 years ago
bunnei
2ea8867549
hle: Initial implementation of NX service framework and IPC.
8 years ago
Huw Pascoe
da1c8d1522
Fixed type conversion ambiguity
8 years ago
Yuri Kunde Schlesner
192a95390e
Kernel: Allow clearing request_objects to re-use buffer space
Reduces the necessary allocation to max(in_handles, out_handles) rather
than (in_handles + out_handles).
9 years ago
Yuri Kunde Schlesner
a74dbc2c24
IPC: Add Pop/PushObjects methods to RequestParser/Builder
These use the context functions to create and look-up handles for the
user.
9 years ago
Yuri Kunde Schlesner
2102e5e907
IPC: Add basic HLERequestContext support to RequestParser/Builder
9 years ago
Yuri Kunde Schlesner
ecfda5317e
Kernel: Move HandleTable to a separate file
9 years ago
Lectem
268d389a37
IPCHelper Skip method + address comments for apt
9 years ago
Lectem
7b87571b09
fix #2560 and other comments
9 years ago
Lectem
48825ceb01
move push out of class body and add u8 u16 bool specializations
9 years ago
Lectem
f1e18b1880
refactor APT service to use the new IPC helpers
9 years ago
Lectem
fc81e9226a
fix wwylele's comment and use typename in templates
9 years ago
Lectem
a7eeff24f0
move Pop methods out of class body
9 years ago
Lectem
09e966a107
IPC helpers
9 years ago