blob: 47aedde96def327a23d7573499bd6c93c83d7a35 (
plain) (
tree)
|
|
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;
}
}
}
|