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)
ArgSize = argSize;
ArgAlignment = argAlignment;
public CommandArg(HipcBufferFlags flags, ushort fixedSize = 0)
Type = CommandArgType.Buffer;
BufferFlags = flags;
BufferFixedSize = fixedSize;