bunnei
5e4d01f80c
ipc: Add support for PopIpcInterface() method.
- This can be used for domain objects as inputs to service functions.
8 years ago
David
3a3b58df8b
GetSharedFontInOrderOfPriority ( #381 )
* GetSharedFontInOrderOfPriority
* Update pl_u.cpp
* Ability to use ReadBuffer and WriteBuffer with different buffer indexes, fixed up GetSharedFontInOrderOfPriority
* switched to NGLOG
* Update pl_u.cpp
* Update pl_u.cpp
* language_code is actually language code and not index
* u32->u64
* final cleanups
8 years ago
bunnei
7750edae39
hle_ipc: Add SleepClientThread to block current thread within HLE routines.
8 years ago
bunnei
01d72e813e
hle_ipc: Use shared_ptr instead of unique_ptr to allow copies.
8 years ago
bunnei
479400acc8
hle_ipc: Remove GetPointer(..) usage with WriteToOutgoingCommandBuffer.
8 years ago
mailwl
e86ec16ee7
Service/hid: stub some functions
8 years ago
bunnei
9bd160723a
hle_ipc: Remove const from WriteBuffer size.
8 years ago
bunnei
289e29163b
hle_ipc: Add GetReadBufferSize and check write buffer size.
8 years ago
bunnei
ac83b7c57f
hle_ipc: Add helper functions for reading and writing buffers.
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
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
MerryMage
41bfd994f6
clang-format
8 years ago
bunnei
182548ec86
yuzu: Update license text to be consistent across project.
8 years ago
bunnei
86a8e32471
core: Fix recent GCC build breaks.
8 years ago
Subv
8923c80127
IPC: Corrected some definitions for the buffer C descriptor flags.
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
1edc9cc327
service: Return proper result code for IPC::CommandType::Close.
8 years ago
bunnei
f599769c3c
hle_ipc: Parse out buffer X/A/B/B descriptors from incoming command buffer.
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
Yuri Kunde Schlesner
6382e341f8
Kernel/IPC: Make HLERequestContext usable from outside kernel
9 years ago
Yuri Kunde Schlesner
48b7e2b061
Kernel/IPC: Use boost::small_vector for HLE context objects
9 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
e639024013
Kernel: Basic support for IPC translation for HLE services
9 years ago
Yuri Kunde Schlesner
ccba9e903f
Kernel: Add methods in HLERequestContext abstracting handle creation
9 years ago
Yuri Kunde Schlesner
1e8c1ed676
ServiceFramework: Use separate copy of command buffer
Copy the IPC command buffer to/from the request context before/after the
handler is invoked. This is part of a move away from using global data
for handling IPC requests.
9 years ago
Yuri Kunde Schlesner
0a7f4f531f
Service: Add new ServiceFramework framework for writing HLE services
The old "Interface" class had a few problems such as using free
functions (Which didn't allow you to write the service handler as if it
were a regular class.) which weren't very extensible. (Only received one
parameter with a pointer to the Interface object.)
The new ServiceFramework aims to solve these problems by working with
member functions and passing a generic context struct as parameter. This
struct can be extended in the future without having to update all
existing service implementations.
9 years ago
Yuri Kunde Schlesner
1e267fd653
Kernel: Remove some unnecessary namespace qualifications
9 years ago
Yuri Kunde Schlesner
8a35f3634e
Kernel: Add a dedicated SetHleHandler method to ServerPort/ServerSession
This allows attaching a HLE handle to a ServerPort at any point after it
is created, allowing port/session creation to be generic between HLE and
regular services.
9 years ago
Yuri Kunde Schlesner
41a3feea66
HLE: Move SessionRequestHandler from Service:: to Kernel::
Most of the code that works with this is or will be in the kernel, so
it's a more appropriate place for it to be.
9 years ago