| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 |
- using Ryujinx.Horizon.Sdk.Sf.Hipc;
- namespace Ryujinx.Horizon.Sdk.Sf
- {
- enum CommandArgType : byte
- {
- Invalid,
- Buffer,
- InArgument,
- InCopyHandle,
- InMoveHandle,
- InObject,
- OutArgument,
- OutCopyHandle,
- OutMoveHandle,
- OutObject,
- ProcessId
- }
- struct CommandArg
- {
- public CommandArgType Type { get; }
- public HipcBufferFlags BufferFlags { get; }
- public ushort BufferFixedSize { get; }
- public int ArgSize { get; }
- public int ArgAlignment { get; }
- public CommandArg(CommandArgType type)
- {
- Type = type;
- BufferFlags = default;
- BufferFixedSize = 0;
- ArgSize = 0;
- ArgAlignment = 0;
- }
- public CommandArg(CommandArgType type, int argSize, int argAlignment)
- {
- Type = type;
- BufferFlags = default;
- BufferFixedSize = 0;
- ArgSize = argSize;
- ArgAlignment = argAlignment;
- }
- public CommandArg(HipcBufferFlags flags, ushort fixedSize = 0)
- {
- Type = CommandArgType.Buffer;
- BufferFlags = flags;
- BufferFixedSize = fixedSize;
- ArgSize = 0;
- ArgAlignment = 0;
- }
- }
- }
|