IOS: Include the UID and GID in open requests
Accuracy change. Required to implement ES contexts properly.
This commit is contained in:
parent
dd31a403db
commit
c01fda6255
|
@ -26,6 +26,8 @@ OpenRequest::OpenRequest(const u32 address_) : Request(address_)
|
|||
{
|
||||
path = Memory::GetString(Memory::Read_U32(address + 0xc));
|
||||
flags = static_cast<OpenMode>(Memory::Read_U32(address + 0x10));
|
||||
uid = GetUIDForPPC();
|
||||
gid = GetGIDForPPC();
|
||||
}
|
||||
|
||||
ReadWriteRequest::ReadWriteRequest(const u32 address_) : Request(address_)
|
||||
|
|
|
@ -92,6 +92,10 @@ struct OpenRequest final : Request
|
|||
{
|
||||
std::string path;
|
||||
OpenMode flags = IOS_OPEN_READ;
|
||||
// The UID and GID are not part of the IPC request sent from the PPC to the Starlet,
|
||||
// but they are set after they reach IOS and are dispatched to the appropriate module.
|
||||
u32 uid = 0;
|
||||
u16 gid = 0;
|
||||
explicit OpenRequest(u32 address);
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue