Initial support for the new 12.x IPC system (#2182)

* Rename CommandAttribute as CommandHIpcAttribute to prepare for 12.x changes

* Implement inital support for TIPC and adds SM command ids

* *Ipc to *ipc

* Missed a ref in last commit...

* CommandAttributeTIpc to CommandAttributeTipc

* Addresses comment and fixes some bugs around

TIPC doesn't have any padding requirements as buffer C isn't a thing
Fix for RegisterService inverting two argument only on TIPC
This commit is contained in:
Mary 2021-04-14 00:01:24 +02:00 committed by GitHub
parent faa654dbaf
commit 0746b83edf
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
132 changed files with 1077 additions and 951 deletions

View file

@ -18,24 +18,28 @@ namespace Ryujinx.HLE.Exceptions
public ServiceCtx Context { get; } public ServiceCtx Context { get; }
public IpcMessage Request { get; } public IpcMessage Request { get; }
public ServiceNotImplementedException(IpcService service, ServiceCtx context) private bool _isTipcCommand;
: this(service, context, "The service call is not implemented.")
public ServiceNotImplementedException(IpcService service, ServiceCtx context, bool isTipcCommand)
: this(service, context, "The service call is not implemented.", isTipcCommand)
{ } { }
public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message) public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message, bool isTipcCommand)
: base(message) : base(message)
{ {
Service = service; Service = service;
Context = context; Context = context;
Request = context.Request; Request = context.Request;
_isTipcCommand = isTipcCommand;
} }
public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message, Exception inner) public ServiceNotImplementedException(IpcService service, ServiceCtx context, string message, Exception inner, bool isTipcCommand)
: base(message, inner) : base(message, inner)
{ {
Service = service; Service = service;
Context = context; Context = context;
Request = context.Request; Request = context.Request;
_isTipcCommand = isTipcCommand;
} }
protected ServiceNotImplementedException(SerializationInfo info, StreamingContext context) protected ServiceNotImplementedException(SerializationInfo info, StreamingContext context)
@ -62,7 +66,7 @@ namespace Ryujinx.HLE.Exceptions
if (callingType != null && callingMethod != null) if (callingType != null && callingMethod != null)
{ {
var ipcCommands = Service.Commands; var ipcCommands = _isTipcCommand ? Service.TipcCommands : Service.HipcCommands;
// Find the handler for the method called // Find the handler for the method called
var ipcHandler = ipcCommands.FirstOrDefault(x => x.Value == callingMethod); var ipcHandler = ipcCommands.FirstOrDefault(x => x.Value == callingMethod);

View file

@ -82,14 +82,18 @@ namespace Ryujinx.HLE.HOS.Ipc
long recvListPos = reader.BaseStream.Position + rawDataSize; long recvListPos = reader.BaseStream.Position + rawDataSize;
long pad0 = GetPadSize16(reader.BaseStream.Position + cmdPtr); // only HIPC have the padding requirements.
if (Type < IpcMessageType.TipcCloseSession)
if (rawDataSize != 0)
{ {
rawDataSize -= (int)pad0; long pad0 = GetPadSize16(reader.BaseStream.Position + cmdPtr);
}
reader.BaseStream.Seek(pad0, SeekOrigin.Current); if (rawDataSize != 0)
{
rawDataSize -= (int)pad0;
}
reader.BaseStream.Seek(pad0, SeekOrigin.Current);
}
int recvListCount = recvListFlags - 2; int recvListCount = recvListFlags - 2;

View file

@ -2,11 +2,12 @@ namespace Ryujinx.HLE.HOS.Ipc
{ {
enum IpcMessageType enum IpcMessageType
{ {
Response = 0, HipcResponse = 0,
CloseSession = 2, HipcCloseSession = 2,
Request = 4, HipcRequest = 4,
Control = 5, HipcControl = 5,
RequestWithContext = 6, HipcRequestWithContext = 6,
ControlWithContext = 7 HipcControlWithContext = 7,
TipcCloseSession = 0xF
} }
} }

View file

@ -9,21 +9,21 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
_managerServer = new ManagerServer(userId); _managerServer = new ManagerServer(userId);
} }
[Command(0)] [CommandHipc(0)]
// CheckAvailability() // CheckAvailability()
public ResultCode CheckAvailability(ServiceCtx context) public ResultCode CheckAvailability(ServiceCtx context)
{ {
return _managerServer.CheckAvailability(context); return _managerServer.CheckAvailability(context);
} }
[Command(1)] [CommandHipc(1)]
// GetAccountId() -> nn::account::NetworkServiceAccountId // GetAccountId() -> nn::account::NetworkServiceAccountId
public ResultCode GetAccountId(ServiceCtx context) public ResultCode GetAccountId(ServiceCtx context)
{ {
return _managerServer.GetAccountId(context); return _managerServer.GetAccountId(context);
} }
[Command(2)] [CommandHipc(2)]
// EnsureIdTokenCacheAsync() -> object<nn::account::detail::IAsyncContext> // EnsureIdTokenCacheAsync() -> object<nn::account::detail::IAsyncContext>
public ResultCode EnsureIdTokenCacheAsync(ServiceCtx context) public ResultCode EnsureIdTokenCacheAsync(ServiceCtx context)
{ {
@ -37,21 +37,21 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
return resultCode; return resultCode;
} }
[Command(3)] [CommandHipc(3)]
// LoadIdTokenCache() -> (u32 id_token_cache_size, buffer<bytes, 6>) // LoadIdTokenCache() -> (u32 id_token_cache_size, buffer<bytes, 6>)
public ResultCode LoadIdTokenCache(ServiceCtx context) public ResultCode LoadIdTokenCache(ServiceCtx context)
{ {
return _managerServer.LoadIdTokenCache(context); return _managerServer.LoadIdTokenCache(context);
} }
[Command(130)] [CommandHipc(130)]
// GetNintendoAccountUserResourceCacheForApplication() -> (nn::account::NintendoAccountId, nn::account::nas::NasUserBaseForApplication, buffer<bytes, 6>) // GetNintendoAccountUserResourceCacheForApplication() -> (nn::account::NintendoAccountId, nn::account::nas::NasUserBaseForApplication, buffer<bytes, 6>)
public ResultCode GetNintendoAccountUserResourceCacheForApplication(ServiceCtx context) public ResultCode GetNintendoAccountUserResourceCacheForApplication(ServiceCtx context)
{ {
return _managerServer.GetNintendoAccountUserResourceCacheForApplication(context); return _managerServer.GetNintendoAccountUserResourceCacheForApplication(context);
} }
[Command(160)] // 5.0.0+ [CommandHipc(160)] // 5.0.0+
// StoreOpenContext() // StoreOpenContext()
public ResultCode StoreOpenContext(ServiceCtx context) public ResultCode StoreOpenContext(ServiceCtx context)
{ {

View file

@ -9,21 +9,21 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
_managerServer = new ManagerServer(userId); _managerServer = new ManagerServer(userId);
} }
[Command(0)] [CommandHipc(0)]
// CheckAvailability() // CheckAvailability()
public ResultCode CheckAvailability(ServiceCtx context) public ResultCode CheckAvailability(ServiceCtx context)
{ {
return _managerServer.CheckAvailability(context); return _managerServer.CheckAvailability(context);
} }
[Command(1)] [CommandHipc(1)]
// GetAccountId() -> nn::account::NetworkServiceAccountId // GetAccountId() -> nn::account::NetworkServiceAccountId
public ResultCode GetAccountId(ServiceCtx context) public ResultCode GetAccountId(ServiceCtx context)
{ {
return _managerServer.GetAccountId(context); return _managerServer.GetAccountId(context);
} }
[Command(2)] [CommandHipc(2)]
// EnsureIdTokenCacheAsync() -> object<nn::account::detail::IAsyncContext> // EnsureIdTokenCacheAsync() -> object<nn::account::detail::IAsyncContext>
public ResultCode EnsureIdTokenCacheAsync(ServiceCtx context) public ResultCode EnsureIdTokenCacheAsync(ServiceCtx context)
{ {
@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
return resultCode; return resultCode;
} }
[Command(3)] [CommandHipc(3)]
// LoadIdTokenCache() -> (u32 id_token_cache_size, buffer<bytes, 6>) // LoadIdTokenCache() -> (u32 id_token_cache_size, buffer<bytes, 6>)
public ResultCode LoadIdTokenCache(ServiceCtx context) public ResultCode LoadIdTokenCache(ServiceCtx context)
{ {

View file

@ -9,28 +9,28 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
_profileServer = new ProfileServer(profile); _profileServer = new ProfileServer(profile);
} }
[Command(0)] [CommandHipc(0)]
// Get() -> (nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x1a>) // Get() -> (nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x1a>)
public ResultCode Get(ServiceCtx context) public ResultCode Get(ServiceCtx context)
{ {
return _profileServer.Get(context); return _profileServer.Get(context);
} }
[Command(1)] [CommandHipc(1)]
// GetBase() -> nn::account::profile::ProfileBase // GetBase() -> nn::account::profile::ProfileBase
public ResultCode GetBase(ServiceCtx context) public ResultCode GetBase(ServiceCtx context)
{ {
return _profileServer.GetBase(context); return _profileServer.GetBase(context);
} }
[Command(10)] [CommandHipc(10)]
// GetImageSize() -> u32 // GetImageSize() -> u32
public ResultCode GetImageSize(ServiceCtx context) public ResultCode GetImageSize(ServiceCtx context)
{ {
return _profileServer.GetImageSize(context); return _profileServer.GetImageSize(context);
} }
[Command(11)] [CommandHipc(11)]
// LoadImage() -> (u32, buffer<bytes, 6>) // LoadImage() -> (u32, buffer<bytes, 6>)
public ResultCode LoadImage(ServiceCtx context) public ResultCode LoadImage(ServiceCtx context)
{ {

View file

@ -9,42 +9,42 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc.AccountService
_profileServer = new ProfileServer(profile); _profileServer = new ProfileServer(profile);
} }
[Command(0)] [CommandHipc(0)]
// Get() -> (nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x1a>) // Get() -> (nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x1a>)
public ResultCode Get(ServiceCtx context) public ResultCode Get(ServiceCtx context)
{ {
return _profileServer.Get(context); return _profileServer.Get(context);
} }
[Command(1)] [CommandHipc(1)]
// GetBase() -> nn::account::profile::ProfileBase // GetBase() -> nn::account::profile::ProfileBase
public ResultCode GetBase(ServiceCtx context) public ResultCode GetBase(ServiceCtx context)
{ {
return _profileServer.GetBase(context); return _profileServer.GetBase(context);
} }
[Command(10)] [CommandHipc(10)]
// GetImageSize() -> u32 // GetImageSize() -> u32
public ResultCode GetImageSize(ServiceCtx context) public ResultCode GetImageSize(ServiceCtx context)
{ {
return _profileServer.GetImageSize(context); return _profileServer.GetImageSize(context);
} }
[Command(11)] [CommandHipc(11)]
// LoadImage() -> (u32, buffer<bytes, 6>) // LoadImage() -> (u32, buffer<bytes, 6>)
public ResultCode LoadImage(ServiceCtx context) public ResultCode LoadImage(ServiceCtx context)
{ {
return _profileServer.LoadImage(context); return _profileServer.LoadImage(context);
} }
[Command(100)] [CommandHipc(100)]
// Store(nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x19>) // Store(nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x19>)
public ResultCode Store(ServiceCtx context) public ResultCode Store(ServiceCtx context)
{ {
return _profileServer.Store(context); return _profileServer.Store(context);
} }
[Command(101)] [CommandHipc(101)]
// StoreWithImage(nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x19>, buffer<bytes, 5>) // StoreWithImage(nn::account::profile::ProfileBase, buffer<nn::account::profile::UserData, 0x19>, buffer<bytes, 5>)
public ResultCode StoreWithImage(ServiceCtx context) public ResultCode StoreWithImage(ServiceCtx context)
{ {

View file

@ -14,42 +14,42 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
_applicationServiceServer = new ApplicationServiceServer(serviceFlag); _applicationServiceServer = new ApplicationServiceServer(serviceFlag);
} }
[Command(0)] [CommandHipc(0)]
// GetUserCount() -> i32 // GetUserCount() -> i32
public ResultCode GetUserCount(ServiceCtx context) public ResultCode GetUserCount(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserCountImpl(context); return _applicationServiceServer.GetUserCountImpl(context);
} }
[Command(1)] [CommandHipc(1)]
// GetUserExistence(nn::account::Uid) -> bool // GetUserExistence(nn::account::Uid) -> bool
public ResultCode GetUserExistence(ServiceCtx context) public ResultCode GetUserExistence(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserExistenceImpl(context); return _applicationServiceServer.GetUserExistenceImpl(context);
} }
[Command(2)] [CommandHipc(2)]
// ListAllUsers() -> array<nn::account::Uid, 0xa> // ListAllUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListAllUsers(ServiceCtx context) public ResultCode ListAllUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListAllUsers(context); return _applicationServiceServer.ListAllUsers(context);
} }
[Command(3)] [CommandHipc(3)]
// ListOpenUsers() -> array<nn::account::Uid, 0xa> // ListOpenUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListOpenUsers(ServiceCtx context) public ResultCode ListOpenUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListOpenUsers(context); return _applicationServiceServer.ListOpenUsers(context);
} }
[Command(4)] [CommandHipc(4)]
// GetLastOpenedUser() -> nn::account::Uid // GetLastOpenedUser() -> nn::account::Uid
public ResultCode GetLastOpenedUser(ServiceCtx context) public ResultCode GetLastOpenedUser(ServiceCtx context)
{ {
return _applicationServiceServer.GetLastOpenedUser(context); return _applicationServiceServer.GetLastOpenedUser(context);
} }
[Command(5)] [CommandHipc(5)]
// GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile> // GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile>
public ResultCode GetProfile(ServiceCtx context) public ResultCode GetProfile(ServiceCtx context)
{ {
@ -63,7 +63,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return resultCode; return resultCode;
} }
[Command(50)] [CommandHipc(50)]
// IsUserRegistrationRequestPermitted(pid) -> bool // IsUserRegistrationRequestPermitted(pid) -> bool
public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context) public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context)
{ {
@ -72,14 +72,14 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return _applicationServiceServer.IsUserRegistrationRequestPermitted(context); return _applicationServiceServer.IsUserRegistrationRequestPermitted(context);
} }
[Command(51)] [CommandHipc(51)]
// TrySelectUserWithoutInteraction(bool) -> nn::account::Uid // TrySelectUserWithoutInteraction(bool) -> nn::account::Uid
public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context) public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context)
{ {
return _applicationServiceServer.TrySelectUserWithoutInteraction(context); return _applicationServiceServer.TrySelectUserWithoutInteraction(context);
} }
[Command(102)] [CommandHipc(102)]
// GetBaasAccountManagerForSystemService(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication> // GetBaasAccountManagerForSystemService(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication>
public ResultCode GetBaasAccountManagerForSystemService(ServiceCtx context) public ResultCode GetBaasAccountManagerForSystemService(ServiceCtx context)
{ {
@ -98,14 +98,14 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(140)] // 6.0.0+ [CommandHipc(140)] // 6.0.0+
// ListQualifiedUsers() -> array<nn::account::Uid, 0xa> // ListQualifiedUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListQualifiedUsers(ServiceCtx context) public ResultCode ListQualifiedUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListQualifiedUsers(context); return _applicationServiceServer.ListQualifiedUsers(context);
} }
[Command(205)] [CommandHipc(205)]
// GetProfileEditor(nn::account::Uid) -> object<nn::account::profile::IProfileEditor> // GetProfileEditor(nn::account::Uid) -> object<nn::account::profile::IProfileEditor>
public ResultCode GetProfileEditor(ServiceCtx context) public ResultCode GetProfileEditor(ServiceCtx context)
{ {

View file

@ -15,42 +15,42 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
_applicationServiceServer = new ApplicationServiceServer(serviceFlag); _applicationServiceServer = new ApplicationServiceServer(serviceFlag);
} }
[Command(0)] [CommandHipc(0)]
// GetUserCount() -> i32 // GetUserCount() -> i32
public ResultCode GetUserCount(ServiceCtx context) public ResultCode GetUserCount(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserCountImpl(context); return _applicationServiceServer.GetUserCountImpl(context);
} }
[Command(1)] [CommandHipc(1)]
// GetUserExistence(nn::account::Uid) -> bool // GetUserExistence(nn::account::Uid) -> bool
public ResultCode GetUserExistence(ServiceCtx context) public ResultCode GetUserExistence(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserExistenceImpl(context); return _applicationServiceServer.GetUserExistenceImpl(context);
} }
[Command(2)] [CommandHipc(2)]
// ListAllUsers() -> array<nn::account::Uid, 0xa> // ListAllUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListAllUsers(ServiceCtx context) public ResultCode ListAllUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListAllUsers(context); return _applicationServiceServer.ListAllUsers(context);
} }
[Command(3)] [CommandHipc(3)]
// ListOpenUsers() -> array<nn::account::Uid, 0xa> // ListOpenUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListOpenUsers(ServiceCtx context) public ResultCode ListOpenUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListOpenUsers(context); return _applicationServiceServer.ListOpenUsers(context);
} }
[Command(4)] [CommandHipc(4)]
// GetLastOpenedUser() -> nn::account::Uid // GetLastOpenedUser() -> nn::account::Uid
public ResultCode GetLastOpenedUser(ServiceCtx context) public ResultCode GetLastOpenedUser(ServiceCtx context)
{ {
return _applicationServiceServer.GetLastOpenedUser(context); return _applicationServiceServer.GetLastOpenedUser(context);
} }
[Command(5)] [CommandHipc(5)]
// GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile> // GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile>
public ResultCode GetProfile(ServiceCtx context) public ResultCode GetProfile(ServiceCtx context)
{ {
@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return resultCode; return resultCode;
} }
[Command(50)] [CommandHipc(50)]
// IsUserRegistrationRequestPermitted(pid) -> bool // IsUserRegistrationRequestPermitted(pid) -> bool
public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context) public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context)
{ {
@ -72,15 +72,15 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return _applicationServiceServer.IsUserRegistrationRequestPermitted(context); return _applicationServiceServer.IsUserRegistrationRequestPermitted(context);
} }
[Command(51)] [CommandHipc(51)]
// TrySelectUserWithoutInteraction(bool) -> nn::account::Uid // TrySelectUserWithoutInteraction(bool) -> nn::account::Uid
public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context) public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context)
{ {
return _applicationServiceServer.TrySelectUserWithoutInteraction(context); return _applicationServiceServer.TrySelectUserWithoutInteraction(context);
} }
[Command(100)] [CommandHipc(100)]
[Command(140)] // 6.0.0+ [CommandHipc(140)] // 6.0.0+
// InitializeApplicationInfo(u64 pid_placeholder, pid) // InitializeApplicationInfo(u64 pid_placeholder, pid)
public ResultCode InitializeApplicationInfo(ServiceCtx context) public ResultCode InitializeApplicationInfo(ServiceCtx context)
{ {
@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(101)] [CommandHipc(101)]
// GetBaasAccountManagerForApplication(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication> // GetBaasAccountManagerForApplication(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication>
public ResultCode GetBaasAccountManagerForApplication(ServiceCtx context) public ResultCode GetBaasAccountManagerForApplication(ServiceCtx context)
{ {
@ -124,21 +124,21 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(110)] [CommandHipc(110)]
// StoreSaveDataThumbnail(nn::account::Uid, buffer<bytes, 5>) // StoreSaveDataThumbnail(nn::account::Uid, buffer<bytes, 5>)
public ResultCode StoreSaveDataThumbnail(ServiceCtx context) public ResultCode StoreSaveDataThumbnail(ServiceCtx context)
{ {
return _applicationServiceServer.StoreSaveDataThumbnail(context); return _applicationServiceServer.StoreSaveDataThumbnail(context);
} }
[Command(111)] [CommandHipc(111)]
// ClearSaveDataThumbnail(nn::account::Uid) // ClearSaveDataThumbnail(nn::account::Uid)
public ResultCode ClearSaveDataThumbnail(ServiceCtx context) public ResultCode ClearSaveDataThumbnail(ServiceCtx context)
{ {
return _applicationServiceServer.ClearSaveDataThumbnail(context); return _applicationServiceServer.ClearSaveDataThumbnail(context);
} }
[Command(131)] // 6.0.0+ [CommandHipc(131)] // 6.0.0+
// ListOpenContextStoredUsers() -> array<nn::account::Uid, 0xa> // ListOpenContextStoredUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListOpenContextStoredUsers(ServiceCtx context) public ResultCode ListOpenContextStoredUsers(ServiceCtx context)
{ {
@ -154,14 +154,14 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(141)] // 6.0.0+ [CommandHipc(141)] // 6.0.0+
// ListQualifiedUsers() -> array<nn::account::Uid, 0xa> // ListQualifiedUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListQualifiedUsers(ServiceCtx context) public ResultCode ListQualifiedUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListQualifiedUsers(context); return _applicationServiceServer.ListQualifiedUsers(context);
} }
[Command(150)] // 6.0.0+ [CommandHipc(150)] // 6.0.0+
// IsUserAccountSwitchLocked() -> bool // IsUserAccountSwitchLocked() -> bool
public ResultCode IsUserAccountSwitchLocked(ServiceCtx context) public ResultCode IsUserAccountSwitchLocked(ServiceCtx context)
{ {

View file

@ -13,42 +13,42 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
_applicationServiceServer = new ApplicationServiceServer(serviceFlag); _applicationServiceServer = new ApplicationServiceServer(serviceFlag);
} }
[Command(0)] [CommandHipc(0)]
// GetUserCount() -> i32 // GetUserCount() -> i32
public ResultCode GetUserCount(ServiceCtx context) public ResultCode GetUserCount(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserCountImpl(context); return _applicationServiceServer.GetUserCountImpl(context);
} }
[Command(1)] [CommandHipc(1)]
// GetUserExistence(nn::account::Uid) -> bool // GetUserExistence(nn::account::Uid) -> bool
public ResultCode GetUserExistence(ServiceCtx context) public ResultCode GetUserExistence(ServiceCtx context)
{ {
return _applicationServiceServer.GetUserExistenceImpl(context); return _applicationServiceServer.GetUserExistenceImpl(context);
} }
[Command(2)] [CommandHipc(2)]
// ListAllUsers() -> array<nn::account::Uid, 0xa> // ListAllUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListAllUsers(ServiceCtx context) public ResultCode ListAllUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListAllUsers(context); return _applicationServiceServer.ListAllUsers(context);
} }
[Command(3)] [CommandHipc(3)]
// ListOpenUsers() -> array<nn::account::Uid, 0xa> // ListOpenUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListOpenUsers(ServiceCtx context) public ResultCode ListOpenUsers(ServiceCtx context)
{ {
return _applicationServiceServer.ListOpenUsers(context); return _applicationServiceServer.ListOpenUsers(context);
} }
[Command(4)] [CommandHipc(4)]
// GetLastOpenedUser() -> nn::account::Uid // GetLastOpenedUser() -> nn::account::Uid
public ResultCode GetLastOpenedUser(ServiceCtx context) public ResultCode GetLastOpenedUser(ServiceCtx context)
{ {
return _applicationServiceServer.GetLastOpenedUser(context); return _applicationServiceServer.GetLastOpenedUser(context);
} }
[Command(5)] [CommandHipc(5)]
// GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile> // GetProfile(nn::account::Uid) -> object<nn::account::profile::IProfile>
public ResultCode GetProfile(ServiceCtx context) public ResultCode GetProfile(ServiceCtx context)
{ {
@ -62,7 +62,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return resultCode; return resultCode;
} }
[Command(50)] [CommandHipc(50)]
// IsUserRegistrationRequestPermitted(pid) -> bool // IsUserRegistrationRequestPermitted(pid) -> bool
public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context) public ResultCode IsUserRegistrationRequestPermitted(ServiceCtx context)
{ {
@ -71,14 +71,14 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return _applicationServiceServer.IsUserRegistrationRequestPermitted(context); return _applicationServiceServer.IsUserRegistrationRequestPermitted(context);
} }
[Command(51)] [CommandHipc(51)]
// TrySelectUserWithoutInteraction(bool) -> nn::account::Uid // TrySelectUserWithoutInteraction(bool) -> nn::account::Uid
public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context) public ResultCode TrySelectUserWithoutInteraction(ServiceCtx context)
{ {
return _applicationServiceServer.TrySelectUserWithoutInteraction(context); return _applicationServiceServer.TrySelectUserWithoutInteraction(context);
} }
[Command(102)] [CommandHipc(102)]
// GetBaasAccountManagerForSystemService(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication> // GetBaasAccountManagerForSystemService(nn::account::Uid) -> object<nn::account::baas::IManagerForApplication>
public ResultCode GetBaasAccountManagerForSystemService(ServiceCtx context) public ResultCode GetBaasAccountManagerForSystemService(ServiceCtx context)
{ {
@ -97,7 +97,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(140)] // 6.0.0+ [CommandHipc(140)] // 6.0.0+
// ListQualifiedUsers() -> array<nn::account::Uid, 0xa> // ListQualifiedUsers() -> array<nn::account::Uid, 0xa>
public ResultCode ListQualifiedUsers(ServiceCtx context) public ResultCode ListQualifiedUsers(ServiceCtx context)
{ {

View file

@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
_asyncExecution = asyncExecution; _asyncExecution = asyncExecution;
} }
[Command(0)] [CommandHipc(0)]
// GetSystemEvent() -> handle<copy> // GetSystemEvent() -> handle<copy>
public ResultCode GetSystemEvent(ServiceCtx context) public ResultCode GetSystemEvent(ServiceCtx context)
{ {
@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// Cancel() // Cancel()
public ResultCode Cancel(ServiceCtx context) public ResultCode Cancel(ServiceCtx context)
{ {
@ -45,7 +45,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// HasDone() -> b8 // HasDone() -> b8
public ResultCode HasDone(ServiceCtx context) public ResultCode HasDone(ServiceCtx context)
{ {
@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Account.Acc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// GetResult() // GetResult()
public ResultCode GetResult(ServiceCtx context) public ResultCode GetResult(ServiceCtx context)
{ {

View file

@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
_pid = pid; _pid = pid;
} }
[Command(0)] [CommandHipc(0)]
// GetCommonStateGetter() -> object<nn::am::service::ICommonStateGetter> // GetCommonStateGetter() -> object<nn::am::service::ICommonStateGetter>
public ResultCode GetCommonStateGetter(ServiceCtx context) public ResultCode GetCommonStateGetter(ServiceCtx context)
{ {
@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetSelfController() -> object<nn::am::service::ISelfController> // GetSelfController() -> object<nn::am::service::ISelfController>
public ResultCode GetSelfController(ServiceCtx context) public ResultCode GetSelfController(ServiceCtx context)
{ {
@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetWindowController() -> object<nn::am::service::IWindowController> // GetWindowController() -> object<nn::am::service::IWindowController>
public ResultCode GetWindowController(ServiceCtx context) public ResultCode GetWindowController(ServiceCtx context)
{ {
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// GetAudioController() -> object<nn::am::service::IAudioController> // GetAudioController() -> object<nn::am::service::IAudioController>
public ResultCode GetAudioController(ServiceCtx context) public ResultCode GetAudioController(ServiceCtx context)
{ {
@ -47,7 +47,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// GetDisplayController() -> object<nn::am::service::IDisplayController> // GetDisplayController() -> object<nn::am::service::IDisplayController>
public ResultCode GetDisplayController(ServiceCtx context) public ResultCode GetDisplayController(ServiceCtx context)
{ {
@ -56,7 +56,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// GetLibraryAppletCreator() -> object<nn::am::service::ILibraryAppletCreator> // GetLibraryAppletCreator() -> object<nn::am::service::ILibraryAppletCreator>
public ResultCode GetLibraryAppletCreator(ServiceCtx context) public ResultCode GetLibraryAppletCreator(ServiceCtx context)
{ {
@ -65,7 +65,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(20)] [CommandHipc(20)]
// GetHomeMenuFunctions() -> object<nn::am::service::IHomeMenuFunctions> // GetHomeMenuFunctions() -> object<nn::am::service::IHomeMenuFunctions>
public ResultCode GetHomeMenuFunctions(ServiceCtx context) public ResultCode GetHomeMenuFunctions(ServiceCtx context)
{ {
@ -74,7 +74,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// GetGlobalStateController() -> object<nn::am::service::IGlobalStateController> // GetGlobalStateController() -> object<nn::am::service::IGlobalStateController>
public ResultCode GetGlobalStateController(ServiceCtx context) public ResultCode GetGlobalStateController(ServiceCtx context)
{ {
@ -83,7 +83,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(22)] [CommandHipc(22)]
// GetApplicationCreator() -> object<nn::am::service::IApplicationCreator> // GetApplicationCreator() -> object<nn::am::service::IApplicationCreator>
public ResultCode GetApplicationCreator(ServiceCtx context) public ResultCode GetApplicationCreator(ServiceCtx context)
{ {
@ -92,7 +92,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1000)] [CommandHipc(1000)]
// GetDebugFunctions() -> object<nn::am::service::IDebugFunctions> // GetDebugFunctions() -> object<nn::am::service::IDebugFunctions>
public ResultCode GetDebugFunctions(ServiceCtx context) public ResultCode GetDebugFunctions(ServiceCtx context)
{ {

View file

@ -60,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
_interactiveOutDataEvent.WritableEvent.Signal(); _interactiveOutDataEvent.WritableEvent.Signal();
} }
[Command(0)] [CommandHipc(0)]
// GetAppletStateChangedEvent() -> handle<copy> // GetAppletStateChangedEvent() -> handle<copy>
public ResultCode GetAppletStateChangedEvent(ServiceCtx context) public ResultCode GetAppletStateChangedEvent(ServiceCtx context)
{ {
@ -77,14 +77,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// Start() // Start()
public ResultCode Start(ServiceCtx context) public ResultCode Start(ServiceCtx context)
{ {
return (ResultCode)_applet.Start(_normalSession.GetConsumer(), _interactiveSession.GetConsumer()); return (ResultCode)_applet.Start(_normalSession.GetConsumer(), _interactiveSession.GetConsumer());
} }
[Command(20)] [CommandHipc(20)]
// RequestExit() // RequestExit()
public ResultCode RequestExit(ServiceCtx context) public ResultCode RequestExit(ServiceCtx context)
{ {
@ -96,14 +96,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(30)] [CommandHipc(30)]
// GetResult() // GetResult()
public ResultCode GetResult(ServiceCtx context) public ResultCode GetResult(ServiceCtx context)
{ {
return (ResultCode)_applet.GetResult(); return (ResultCode)_applet.GetResult();
} }
[Command(60)] [CommandHipc(60)]
// PresetLibraryAppletGpuTimeSliceZero() // PresetLibraryAppletGpuTimeSliceZero()
public ResultCode PresetLibraryAppletGpuTimeSliceZero(ServiceCtx context) public ResultCode PresetLibraryAppletGpuTimeSliceZero(ServiceCtx context)
{ {
@ -116,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(100)] [CommandHipc(100)]
// PushInData(object<nn::am::service::IStorage>) // PushInData(object<nn::am::service::IStorage>)
public ResultCode PushInData(ServiceCtx context) public ResultCode PushInData(ServiceCtx context)
{ {
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(101)] [CommandHipc(101)]
// PopOutData() -> object<nn::am::service::IStorage> // PopOutData() -> object<nn::am::service::IStorage>
public ResultCode PopOutData(ServiceCtx context) public ResultCode PopOutData(ServiceCtx context)
{ {
@ -143,7 +143,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.NotAvailable; return ResultCode.NotAvailable;
} }
[Command(103)] [CommandHipc(103)]
// PushInteractiveInData(object<nn::am::service::IStorage>) // PushInteractiveInData(object<nn::am::service::IStorage>)
public ResultCode PushInteractiveInData(ServiceCtx context) public ResultCode PushInteractiveInData(ServiceCtx context)
{ {
@ -154,7 +154,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(104)] [CommandHipc(104)]
// PopInteractiveOutData() -> object<nn::am::service::IStorage> // PopInteractiveOutData() -> object<nn::am::service::IStorage>
public ResultCode PopInteractiveOutData(ServiceCtx context) public ResultCode PopInteractiveOutData(ServiceCtx context)
{ {
@ -170,7 +170,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.NotAvailable; return ResultCode.NotAvailable;
} }
[Command(105)] [CommandHipc(105)]
// GetPopOutDataEvent() -> handle<copy> // GetPopOutDataEvent() -> handle<copy>
public ResultCode GetPopOutDataEvent(ServiceCtx context) public ResultCode GetPopOutDataEvent(ServiceCtx context)
{ {
@ -187,7 +187,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(106)] [CommandHipc(106)]
// GetPopInteractiveOutDataEvent() -> handle<copy> // GetPopInteractiveOutDataEvent() -> handle<copy>
public ResultCode GetPopInteractiveOutDataEvent(ServiceCtx context) public ResultCode GetPopInteractiveOutDataEvent(ServiceCtx context)
{ {
@ -204,21 +204,21 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Lib
return ResultCode.Success; return ResultCode.Success;
} }
[Command(110)] [CommandHipc(110)]
// NeedsToExitProcess() // NeedsToExitProcess()
public ResultCode NeedsToExitProcess(ServiceCtx context) public ResultCode NeedsToExitProcess(ServiceCtx context)
{ {
return ResultCode.Stubbed; return ResultCode.Stubbed;
} }
[Command(150)] [CommandHipc(150)]
// RequestForAppletToGetForeground() // RequestForAppletToGetForeground()
public ResultCode RequestForAppletToGetForeground(ServiceCtx context) public ResultCode RequestForAppletToGetForeground(ServiceCtx context)
{ {
return ResultCode.Stubbed; return ResultCode.Stubbed;
} }
[Command(160)] // 2.0.0+ [CommandHipc(160)] // 2.0.0+
// GetIndirectLayerConsumerHandle() -> u64 indirect_layer_consumer_handle // GetIndirectLayerConsumerHandle() -> u64 indirect_layer_consumer_handle
public ResultCode GetIndirectLayerConsumerHandle(ServiceCtx context) public ResultCode GetIndirectLayerConsumerHandle(ServiceCtx context)
{ {

View file

@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
{ {
public IAudioController() { } public IAudioController() { }
[Command(0)] [CommandHipc(0)]
// SetExpectedMasterVolume(f32, f32) // SetExpectedMasterVolume(f32, f32)
public ResultCode SetExpectedMasterVolume(ServiceCtx context) public ResultCode SetExpectedMasterVolume(ServiceCtx context)
{ {
@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetMainAppletExpectedMasterVolume() -> f32 // GetMainAppletExpectedMasterVolume() -> f32
public ResultCode GetMainAppletExpectedMasterVolume(ServiceCtx context) public ResultCode GetMainAppletExpectedMasterVolume(ServiceCtx context)
{ {
@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetLibraryAppletExpectedMasterVolume() -> f32 // GetLibraryAppletExpectedMasterVolume() -> f32
public ResultCode GetLibraryAppletExpectedMasterVolume(ServiceCtx context) public ResultCode GetLibraryAppletExpectedMasterVolume(ServiceCtx context)
{ {
@ -40,7 +40,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// ChangeMainAppletMasterVolume(f32, u64) // ChangeMainAppletMasterVolume(f32, u64)
public ResultCode ChangeMainAppletMasterVolume(ServiceCtx context) public ResultCode ChangeMainAppletMasterVolume(ServiceCtx context)
{ {
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// SetTransparentVolumeRate(f32) // SetTransparentVolumeRate(f32)
public ResultCode SetTransparentVolumeRate(ServiceCtx context) public ResultCode SetTransparentVolumeRate(ServiceCtx context)
{ {

View file

@ -27,7 +27,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
_lblControllerServer = new Lbl.LblControllerServer(context); _lblControllerServer = new Lbl.LblControllerServer(context);
} }
[Command(0)] [CommandHipc(0)]
// GetEventHandle() -> handle<copy> // GetEventHandle() -> handle<copy>
public ResultCode GetEventHandle(ServiceCtx context) public ResultCode GetEventHandle(ServiceCtx context)
{ {
@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// ReceiveMessage() -> nn::am::AppletMessage // ReceiveMessage() -> nn::am::AppletMessage
public ResultCode ReceiveMessage(ServiceCtx context) public ResultCode ReceiveMessage(ServiceCtx context)
{ {
@ -74,7 +74,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetOperationMode() -> u8 // GetOperationMode() -> u8
public ResultCode GetOperationMode(ServiceCtx context) public ResultCode GetOperationMode(ServiceCtx context)
{ {
@ -87,14 +87,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] [CommandHipc(6)]
// GetPerformanceMode() -> nn::apm::PerformanceMode // GetPerformanceMode() -> nn::apm::PerformanceMode
public ResultCode GetPerformanceMode(ServiceCtx context) public ResultCode GetPerformanceMode(ServiceCtx context)
{ {
return (ResultCode)_apmManagerServer.GetPerformanceMode(context); return (ResultCode)_apmManagerServer.GetPerformanceMode(context);
} }
[Command(8)] [CommandHipc(8)]
// GetBootMode() -> u8 // GetBootMode() -> u8
public ResultCode GetBootMode(ServiceCtx context) public ResultCode GetBootMode(ServiceCtx context)
{ {
@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(9)] [CommandHipc(9)]
// GetCurrentFocusState() -> u8 // GetCurrentFocusState() -> u8
public ResultCode GetCurrentFocusState(ServiceCtx context) public ResultCode GetCurrentFocusState(ServiceCtx context)
{ {
@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(50)] // 3.0.0+ [CommandHipc(50)] // 3.0.0+
// IsVrModeEnabled() -> b8 // IsVrModeEnabled() -> b8
public ResultCode IsVrModeEnabled(ServiceCtx context) public ResultCode IsVrModeEnabled(ServiceCtx context)
{ {
@ -123,7 +123,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(51)] // 3.0.0+ [CommandHipc(51)] // 3.0.0+
// SetVrModeEnabled(b8) // SetVrModeEnabled(b8)
public ResultCode SetVrModeEnabled(ServiceCtx context) public ResultCode SetVrModeEnabled(ServiceCtx context)
{ {
@ -134,7 +134,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(52)] // 4.0.0+ [CommandHipc(52)] // 4.0.0+
// SetLcdBacklighOffEnabled(b8) // SetLcdBacklighOffEnabled(b8)
public ResultCode SetLcdBacklighOffEnabled(ServiceCtx context) public ResultCode SetLcdBacklighOffEnabled(ServiceCtx context)
{ {
@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(53)] // 7.0.0+ [CommandHipc(53)] // 7.0.0+
// BeginVrModeEx() // BeginVrModeEx()
public ResultCode BeginVrModeEx(ServiceCtx context) public ResultCode BeginVrModeEx(ServiceCtx context)
{ {
@ -157,7 +157,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(54)] // 7.0.0+ [CommandHipc(54)] // 7.0.0+
// EndVrModeEx() // EndVrModeEx()
public ResultCode EndVrModeEx(ServiceCtx context) public ResultCode EndVrModeEx(ServiceCtx context)
{ {
@ -187,7 +187,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
// TODO: It signals an internal event of ICommonStateGetter. We have to determine where this event is used. // TODO: It signals an internal event of ICommonStateGetter. We have to determine where this event is used.
} }
[Command(60)] // 3.0.0+ [CommandHipc(60)] // 3.0.0+
// GetDefaultDisplayResolution() -> (u32, u32) // GetDefaultDisplayResolution() -> (u32, u32)
public ResultCode GetDefaultDisplayResolution(ServiceCtx context) public ResultCode GetDefaultDisplayResolution(ServiceCtx context)
{ {
@ -197,7 +197,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(61)] // 3.0.0+ [CommandHipc(61)] // 3.0.0+
// GetDefaultDisplayResolutionChangeEvent() -> handle<copy> // GetDefaultDisplayResolutionChangeEvent() -> handle<copy>
public ResultCode GetDefaultDisplayResolutionChangeEvent(ServiceCtx context) public ResultCode GetDefaultDisplayResolutionChangeEvent(ServiceCtx context)
{ {
@ -216,7 +216,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(66)] // 6.0.0+ [CommandHipc(66)] // 6.0.0+
// SetCpuBoostMode(u32 cpu_boost_mode) // SetCpuBoostMode(u32 cpu_boost_mode)
public ResultCode SetCpuBoostMode(ServiceCtx context) public ResultCode SetCpuBoostMode(ServiceCtx context)
{ {
@ -234,14 +234,14 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(91)] // 7.0.0+ [CommandHipc(91)] // 7.0.0+
// GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration // GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration
public ResultCode GetCurrentPerformanceConfiguration(ServiceCtx context) public ResultCode GetCurrentPerformanceConfiguration(ServiceCtx context)
{ {
return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context); return (ResultCode)_apmSystemManagerServer.GetCurrentPerformanceConfiguration(context);
} }
[Command(900)] // 11.0.0+ [CommandHipc(900)] // 11.0.0+
// SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled() // SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled()
public ResultCode SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled(ServiceCtx context) public ResultCode SetRequestExitToLibraryAppletAtExecuteNextProgramEnabled(ServiceCtx context)
{ {

View file

@ -17,7 +17,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
_channelEvent = new KEvent(system.KernelContext); _channelEvent = new KEvent(system.KernelContext);
} }
[Command(10)] [CommandHipc(10)]
// RequestToGetForeground() // RequestToGetForeground()
public ResultCode RequestToGetForeground(ServiceCtx context) public ResultCode RequestToGetForeground(ServiceCtx context)
{ {
@ -26,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// GetPopFromGeneralChannelEvent() -> handle<copy> // GetPopFromGeneralChannelEvent() -> handle<copy>
public ResultCode GetPopFromGeneralChannelEvent(ServiceCtx context) public ResultCode GetPopFromGeneralChannelEvent(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
{ {
public ILibraryAppletCreator() { } public ILibraryAppletCreator() { }
[Command(0)] [CommandHipc(0)]
// CreateLibraryApplet(u32, u32) -> object<nn::am::service::ILibraryAppletAccessor> // CreateLibraryApplet(u32, u32) -> object<nn::am::service::ILibraryAppletAccessor>
public ResultCode CreateLibraryApplet(ServiceCtx context) public ResultCode CreateLibraryApplet(ServiceCtx context)
{ {
@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// CreateStorage(u64) -> object<nn::am::service::IStorage> // CreateStorage(u64) -> object<nn::am::service::IStorage>
public ResultCode CreateStorage(ServiceCtx context) public ResultCode CreateStorage(ServiceCtx context)
{ {
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// CreateTransferMemoryStorage(b8, u64, handle<copy>) -> object<nn::am::service::IStorage> // CreateTransferMemoryStorage(b8, u64, handle<copy>) -> object<nn::am::service::IStorage>
public ResultCode CreateTransferMemoryStorage(ServiceCtx context) public ResultCode CreateTransferMemoryStorage(ServiceCtx context)
{ {
@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] // 2.0.0+ [CommandHipc(12)] // 2.0.0+
// CreateHandleStorage(u64, handle<copy>) -> object<nn::am::service::IStorage> // CreateHandleStorage(u64, handle<copy>) -> object<nn::am::service::IStorage>
public ResultCode CreateHandleStorage(ServiceCtx context) public ResultCode CreateHandleStorage(ServiceCtx context)
{ {

View file

@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
_pid = pid; _pid = pid;
} }
[Command(0)] [CommandHipc(0)]
// Exit() // Exit()
public ResultCode Exit(ServiceCtx context) public ResultCode Exit(ServiceCtx context)
{ {
@ -50,7 +50,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// LockExit() // LockExit()
public ResultCode LockExit(ServiceCtx context) public ResultCode LockExit(ServiceCtx context)
{ {
@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// UnlockExit() // UnlockExit()
public ResultCode UnlockExit(ServiceCtx context) public ResultCode UnlockExit(ServiceCtx context)
{ {
@ -68,7 +68,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] // 2.0.0+ [CommandHipc(3)] // 2.0.0+
// EnterFatalSection() // EnterFatalSection()
public ResultCode EnterFatalSection(ServiceCtx context) public ResultCode EnterFatalSection(ServiceCtx context)
{ {
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] // 2.0.0+ [CommandHipc(4)] // 2.0.0+
// LeaveFatalSection() // LeaveFatalSection()
public ResultCode LeaveFatalSection(ServiceCtx context) public ResultCode LeaveFatalSection(ServiceCtx context)
{ {
@ -101,7 +101,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return result; return result;
} }
[Command(9)] [CommandHipc(9)]
// GetLibraryAppletLaunchableEvent() -> handle<copy> // GetLibraryAppletLaunchableEvent() -> handle<copy>
public ResultCode GetLibraryAppletLaunchableEvent(ServiceCtx context) public ResultCode GetLibraryAppletLaunchableEvent(ServiceCtx context)
{ {
@ -122,7 +122,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// SetScreenShotPermission(u32) // SetScreenShotPermission(u32)
public ResultCode SetScreenShotPermission(ServiceCtx context) public ResultCode SetScreenShotPermission(ServiceCtx context)
{ {
@ -135,7 +135,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// SetOperationModeChangedNotification(b8) // SetOperationModeChangedNotification(b8)
public ResultCode SetOperationModeChangedNotification(ServiceCtx context) public ResultCode SetOperationModeChangedNotification(ServiceCtx context)
{ {
@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] [CommandHipc(12)]
// SetPerformanceModeChangedNotification(b8) // SetPerformanceModeChangedNotification(b8)
public ResultCode SetPerformanceModeChangedNotification(ServiceCtx context) public ResultCode SetPerformanceModeChangedNotification(ServiceCtx context)
{ {
@ -161,7 +161,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] [CommandHipc(13)]
// SetFocusHandlingMode(b8, b8, b8) // SetFocusHandlingMode(b8, b8, b8)
public ResultCode SetFocusHandlingMode(ServiceCtx context) public ResultCode SetFocusHandlingMode(ServiceCtx context)
{ {
@ -174,7 +174,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(14)] [CommandHipc(14)]
// SetRestartMessageEnabled(b8) // SetRestartMessageEnabled(b8)
public ResultCode SetRestartMessageEnabled(ServiceCtx context) public ResultCode SetRestartMessageEnabled(ServiceCtx context)
{ {
@ -187,7 +187,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(16)] // 2.0.0+ [CommandHipc(16)] // 2.0.0+
// SetOutOfFocusSuspendingEnabled(b8) // SetOutOfFocusSuspendingEnabled(b8)
public ResultCode SetOutOfFocusSuspendingEnabled(ServiceCtx context) public ResultCode SetOutOfFocusSuspendingEnabled(ServiceCtx context)
{ {
@ -200,7 +200,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(19)] // 3.0.0+ [CommandHipc(19)] // 3.0.0+
// SetScreenShotImageOrientation(u32) // SetScreenShotImageOrientation(u32)
public ResultCode SetScreenShotImageOrientation(ServiceCtx context) public ResultCode SetScreenShotImageOrientation(ServiceCtx context)
{ {
@ -213,7 +213,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(40)] [CommandHipc(40)]
// CreateManagedDisplayLayer() -> u64 // CreateManagedDisplayLayer() -> u64
public ResultCode CreateManagedDisplayLayer(ServiceCtx context) public ResultCode CreateManagedDisplayLayer(ServiceCtx context)
{ {
@ -225,7 +225,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(44)] // 10.0.0+ [CommandHipc(44)] // 10.0.0+
// CreateManagedDisplaySeparableLayer() -> (u64, u64) // CreateManagedDisplaySeparableLayer() -> (u64, u64)
public ResultCode CreateManagedDisplaySeparableLayer(ServiceCtx context) public ResultCode CreateManagedDisplaySeparableLayer(ServiceCtx context)
{ {
@ -239,7 +239,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(50)] [CommandHipc(50)]
// SetHandlesRequestToDisplay(b8) // SetHandlesRequestToDisplay(b8)
public ResultCode SetHandlesRequestToDisplay(ServiceCtx context) public ResultCode SetHandlesRequestToDisplay(ServiceCtx context)
{ {
@ -252,7 +252,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(62)] [CommandHipc(62)]
// SetIdleTimeDetectionExtension(u32) // SetIdleTimeDetectionExtension(u32)
public ResultCode SetIdleTimeDetectionExtension(ServiceCtx context) public ResultCode SetIdleTimeDetectionExtension(ServiceCtx context)
{ {
@ -265,7 +265,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(63)] [CommandHipc(63)]
// GetIdleTimeDetectionExtension() -> u32 // GetIdleTimeDetectionExtension() -> u32
public ResultCode GetIdleTimeDetectionExtension(ServiceCtx context) public ResultCode GetIdleTimeDetectionExtension(ServiceCtx context)
{ {
@ -276,7 +276,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(68)] [CommandHipc(68)]
// SetAutoSleepDisabled(u8) // SetAutoSleepDisabled(u8)
public ResultCode SetAutoSleepDisabled(ServiceCtx context) public ResultCode SetAutoSleepDisabled(ServiceCtx context)
{ {
@ -287,7 +287,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(69)] [CommandHipc(69)]
// IsAutoSleepDisabled() -> u8 // IsAutoSleepDisabled() -> u8
public ResultCode IsAutoSleepDisabled(ServiceCtx context) public ResultCode IsAutoSleepDisabled(ServiceCtx context)
{ {
@ -296,7 +296,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(90)] // 6.0.0+ [CommandHipc(90)] // 6.0.0+
// GetAccumulatedSuspendedTickValue() -> u64 // GetAccumulatedSuspendedTickValue() -> u64
public ResultCode GetAccumulatedSuspendedTickValue(ServiceCtx context) public ResultCode GetAccumulatedSuspendedTickValue(ServiceCtx context)
{ {
@ -305,7 +305,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(91)] // 6.0.0+ [CommandHipc(91)] // 6.0.0+
// GetAccumulatedSuspendedTickChangedEvent() -> handle<copy> // GetAccumulatedSuspendedTickChangedEvent() -> handle<copy>
public ResultCode GetAccumulatedSuspendedTickChangedEvent(ServiceCtx context) public ResultCode GetAccumulatedSuspendedTickChangedEvent(ServiceCtx context)
{ {
@ -326,7 +326,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(100)] // 7.0.0+ [CommandHipc(100)] // 7.0.0+
// SetAlbumImageTakenNotificationEnabled(u8) // SetAlbumImageTakenNotificationEnabled(u8)
public ResultCode SetAlbumImageTakenNotificationEnabled(ServiceCtx context) public ResultCode SetAlbumImageTakenNotificationEnabled(ServiceCtx context)
{ {

View file

@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
_pid = pid; _pid = pid;
} }
[Command(1)] [CommandHipc(1)]
// GetAppletResourceUserId() -> nn::applet::AppletResourceUserId // GetAppletResourceUserId() -> nn::applet::AppletResourceUserId
public ResultCode GetAppletResourceUserId(ServiceCtx context) public ResultCode GetAppletResourceUserId(ServiceCtx context)
{ {
@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE.AllSystemAppletProxiesService.Sys
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// AcquireForegroundRights() // AcquireForegroundRights()
public ResultCode AcquireForegroundRights(ServiceCtx context) public ResultCode AcquireForegroundRights(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
{ {
public IAllSystemAppletProxiesService(ServiceCtx context) { } public IAllSystemAppletProxiesService(ServiceCtx context) { }
[Command(100)] [CommandHipc(100)]
// OpenSystemAppletProxy(u64, pid, handle<copy>) -> object<nn::am::service::ISystemAppletProxy> // OpenSystemAppletProxy(u64, pid, handle<copy>) -> object<nn::am::service::ISystemAppletProxy>
public ResultCode OpenSystemAppletProxy(ServiceCtx context) public ResultCode OpenSystemAppletProxy(ServiceCtx context)
{ {

View file

@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
Data = data; Data = data;
} }
[Command(0)] [CommandHipc(0)]
// Open() -> object<nn::am::service::IStorageAccessor> // Open() -> object<nn::am::service::IStorageAccessor>
public ResultCode Open(ServiceCtx context) public ResultCode Open(ServiceCtx context)
{ {

View file

@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
_storage = storage; _storage = storage;
} }
[Command(0)] [CommandHipc(0)]
// GetSize() -> u64 // GetSize() -> u64
public ResultCode GetSize(ServiceCtx context) public ResultCode GetSize(ServiceCtx context)
{ {
@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// Write(u64, buffer<bytes, 0x21>) // Write(u64, buffer<bytes, 0x21>)
public ResultCode Write(ServiceCtx context) public ResultCode Write(ServiceCtx context)
{ {
@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletAE
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// Read(u64) -> buffer<bytes, 0x22> // Read(u64) -> buffer<bytes, 0x22>
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {

View file

@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
_healthWarningDisappearedSystemEvent = new KEvent(system.KernelContext); _healthWarningDisappearedSystemEvent = new KEvent(system.KernelContext);
} }
[Command(1)] [CommandHipc(1)]
// PopLaunchParameter(LaunchParameterKind kind) -> object<nn::am::service::IStorage> // PopLaunchParameter(LaunchParameterKind kind) -> object<nn::am::service::IStorage>
public ResultCode PopLaunchParameter(ServiceCtx context) public ResultCode PopLaunchParameter(ServiceCtx context)
{ {
@ -76,7 +76,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(20)] [CommandHipc(20)]
// EnsureSaveData(nn::account::Uid) -> u64 // EnsureSaveData(nn::account::Uid) -> u64
public ResultCode EnsureSaveData(ServiceCtx context) public ResultCode EnsureSaveData(ServiceCtx context)
{ {
@ -108,7 +108,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(21)] [CommandHipc(21)]
// GetDesiredLanguage() -> nn::settings::LanguageCode // GetDesiredLanguage() -> nn::settings::LanguageCode
public ResultCode GetDesiredLanguage(ServiceCtx context) public ResultCode GetDesiredLanguage(ServiceCtx context)
{ {
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(22)] [CommandHipc(22)]
// SetTerminateResult(u32) // SetTerminateResult(u32)
public ResultCode SetTerminateResult(ServiceCtx context) public ResultCode SetTerminateResult(ServiceCtx context)
{ {
@ -156,7 +156,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(23)] [CommandHipc(23)]
// GetDisplayVersion() -> nn::oe::DisplayVersion // GetDisplayVersion() -> nn::oe::DisplayVersion
public ResultCode GetDisplayVersion(ServiceCtx context) public ResultCode GetDisplayVersion(ServiceCtx context)
{ {
@ -167,7 +167,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(26)] // 3.0.0+ [CommandHipc(26)] // 3.0.0+
// GetSaveDataSize(u8 save_data_type, nn::account::Uid) -> (u64 save_size, u64 journal_size) // GetSaveDataSize(u8 save_data_type, nn::account::Uid) -> (u64 save_size, u64 journal_size)
public ResultCode GetSaveDataSize(ServiceCtx context) public ResultCode GetSaveDataSize(ServiceCtx context)
{ {
@ -186,7 +186,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(30)] [CommandHipc(30)]
// BeginBlockingHomeButtonShortAndLongPressed() // BeginBlockingHomeButtonShortAndLongPressed()
public ResultCode BeginBlockingHomeButtonShortAndLongPressed(ServiceCtx context) public ResultCode BeginBlockingHomeButtonShortAndLongPressed(ServiceCtx context)
{ {
@ -197,7 +197,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(31)] [CommandHipc(31)]
// EndBlockingHomeButtonShortAndLongPressed() // EndBlockingHomeButtonShortAndLongPressed()
public ResultCode EndBlockingHomeButtonShortAndLongPressed(ServiceCtx context) public ResultCode EndBlockingHomeButtonShortAndLongPressed(ServiceCtx context)
{ {
@ -208,7 +208,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(32)] // 2.0.0+ [CommandHipc(32)] // 2.0.0+
// BeginBlockingHomeButton(u64 nano_second) // BeginBlockingHomeButton(u64 nano_second)
public ResultCode BeginBlockingHomeButton(ServiceCtx context) public ResultCode BeginBlockingHomeButton(ServiceCtx context)
{ {
@ -221,7 +221,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(33)] // 2.0.0+ [CommandHipc(33)] // 2.0.0+
// EndBlockingHomeButton() // EndBlockingHomeButton()
public ResultCode EndBlockingHomeButton(ServiceCtx context) public ResultCode EndBlockingHomeButton(ServiceCtx context)
{ {
@ -232,7 +232,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(40)] [CommandHipc(40)]
// NotifyRunning() -> b8 // NotifyRunning() -> b8
public ResultCode NotifyRunning(ServiceCtx context) public ResultCode NotifyRunning(ServiceCtx context)
{ {
@ -241,7 +241,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(50)] // 2.0.0+ [CommandHipc(50)] // 2.0.0+
// GetPseudoDeviceId() -> nn::util::Uuid // GetPseudoDeviceId() -> nn::util::Uuid
public ResultCode GetPseudoDeviceId(ServiceCtx context) public ResultCode GetPseudoDeviceId(ServiceCtx context)
{ {
@ -253,7 +253,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(66)] // 3.0.0+ [CommandHipc(66)] // 3.0.0+
// InitializeGamePlayRecording(u64, handle<copy>) // InitializeGamePlayRecording(u64, handle<copy>)
public ResultCode InitializeGamePlayRecording(ServiceCtx context) public ResultCode InitializeGamePlayRecording(ServiceCtx context)
{ {
@ -262,7 +262,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(67)] // 3.0.0+ [CommandHipc(67)] // 3.0.0+
// SetGamePlayRecordingState(u32) // SetGamePlayRecordingState(u32)
public ResultCode SetGamePlayRecordingState(ServiceCtx context) public ResultCode SetGamePlayRecordingState(ServiceCtx context)
{ {
@ -273,7 +273,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(90)] // 4.0.0+ [CommandHipc(90)] // 4.0.0+
// EnableApplicationCrashReport(u8) // EnableApplicationCrashReport(u8)
public ResultCode EnableApplicationCrashReport(ServiceCtx context) public ResultCode EnableApplicationCrashReport(ServiceCtx context)
{ {
@ -284,7 +284,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(100)] // 5.0.0+ [CommandHipc(100)] // 5.0.0+
// InitializeApplicationCopyrightFrameBuffer(s32 width, s32 height, handle<copy, transfer_memory> transfer_memory, u64 transfer_memory_size) // InitializeApplicationCopyrightFrameBuffer(s32 width, s32 height, handle<copy, transfer_memory> transfer_memory, u64 transfer_memory_size)
public ResultCode InitializeApplicationCopyrightFrameBuffer(ServiceCtx context) public ResultCode InitializeApplicationCopyrightFrameBuffer(ServiceCtx context)
{ {
@ -330,7 +330,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return resultCode; return resultCode;
} }
[Command(101)] // 5.0.0+ [CommandHipc(101)] // 5.0.0+
// SetApplicationCopyrightImage(buffer<bytes, 0x45> frame_buffer, s32 x, s32 y, s32 width, s32 height, s32 window_origin_mode) // SetApplicationCopyrightImage(buffer<bytes, 0x45> frame_buffer, s32 x, s32 y, s32 width, s32 height, s32 window_origin_mode)
public ResultCode SetApplicationCopyrightImage(ServiceCtx context) public ResultCode SetApplicationCopyrightImage(ServiceCtx context)
{ {
@ -377,7 +377,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(102)] // 5.0.0+ [CommandHipc(102)] // 5.0.0+
// SetApplicationCopyrightVisibility(bool visible) // SetApplicationCopyrightVisibility(bool visible)
public ResultCode SetApplicationCopyrightVisibility(ServiceCtx context) public ResultCode SetApplicationCopyrightVisibility(ServiceCtx context)
{ {
@ -390,7 +390,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(110)] // 5.0.0+ [CommandHipc(110)] // 5.0.0+
// QueryApplicationPlayStatistics(buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count) // QueryApplicationPlayStatistics(buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count)
public ResultCode QueryApplicationPlayStatistics(ServiceCtx context) public ResultCode QueryApplicationPlayStatistics(ServiceCtx context)
{ {
@ -398,7 +398,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return (ResultCode)QueryPlayStatisticsManager.GetPlayStatistics(context); return (ResultCode)QueryPlayStatisticsManager.GetPlayStatistics(context);
} }
[Command(111)] // 6.0.0+ [CommandHipc(111)] // 6.0.0+
// QueryApplicationPlayStatisticsByUid(nn::account::Uid, buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count) // QueryApplicationPlayStatisticsByUid(nn::account::Uid, buffer<bytes, 5> title_id_list) -> (buffer<bytes, 6> entries, s32 entries_count)
public ResultCode QueryApplicationPlayStatisticsByUid(ServiceCtx context) public ResultCode QueryApplicationPlayStatisticsByUid(ServiceCtx context)
{ {
@ -406,7 +406,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return (ResultCode)QueryPlayStatisticsManager.GetPlayStatistics(context, true); return (ResultCode)QueryPlayStatisticsManager.GetPlayStatistics(context, true);
} }
[Command(120)] // 5.0.0+ [CommandHipc(120)] // 5.0.0+
// ExecuteProgram(ProgramSpecifyKind kind, u64 value) // ExecuteProgram(ProgramSpecifyKind kind, u64 value)
public ResultCode ExecuteProgram(ServiceCtx context) public ResultCode ExecuteProgram(ServiceCtx context)
{ {
@ -424,7 +424,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(121)] // 5.0.0+ [CommandHipc(121)] // 5.0.0+
// ClearUserChannel() // ClearUserChannel()
public ResultCode ClearUserChannel(ServiceCtx context) public ResultCode ClearUserChannel(ServiceCtx context)
{ {
@ -433,7 +433,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(122)] // 5.0.0+ [CommandHipc(122)] // 5.0.0+
// UnpopToUserChannel(object<nn::am::service::IStorage> input_storage) // UnpopToUserChannel(object<nn::am::service::IStorage> input_storage)
public ResultCode UnpopToUserChannel(ServiceCtx context) public ResultCode UnpopToUserChannel(ServiceCtx context)
{ {
@ -444,7 +444,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(123)] // 5.0.0+ [CommandHipc(123)] // 5.0.0+
// GetPreviousProgramIndex() -> s32 program_index // GetPreviousProgramIndex() -> s32 program_index
public ResultCode GetPreviousProgramIndex(ServiceCtx context) public ResultCode GetPreviousProgramIndex(ServiceCtx context)
{ {
@ -457,7 +457,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(130)] // 8.0.0+ [CommandHipc(130)] // 8.0.0+
// GetGpuErrorDetectedSystemEvent() -> handle<copy> // GetGpuErrorDetectedSystemEvent() -> handle<copy>
public ResultCode GetGpuErrorDetectedSystemEvent(ServiceCtx context) public ResultCode GetGpuErrorDetectedSystemEvent(ServiceCtx context)
{ {
@ -478,7 +478,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(140)] // 9.0.0+ [CommandHipc(140)] // 9.0.0+
// GetFriendInvitationStorageChannelEvent() -> handle<copy> // GetFriendInvitationStorageChannelEvent() -> handle<copy>
public ResultCode GetFriendInvitationStorageChannelEvent(ServiceCtx context) public ResultCode GetFriendInvitationStorageChannelEvent(ServiceCtx context)
{ {
@ -495,7 +495,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(141)] // 9.0.0+ [CommandHipc(141)] // 9.0.0+
// TryPopFromFriendInvitationStorageChannel() -> object<nn::am::service::IStorage> // TryPopFromFriendInvitationStorageChannel() -> object<nn::am::service::IStorage>
public ResultCode TryPopFromFriendInvitationStorageChannel(ServiceCtx context) public ResultCode TryPopFromFriendInvitationStorageChannel(ServiceCtx context)
{ {
@ -509,7 +509,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.NotAvailable; return ResultCode.NotAvailable;
} }
[Command(150)] // 9.0.0+ [CommandHipc(150)] // 9.0.0+
// GetNotificationStorageChannelEvent() -> handle<copy> // GetNotificationStorageChannelEvent() -> handle<copy>
public ResultCode GetNotificationStorageChannelEvent(ServiceCtx context) public ResultCode GetNotificationStorageChannelEvent(ServiceCtx context)
{ {
@ -526,7 +526,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService.Applicati
return ResultCode.Success; return ResultCode.Success;
} }
[Command(160)] // 9.0.0+ [CommandHipc(160)] // 9.0.0+
// GetHealthWarningDisappearedSystemEvent() -> handle<copy> // GetHealthWarningDisappearedSystemEvent() -> handle<copy>
public ResultCode GetHealthWarningDisappearedSystemEvent(ServiceCtx context) public ResultCode GetHealthWarningDisappearedSystemEvent(ServiceCtx context)
{ {

View file

@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
_pid = pid; _pid = pid;
} }
[Command(0)] [CommandHipc(0)]
// GetCommonStateGetter() -> object<nn::am::service::ICommonStateGetter> // GetCommonStateGetter() -> object<nn::am::service::ICommonStateGetter>
public ResultCode GetCommonStateGetter(ServiceCtx context) public ResultCode GetCommonStateGetter(ServiceCtx context)
{ {
@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetSelfController() -> object<nn::am::service::ISelfController> // GetSelfController() -> object<nn::am::service::ISelfController>
public ResultCode GetSelfController(ServiceCtx context) public ResultCode GetSelfController(ServiceCtx context)
{ {
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetWindowController() -> object<nn::am::service::IWindowController> // GetWindowController() -> object<nn::am::service::IWindowController>
public ResultCode GetWindowController(ServiceCtx context) public ResultCode GetWindowController(ServiceCtx context)
{ {
@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// GetAudioController() -> object<nn::am::service::IAudioController> // GetAudioController() -> object<nn::am::service::IAudioController>
public ResultCode GetAudioController(ServiceCtx context) public ResultCode GetAudioController(ServiceCtx context)
{ {
@ -48,7 +48,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// GetDisplayController() -> object<nn::am::service::IDisplayController> // GetDisplayController() -> object<nn::am::service::IDisplayController>
public ResultCode GetDisplayController(ServiceCtx context) public ResultCode GetDisplayController(ServiceCtx context)
{ {
@ -57,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// GetLibraryAppletCreator() -> object<nn::am::service::ILibraryAppletCreator> // GetLibraryAppletCreator() -> object<nn::am::service::ILibraryAppletCreator>
public ResultCode GetLibraryAppletCreator(ServiceCtx context) public ResultCode GetLibraryAppletCreator(ServiceCtx context)
{ {
@ -66,7 +66,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(20)] [CommandHipc(20)]
// GetApplicationFunctions() -> object<nn::am::service::IApplicationFunctions> // GetApplicationFunctions() -> object<nn::am::service::IApplicationFunctions>
public ResultCode GetApplicationFunctions(ServiceCtx context) public ResultCode GetApplicationFunctions(ServiceCtx context)
{ {
@ -75,7 +75,7 @@ namespace Ryujinx.HLE.HOS.Services.Am.AppletOE.ApplicationProxyService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1000)] [CommandHipc(1000)]
// GetDebugFunctions() -> object<nn::am::service::IDebugFunctions> // GetDebugFunctions() -> object<nn::am::service::IDebugFunctions>
public ResultCode GetDebugFunctions(ServiceCtx context) public ResultCode GetDebugFunctions(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Am
{ {
public IApplicationProxyService(ServiceCtx context) { } public IApplicationProxyService(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// OpenApplicationProxy(u64, pid, handle<copy>) -> object<nn::am::service::IApplicationProxy> // OpenApplicationProxy(u64, pid, handle<copy>) -> object<nn::am::service::IApplicationProxy>
public ResultCode OpenApplicationProxy(ServiceCtx context) public ResultCode OpenApplicationProxy(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
protected abstract PerformanceMode GetPerformanceMode(); protected abstract PerformanceMode GetPerformanceMode();
protected abstract bool IsCpuOverclockEnabled(); protected abstract bool IsCpuOverclockEnabled();
[Command(0)] [CommandHipc(0)]
// OpenSession() -> object<nn::apm::ISession> // OpenSession() -> object<nn::apm::ISession>
public ResultCode OpenSession(ServiceCtx context) public ResultCode OpenSession(ServiceCtx context)
{ {
@ -22,7 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return resultCode; return resultCode;
} }
[Command(1)] [CommandHipc(1)]
// GetPerformanceMode() -> nn::apm::PerformanceMode // GetPerformanceMode() -> nn::apm::PerformanceMode
public ResultCode GetPerformanceMode(ServiceCtx context) public ResultCode GetPerformanceMode(ServiceCtx context)
{ {
@ -31,7 +31,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] // 7.0.0+ [CommandHipc(6)] // 7.0.0+
// IsCpuOverclockEnabled() -> bool // IsCpuOverclockEnabled() -> bool
public ResultCode IsCpuOverclockEnabled(ServiceCtx context) public ResultCode IsCpuOverclockEnabled(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
{ {
public IManagerPrivileged(ServiceCtx context) { } public IManagerPrivileged(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// OpenSession() -> object<nn::apm::ISession> // OpenSession() -> object<nn::apm::ISession>
public ResultCode OpenSession(ServiceCtx context) public ResultCode OpenSession(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
protected abstract ResultCode GetPerformanceConfiguration(PerformanceMode performanceMode, out PerformanceConfiguration performanceConfiguration); protected abstract ResultCode GetPerformanceConfiguration(PerformanceMode performanceMode, out PerformanceConfiguration performanceConfiguration);
protected abstract void SetCpuOverclockEnabled(bool enabled); protected abstract void SetCpuOverclockEnabled(bool enabled);
[Command(0)] [CommandHipc(0)]
// SetPerformanceConfiguration(nn::apm::PerformanceMode, nn::apm::PerformanceConfiguration) // SetPerformanceConfiguration(nn::apm::PerformanceMode, nn::apm::PerformanceConfiguration)
public ResultCode SetPerformanceConfiguration(ServiceCtx context) public ResultCode SetPerformanceConfiguration(ServiceCtx context)
{ {
@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return SetPerformanceConfiguration(performanceMode, performanceConfiguration); return SetPerformanceConfiguration(performanceMode, performanceConfiguration);
} }
[Command(1)] [CommandHipc(1)]
// GetPerformanceConfiguration(nn::apm::PerformanceMode) -> nn::apm::PerformanceConfiguration // GetPerformanceConfiguration(nn::apm::PerformanceMode) -> nn::apm::PerformanceConfiguration
public ResultCode GetPerformanceConfiguration(ServiceCtx context) public ResultCode GetPerformanceConfiguration(ServiceCtx context)
{ {
@ -31,7 +31,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return resultCode; return resultCode;
} }
[Command(2)] // 8.0.0+ [CommandHipc(2)] // 8.0.0+
// SetCpuOverclockEnabled(bool) // SetCpuOverclockEnabled(bool)
public ResultCode SetCpuOverclockEnabled(ServiceCtx context) public ResultCode SetCpuOverclockEnabled(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
internal abstract void SetCpuBoostMode(CpuBoostMode cpuBoostMode); internal abstract void SetCpuBoostMode(CpuBoostMode cpuBoostMode);
protected abstract PerformanceConfiguration GetCurrentPerformanceConfiguration(); protected abstract PerformanceConfiguration GetCurrentPerformanceConfiguration();
[Command(0)] [CommandHipc(0)]
// RequestPerformanceMode(nn::apm::PerformanceMode) // RequestPerformanceMode(nn::apm::PerformanceMode)
public ResultCode RequestPerformanceMode(ServiceCtx context) public ResultCode RequestPerformanceMode(ServiceCtx context)
{ {
@ -19,7 +19,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] // 7.0.0+ [CommandHipc(6)] // 7.0.0+
// SetCpuBoostMode(nn::apm::CpuBootMode) // SetCpuBoostMode(nn::apm::CpuBootMode)
public ResultCode SetCpuBoostMode(ServiceCtx context) public ResultCode SetCpuBoostMode(ServiceCtx context)
{ {
@ -30,7 +30,7 @@ namespace Ryujinx.HLE.HOS.Services.Apm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] // 7.0.0+ [CommandHipc(7)] // 7.0.0+
// GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration // GetCurrentPerformanceConfiguration() -> nn::apm::PerformanceConfiguration
public ResultCode GetCurrentPerformanceConfiguration(ServiceCtx context) public ResultCode GetCurrentPerformanceConfiguration(ServiceCtx context)
{ {

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// GetAudioInState() -> u32 state // GetAudioInState() -> u32 state
public ResultCode GetAudioInState(ServiceCtx context) public ResultCode GetAudioInState(ServiceCtx context)
{ {
@ -27,21 +27,21 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// Start() // Start()
public ResultCode Start(ServiceCtx context) public ResultCode Start(ServiceCtx context)
{ {
return _impl.Start(); return _impl.Start();
} }
[Command(2)] [CommandHipc(2)]
// Stop() // Stop()
public ResultCode StopAudioIn(ServiceCtx context) public ResultCode StopAudioIn(ServiceCtx context)
{ {
return _impl.Stop(); return _impl.Stop();
} }
[Command(3)] [CommandHipc(3)]
// AppendAudioInBuffer(u64 tag, buffer<nn::audio::AudioInBuffer, 5>) // AppendAudioInBuffer(u64 tag, buffer<nn::audio::AudioInBuffer, 5>)
public ResultCode AppendAudioInBuffer(ServiceCtx context) public ResultCode AppendAudioInBuffer(ServiceCtx context)
{ {
@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return _impl.AppendBuffer(bufferTag, ref data); return _impl.AppendBuffer(bufferTag, ref data);
} }
[Command(4)] [CommandHipc(4)]
// RegisterBufferEvent() -> handle<copy> // RegisterBufferEvent() -> handle<copy>
public ResultCode RegisterBufferEvent(ServiceCtx context) public ResultCode RegisterBufferEvent(ServiceCtx context)
{ {
@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetReleasedAudioInBuffers() -> (u32 count, buffer<u64, 6> tags) // GetReleasedAudioInBuffers() -> (u32 count, buffer<u64, 6> tags)
public ResultCode GetReleasedAudioInBuffers(ServiceCtx context) public ResultCode GetReleasedAudioInBuffers(ServiceCtx context)
{ {
@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
} }
} }
[Command(6)] [CommandHipc(6)]
// ContainsAudioInBuffer(u64 tag) -> b8 // ContainsAudioInBuffer(u64 tag) -> b8
public ResultCode ContainsAudioInBuffer(ServiceCtx context) public ResultCode ContainsAudioInBuffer(ServiceCtx context)
{ {
@ -98,7 +98,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] // 3.0.0+ [CommandHipc(7)] // 3.0.0+
// AppendUacInBuffer(u64 tag, handle<copy, unknown>, buffer<nn::audio::AudioInBuffer, 5>) // AppendUacInBuffer(u64 tag, handle<copy, unknown>, buffer<nn::audio::AudioInBuffer, 5>)
public ResultCode AppendUacInBuffer(ServiceCtx context) public ResultCode AppendUacInBuffer(ServiceCtx context)
{ {
@ -112,7 +112,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return _impl.AppendUacBuffer(bufferTag, ref data, handle); return _impl.AppendUacBuffer(bufferTag, ref data, handle);
} }
[Command(8)] // 3.0.0+ [CommandHipc(8)] // 3.0.0+
// AppendAudioInBufferAuto(u64 tag, buffer<nn::audio::AudioInBuffer, 0x21>) // AppendAudioInBufferAuto(u64 tag, buffer<nn::audio::AudioInBuffer, 0x21>)
public ResultCode AppendAudioInBufferAuto(ServiceCtx context) public ResultCode AppendAudioInBufferAuto(ServiceCtx context)
{ {
@ -125,7 +125,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return _impl.AppendBuffer(bufferTag, ref data); return _impl.AppendBuffer(bufferTag, ref data);
} }
[Command(9)] // 3.0.0+ [CommandHipc(9)] // 3.0.0+
// GetReleasedAudioInBuffersAuto() -> (u32 count, buffer<u64, 0x22> tags) // GetReleasedAudioInBuffersAuto() -> (u32 count, buffer<u64, 0x22> tags)
public ResultCode GetReleasedAudioInBuffersAuto(ServiceCtx context) public ResultCode GetReleasedAudioInBuffersAuto(ServiceCtx context)
{ {
@ -141,7 +141,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
} }
} }
[Command(10)] // 3.0.0+ [CommandHipc(10)] // 3.0.0+
// AppendUacInBufferAuto(u64 tag, handle<copy, event>, buffer<nn::audio::AudioInBuffer, 0x21>) // AppendUacInBufferAuto(u64 tag, handle<copy, event>, buffer<nn::audio::AudioInBuffer, 0x21>)
public ResultCode AppendUacInBufferAuto(ServiceCtx context) public ResultCode AppendUacInBufferAuto(ServiceCtx context)
{ {
@ -155,7 +155,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return _impl.AppendUacBuffer(bufferTag, ref data, handle); return _impl.AppendUacBuffer(bufferTag, ref data, handle);
} }
[Command(11)] // 4.0.0+ [CommandHipc(11)] // 4.0.0+
// GetAudioInBufferCount() -> u32 // GetAudioInBufferCount() -> u32
public ResultCode GetAudioInBufferCount(ServiceCtx context) public ResultCode GetAudioInBufferCount(ServiceCtx context)
{ {
@ -164,7 +164,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] // 4.0.0+ [CommandHipc(12)] // 4.0.0+
// SetAudioInVolume(s32) // SetAudioInVolume(s32)
public ResultCode SetAudioInVolume(ServiceCtx context) public ResultCode SetAudioInVolume(ServiceCtx context)
{ {
@ -175,7 +175,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] // 4.0.0+ [CommandHipc(13)] // 4.0.0+
// GetAudioInVolume() -> s32 // GetAudioInVolume() -> s32
public ResultCode GetAudioInVolume(ServiceCtx context) public ResultCode GetAudioInVolume(ServiceCtx context)
{ {
@ -184,7 +184,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioIn
return ResultCode.Success; return ResultCode.Success;
} }
[Command(14)] // 6.0.0+ [CommandHipc(14)] // 6.0.0+
// FlushAudioInBuffers() -> b8 // FlushAudioInBuffers() -> b8
public ResultCode FlushAudioInBuffers(ServiceCtx context) public ResultCode FlushAudioInBuffers(ServiceCtx context)
{ {

View file

@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// ListAudioIns() -> (u32, buffer<bytes, 6>) // ListAudioIns() -> (u32, buffer<bytes, 6>)
public ResultCode ListAudioIns(ServiceCtx context) public ResultCode ListAudioIns(ServiceCtx context)
{ {
@ -57,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// OpenAudioIn(AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 5> name) // OpenAudioIn(AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 5> name)
// -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 6> name) // -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 6> name)
public ResultCode OpenAudioIn(ServiceCtx context) public ResultCode OpenAudioIn(ServiceCtx context)
@ -92,7 +92,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return resultCode; return resultCode;
} }
[Command(2)] // 3.0.0+ [CommandHipc(2)] // 3.0.0+
// ListAudioInsAuto() -> (u32, buffer<bytes, 0x22>) // ListAudioInsAuto() -> (u32, buffer<bytes, 0x22>)
public ResultCode ListAudioInsAuto(ServiceCtx context) public ResultCode ListAudioInsAuto(ServiceCtx context)
{ {
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] // 3.0.0+ [CommandHipc(3)] // 3.0.0+
// OpenAudioInAuto(AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 0x21>) // OpenAudioInAuto(AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 0x21>)
// -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 0x22> name) // -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 0x22> name)
public ResultCode OpenAudioInAuto(ServiceCtx context) public ResultCode OpenAudioInAuto(ServiceCtx context)
@ -159,7 +159,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return resultCode; return resultCode;
} }
[Command(4)] // 3.0.0+ [CommandHipc(4)] // 3.0.0+
// ListAudioInsAutoFiltered() -> (u32, buffer<bytes, 0x22>) // ListAudioInsAutoFiltered() -> (u32, buffer<bytes, 0x22>)
public ResultCode ListAudioInsAutoFiltered(ServiceCtx context) public ResultCode ListAudioInsAutoFiltered(ServiceCtx context)
{ {
@ -194,7 +194,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] // 5.0.0+ [CommandHipc(5)] // 5.0.0+
// OpenAudioInProtocolSpecified(b64 protocol_specified_related, AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 5> name) // OpenAudioInProtocolSpecified(b64 protocol_specified_related, AudioInInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process>, buffer<bytes, 5> name)
// -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 6> name) // -> (u32 sample_rate, u32 channel_count, u32 pcm_format, u32, object<nn::audio::detail::IAudioIn>, buffer<bytes, 6> name)
public ResultCode OpenAudioInProtocolSpecified(ServiceCtx context) public ResultCode OpenAudioInProtocolSpecified(ServiceCtx context)

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// GetAudioOutState() -> u32 state // GetAudioOutState() -> u32 state
public ResultCode GetAudioOutState(ServiceCtx context) public ResultCode GetAudioOutState(ServiceCtx context)
{ {
@ -27,21 +27,21 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// Start() // Start()
public ResultCode Start(ServiceCtx context) public ResultCode Start(ServiceCtx context)
{ {
return _impl.Start(); return _impl.Start();
} }
[Command(2)] [CommandHipc(2)]
// Stop() // Stop()
public ResultCode Stop(ServiceCtx context) public ResultCode Stop(ServiceCtx context)
{ {
return _impl.Stop(); return _impl.Stop();
} }
[Command(3)] [CommandHipc(3)]
// AppendAudioOutBuffer(u64 bufferTag, buffer<nn::audio::AudioOutBuffer, 5> buffer) // AppendAudioOutBuffer(u64 bufferTag, buffer<nn::audio::AudioOutBuffer, 5> buffer)
public ResultCode AppendAudioOutBuffer(ServiceCtx context) public ResultCode AppendAudioOutBuffer(ServiceCtx context)
{ {
@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return _impl.AppendBuffer(bufferTag, ref data); return _impl.AppendBuffer(bufferTag, ref data);
} }
[Command(4)] [CommandHipc(4)]
// RegisterBufferEvent() -> handle<copy> // RegisterBufferEvent() -> handle<copy>
public ResultCode RegisterBufferEvent(ServiceCtx context) public ResultCode RegisterBufferEvent(ServiceCtx context)
{ {
@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetReleasedAudioOutBuffers() -> (u32 count, buffer<u64, 6> tags) // GetReleasedAudioOutBuffers() -> (u32 count, buffer<u64, 6> tags)
public ResultCode GetReleasedAudioOutBuffers(ServiceCtx context) public ResultCode GetReleasedAudioOutBuffers(ServiceCtx context)
{ {
@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
} }
} }
[Command(6)] [CommandHipc(6)]
// ContainsAudioOutBuffer(u64 tag) -> b8 // ContainsAudioOutBuffer(u64 tag) -> b8
public ResultCode ContainsAudioOutBuffer(ServiceCtx context) public ResultCode ContainsAudioOutBuffer(ServiceCtx context)
{ {
@ -98,7 +98,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] // 3.0.0+ [CommandHipc(7)] // 3.0.0+
// AppendAudioOutBufferAuto(u64 tag, buffer<nn::audio::AudioOutBuffer, 0x21>) // AppendAudioOutBufferAuto(u64 tag, buffer<nn::audio::AudioOutBuffer, 0x21>)
public ResultCode AppendAudioOutBufferAuto(ServiceCtx context) public ResultCode AppendAudioOutBufferAuto(ServiceCtx context)
{ {
@ -111,7 +111,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return _impl.AppendBuffer(bufferTag, ref data); return _impl.AppendBuffer(bufferTag, ref data);
} }
[Command(8)] // 3.0.0+ [CommandHipc(8)] // 3.0.0+
// GetReleasedAudioOutBuffersAuto() -> (u32 count, buffer<u64, 0x22> tags) // GetReleasedAudioOutBuffersAuto() -> (u32 count, buffer<u64, 0x22> tags)
public ResultCode GetReleasedAudioOutBuffersAuto(ServiceCtx context) public ResultCode GetReleasedAudioOutBuffersAuto(ServiceCtx context)
{ {
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
} }
} }
[Command(9)] // 4.0.0+ [CommandHipc(9)] // 4.0.0+
// GetAudioOutBufferCount() -> u32 // GetAudioOutBufferCount() -> u32
public ResultCode GetAudioOutBufferCount(ServiceCtx context) public ResultCode GetAudioOutBufferCount(ServiceCtx context)
{ {
@ -136,7 +136,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] // 4.0.0+ [CommandHipc(10)] // 4.0.0+
// GetAudioOutPlayedSampleCount() -> u64 // GetAudioOutPlayedSampleCount() -> u64
public ResultCode GetAudioOutPlayedSampleCount(ServiceCtx context) public ResultCode GetAudioOutPlayedSampleCount(ServiceCtx context)
{ {
@ -145,7 +145,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] // 4.0.0+ [CommandHipc(11)] // 4.0.0+
// FlushAudioOutBuffers() -> b8 // FlushAudioOutBuffers() -> b8
public ResultCode FlushAudioOutBuffers(ServiceCtx context) public ResultCode FlushAudioOutBuffers(ServiceCtx context)
{ {
@ -154,7 +154,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] // 6.0.0+ [CommandHipc(12)] // 6.0.0+
// SetAudioOutVolume(s32) // SetAudioOutVolume(s32)
public ResultCode SetAudioOutVolume(ServiceCtx context) public ResultCode SetAudioOutVolume(ServiceCtx context)
{ {
@ -165,7 +165,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioOut
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] // 6.0.0+ [CommandHipc(13)] // 6.0.0+
// GetAudioOutVolume() -> s32 // GetAudioOutVolume() -> s32
public ResultCode GetAudioOutVolume(ServiceCtx context) public ResultCode GetAudioOutVolume(ServiceCtx context)
{ {

View file

@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// ListAudioOuts() -> (u32, buffer<bytes, 6>) // ListAudioOuts() -> (u32, buffer<bytes, 6>)
public ResultCode ListAudioOuts(ServiceCtx context) public ResultCode ListAudioOuts(ServiceCtx context)
{ {
@ -57,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// OpenAudioOut(AudioOutInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process> process_handle, buffer<bytes, 5> name_in) // OpenAudioOut(AudioOutInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process> process_handle, buffer<bytes, 5> name_in)
// -> (AudioOutInputConfiguration output_config, object<nn::audio::detail::IAudioOut>, buffer<bytes, 6> name_out) // -> (AudioOutInputConfiguration output_config, object<nn::audio::detail::IAudioOut>, buffer<bytes, 6> name_out)
public ResultCode OpenAudioOut(ServiceCtx context) public ResultCode OpenAudioOut(ServiceCtx context)
@ -92,7 +92,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return resultCode; return resultCode;
} }
[Command(2)] // 3.0.0+ [CommandHipc(2)] // 3.0.0+
// ListAudioOutsAuto() -> (u32, buffer<bytes, 0x22>) // ListAudioOutsAuto() -> (u32, buffer<bytes, 0x22>)
public ResultCode ListAudioOutsAuto(ServiceCtx context) public ResultCode ListAudioOutsAuto(ServiceCtx context)
{ {
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] // 3.0.0+ [CommandHipc(3)] // 3.0.0+
// OpenAudioOut(AudioOutInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process> process_handle, buffer<bytes, 0x21> name_in) // OpenAudioOut(AudioOutInputConfiguration input_config, nn::applet::AppletResourceUserId, pid, handle<copy, process> process_handle, buffer<bytes, 0x21> name_in)
// -> (AudioOutInputConfiguration output_config, object<nn::audio::detail::IAudioOut>, buffer<bytes, 0x22> name_out) // -> (AudioOutInputConfiguration output_config, object<nn::audio::detail::IAudioOut>, buffer<bytes, 0x22> name_out)
public ResultCode OpenAudioOutAuto(ServiceCtx context) public ResultCode OpenAudioOutAuto(ServiceCtx context)

View file

@ -19,7 +19,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// ListAudioDeviceName() -> (u32, buffer<bytes, 6>) // ListAudioDeviceName() -> (u32, buffer<bytes, 6>)
public ResultCode ListAudioDeviceName(ServiceCtx context) public ResultCode ListAudioDeviceName(ServiceCtx context)
{ {
@ -55,7 +55,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// SetAudioDeviceOutputVolume(f32 volume, buffer<bytes, 5> name) // SetAudioDeviceOutputVolume(f32 volume, buffer<bytes, 5> name)
public ResultCode SetAudioDeviceOutputVolume(ServiceCtx context) public ResultCode SetAudioDeviceOutputVolume(ServiceCtx context)
{ {
@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return _impl.SetAudioDeviceOutputVolume(deviceName, volume); return _impl.SetAudioDeviceOutputVolume(deviceName, volume);
} }
[Command(2)] [CommandHipc(2)]
// GetAudioDeviceOutputVolume(buffer<bytes, 5> name) -> f32 volume // GetAudioDeviceOutputVolume(buffer<bytes, 5> name) -> f32 volume
public ResultCode GetAudioDeviceOutputVolume(ServiceCtx context) public ResultCode GetAudioDeviceOutputVolume(ServiceCtx context)
{ {
@ -88,7 +88,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return result; return result;
} }
[Command(3)] [CommandHipc(3)]
// GetActiveAudioDeviceName() -> buffer<bytes, 6> // GetActiveAudioDeviceName() -> buffer<bytes, 6>
public ResultCode GetActiveAudioDeviceName(ServiceCtx context) public ResultCode GetActiveAudioDeviceName(ServiceCtx context)
{ {
@ -111,7 +111,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// QueryAudioDeviceSystemEvent() -> handle<copy, event> // QueryAudioDeviceSystemEvent() -> handle<copy, event>
public ResultCode QueryAudioDeviceSystemEvent(ServiceCtx context) public ResultCode QueryAudioDeviceSystemEvent(ServiceCtx context)
{ {
@ -129,7 +129,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetActiveChannelCount() -> u32 // GetActiveChannelCount() -> u32
public ResultCode GetActiveChannelCount(ServiceCtx context) public ResultCode GetActiveChannelCount(ServiceCtx context)
{ {
@ -140,7 +140,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] // 3.0.0+ [CommandHipc(6)] // 3.0.0+
// ListAudioDeviceNameAuto() -> (u32, buffer<bytes, 0x22>) // ListAudioDeviceNameAuto() -> (u32, buffer<bytes, 0x22>)
public ResultCode ListAudioDeviceNameAuto(ServiceCtx context) public ResultCode ListAudioDeviceNameAuto(ServiceCtx context)
{ {
@ -175,7 +175,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] // 3.0.0+ [CommandHipc(7)] // 3.0.0+
// SetAudioDeviceOutputVolumeAuto(f32 volume, buffer<bytes, 0x21> name) // SetAudioDeviceOutputVolumeAuto(f32 volume, buffer<bytes, 0x21> name)
public ResultCode SetAudioDeviceOutputVolumeAuto(ServiceCtx context) public ResultCode SetAudioDeviceOutputVolumeAuto(ServiceCtx context)
{ {
@ -188,7 +188,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return _impl.SetAudioDeviceOutputVolume(deviceName, volume); return _impl.SetAudioDeviceOutputVolume(deviceName, volume);
} }
[Command(8)] // 3.0.0+ [CommandHipc(8)] // 3.0.0+
// GetAudioDeviceOutputVolumeAuto(buffer<bytes, 0x21> name) -> f32 // GetAudioDeviceOutputVolumeAuto(buffer<bytes, 0x21> name) -> f32
public ResultCode GetAudioDeviceOutputVolumeAuto(ServiceCtx context) public ResultCode GetAudioDeviceOutputVolumeAuto(ServiceCtx context)
{ {
@ -206,7 +206,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] // 3.0.0+ [CommandHipc(10)] // 3.0.0+
// GetActiveAudioDeviceNameAuto() -> buffer<bytes, 0x22> // GetActiveAudioDeviceNameAuto() -> buffer<bytes, 0x22>
public ResultCode GetActiveAudioDeviceNameAuto(ServiceCtx context) public ResultCode GetActiveAudioDeviceNameAuto(ServiceCtx context)
{ {
@ -228,7 +228,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] // 3.0.0+ [CommandHipc(11)] // 3.0.0+
// QueryAudioDeviceInputEvent() -> handle<copy, event> // QueryAudioDeviceInputEvent() -> handle<copy, event>
public ResultCode QueryAudioDeviceInputEvent(ServiceCtx context) public ResultCode QueryAudioDeviceInputEvent(ServiceCtx context)
{ {
@ -246,7 +246,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] // 3.0.0+ [CommandHipc(12)] // 3.0.0+
// QueryAudioDeviceOutputEvent() -> handle<copy, event> // QueryAudioDeviceOutputEvent() -> handle<copy, event>
public ResultCode QueryAudioDeviceOutputEvent(ServiceCtx context) public ResultCode QueryAudioDeviceOutputEvent(ServiceCtx context)
{ {
@ -264,7 +264,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] [CommandHipc(13)]
// GetAudioSystemMasterVolumeSetting(buffer<bytes, 5> name) -> f32 // GetAudioSystemMasterVolumeSetting(buffer<bytes, 5> name) -> f32
public ResultCode GetAudioSystemMasterVolumeSetting(ServiceCtx context) public ResultCode GetAudioSystemMasterVolumeSetting(ServiceCtx context)
{ {

View file

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// GetSampleRate() -> u32 // GetSampleRate() -> u32
public ResultCode GetSampleRate(ServiceCtx context) public ResultCode GetSampleRate(ServiceCtx context)
{ {
@ -25,7 +25,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetSampleCount() -> u32 // GetSampleCount() -> u32
public ResultCode GetSampleCount(ServiceCtx context) public ResultCode GetSampleCount(ServiceCtx context)
{ {
@ -34,7 +34,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetMixBufferCount() -> u32 // GetMixBufferCount() -> u32
public ResultCode GetMixBufferCount(ServiceCtx context) public ResultCode GetMixBufferCount(ServiceCtx context)
{ {
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// GetState() -> u32 // GetState() -> u32
public ResultCode GetState(ServiceCtx context) public ResultCode GetState(ServiceCtx context)
{ {
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// RequestUpdate(buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 5> input) // RequestUpdate(buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 5> input)
// -> (buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 6> output, buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 6> performanceOutput) // -> (buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 6> output, buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 6> performanceOutput)
public ResultCode RequestUpdate(ServiceCtx context) public ResultCode RequestUpdate(ServiceCtx context)
@ -89,21 +89,21 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return result; return result;
} }
[Command(5)] [CommandHipc(5)]
// Start() // Start()
public ResultCode Start(ServiceCtx context) public ResultCode Start(ServiceCtx context)
{ {
return _impl.Start(); return _impl.Start();
} }
[Command(6)] [CommandHipc(6)]
// Stop() // Stop()
public ResultCode Stop(ServiceCtx context) public ResultCode Stop(ServiceCtx context)
{ {
return _impl.Stop(); return _impl.Stop();
} }
[Command(7)] [CommandHipc(7)]
// QuerySystemEvent() -> handle<copy, event> // QuerySystemEvent() -> handle<copy, event>
public ResultCode QuerySystemEvent(ServiceCtx context) public ResultCode QuerySystemEvent(ServiceCtx context)
{ {
@ -122,7 +122,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return result; return result;
} }
[Command(8)] [CommandHipc(8)]
// SetAudioRendererRenderingTimeLimit(u32 limit) // SetAudioRendererRenderingTimeLimit(u32 limit)
public ResultCode SetAudioRendererRenderingTimeLimit(ServiceCtx context) public ResultCode SetAudioRendererRenderingTimeLimit(ServiceCtx context)
{ {
@ -133,7 +133,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(9)] [CommandHipc(9)]
// GetAudioRendererRenderingTimeLimit() -> u32 limit // GetAudioRendererRenderingTimeLimit() -> u32 limit
public ResultCode GetAudioRendererRenderingTimeLimit(ServiceCtx context) public ResultCode GetAudioRendererRenderingTimeLimit(ServiceCtx context)
{ {
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.AudioRenderer
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] // 3.0.0+ [CommandHipc(10)] // 3.0.0+
// RequestUpdateAuto(buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x21> input) // RequestUpdateAuto(buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x21> input)
// -> (buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x22> output, buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x22> performanceOutput) // -> (buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x22> output, buffer<nn::audio::detail::AudioRendererUpdateDataHeader, 0x22> performanceOutput)
public ResultCode RequestUpdateAuto(ServiceCtx context) public ResultCode RequestUpdateAuto(ServiceCtx context)

View file

@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
_impl = impl; _impl = impl;
} }
[Command(0)] [CommandHipc(0)]
// OpenAudioRenderer(nn::audio::detail::AudioRendererParameterInternal parameter, u64 workBufferSize, nn::applet::AppletResourceUserId appletResourceId, pid, handle<copy> workBuffer, handle<copy> processHandle) // OpenAudioRenderer(nn::audio::detail::AudioRendererParameterInternal parameter, u64 workBufferSize, nn::applet::AppletResourceUserId appletResourceId, pid, handle<copy> workBuffer, handle<copy> processHandle)
// -> object<nn::audio::detail::IAudioRenderer> // -> object<nn::audio::detail::IAudioRenderer>
public ResultCode OpenAudioRenderer(ServiceCtx context) public ResultCode OpenAudioRenderer(ServiceCtx context)
@ -47,7 +47,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return result; return result;
} }
[Command(1)] [CommandHipc(1)]
// GetWorkBufferSize(nn::audio::detail::AudioRendererParameterInternal parameter) -> u64 workBufferSize // GetWorkBufferSize(nn::audio::detail::AudioRendererParameterInternal parameter) -> u64 workBufferSize
public ResultCode GetAudioRendererWorkBufferSize(ServiceCtx context) public ResultCode GetAudioRendererWorkBufferSize(ServiceCtx context)
{ {
@ -73,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
} }
} }
[Command(2)] [CommandHipc(2)]
// GetAudioDeviceService(nn::applet::AppletResourceUserId) -> object<nn::audio::detail::IAudioDevice> // GetAudioDeviceService(nn::applet::AppletResourceUserId) -> object<nn::audio::detail::IAudioDevice>
public ResultCode GetAudioDeviceService(ServiceCtx context) public ResultCode GetAudioDeviceService(ServiceCtx context)
{ {
@ -89,7 +89,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return result; return result;
} }
[Command(4)] // 4.0.0+ [CommandHipc(4)] // 4.0.0+
// GetAudioDeviceServiceWithRevisionInfo(s32 revision, nn::applet::AppletResourceUserId appletResourceId) -> object<nn::audio::detail::IAudioDevice> // GetAudioDeviceServiceWithRevisionInfo(s32 revision, nn::applet::AppletResourceUserId appletResourceId) -> object<nn::audio::detail::IAudioDevice>
public ResultCode GetAudioDeviceServiceWithRevisionInfo(ServiceCtx context) public ResultCode GetAudioDeviceServiceWithRevisionInfo(ServiceCtx context)
{ {

View file

@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(0)] [CommandHipc(0)]
// DecodeInterleaved(buffer<unknown, 5>) -> (u32, u32, buffer<unknown, 6>) // DecodeInterleaved(buffer<unknown, 5>) -> (u32, u32, buffer<unknown, 6>)
public ResultCode DecodeInterleavedOriginal(ServiceCtx context) public ResultCode DecodeInterleavedOriginal(ServiceCtx context)
{ {
@ -133,7 +133,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return result; return result;
} }
[Command(4)] // 6.0.0+ [CommandHipc(4)] // 6.0.0+
// DecodeInterleavedWithPerfOld(buffer<unknown, 5>) -> (u32, u32, u64, buffer<unknown, 0x46>) // DecodeInterleavedWithPerfOld(buffer<unknown, 5>) -> (u32, u32, u64, buffer<unknown, 0x46>)
public ResultCode DecodeInterleavedWithPerfOld(ServiceCtx context) public ResultCode DecodeInterleavedWithPerfOld(ServiceCtx context)
{ {
@ -169,7 +169,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return result; return result;
} }
[Command(6)] // 6.0.0+ [CommandHipc(6)] // 6.0.0+
// DecodeInterleavedOld(bool reset, buffer<unknown, 5>) -> (u32, u32, u64, buffer<unknown, 0x46>) // DecodeInterleavedOld(bool reset, buffer<unknown, 5>) -> (u32, u32, u64, buffer<unknown, 0x46>)
public ResultCode DecodeInterleavedOld(ServiceCtx context) public ResultCode DecodeInterleavedOld(ServiceCtx context)
{ {
@ -207,7 +207,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio.HardwareOpusDecoderManager
return result; return result;
} }
[Command(8)] // 7.0.0+ [CommandHipc(8)] // 7.0.0+
// DecodeInterleaved(bool reset, buffer<unknown, 0x45>) -> (u32, u32, u64, buffer<unknown, 0x46>) // DecodeInterleaved(bool reset, buffer<unknown, 0x45>) -> (u32, u32, u64, buffer<unknown, 0x46>)
public ResultCode DecodeInterleaved(ServiceCtx context) public ResultCode DecodeInterleaved(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
{ {
public IHardwareOpusDecoderManager(ServiceCtx context) { } public IHardwareOpusDecoderManager(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// Initialize(bytes<8, 4>, u32, handle<copy>) -> object<nn::codec::detail::IHardwareOpusDecoder> // Initialize(bytes<8, 4>, u32, handle<copy>) -> object<nn::codec::detail::IHardwareOpusDecoder>
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -22,7 +22,7 @@ namespace Ryujinx.HLE.HOS.Services.Audio
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetWorkBufferSize(bytes<8, 4>) -> u32 // GetWorkBufferSize(bytes<8, 4>) -> u32
public ResultCode GetWorkBufferSize(ServiceCtx context) public ResultCode GetWorkBufferSize(ServiceCtx context)
{ {

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat
context.Device.System.LibHacHorizonClient.Sm.GetService(out _base, serviceName).ThrowIfFailure(); context.Device.System.LibHacHorizonClient.Sm.GetService(out _base, serviceName).ThrowIfFailure();
} }
[Command(0)] [CommandHipc(0)]
// CreateBcatService(pid) -> object<nn::bcat::detail::ipc::IBcatService> // CreateBcatService(pid) -> object<nn::bcat::detail::ipc::IBcatService>
public ResultCode CreateBcatService(ServiceCtx context) public ResultCode CreateBcatService(ServiceCtx context)
{ {
@ -36,7 +36,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// CreateDeliveryCacheStorageService(pid) -> object<nn::bcat::detail::ipc::IDeliveryCacheStorageService> // CreateDeliveryCacheStorageService(pid) -> object<nn::bcat::detail::ipc::IDeliveryCacheStorageService>
public ResultCode CreateDeliveryCacheStorageService(ServiceCtx context) public ResultCode CreateDeliveryCacheStorageService(ServiceCtx context)
{ {
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat
return (ResultCode)rc.Value; return (ResultCode)rc.Value;
} }
[Command(2)] [CommandHipc(2)]
// CreateDeliveryCacheStorageServiceWithApplicationId(nn::ApplicationId) -> object<nn::bcat::detail::ipc::IDeliveryCacheStorageService> // CreateDeliveryCacheStorageServiceWithApplicationId(nn::ApplicationId) -> object<nn::bcat::detail::ipc::IDeliveryCacheStorageService>
public ResultCode CreateDeliveryCacheStorageServiceWithApplicationId(ServiceCtx context) public ResultCode CreateDeliveryCacheStorageServiceWithApplicationId(ServiceCtx context)
{ {

View file

@ -6,7 +6,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
{ {
public IBcatService(ApplicationLaunchProperty applicationLaunchProperty) { } public IBcatService(ApplicationLaunchProperty applicationLaunchProperty) { }
[Command(10100)] [CommandHipc(10100)]
// RequestSyncDeliveryCache() -> object<nn::bcat::detail::ipc::IDeliveryCacheProgressService> // RequestSyncDeliveryCache() -> object<nn::bcat::detail::ipc::IDeliveryCacheProgressService>
public ResultCode RequestSyncDeliveryCache(ServiceCtx context) public ResultCode RequestSyncDeliveryCache(ServiceCtx context)
{ {

View file

@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
_base = baseService; _base = baseService;
} }
[Command(0)] [CommandHipc(0)]
// Open(nn::bcat::DirectoryName) // Open(nn::bcat::DirectoryName)
public ResultCode Open(ServiceCtx context) public ResultCode Open(ServiceCtx context)
{ {
@ -26,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1)] [CommandHipc(1)]
// Read() -> (u32, buffer<nn::bcat::DeliveryCacheDirectoryEntry, 6>) // Read() -> (u32, buffer<nn::bcat::DeliveryCacheDirectoryEntry, 6>)
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {
@ -44,7 +44,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(2)] [CommandHipc(2)]
// GetCount() -> u32 // GetCount() -> u32
public ResultCode GetCount(ServiceCtx context) public ResultCode GetCount(ServiceCtx context)
{ {

View file

@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
_base = baseService; _base = baseService;
} }
[Command(0)] [CommandHipc(0)]
// Open(nn::bcat::DirectoryName, nn::bcat::FileName) // Open(nn::bcat::DirectoryName, nn::bcat::FileName)
public ResultCode Open(ServiceCtx context) public ResultCode Open(ServiceCtx context)
{ {
@ -26,7 +26,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1)] [CommandHipc(1)]
// Read(u64) -> (u64, buffer<bytes, 6>) // Read(u64) -> (u64, buffer<bytes, 6>)
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {
@ -46,7 +46,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(2)] [CommandHipc(2)]
// GetSize() -> u64 // GetSize() -> u64
public ResultCode GetSize(ServiceCtx context) public ResultCode GetSize(ServiceCtx context)
{ {
@ -57,7 +57,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(3)] [CommandHipc(3)]
// GetDigest() -> nn::bcat::Digest // GetDigest() -> nn::bcat::Digest
public ResultCode GetDigest(ServiceCtx context) public ResultCode GetDigest(ServiceCtx context)
{ {

View file

@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
_event = new KEvent(context.Device.System.KernelContext); _event = new KEvent(context.Device.System.KernelContext);
} }
[Command(0)] [CommandHipc(0)]
// GetEvent() -> handle<copy> // GetEvent() -> handle<copy>
public ResultCode GetEvent(ServiceCtx context) public ResultCode GetEvent(ServiceCtx context)
{ {
@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetImpl() -> buffer<nn::bcat::detail::DeliveryCacheProgressImpl, 0x1a> // GetImpl() -> buffer<nn::bcat::detail::DeliveryCacheProgressImpl, 0x1a>
public ResultCode GetImpl(ServiceCtx context) public ResultCode GetImpl(ServiceCtx context)
{ {

View file

@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
_base = baseService; _base = baseService;
} }
[Command(0)] [CommandHipc(0)]
// CreateFileService() -> object<nn::bcat::detail::ipc::IDeliveryCacheFileService> // CreateFileService() -> object<nn::bcat::detail::ipc::IDeliveryCacheFileService>
public ResultCode CreateFileService(ServiceCtx context) public ResultCode CreateFileService(ServiceCtx context)
{ {
@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1)] [CommandHipc(1)]
// CreateDirectoryService() -> object<nn::bcat::detail::ipc::IDeliveryCacheDirectoryService> // CreateDirectoryService() -> object<nn::bcat::detail::ipc::IDeliveryCacheDirectoryService>
public ResultCode CreateDirectoryService(ServiceCtx context) public ResultCode CreateDirectoryService(ServiceCtx context)
{ {
@ -42,7 +42,7 @@ namespace Ryujinx.HLE.HOS.Services.Bcat.ServiceCreator
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(10)] [CommandHipc(10)]
// EnumerateDeliveryCacheDirectory() -> (u32, buffer<nn::bcat::DirectoryName, 6>) // EnumerateDeliveryCacheDirectory() -> (u32, buffer<nn::bcat::DirectoryName, 6>)
public ResultCode EnumerateDeliveryCacheDirectory(ServiceCtx context) public ResultCode EnumerateDeliveryCacheDirectory(ServiceCtx context)
{ {

View file

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Bluetooth
public IBluetoothDriver(ServiceCtx context) { } public IBluetoothDriver(ServiceCtx context) { }
[Command(46)] [CommandHipc(46)]
// InitializeBluetoothLe() -> handle<copy> // InitializeBluetoothLe() -> handle<copy>
public ResultCode InitializeBluetoothLe(ServiceCtx context) public ResultCode InitializeBluetoothLe(ServiceCtx context)
{ {

View file

@ -9,7 +9,7 @@ namespace Ryujinx.HLE.HOS.Services.Bluetooth
{ {
public IBluetoothUser(ServiceCtx context) { } public IBluetoothUser(ServiceCtx context) { }
[Command(9)] [CommandHipc(9)]
// RegisterBleEvent(pid) -> handle<copy> // RegisterBleEvent(pid) -> handle<copy>
public ResultCode RegisterBleEvent(ServiceCtx context) public ResultCode RegisterBleEvent(ServiceCtx context)
{ {

View file

@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager.BtmUser
public IBtmUserCore() { } public IBtmUserCore() { }
[Command(0)] // 5.0.0+ [CommandHipc(0)] // 5.0.0+
// AcquireBleScanEvent() -> (byte<1>, handle<copy>) // AcquireBleScanEvent() -> (byte<1>, handle<copy>)
public ResultCode AcquireBleScanEvent(ServiceCtx context) public ResultCode AcquireBleScanEvent(ServiceCtx context)
{ {
@ -47,7 +47,7 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager.BtmUser
return ResultCode.Success; return ResultCode.Success;
} }
[Command(17)] // 5.0.0+ [CommandHipc(17)] // 5.0.0+
// AcquireBleConnectionEvent() -> (byte<1>, handle<copy>) // AcquireBleConnectionEvent() -> (byte<1>, handle<copy>)
public ResultCode AcquireBleConnectionEvent(ServiceCtx context) public ResultCode AcquireBleConnectionEvent(ServiceCtx context)
{ {
@ -73,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager.BtmUser
return ResultCode.Success; return ResultCode.Success;
} }
[Command(26)] // 5.0.0+ [CommandHipc(26)] // 5.0.0+
// AcquireBleServiceDiscoveryEvent() -> (byte<1>, handle<copy>) // AcquireBleServiceDiscoveryEvent() -> (byte<1>, handle<copy>)
public ResultCode AcquireBleServiceDiscoveryEvent(ServiceCtx context) public ResultCode AcquireBleServiceDiscoveryEvent(ServiceCtx context)
{ {
@ -99,7 +99,7 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager.BtmUser
return ResultCode.Success; return ResultCode.Success;
} }
[Command(33)] // 5.0.0+ [CommandHipc(33)] // 5.0.0+
// AcquireBleMtuConfigEvent() -> (byte<1>, handle<copy>) // AcquireBleMtuConfigEvent() -> (byte<1>, handle<copy>)
public ResultCode AcquireBleMtuConfigEvent(ServiceCtx context) public ResultCode AcquireBleMtuConfigEvent(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.BluetoothManager
{ {
public IBtmUser(ServiceCtx context) { } public IBtmUser(ServiceCtx context) { }
[Command(0)] // 5.0.0+ [CommandHipc(0)] // 5.0.0+
// GetCore() -> object<nn::btm::IBtmUserCore> // GetCore() -> object<nn::btm::IBtmUserCore>
public ResultCode GetCore(ServiceCtx context) public ResultCode GetCore(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Caps
{ {
public IAlbumApplicationService(ServiceCtx context) { } public IAlbumApplicationService(ServiceCtx context) { }
[Command(32)] // 7.0.0+ [CommandHipc(32)] // 7.0.0+
// SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId) // SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId)
public ResultCode SetShimLibraryVersion(ServiceCtx context) public ResultCode SetShimLibraryVersion(ServiceCtx context)
{ {

View file

@ -5,7 +5,7 @@ namespace Ryujinx.HLE.HOS.Services.Caps
{ {
public IAlbumControlService(ServiceCtx context) { } public IAlbumControlService(ServiceCtx context) { }
[Command(33)] // 7.0.0+ [CommandHipc(33)] // 7.0.0+
// SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId) // SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId)
public ResultCode SetShimLibraryVersion(ServiceCtx context) public ResultCode SetShimLibraryVersion(ServiceCtx context)
{ {

View file

@ -8,14 +8,14 @@ namespace Ryujinx.HLE.HOS.Services.Caps
{ {
public IScreenShotApplicationService(ServiceCtx context) { } public IScreenShotApplicationService(ServiceCtx context) { }
[Command(32)] // 7.0.0+ [CommandHipc(32)] // 7.0.0+
// SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId) // SetShimLibraryVersion(pid, u64, nn::applet::AppletResourceUserId)
public ResultCode SetShimLibraryVersion(ServiceCtx context) public ResultCode SetShimLibraryVersion(ServiceCtx context)
{ {
return context.Device.System.CaptureManager.SetShimLibraryVersion(context); return context.Device.System.CaptureManager.SetShimLibraryVersion(context);
} }
[Command(203)] [CommandHipc(203)]
// SaveScreenShotEx0(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, pid, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry // SaveScreenShotEx0(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, pid, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry
public ResultCode SaveScreenShotEx0(ServiceCtx context) public ResultCode SaveScreenShotEx0(ServiceCtx context)
{ {
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Caps
return resultCode; return resultCode;
} }
[Command(205)] // 8.0.0+ [CommandHipc(205)] // 8.0.0+
// SaveScreenShotEx1(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, pid, buffer<bytes, 0x15> ApplicationData, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry // SaveScreenShotEx1(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, pid, buffer<bytes, 0x15> ApplicationData, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry
public ResultCode SaveScreenShotEx1(ServiceCtx context) public ResultCode SaveScreenShotEx1(ServiceCtx context)
{ {
@ -67,7 +67,7 @@ namespace Ryujinx.HLE.HOS.Services.Caps
return resultCode; return resultCode;
} }
[Command(210)] [CommandHipc(210)]
// SaveScreenShotEx2(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, buffer<bytes, 0x15> UserIdList, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry // SaveScreenShotEx2(bytes<0x40> ScreenShotAttribute, u32 unknown, u64 AppletResourceUserId, buffer<bytes, 0x15> UserIdList, buffer<bytes, 0x45> ScreenshotData) -> bytes<0x20> ApplicationAlbumEntry
public ResultCode SaveScreenShotEx2(ServiceCtx context) public ResultCode SaveScreenShotEx2(ServiceCtx context)
{ {

View file

@ -3,10 +3,10 @@
namespace Ryujinx.HLE.HOS.Services namespace Ryujinx.HLE.HOS.Services
{ {
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)] [AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
class CommandAttribute : Attribute class CommandHipcAttribute : Attribute
{ {
public readonly int Id; public readonly int Id;
public CommandAttribute(int id) => Id = id; public CommandHipcAttribute(int id) => Id = id;
} }
} }

View file

@ -0,0 +1,12 @@
using System;
namespace Ryujinx.HLE.HOS.Services
{
[AttributeUsage(AttributeTargets.Method, AllowMultiple = true)]
class CommandTipcAttribute : Attribute
{
public readonly int Id;
public CommandTipcAttribute(int id) => Id = id;
}
}

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend
_permissionLevel = permissionLevel; _permissionLevel = permissionLevel;
} }
[Command(0)] [CommandHipc(0)]
// CreateFriendService() -> object<nn::friends::detail::ipc::IFriendService> // CreateFriendService() -> object<nn::friends::detail::ipc::IFriendService>
public ResultCode CreateFriendService(ServiceCtx context) public ResultCode CreateFriendService(ServiceCtx context)
{ {
@ -27,7 +27,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] // 2.0.0+ [CommandHipc(1)] // 2.0.0+
// CreateNotificationService(nn::account::Uid userId) -> object<nn::friends::detail::ipc::INotificationService> // CreateNotificationService(nn::account::Uid userId) -> object<nn::friends::detail::ipc::INotificationService>
public ResultCode CreateNotificationService(ServiceCtx context) public ResultCode CreateNotificationService(ServiceCtx context)
{ {
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] // 4.0.0+ [CommandHipc(2)] // 4.0.0+
// CreateDaemonSuspendSessionService() -> object<nn::friends::detail::ipc::IDaemonSuspendSessionService> // CreateDaemonSuspendSessionService() -> object<nn::friends::detail::ipc::IDaemonSuspendSessionService>
public ResultCode CreateDaemonSuspendSessionService(ServiceCtx context) public ResultCode CreateDaemonSuspendSessionService(ServiceCtx context)
{ {

View file

@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
_permissionLevel = permissionLevel; _permissionLevel = permissionLevel;
} }
[Command(0)] [CommandHipc(0)]
// GetCompletionEvent() -> handle<copy> // GetCompletionEvent() -> handle<copy>
public ResultCode GetCompletionEvent(ServiceCtx context) public ResultCode GetCompletionEvent(ServiceCtx context)
{ {
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10100)] [CommandHipc(10100)]
// nn::friends::GetFriendListIds(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid) // nn::friends::GetFriendListIds(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid)
// -> int outCount, array<nn::account::NetworkServiceAccountId, 0xa> // -> int outCount, array<nn::account::NetworkServiceAccountId, 0xa>
public ResultCode GetFriendListIds(ServiceCtx context) public ResultCode GetFriendListIds(ServiceCtx context)
@ -82,7 +82,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10101)] [CommandHipc(10101)]
// nn::friends::GetFriendList(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid) // nn::friends::GetFriendList(int offset, nn::account::Uid userId, nn::friends::detail::ipc::SizedFriendFilter friendFilter, ulong pidPlaceHolder, pid)
// -> int outCount, array<nn::friends::detail::FriendImpl, 0x6> // -> int outCount, array<nn::friends::detail::FriendImpl, 0x6>
public ResultCode GetFriendList(ServiceCtx context) public ResultCode GetFriendList(ServiceCtx context)
@ -120,7 +120,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10400)] [CommandHipc(10400)]
// nn::friends::GetBlockedUserListIds(int offset, nn::account::Uid userId) -> (u32, buffer<nn::account::NetworkServiceAccountId, 0xa>) // nn::friends::GetBlockedUserListIds(int offset, nn::account::Uid userId) -> (u32, buffer<nn::account::NetworkServiceAccountId, 0xa>)
public ResultCode GetBlockedUserListIds(ServiceCtx context) public ResultCode GetBlockedUserListIds(ServiceCtx context)
{ {
@ -139,7 +139,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10600)] [CommandHipc(10600)]
// nn::friends::DeclareOpenOnlinePlaySession(nn::account::Uid userId) // nn::friends::DeclareOpenOnlinePlaySession(nn::account::Uid userId)
public ResultCode DeclareOpenOnlinePlaySession(ServiceCtx context) public ResultCode DeclareOpenOnlinePlaySession(ServiceCtx context)
{ {
@ -160,7 +160,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10601)] [CommandHipc(10601)]
// nn::friends::DeclareCloseOnlinePlaySession(nn::account::Uid userId) // nn::friends::DeclareCloseOnlinePlaySession(nn::account::Uid userId)
public ResultCode DeclareCloseOnlinePlaySession(ServiceCtx context) public ResultCode DeclareCloseOnlinePlaySession(ServiceCtx context)
{ {
@ -181,7 +181,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10610)] [CommandHipc(10610)]
// nn::friends::UpdateUserPresence(nn::account::Uid, u64, pid, buffer<nn::friends::detail::UserPresenceImpl, 0x19>) // nn::friends::UpdateUserPresence(nn::account::Uid, u64, pid, buffer<nn::friends::detail::UserPresenceImpl, 0x19>)
public ResultCode UpdateUserPresence(ServiceCtx context) public ResultCode UpdateUserPresence(ServiceCtx context)
{ {
@ -214,7 +214,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10700)] [CommandHipc(10700)]
// nn::friends::GetPlayHistoryRegistrationKey(b8 unknown, nn::account::Uid) -> buffer<nn::friends::PlayHistoryRegistrationKey, 0x1a> // nn::friends::GetPlayHistoryRegistrationKey(b8 unknown, nn::account::Uid) -> buffer<nn::friends::PlayHistoryRegistrationKey, 0x1a>
public ResultCode GetPlayHistoryRegistrationKey(ServiceCtx context) public ResultCode GetPlayHistoryRegistrationKey(ServiceCtx context)
{ {
@ -277,7 +277,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10702)] [CommandHipc(10702)]
// nn::friends::AddPlayHistory(nn::account::Uid, u64, pid, buffer<nn::friends::PlayHistoryRegistrationKey, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>) // nn::friends::AddPlayHistory(nn::account::Uid, u64, pid, buffer<nn::friends::PlayHistoryRegistrationKey, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>, buffer<nn::friends::InAppScreenName, 0x19>)
public ResultCode AddPlayHistory(ServiceCtx context) public ResultCode AddPlayHistory(ServiceCtx context)
{ {

View file

@ -37,7 +37,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
NotificationEventHandler.Instance.RegisterNotificationService(this); NotificationEventHandler.Instance.RegisterNotificationService(this);
} }
[Command(0)] //2.0.0+ [CommandHipc(0)] //2.0.0+
// nn::friends::detail::ipc::INotificationService::GetEvent() -> handle<copy> // nn::friends::detail::ipc::INotificationService::GetEvent() -> handle<copy>
public ResultCode GetEvent(ServiceCtx context) public ResultCode GetEvent(ServiceCtx context)
{ {
@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] //2.0.0+ [CommandHipc(1)] //2.0.0+
// nn::friends::detail::ipc::INotificationService::Clear() // nn::friends::detail::ipc::INotificationService::Clear()
public ResultCode Clear(ServiceCtx context) public ResultCode Clear(ServiceCtx context)
{ {
@ -69,7 +69,7 @@ namespace Ryujinx.HLE.HOS.Services.Friend.ServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] // 2.0.0+ [CommandHipc(2)] // 2.0.0+
// nn::friends::detail::ipc::INotificationService::Pop() -> nn::friends::detail::ipc::SizedNotificationInfo // nn::friends::detail::ipc::INotificationService::Pop() -> nn::friends::detail::ipc::SizedNotificationInfo
public ResultCode Pop(ServiceCtx context) public ResultCode Pop(ServiceCtx context)
{ {

View file

@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
_baseDirectory = directory; _baseDirectory = directory;
} }
[Command(0)] [CommandHipc(0)]
// Read() -> (u64 count, buffer<nn::fssrv::sf::IDirectoryEntry, 6, 0> entries) // Read() -> (u64 count, buffer<nn::fssrv::sf::IDirectoryEntry, 6, 0> entries)
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1)] [CommandHipc(1)]
// GetEntryCount() -> u64 // GetEntryCount() -> u64
public ResultCode GetEntryCount(ServiceCtx context) public ResultCode GetEntryCount(ServiceCtx context)
{ {

View file

@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
_baseFile = baseFile; _baseFile = baseFile;
} }
[Command(0)] [CommandHipc(0)]
// Read(u32 readOption, u64 offset, u64 size) -> (u64 out_size, buffer<u8, 0x46, 0> out_buf) // Read(u32 readOption, u64 offset, u64 size) -> (u64 out_size, buffer<u8, 0x46, 0> out_buf)
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {
@ -36,7 +36,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1)] [CommandHipc(1)]
// Write(u32 writeOption, u64 offset, u64 size, buffer<u8, 0x45, 0>) // Write(u32 writeOption, u64 offset, u64 size, buffer<u8, 0x45, 0>)
public ResultCode Write(ServiceCtx context) public ResultCode Write(ServiceCtx context)
{ {
@ -55,14 +55,14 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_baseFile.Write(offset, data, writeOption).Value; return (ResultCode)_baseFile.Write(offset, data, writeOption).Value;
} }
[Command(2)] [CommandHipc(2)]
// Flush() // Flush()
public ResultCode Flush(ServiceCtx context) public ResultCode Flush(ServiceCtx context)
{ {
return (ResultCode)_baseFile.Flush().Value; return (ResultCode)_baseFile.Flush().Value;
} }
[Command(3)] [CommandHipc(3)]
// SetSize(u64 size) // SetSize(u64 size)
public ResultCode SetSize(ServiceCtx context) public ResultCode SetSize(ServiceCtx context)
{ {
@ -71,7 +71,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_baseFile.SetSize(size).Value; return (ResultCode)_baseFile.SetSize(size).Value;
} }
[Command(4)] [CommandHipc(4)]
// GetSize() -> u64 fileSize // GetSize() -> u64 fileSize
public ResultCode GetSize(ServiceCtx context) public ResultCode GetSize(ServiceCtx context)
{ {

View file

@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return _fileSystem; return _fileSystem;
} }
[Command(0)] [CommandHipc(0)]
// CreateFile(u32 createOption, u64 size, buffer<bytes<0x301>, 0x19, 0x301> path) // CreateFile(u32 createOption, u64 size, buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode CreateFile(ServiceCtx context) public ResultCode CreateFile(ServiceCtx context)
{ {
@ -34,7 +34,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.CreateFile(name, size, createOption).Value; return (ResultCode)_fileSystem.CreateFile(name, size, createOption).Value;
} }
[Command(1)] [CommandHipc(1)]
// DeleteFile(buffer<bytes<0x301>, 0x19, 0x301> path) // DeleteFile(buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode DeleteFile(ServiceCtx context) public ResultCode DeleteFile(ServiceCtx context)
{ {
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.DeleteFile(name).Value; return (ResultCode)_fileSystem.DeleteFile(name).Value;
} }
[Command(2)] [CommandHipc(2)]
// CreateDirectory(buffer<bytes<0x301>, 0x19, 0x301> path) // CreateDirectory(buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode CreateDirectory(ServiceCtx context) public ResultCode CreateDirectory(ServiceCtx context)
{ {
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.CreateDirectory(name).Value; return (ResultCode)_fileSystem.CreateDirectory(name).Value;
} }
[Command(3)] [CommandHipc(3)]
// DeleteDirectory(buffer<bytes<0x301>, 0x19, 0x301> path) // DeleteDirectory(buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode DeleteDirectory(ServiceCtx context) public ResultCode DeleteDirectory(ServiceCtx context)
{ {
@ -61,7 +61,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.DeleteDirectory(name).Value; return (ResultCode)_fileSystem.DeleteDirectory(name).Value;
} }
[Command(4)] [CommandHipc(4)]
// DeleteDirectoryRecursively(buffer<bytes<0x301>, 0x19, 0x301> path) // DeleteDirectoryRecursively(buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode DeleteDirectoryRecursively(ServiceCtx context) public ResultCode DeleteDirectoryRecursively(ServiceCtx context)
{ {
@ -70,7 +70,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.DeleteDirectoryRecursively(name).Value; return (ResultCode)_fileSystem.DeleteDirectoryRecursively(name).Value;
} }
[Command(5)] [CommandHipc(5)]
// RenameFile(buffer<bytes<0x301>, 0x19, 0x301> oldPath, buffer<bytes<0x301>, 0x19, 0x301> newPath) // RenameFile(buffer<bytes<0x301>, 0x19, 0x301> oldPath, buffer<bytes<0x301>, 0x19, 0x301> newPath)
public ResultCode RenameFile(ServiceCtx context) public ResultCode RenameFile(ServiceCtx context)
{ {
@ -80,7 +80,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.RenameFile(oldName, newName).Value; return (ResultCode)_fileSystem.RenameFile(oldName, newName).Value;
} }
[Command(6)] [CommandHipc(6)]
// RenameDirectory(buffer<bytes<0x301>, 0x19, 0x301> oldPath, buffer<bytes<0x301>, 0x19, 0x301> newPath) // RenameDirectory(buffer<bytes<0x301>, 0x19, 0x301> oldPath, buffer<bytes<0x301>, 0x19, 0x301> newPath)
public ResultCode RenameDirectory(ServiceCtx context) public ResultCode RenameDirectory(ServiceCtx context)
{ {
@ -90,7 +90,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.RenameDirectory(oldName, newName).Value; return (ResultCode)_fileSystem.RenameDirectory(oldName, newName).Value;
} }
[Command(7)] [CommandHipc(7)]
// GetEntryType(buffer<bytes<0x301>, 0x19, 0x301> path) -> nn::fssrv::sf::DirectoryEntryType // GetEntryType(buffer<bytes<0x301>, 0x19, 0x301> path) -> nn::fssrv::sf::DirectoryEntryType
public ResultCode GetEntryType(ServiceCtx context) public ResultCode GetEntryType(ServiceCtx context)
{ {
@ -103,7 +103,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(8)] [CommandHipc(8)]
// OpenFile(u32 mode, buffer<bytes<0x301>, 0x19, 0x301> path) -> object<nn::fssrv::sf::IFile> file // OpenFile(u32 mode, buffer<bytes<0x301>, 0x19, 0x301> path) -> object<nn::fssrv::sf::IFile> file
public ResultCode OpenFile(ServiceCtx context) public ResultCode OpenFile(ServiceCtx context)
{ {
@ -123,7 +123,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(9)] [CommandHipc(9)]
// OpenDirectory(u32 filter_flags, buffer<bytes<0x301>, 0x19, 0x301> path) -> object<nn::fssrv::sf::IDirectory> directory // OpenDirectory(u32 filter_flags, buffer<bytes<0x301>, 0x19, 0x301> path) -> object<nn::fssrv::sf::IDirectory> directory
public ResultCode OpenDirectory(ServiceCtx context) public ResultCode OpenDirectory(ServiceCtx context)
{ {
@ -143,14 +143,14 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(10)] [CommandHipc(10)]
// Commit() // Commit()
public ResultCode Commit(ServiceCtx context) public ResultCode Commit(ServiceCtx context)
{ {
return (ResultCode)_fileSystem.Commit().Value; return (ResultCode)_fileSystem.Commit().Value;
} }
[Command(11)] [CommandHipc(11)]
// GetFreeSpaceSize(buffer<bytes<0x301>, 0x19, 0x301> path) -> u64 totalFreeSpace // GetFreeSpaceSize(buffer<bytes<0x301>, 0x19, 0x301> path) -> u64 totalFreeSpace
public ResultCode GetFreeSpaceSize(ServiceCtx context) public ResultCode GetFreeSpaceSize(ServiceCtx context)
{ {
@ -163,7 +163,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(12)] [CommandHipc(12)]
// GetTotalSpaceSize(buffer<bytes<0x301>, 0x19, 0x301> path) -> u64 totalSize // GetTotalSpaceSize(buffer<bytes<0x301>, 0x19, 0x301> path) -> u64 totalSize
public ResultCode GetTotalSpaceSize(ServiceCtx context) public ResultCode GetTotalSpaceSize(ServiceCtx context)
{ {
@ -176,7 +176,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(13)] [CommandHipc(13)]
// CleanDirectoryRecursively(buffer<bytes<0x301>, 0x19, 0x301> path) // CleanDirectoryRecursively(buffer<bytes<0x301>, 0x19, 0x301> path)
public ResultCode CleanDirectoryRecursively(ServiceCtx context) public ResultCode CleanDirectoryRecursively(ServiceCtx context)
{ {
@ -185,7 +185,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return (ResultCode)_fileSystem.CleanDirectoryRecursively(name).Value; return (ResultCode)_fileSystem.CleanDirectoryRecursively(name).Value;
} }
[Command(14)] [CommandHipc(14)]
// GetFileTimeStampRaw(buffer<bytes<0x301>, 0x19, 0x301> path) -> bytes<0x20> timestamp // GetFileTimeStampRaw(buffer<bytes<0x301>, 0x19, 0x301> path) -> bytes<0x20> timestamp
public ResultCode GetFileTimeStampRaw(ServiceCtx context) public ResultCode GetFileTimeStampRaw(ServiceCtx context)
{ {

View file

@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
_baseStorage = baseStorage; _baseStorage = baseStorage;
} }
[Command(0)] [CommandHipc(0)]
// Read(u64 offset, u64 length) -> buffer<u8, 0x46, 0> buffer // Read(u64 offset, u64 length) -> buffer<u8, 0x46, 0> buffer
public ResultCode Read(ServiceCtx context) public ResultCode Read(ServiceCtx context)
{ {
@ -42,7 +42,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs.FileSystemProxy
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// GetSize() -> u64 size // GetSize() -> u64 size
public ResultCode GetSize(ServiceCtx context) public ResultCode GetSize(ServiceCtx context)
{ {

View file

@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
_baseOperator = baseOperator; _baseOperator = baseOperator;
} }
[Command(0)] [CommandHipc(0)]
// IsSdCardInserted() -> b8 is_inserted // IsSdCardInserted() -> b8 is_inserted
public ResultCode IsSdCardInserted(ServiceCtx context) public ResultCode IsSdCardInserted(ServiceCtx context)
{ {
@ -23,7 +23,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(200)] [CommandHipc(200)]
// IsGameCardInserted() -> b8 is_inserted // IsGameCardInserted() -> b8 is_inserted
public ResultCode IsGameCardInserted(ServiceCtx context) public ResultCode IsGameCardInserted(ServiceCtx context)
{ {
@ -34,7 +34,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(202)] [CommandHipc(202)]
// GetGameCardHandle() -> u32 gamecard_handle // GetGameCardHandle() -> u32 gamecard_handle
public ResultCode GetGameCardHandle(ServiceCtx context) public ResultCode GetGameCardHandle(ServiceCtx context)
{ {

View file

@ -25,14 +25,14 @@ namespace Ryujinx.HLE.HOS.Services.Fs
_baseFileSystemProxy = context.Device.FileSystem.FsServer.CreateFileSystemProxyService(); _baseFileSystemProxy = context.Device.FileSystem.FsServer.CreateFileSystemProxyService();
} }
[Command(1)] [CommandHipc(1)]
// Initialize(u64, pid) // Initialize(u64, pid)
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
return ResultCode.Success; return ResultCode.Success;
} }
[Command(8)] [CommandHipc(8)]
// OpenFileSystemWithId(nn::fssrv::sf::FileSystemType filesystem_type, nn::ApplicationId tid, buffer<bytes<0x301>, 0x19, 0x301> path) // OpenFileSystemWithId(nn::fssrv::sf::FileSystemType filesystem_type, nn::ApplicationId tid, buffer<bytes<0x301>, 0x19, 0x301> path)
// -> object<nn::fssrv::sf::IFileSystem> contentFs // -> object<nn::fssrv::sf::IFileSystem> contentFs
public ResultCode OpenFileSystemWithId(ServiceCtx context) public ResultCode OpenFileSystemWithId(ServiceCtx context)
@ -88,7 +88,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.InvalidInput; return ResultCode.InvalidInput;
} }
[Command(11)] [CommandHipc(11)]
// OpenBisFileSystem(nn::fssrv::sf::Partition partitionID, buffer<bytes<0x301>, 0x19, 0x301>) -> object<nn::fssrv::sf::IFileSystem> Bis // OpenBisFileSystem(nn::fssrv::sf::Partition partitionID, buffer<bytes<0x301>, 0x19, 0x301>) -> object<nn::fssrv::sf::IFileSystem> Bis
public ResultCode OpenBisFileSystem(ServiceCtx context) public ResultCode OpenBisFileSystem(ServiceCtx context)
{ {
@ -105,7 +105,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(18)] [CommandHipc(18)]
// OpenSdCardFileSystem() -> object<nn::fssrv::sf::IFileSystem> // OpenSdCardFileSystem() -> object<nn::fssrv::sf::IFileSystem>
public ResultCode OpenSdCardFileSystem(ServiceCtx context) public ResultCode OpenSdCardFileSystem(ServiceCtx context)
{ {
@ -117,7 +117,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
public ResultCode DeleteSaveDataFileSystem(ServiceCtx context) public ResultCode DeleteSaveDataFileSystem(ServiceCtx context)
{ {
ulong saveDataId = context.RequestData.ReadUInt64(); ulong saveDataId = context.RequestData.ReadUInt64();
@ -127,7 +127,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(22)] [CommandHipc(22)]
public ResultCode CreateSaveDataFileSystem(ServiceCtx context) public ResultCode CreateSaveDataFileSystem(ServiceCtx context)
{ {
SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>(); SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>();
@ -148,7 +148,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(23)] [CommandHipc(23)]
public ResultCode CreateSaveDataFileSystemBySystemSaveDataId(ServiceCtx context) public ResultCode CreateSaveDataFileSystemBySystemSaveDataId(ServiceCtx context)
{ {
SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>(); SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>();
@ -159,7 +159,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(25)] [CommandHipc(25)]
public ResultCode DeleteSaveDataFileSystemBySaveDataSpaceId(ServiceCtx context) public ResultCode DeleteSaveDataFileSystemBySaveDataSpaceId(ServiceCtx context)
{ {
SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64(); SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64();
@ -170,7 +170,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(28)] [CommandHipc(28)]
public ResultCode DeleteSaveDataFileSystemBySaveDataAttribute(ServiceCtx context) public ResultCode DeleteSaveDataFileSystemBySaveDataAttribute(ServiceCtx context)
{ {
SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64(); SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64();
@ -181,7 +181,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(30)] [CommandHipc(30)]
// OpenGameCardStorage(u32, u32) -> object<nn::fssrv::sf::IStorage> // OpenGameCardStorage(u32, u32) -> object<nn::fssrv::sf::IStorage>
public ResultCode OpenGameCardStorage(ServiceCtx context) public ResultCode OpenGameCardStorage(ServiceCtx context)
{ {
@ -198,7 +198,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(35)] [CommandHipc(35)]
public ResultCode CreateSaveDataFileSystemWithHashSalt(ServiceCtx context) public ResultCode CreateSaveDataFileSystemWithHashSalt(ServiceCtx context)
{ {
SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>(); SaveDataAttribute attribute = context.RequestData.ReadStruct<SaveDataAttribute>();
@ -218,7 +218,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(51)] [CommandHipc(51)]
// OpenSaveDataFileSystem(u8 save_data_space_id, nn::fssrv::sf::SaveStruct saveStruct) -> object<nn::fssrv::sf::IFileSystem> saveDataFs // OpenSaveDataFileSystem(u8 save_data_space_id, nn::fssrv::sf::SaveStruct saveStruct) -> object<nn::fssrv::sf::IFileSystem> saveDataFs
public ResultCode OpenSaveDataFileSystem(ServiceCtx context) public ResultCode OpenSaveDataFileSystem(ServiceCtx context)
{ {
@ -242,7 +242,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(52)] [CommandHipc(52)]
// OpenSaveDataFileSystemBySystemSaveDataId(u8 save_data_space_id, nn::fssrv::sf::SaveStruct saveStruct) -> object<nn::fssrv::sf::IFileSystem> systemSaveDataFs // OpenSaveDataFileSystemBySystemSaveDataId(u8 save_data_space_id, nn::fssrv::sf::SaveStruct saveStruct) -> object<nn::fssrv::sf::IFileSystem> systemSaveDataFs
public ResultCode OpenSaveDataFileSystemBySystemSaveDataId(ServiceCtx context) public ResultCode OpenSaveDataFileSystemBySystemSaveDataId(ServiceCtx context)
{ {
@ -259,7 +259,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(53)] [CommandHipc(53)]
// OpenReadOnlySaveDataFileSystem(u8 save_data_space_id, nn::fssrv::sf::SaveStruct save_struct) -> object<nn::fssrv::sf::IFileSystem> // OpenReadOnlySaveDataFileSystem(u8 save_data_space_id, nn::fssrv::sf::SaveStruct save_struct) -> object<nn::fssrv::sf::IFileSystem>
public ResultCode OpenReadOnlySaveDataFileSystem(ServiceCtx context) public ResultCode OpenReadOnlySaveDataFileSystem(ServiceCtx context)
{ {
@ -283,7 +283,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(60)] [CommandHipc(60)]
public ResultCode OpenSaveDataInfoReader(ServiceCtx context) public ResultCode OpenSaveDataInfoReader(ServiceCtx context)
{ {
Result result = _baseFileSystemProxy.OpenSaveDataInfoReader(out ReferenceCountedDisposable<LibHac.FsSrv.ISaveDataInfoReader> infoReader); Result result = _baseFileSystemProxy.OpenSaveDataInfoReader(out ReferenceCountedDisposable<LibHac.FsSrv.ISaveDataInfoReader> infoReader);
@ -296,7 +296,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(61)] [CommandHipc(61)]
public ResultCode OpenSaveDataInfoReaderBySaveDataSpaceId(ServiceCtx context) public ResultCode OpenSaveDataInfoReaderBySaveDataSpaceId(ServiceCtx context)
{ {
SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadByte(); SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadByte();
@ -311,7 +311,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(62)] [CommandHipc(62)]
public ResultCode OpenSaveDataInfoReaderOnlyCacheStorage(ServiceCtx context) public ResultCode OpenSaveDataInfoReaderOnlyCacheStorage(ServiceCtx context)
{ {
SaveDataFilter filter = new SaveDataFilter(); SaveDataFilter filter = new SaveDataFilter();
@ -331,7 +331,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(67)] [CommandHipc(67)]
public ResultCode FindSaveDataWithFilter(ServiceCtx context) public ResultCode FindSaveDataWithFilter(ServiceCtx context)
{ {
SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64(); SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64();
@ -350,7 +350,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(68)] [CommandHipc(68)]
public ResultCode OpenSaveDataInfoReaderWithFilter(ServiceCtx context) public ResultCode OpenSaveDataInfoReaderWithFilter(ServiceCtx context)
{ {
SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64(); SaveDataSpaceId spaceId = (SaveDataSpaceId)context.RequestData.ReadInt64();
@ -367,7 +367,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(71)] [CommandHipc(71)]
public ResultCode ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute(ServiceCtx context) public ResultCode ReadSaveDataFileSystemExtraDataWithMaskBySaveDataAttribute(ServiceCtx context)
{ {
Logger.Stub?.PrintStub(LogClass.ServiceFs); Logger.Stub?.PrintStub(LogClass.ServiceFs);
@ -377,7 +377,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(200)] [CommandHipc(200)]
// OpenDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage> dataStorage // OpenDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage> dataStorage
public ResultCode OpenDataStorageByCurrentProcess(ServiceCtx context) public ResultCode OpenDataStorageByCurrentProcess(ServiceCtx context)
{ {
@ -386,7 +386,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return 0; return 0;
} }
[Command(202)] [CommandHipc(202)]
// OpenDataStorageByDataId(u8 storageId, nn::ApplicationId tid) -> object<nn::fssrv::sf::IStorage> dataStorage // OpenDataStorageByDataId(u8 storageId, nn::ApplicationId tid) -> object<nn::fssrv::sf::IStorage> dataStorage
public ResultCode OpenDataStorageByDataId(ServiceCtx context) public ResultCode OpenDataStorageByDataId(ServiceCtx context)
{ {
@ -456,7 +456,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
throw new FileNotFoundException($"System archive with titleid {titleId:x16} was not found on Storage {storageId}. Found in {installedStorage}."); throw new FileNotFoundException($"System archive with titleid {titleId:x16} was not found on Storage {storageId}. Found in {installedStorage}.");
} }
[Command(203)] [CommandHipc(203)]
// OpenPatchDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage> // OpenPatchDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage>
public ResultCode OpenPatchDataStorageByCurrentProcess(ServiceCtx context) public ResultCode OpenPatchDataStorageByCurrentProcess(ServiceCtx context)
{ {
@ -465,7 +465,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(400)] [CommandHipc(400)]
// OpenDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage> dataStorage // OpenDataStorageByCurrentProcess() -> object<nn::fssrv::sf::IStorage> dataStorage
public ResultCode OpenDeviceOperator(ServiceCtx context) public ResultCode OpenDeviceOperator(ServiceCtx context)
{ {
@ -479,7 +479,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(630)] [CommandHipc(630)]
// SetSdCardAccessibility(u8) // SetSdCardAccessibility(u8)
public ResultCode SetSdCardAccessibility(ServiceCtx context) public ResultCode SetSdCardAccessibility(ServiceCtx context)
{ {
@ -488,7 +488,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)_baseFileSystemProxy.SetSdCardAccessibility(isAccessible).Value; return (ResultCode)_baseFileSystemProxy.SetSdCardAccessibility(isAccessible).Value;
} }
[Command(631)] [CommandHipc(631)]
// IsSdCardAccessible() -> u8 // IsSdCardAccessible() -> u8
public ResultCode IsSdCardAccessible(ServiceCtx context) public ResultCode IsSdCardAccessible(ServiceCtx context)
{ {
@ -499,7 +499,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(1004)] [CommandHipc(1004)]
// SetGlobalAccessLogMode(u32 mode) // SetGlobalAccessLogMode(u32 mode)
public ResultCode SetGlobalAccessLogMode(ServiceCtx context) public ResultCode SetGlobalAccessLogMode(ServiceCtx context)
{ {
@ -510,7 +510,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1005)] [CommandHipc(1005)]
// GetGlobalAccessLogMode() -> u32 logMode // GetGlobalAccessLogMode() -> u32 logMode
public ResultCode GetGlobalAccessLogMode(ServiceCtx context) public ResultCode GetGlobalAccessLogMode(ServiceCtx context)
{ {
@ -521,7 +521,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1006)] [CommandHipc(1006)]
// OutputAccessLogToSdCard(buffer<bytes, 5> log_text) // OutputAccessLogToSdCard(buffer<bytes, 5> log_text)
public ResultCode OutputAccessLogToSdCard(ServiceCtx context) public ResultCode OutputAccessLogToSdCard(ServiceCtx context)
{ {
@ -533,7 +533,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1011)] [CommandHipc(1011)]
public ResultCode GetProgramIndexForAccessLog(ServiceCtx context) public ResultCode GetProgramIndexForAccessLog(ServiceCtx context)
{ {
int programIndex = 0; int programIndex = 0;
@ -545,7 +545,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1200)] // 6.0.0+ [CommandHipc(1200)] // 6.0.0+
// OpenMultiCommitManager() -> object<nn::fssrv::sf::IMultiCommitManager> // OpenMultiCommitManager() -> object<nn::fssrv::sf::IMultiCommitManager>
public ResultCode OpenMultiCommitManager(ServiceCtx context) public ResultCode OpenMultiCommitManager(ServiceCtx context)
{ {

View file

@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
_baseCommitManager = baseCommitManager; _baseCommitManager = baseCommitManager;
} }
[Command(1)] // 6.0.0+ [CommandHipc(1)] // 6.0.0+
// Add(object<nn::fssrv::sf::IFileSystem>) // Add(object<nn::fssrv::sf::IFileSystem>)
public ResultCode Add(ServiceCtx context) public ResultCode Add(ServiceCtx context)
{ {
@ -23,7 +23,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
return (ResultCode)result.Value; return (ResultCode)result.Value;
} }
[Command(2)] // 6.0.0+ [CommandHipc(2)] // 6.0.0+
// Commit() // Commit()
public ResultCode Commit(ServiceCtx context) public ResultCode Commit(ServiceCtx context)
{ {

View file

@ -12,7 +12,7 @@ namespace Ryujinx.HLE.HOS.Services.Fs
_baseReader = baseReader; _baseReader = baseReader;
} }
[Command(0)] [CommandHipc(0)]
// ReadSaveDataInfo() -> (u64, buffer<unknown, 6>) // ReadSaveDataInfo() -> (u64, buffer<unknown, 6>)
public ResultCode ReadSaveDataInfo(ServiceCtx context) public ResultCode ReadSaveDataInfo(ServiceCtx context)
{ {

View file

@ -4,7 +4,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.HidServer
{ {
public IActiveApplicationDeviceList() { } public IActiveApplicationDeviceList() { }
[Command(0)] [CommandHipc(0)]
// ActivateVibrationDevice(nn::hid::VibrationDeviceHandle) // ActivateVibrationDevice(nn::hid::VibrationDeviceHandle)
public ResultCode ActivateVibrationDevice(ServiceCtx context) public ResultCode ActivateVibrationDevice(ServiceCtx context)
{ {

View file

@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.HidServer
_hidSharedMem = hidSharedMem; _hidSharedMem = hidSharedMem;
} }
[Command(0)] [CommandHipc(0)]
// GetSharedMemoryHandle() -> handle<copy> // GetSharedMemoryHandle() -> handle<copy>
public ResultCode GetSharedMemoryHandle(ServiceCtx context) public ResultCode GetSharedMemoryHandle(ServiceCtx context)
{ {

View file

@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
_xpadIdEvent.ReadableEvent.Signal(); _xpadIdEvent.ReadableEvent.Signal();
} }
[Command(0)] [CommandHipc(0)]
// CreateAppletResource(nn::applet::AppletResourceUserId) -> object<nn::hid::IAppletResource> // CreateAppletResource(nn::applet::AppletResourceUserId) -> object<nn::hid::IAppletResource>
public ResultCode CreateAppletResource(ServiceCtx context) public ResultCode CreateAppletResource(ServiceCtx context)
{ {
@ -63,7 +63,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// ActivateDebugPad(nn::applet::AppletResourceUserId) // ActivateDebugPad(nn::applet::AppletResourceUserId)
public ResultCode ActivateDebugPad(ServiceCtx context) public ResultCode ActivateDebugPad(ServiceCtx context)
{ {
@ -74,7 +74,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// ActivateTouchScreen(nn::applet::AppletResourceUserId) // ActivateTouchScreen(nn::applet::AppletResourceUserId)
public ResultCode ActivateTouchScreen(ServiceCtx context) public ResultCode ActivateTouchScreen(ServiceCtx context)
{ {
@ -87,7 +87,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// ActivateMouse(nn::applet::AppletResourceUserId) // ActivateMouse(nn::applet::AppletResourceUserId)
public ResultCode ActivateMouse(ServiceCtx context) public ResultCode ActivateMouse(ServiceCtx context)
{ {
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(31)] [CommandHipc(31)]
// ActivateKeyboard(nn::applet::AppletResourceUserId) // ActivateKeyboard(nn::applet::AppletResourceUserId)
public ResultCode ActivateKeyboard(ServiceCtx context) public ResultCode ActivateKeyboard(ServiceCtx context)
{ {
@ -113,7 +113,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(32)] [CommandHipc(32)]
// SendKeyboardLockKeyEvent(uint flags, pid) // SendKeyboardLockKeyEvent(uint flags, pid)
public ResultCode SendKeyboardLockKeyEvent(ServiceCtx context) public ResultCode SendKeyboardLockKeyEvent(ServiceCtx context)
{ {
@ -126,7 +126,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(40)] [CommandHipc(40)]
// AcquireXpadIdEventHandle(ulong XpadId) -> nn::sf::NativeHandle // AcquireXpadIdEventHandle(ulong XpadId) -> nn::sf::NativeHandle
public ResultCode AcquireXpadIdEventHandle(ServiceCtx context) public ResultCode AcquireXpadIdEventHandle(ServiceCtx context)
{ {
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(41)] [CommandHipc(41)]
// ReleaseXpadIdEventHandle(ulong XpadId) // ReleaseXpadIdEventHandle(ulong XpadId)
public ResultCode ReleaseXpadIdEventHandle(ServiceCtx context) public ResultCode ReleaseXpadIdEventHandle(ServiceCtx context)
{ {
@ -157,7 +157,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(51)] [CommandHipc(51)]
// ActivateXpad(nn::hid::BasicXpadId, nn::applet::AppletResourceUserId) // ActivateXpad(nn::hid::BasicXpadId, nn::applet::AppletResourceUserId)
public ResultCode ActivateXpad(ServiceCtx context) public ResultCode ActivateXpad(ServiceCtx context)
{ {
@ -169,7 +169,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(55)] [CommandHipc(55)]
// GetXpadIds() -> long IdsCount, buffer<array<nn::hid::BasicXpadId>, type: 0xa> // GetXpadIds() -> long IdsCount, buffer<array<nn::hid::BasicXpadId>, type: 0xa>
public ResultCode GetXpadIds(ServiceCtx context) public ResultCode GetXpadIds(ServiceCtx context)
{ {
@ -181,7 +181,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(56)] [CommandHipc(56)]
// ActivateJoyXpad(nn::hid::JoyXpadId) // ActivateJoyXpad(nn::hid::JoyXpadId)
public ResultCode ActivateJoyXpad(ServiceCtx context) public ResultCode ActivateJoyXpad(ServiceCtx context)
{ {
@ -192,7 +192,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(58)] [CommandHipc(58)]
// GetJoyXpadLifoHandle(nn::hid::JoyXpadId) -> nn::sf::NativeHandle // GetJoyXpadLifoHandle(nn::hid::JoyXpadId) -> nn::sf::NativeHandle
public ResultCode GetJoyXpadLifoHandle(ServiceCtx context) public ResultCode GetJoyXpadLifoHandle(ServiceCtx context)
{ {
@ -207,7 +207,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(59)] [CommandHipc(59)]
// GetJoyXpadIds() -> long IdsCount, buffer<array<nn::hid::JoyXpadId>, type: 0xa> // GetJoyXpadIds() -> long IdsCount, buffer<array<nn::hid::JoyXpadId>, type: 0xa>
public ResultCode GetJoyXpadIds(ServiceCtx context) public ResultCode GetJoyXpadIds(ServiceCtx context)
{ {
@ -219,7 +219,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(60)] [CommandHipc(60)]
// ActivateSixAxisSensor(nn::hid::BasicXpadId) // ActivateSixAxisSensor(nn::hid::BasicXpadId)
public ResultCode ActivateSixAxisSensor(ServiceCtx context) public ResultCode ActivateSixAxisSensor(ServiceCtx context)
{ {
@ -230,7 +230,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(61)] [CommandHipc(61)]
// DeactivateSixAxisSensor(nn::hid::BasicXpadId) // DeactivateSixAxisSensor(nn::hid::BasicXpadId)
public ResultCode DeactivateSixAxisSensor(ServiceCtx context) public ResultCode DeactivateSixAxisSensor(ServiceCtx context)
{ {
@ -241,7 +241,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(62)] [CommandHipc(62)]
// GetSixAxisSensorLifoHandle(nn::hid::BasicXpadId) -> nn::sf::NativeHandle // GetSixAxisSensorLifoHandle(nn::hid::BasicXpadId) -> nn::sf::NativeHandle
public ResultCode GetSixAxisSensorLifoHandle(ServiceCtx context) public ResultCode GetSixAxisSensorLifoHandle(ServiceCtx context)
{ {
@ -256,7 +256,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(63)] [CommandHipc(63)]
// ActivateJoySixAxisSensor(nn::hid::JoyXpadId) // ActivateJoySixAxisSensor(nn::hid::JoyXpadId)
public ResultCode ActivateJoySixAxisSensor(ServiceCtx context) public ResultCode ActivateJoySixAxisSensor(ServiceCtx context)
{ {
@ -267,7 +267,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(64)] [CommandHipc(64)]
// DeactivateJoySixAxisSensor(nn::hid::JoyXpadId) // DeactivateJoySixAxisSensor(nn::hid::JoyXpadId)
public ResultCode DeactivateJoySixAxisSensor(ServiceCtx context) public ResultCode DeactivateJoySixAxisSensor(ServiceCtx context)
{ {
@ -278,7 +278,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(65)] [CommandHipc(65)]
// GetJoySixAxisSensorLifoHandle(nn::hid::JoyXpadId) -> nn::sf::NativeHandle // GetJoySixAxisSensorLifoHandle(nn::hid::JoyXpadId) -> nn::sf::NativeHandle
public ResultCode GetJoySixAxisSensorLifoHandle(ServiceCtx context) public ResultCode GetJoySixAxisSensorLifoHandle(ServiceCtx context)
{ {
@ -293,7 +293,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(66)] [CommandHipc(66)]
// StartSixAxisSensor(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // StartSixAxisSensor(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode StartSixAxisSensor(ServiceCtx context) public ResultCode StartSixAxisSensor(ServiceCtx context)
{ {
@ -305,7 +305,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(67)] [CommandHipc(67)]
// StopSixAxisSensor(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // StopSixAxisSensor(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode StopSixAxisSensor(ServiceCtx context) public ResultCode StopSixAxisSensor(ServiceCtx context)
{ {
@ -317,7 +317,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(68)] [CommandHipc(68)]
// IsSixAxisSensorFusionEnabled(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> bool IsEnabled // IsSixAxisSensorFusionEnabled(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> bool IsEnabled
public ResultCode IsSixAxisSensorFusionEnabled(ServiceCtx context) public ResultCode IsSixAxisSensorFusionEnabled(ServiceCtx context)
{ {
@ -331,7 +331,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(69)] [CommandHipc(69)]
// EnableSixAxisSensorFusion(bool Enabled, nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // EnableSixAxisSensorFusion(bool Enabled, nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode EnableSixAxisSensorFusion(ServiceCtx context) public ResultCode EnableSixAxisSensorFusion(ServiceCtx context)
{ {
@ -344,7 +344,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(70)] [CommandHipc(70)]
// SetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, float RevisePower, float ReviseRange, nn::applet::AppletResourceUserId) // SetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, float RevisePower, float ReviseRange, nn::applet::AppletResourceUserId)
public ResultCode SetSixAxisSensorFusionParameters(ServiceCtx context) public ResultCode SetSixAxisSensorFusionParameters(ServiceCtx context)
{ {
@ -363,7 +363,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(71)] [CommandHipc(71)]
// GetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> float RevisePower, float ReviseRange) // GetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> float RevisePower, float ReviseRange)
public ResultCode GetSixAxisSensorFusionParameters(ServiceCtx context) public ResultCode GetSixAxisSensorFusionParameters(ServiceCtx context)
{ {
@ -378,7 +378,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(72)] [CommandHipc(72)]
// ResetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // ResetSixAxisSensorFusionParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode ResetSixAxisSensorFusionParameters(ServiceCtx context) public ResultCode ResetSixAxisSensorFusionParameters(ServiceCtx context)
{ {
@ -393,7 +393,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(73)] [CommandHipc(73)]
// SetAccelerometerParameters(nn::hid::SixAxisSensorHandle, float X, float Y, nn::applet::AppletResourceUserId) // SetAccelerometerParameters(nn::hid::SixAxisSensorHandle, float X, float Y, nn::applet::AppletResourceUserId)
public ResultCode SetAccelerometerParameters(ServiceCtx context) public ResultCode SetAccelerometerParameters(ServiceCtx context)
{ {
@ -412,7 +412,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(74)] [CommandHipc(74)]
// GetAccelerometerParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> float X, float Y // GetAccelerometerParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> float X, float Y
public ResultCode GetAccelerometerParameters(ServiceCtx context) public ResultCode GetAccelerometerParameters(ServiceCtx context)
{ {
@ -427,7 +427,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(75)] [CommandHipc(75)]
// ResetAccelerometerParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // ResetAccelerometerParameters(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode ResetAccelerometerParameters(ServiceCtx context) public ResultCode ResetAccelerometerParameters(ServiceCtx context)
{ {
@ -442,7 +442,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(76)] [CommandHipc(76)]
// SetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, uint PlayMode, nn::applet::AppletResourceUserId) // SetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, uint PlayMode, nn::applet::AppletResourceUserId)
public ResultCode SetAccelerometerPlayMode(ServiceCtx context) public ResultCode SetAccelerometerPlayMode(ServiceCtx context)
{ {
@ -455,7 +455,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(77)] [CommandHipc(77)]
// GetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> uint PlayMode // GetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> uint PlayMode
public ResultCode GetAccelerometerPlayMode(ServiceCtx context) public ResultCode GetAccelerometerPlayMode(ServiceCtx context)
{ {
@ -469,7 +469,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(78)] [CommandHipc(78)]
// ResetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // ResetAccelerometerPlayMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode ResetAccelerometerPlayMode(ServiceCtx context) public ResultCode ResetAccelerometerPlayMode(ServiceCtx context)
{ {
@ -483,7 +483,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(79)] [CommandHipc(79)]
// SetGyroscopeZeroDriftMode(nn::hid::SixAxisSensorHandle, uint GyroscopeZeroDriftMode, nn::applet::AppletResourceUserId) // SetGyroscopeZeroDriftMode(nn::hid::SixAxisSensorHandle, uint GyroscopeZeroDriftMode, nn::applet::AppletResourceUserId)
public ResultCode SetGyroscopeZeroDriftMode(ServiceCtx context) public ResultCode SetGyroscopeZeroDriftMode(ServiceCtx context)
{ {
@ -496,7 +496,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(80)] [CommandHipc(80)]
// GetGyroscopeZeroDriftMode(nn::applet::AppletResourceUserId, nn::hid::SixAxisSensorHandle) -> int GyroscopeZeroDriftMode // GetGyroscopeZeroDriftMode(nn::applet::AppletResourceUserId, nn::hid::SixAxisSensorHandle) -> int GyroscopeZeroDriftMode
public ResultCode GetGyroscopeZeroDriftMode(ServiceCtx context) public ResultCode GetGyroscopeZeroDriftMode(ServiceCtx context)
{ {
@ -510,7 +510,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(81)] [CommandHipc(81)]
// ResetGyroscopeZeroDriftMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) // ResetGyroscopeZeroDriftMode(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode ResetGyroscopeZeroDriftMode(ServiceCtx context) public ResultCode ResetGyroscopeZeroDriftMode(ServiceCtx context)
{ {
@ -524,7 +524,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(82)] [CommandHipc(82)]
// IsSixAxisSensorAtRest(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> bool IsAsRest // IsSixAxisSensorAtRest(nn::hid::SixAxisSensorHandle, nn::applet::AppletResourceUserId) -> bool IsAsRest
public ResultCode IsSixAxisSensorAtRest(ServiceCtx context) public ResultCode IsSixAxisSensorAtRest(ServiceCtx context)
{ {
@ -540,7 +540,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(91)] [CommandHipc(91)]
// ActivateGesture(nn::applet::AppletResourceUserId, int Unknown0) // ActivateGesture(nn::applet::AppletResourceUserId, int Unknown0)
public ResultCode ActivateGesture(ServiceCtx context) public ResultCode ActivateGesture(ServiceCtx context)
{ {
@ -552,7 +552,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(100)] [CommandHipc(100)]
// SetSupportedNpadStyleSet(nn::applet::AppletResourceUserId, nn::hid::NpadStyleTag) // SetSupportedNpadStyleSet(nn::applet::AppletResourceUserId, nn::hid::NpadStyleTag)
public ResultCode SetSupportedNpadStyleSet(ServiceCtx context) public ResultCode SetSupportedNpadStyleSet(ServiceCtx context)
{ {
@ -569,7 +569,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(101)] [CommandHipc(101)]
// GetSupportedNpadStyleSet(nn::applet::AppletResourceUserId) -> uint nn::hid::NpadStyleTag // GetSupportedNpadStyleSet(nn::applet::AppletResourceUserId) -> uint nn::hid::NpadStyleTag
public ResultCode GetSupportedNpadStyleSet(ServiceCtx context) public ResultCode GetSupportedNpadStyleSet(ServiceCtx context)
{ {
@ -585,7 +585,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(102)] [CommandHipc(102)]
// SetSupportedNpadIdType(nn::applet::AppletResourceUserId, array<NpadIdType, 9>) // SetSupportedNpadIdType(nn::applet::AppletResourceUserId, array<NpadIdType, 9>)
public ResultCode SetSupportedNpadIdType(ServiceCtx context) public ResultCode SetSupportedNpadIdType(ServiceCtx context)
{ {
@ -613,7 +613,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(103)] [CommandHipc(103)]
// ActivateNpad(nn::applet::AppletResourceUserId) // ActivateNpad(nn::applet::AppletResourceUserId)
public ResultCode ActivateNpad(ServiceCtx context) public ResultCode ActivateNpad(ServiceCtx context)
{ {
@ -625,7 +625,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(104)] [CommandHipc(104)]
// DeactivateNpad(nn::applet::AppletResourceUserId) // DeactivateNpad(nn::applet::AppletResourceUserId)
public ResultCode DeactivateNpad(ServiceCtx context) public ResultCode DeactivateNpad(ServiceCtx context)
{ {
@ -637,7 +637,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(106)] [CommandHipc(106)]
// AcquireNpadStyleSetUpdateEventHandle(nn::applet::AppletResourceUserId, uint, ulong) -> nn::sf::NativeHandle // AcquireNpadStyleSetUpdateEventHandle(nn::applet::AppletResourceUserId, uint, ulong) -> nn::sf::NativeHandle
public ResultCode AcquireNpadStyleSetUpdateEventHandle(ServiceCtx context) public ResultCode AcquireNpadStyleSetUpdateEventHandle(ServiceCtx context)
{ {
@ -658,7 +658,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(107)] [CommandHipc(107)]
// DisconnectNpad(nn::applet::AppletResourceUserId, uint NpadIdType) // DisconnectNpad(nn::applet::AppletResourceUserId, uint NpadIdType)
public ResultCode DisconnectNpad(ServiceCtx context) public ResultCode DisconnectNpad(ServiceCtx context)
{ {
@ -670,7 +670,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(108)] [CommandHipc(108)]
// GetPlayerLedPattern(uint NpadId) -> ulong LedPattern // GetPlayerLedPattern(uint NpadId) -> ulong LedPattern
public ResultCode GetPlayerLedPattern(ServiceCtx context) public ResultCode GetPlayerLedPattern(ServiceCtx context)
{ {
@ -685,7 +685,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(109)] // 5.0.0+ [CommandHipc(109)] // 5.0.0+
// ActivateNpadWithRevision(nn::applet::AppletResourceUserId, int Unknown) // ActivateNpadWithRevision(nn::applet::AppletResourceUserId, int Unknown)
public ResultCode ActivateNpadWithRevision(ServiceCtx context) public ResultCode ActivateNpadWithRevision(ServiceCtx context)
{ {
@ -697,7 +697,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(120)] [CommandHipc(120)]
// SetNpadJoyHoldType(nn::applet::AppletResourceUserId, long NpadJoyHoldType) // SetNpadJoyHoldType(nn::applet::AppletResourceUserId, long NpadJoyHoldType)
public ResultCode SetNpadJoyHoldType(ServiceCtx context) public ResultCode SetNpadJoyHoldType(ServiceCtx context)
{ {
@ -712,7 +712,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(121)] [CommandHipc(121)]
// GetNpadJoyHoldType(nn::applet::AppletResourceUserId) -> long NpadJoyHoldType // GetNpadJoyHoldType(nn::applet::AppletResourceUserId) -> long NpadJoyHoldType
public ResultCode GetNpadJoyHoldType(ServiceCtx context) public ResultCode GetNpadJoyHoldType(ServiceCtx context)
{ {
@ -728,7 +728,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(122)] [CommandHipc(122)]
// SetNpadJoyAssignmentModeSingleByDefault(uint HidControllerId, nn::applet::AppletResourceUserId) // SetNpadJoyAssignmentModeSingleByDefault(uint HidControllerId, nn::applet::AppletResourceUserId)
public ResultCode SetNpadJoyAssignmentModeSingleByDefault(ServiceCtx context) public ResultCode SetNpadJoyAssignmentModeSingleByDefault(ServiceCtx context)
{ {
@ -742,7 +742,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(123)] [CommandHipc(123)]
// SetNpadJoyAssignmentModeSingle(uint HidControllerId, nn::applet::AppletResourceUserId, long HidNpadJoyDeviceType) // SetNpadJoyAssignmentModeSingle(uint HidControllerId, nn::applet::AppletResourceUserId, long HidNpadJoyDeviceType)
public ResultCode SetNpadJoyAssignmentModeSingle(ServiceCtx context) public ResultCode SetNpadJoyAssignmentModeSingle(ServiceCtx context)
{ {
@ -757,7 +757,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(124)] [CommandHipc(124)]
// SetNpadJoyAssignmentModeDual(uint HidControllerId, nn::applet::AppletResourceUserId) // SetNpadJoyAssignmentModeDual(uint HidControllerId, nn::applet::AppletResourceUserId)
public ResultCode SetNpadJoyAssignmentModeDual(ServiceCtx context) public ResultCode SetNpadJoyAssignmentModeDual(ServiceCtx context)
{ {
@ -771,7 +771,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(125)] [CommandHipc(125)]
// MergeSingleJoyAsDualJoy(uint SingleJoyId0, uint SingleJoyId1, nn::applet::AppletResourceUserId) // MergeSingleJoyAsDualJoy(uint SingleJoyId0, uint SingleJoyId1, nn::applet::AppletResourceUserId)
public ResultCode MergeSingleJoyAsDualJoy(ServiceCtx context) public ResultCode MergeSingleJoyAsDualJoy(ServiceCtx context)
{ {
@ -784,7 +784,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(126)] [CommandHipc(126)]
// StartLrAssignmentMode(nn::applet::AppletResourceUserId) // StartLrAssignmentMode(nn::applet::AppletResourceUserId)
public ResultCode StartLrAssignmentMode(ServiceCtx context) public ResultCode StartLrAssignmentMode(ServiceCtx context)
{ {
@ -795,7 +795,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(127)] [CommandHipc(127)]
// StopLrAssignmentMode(nn::applet::AppletResourceUserId) // StopLrAssignmentMode(nn::applet::AppletResourceUserId)
public ResultCode StopLrAssignmentMode(ServiceCtx context) public ResultCode StopLrAssignmentMode(ServiceCtx context)
{ {
@ -806,7 +806,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(128)] [CommandHipc(128)]
// SetNpadHandheldActivationMode(nn::applet::AppletResourceUserId, long HidNpadHandheldActivationMode) // SetNpadHandheldActivationMode(nn::applet::AppletResourceUserId, long HidNpadHandheldActivationMode)
public ResultCode SetNpadHandheldActivationMode(ServiceCtx context) public ResultCode SetNpadHandheldActivationMode(ServiceCtx context)
{ {
@ -818,7 +818,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(129)] [CommandHipc(129)]
// GetNpadHandheldActivationMode(nn::applet::AppletResourceUserId) -> long HidNpadHandheldActivationMode // GetNpadHandheldActivationMode(nn::applet::AppletResourceUserId) -> long HidNpadHandheldActivationMode
public ResultCode GetNpadHandheldActivationMode(ServiceCtx context) public ResultCode GetNpadHandheldActivationMode(ServiceCtx context)
{ {
@ -831,7 +831,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(130)] [CommandHipc(130)]
// SwapNpadAssignment(uint OldNpadAssignment, uint NewNpadAssignment, nn::applet::AppletResourceUserId) // SwapNpadAssignment(uint OldNpadAssignment, uint NewNpadAssignment, nn::applet::AppletResourceUserId)
public ResultCode SwapNpadAssignment(ServiceCtx context) public ResultCode SwapNpadAssignment(ServiceCtx context)
{ {
@ -844,7 +844,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(131)] [CommandHipc(131)]
// IsUnintendedHomeButtonInputProtectionEnabled(uint Unknown0, nn::applet::AppletResourceUserId) -> bool IsEnabled // IsUnintendedHomeButtonInputProtectionEnabled(uint Unknown0, nn::applet::AppletResourceUserId) -> bool IsEnabled
public ResultCode IsUnintendedHomeButtonInputProtectionEnabled(ServiceCtx context) public ResultCode IsUnintendedHomeButtonInputProtectionEnabled(ServiceCtx context)
{ {
@ -858,7 +858,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(132)] [CommandHipc(132)]
// EnableUnintendedHomeButtonInputProtection(bool Enable, uint Unknown0, nn::applet::AppletResourceUserId) // EnableUnintendedHomeButtonInputProtection(bool Enable, uint Unknown0, nn::applet::AppletResourceUserId)
public ResultCode EnableUnintendedHomeButtonInputProtection(ServiceCtx context) public ResultCode EnableUnintendedHomeButtonInputProtection(ServiceCtx context)
{ {
@ -871,7 +871,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(133)] // 5.0.0+ [CommandHipc(133)] // 5.0.0+
// SetNpadJoyAssignmentModeSingleWithDestination(uint HidControllerId, long HidNpadJoyDeviceType, nn::applet::AppletResourceUserId) -> bool Unknown0, uint Unknown1 // SetNpadJoyAssignmentModeSingleWithDestination(uint HidControllerId, long HidNpadJoyDeviceType, nn::applet::AppletResourceUserId) -> bool Unknown0, uint Unknown1
public ResultCode SetNpadJoyAssignmentModeSingleWithDestination(ServiceCtx context) public ResultCode SetNpadJoyAssignmentModeSingleWithDestination(ServiceCtx context)
{ {
@ -896,7 +896,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(200)] [CommandHipc(200)]
// GetVibrationDeviceInfo(nn::hid::VibrationDeviceHandle) -> nn::hid::VibrationDeviceInfo // GetVibrationDeviceInfo(nn::hid::VibrationDeviceHandle) -> nn::hid::VibrationDeviceInfo
public ResultCode GetVibrationDeviceInfo(ServiceCtx context) public ResultCode GetVibrationDeviceInfo(ServiceCtx context)
{ {
@ -916,7 +916,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(201)] [CommandHipc(201)]
// SendVibrationValue(nn::hid::VibrationDeviceHandle, nn::hid::VibrationValue, nn::applet::AppletResourceUserId) // SendVibrationValue(nn::hid::VibrationDeviceHandle, nn::hid::VibrationValue, nn::applet::AppletResourceUserId)
public ResultCode SendVibrationValue(ServiceCtx context) public ResultCode SendVibrationValue(ServiceCtx context)
{ {
@ -944,7 +944,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(202)] [CommandHipc(202)]
// GetActualVibrationValue(nn::hid::VibrationDeviceHandle, nn::applet::AppletResourceUserId) -> nn::hid::VibrationValue // GetActualVibrationValue(nn::hid::VibrationDeviceHandle, nn::applet::AppletResourceUserId) -> nn::hid::VibrationValue
public ResultCode GetActualVibrationValue(ServiceCtx context) public ResultCode GetActualVibrationValue(ServiceCtx context)
{ {
@ -968,7 +968,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(203)] [CommandHipc(203)]
// CreateActiveVibrationDeviceList() -> object<nn::hid::IActiveVibrationDeviceList> // CreateActiveVibrationDeviceList() -> object<nn::hid::IActiveVibrationDeviceList>
public ResultCode CreateActiveVibrationDeviceList(ServiceCtx context) public ResultCode CreateActiveVibrationDeviceList(ServiceCtx context)
{ {
@ -977,7 +977,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(204)] [CommandHipc(204)]
// PermitVibration(bool Enable) // PermitVibration(bool Enable)
public ResultCode PermitVibration(ServiceCtx context) public ResultCode PermitVibration(ServiceCtx context)
{ {
@ -988,7 +988,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(205)] [CommandHipc(205)]
// IsVibrationPermitted() -> bool IsEnabled // IsVibrationPermitted() -> bool IsEnabled
public ResultCode IsVibrationPermitted(ServiceCtx context) public ResultCode IsVibrationPermitted(ServiceCtx context)
{ {
@ -999,7 +999,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(206)] [CommandHipc(206)]
// SendVibrationValues(nn::applet::AppletResourceUserId, buffer<array<nn::hid::VibrationDeviceHandle>, type: 9>, buffer<array<nn::hid::VibrationValue>, type: 9>) // SendVibrationValues(nn::applet::AppletResourceUserId, buffer<array<nn::hid::VibrationDeviceHandle>, type: 9>, buffer<array<nn::hid::VibrationValue>, type: 9>)
public ResultCode SendVibrationValues(ServiceCtx context) public ResultCode SendVibrationValues(ServiceCtx context)
{ {
@ -1024,7 +1024,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(207)] // 4.0.0+ [CommandHipc(207)] // 4.0.0+
// SendVibrationGcErmCommand(nn::hid::VibrationDeviceHandle, nn::hid::VibrationGcErmCommand, nn::applet::AppletResourceUserId) // SendVibrationGcErmCommand(nn::hid::VibrationDeviceHandle, nn::hid::VibrationGcErmCommand, nn::applet::AppletResourceUserId)
public ResultCode SendVibrationGcErmCommand(ServiceCtx context) public ResultCode SendVibrationGcErmCommand(ServiceCtx context)
{ {
@ -1037,7 +1037,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(208)] // 4.0.0+ [CommandHipc(208)] // 4.0.0+
// GetActualVibrationGcErmCommand(nn::hid::VibrationDeviceHandle, nn::applet::AppletResourceUserId) -> nn::hid::VibrationGcErmCommand // GetActualVibrationGcErmCommand(nn::hid::VibrationDeviceHandle, nn::applet::AppletResourceUserId) -> nn::hid::VibrationGcErmCommand
public ResultCode GetActualVibrationGcErmCommand(ServiceCtx context) public ResultCode GetActualVibrationGcErmCommand(ServiceCtx context)
{ {
@ -1051,7 +1051,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(209)] // 4.0.0+ [CommandHipc(209)] // 4.0.0+
// BeginPermitVibrationSession(nn::applet::AppletResourceUserId) // BeginPermitVibrationSession(nn::applet::AppletResourceUserId)
public ResultCode BeginPermitVibrationSession(ServiceCtx context) public ResultCode BeginPermitVibrationSession(ServiceCtx context)
{ {
@ -1062,7 +1062,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(210)] // 4.0.0+ [CommandHipc(210)] // 4.0.0+
// EndPermitVibrationSession() // EndPermitVibrationSession()
public ResultCode EndPermitVibrationSession(ServiceCtx context) public ResultCode EndPermitVibrationSession(ServiceCtx context)
{ {
@ -1071,7 +1071,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(300)] [CommandHipc(300)]
// ActivateConsoleSixAxisSensor(nn::applet::AppletResourceUserId) // ActivateConsoleSixAxisSensor(nn::applet::AppletResourceUserId)
public ResultCode ActivateConsoleSixAxisSensor(ServiceCtx context) public ResultCode ActivateConsoleSixAxisSensor(ServiceCtx context)
{ {
@ -1082,7 +1082,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(301)] [CommandHipc(301)]
// StartConsoleSixAxisSensor(nn::hid::ConsoleSixAxisSensorHandle, nn::applet::AppletResourceUserId) // StartConsoleSixAxisSensor(nn::hid::ConsoleSixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode StartConsoleSixAxisSensor(ServiceCtx context) public ResultCode StartConsoleSixAxisSensor(ServiceCtx context)
{ {
@ -1094,7 +1094,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(302)] [CommandHipc(302)]
// StopConsoleSixAxisSensor(nn::hid::ConsoleSixAxisSensorHandle, nn::applet::AppletResourceUserId) // StopConsoleSixAxisSensor(nn::hid::ConsoleSixAxisSensorHandle, nn::applet::AppletResourceUserId)
public ResultCode StopConsoleSixAxisSensor(ServiceCtx context) public ResultCode StopConsoleSixAxisSensor(ServiceCtx context)
{ {
@ -1106,7 +1106,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(303)] // 5.0.0+ [CommandHipc(303)] // 5.0.0+
// ActivateSevenSixAxisSensor(nn::applet::AppletResourceUserId) // ActivateSevenSixAxisSensor(nn::applet::AppletResourceUserId)
public ResultCode ActivateSevenSixAxisSensor(ServiceCtx context) public ResultCode ActivateSevenSixAxisSensor(ServiceCtx context)
{ {
@ -1117,7 +1117,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(304)] // 5.0.0+ [CommandHipc(304)] // 5.0.0+
// StartSevenSixAxisSensor(nn::applet::AppletResourceUserId) // StartSevenSixAxisSensor(nn::applet::AppletResourceUserId)
public ResultCode StartSevenSixAxisSensor(ServiceCtx context) public ResultCode StartSevenSixAxisSensor(ServiceCtx context)
{ {
@ -1128,7 +1128,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(305)] // 5.0.0+ [CommandHipc(305)] // 5.0.0+
// StopSevenSixAxisSensor(nn::applet::AppletResourceUserId) // StopSevenSixAxisSensor(nn::applet::AppletResourceUserId)
public ResultCode StopSevenSixAxisSensor(ServiceCtx context) public ResultCode StopSevenSixAxisSensor(ServiceCtx context)
{ {
@ -1139,7 +1139,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(306)] // 5.0.0+ [CommandHipc(306)] // 5.0.0+
// InitializeSevenSixAxisSensor(array<nn::sf::NativeHandle>, ulong Counter0, array<nn::sf::NativeHandle>, ulong Counter1, nn::applet::AppletResourceUserId) // InitializeSevenSixAxisSensor(array<nn::sf::NativeHandle>, ulong Counter0, array<nn::sf::NativeHandle>, ulong Counter1, nn::applet::AppletResourceUserId)
public ResultCode InitializeSevenSixAxisSensor(ServiceCtx context) public ResultCode InitializeSevenSixAxisSensor(ServiceCtx context)
{ {
@ -1154,7 +1154,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(307)] // 5.0.0+ [CommandHipc(307)] // 5.0.0+
// FinalizeSevenSixAxisSensor(nn::applet::AppletResourceUserId) // FinalizeSevenSixAxisSensor(nn::applet::AppletResourceUserId)
public ResultCode FinalizeSevenSixAxisSensor(ServiceCtx context) public ResultCode FinalizeSevenSixAxisSensor(ServiceCtx context)
{ {
@ -1165,7 +1165,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(308)] // 5.0.0+ [CommandHipc(308)] // 5.0.0+
// SetSevenSixAxisSensorFusionStrength(float Strength, nn::applet::AppletResourceUserId) // SetSevenSixAxisSensorFusionStrength(float Strength, nn::applet::AppletResourceUserId)
public ResultCode SetSevenSixAxisSensorFusionStrength(ServiceCtx context) public ResultCode SetSevenSixAxisSensorFusionStrength(ServiceCtx context)
{ {
@ -1177,7 +1177,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(309)] // 5.0.0+ [CommandHipc(309)] // 5.0.0+
// GetSevenSixAxisSensorFusionStrength(nn::applet::AppletResourceUserId) -> float Strength // GetSevenSixAxisSensorFusionStrength(nn::applet::AppletResourceUserId) -> float Strength
public ResultCode GetSevenSixAxisSensorFusionStrength(ServiceCtx context) public ResultCode GetSevenSixAxisSensorFusionStrength(ServiceCtx context)
{ {
@ -1190,7 +1190,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(310)] // 6.0.0+ [CommandHipc(310)] // 6.0.0+
// ResetSevenSixAxisSensorTimestamp(pid, nn::applet::AppletResourceUserId) // ResetSevenSixAxisSensorTimestamp(pid, nn::applet::AppletResourceUserId)
public ResultCode ResetSevenSixAxisSensorTimestamp(ServiceCtx context) public ResultCode ResetSevenSixAxisSensorTimestamp(ServiceCtx context)
{ {
@ -1201,7 +1201,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(400)] [CommandHipc(400)]
// IsUsbFullKeyControllerEnabled() -> bool IsEnabled // IsUsbFullKeyControllerEnabled() -> bool IsEnabled
public ResultCode IsUsbFullKeyControllerEnabled(ServiceCtx context) public ResultCode IsUsbFullKeyControllerEnabled(ServiceCtx context)
{ {
@ -1212,7 +1212,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(401)] [CommandHipc(401)]
// EnableUsbFullKeyController(bool Enable) // EnableUsbFullKeyController(bool Enable)
public ResultCode EnableUsbFullKeyController(ServiceCtx context) public ResultCode EnableUsbFullKeyController(ServiceCtx context)
{ {
@ -1223,7 +1223,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(402)] [CommandHipc(402)]
// IsUsbFullKeyControllerConnected(uint Unknown0) -> bool Connected // IsUsbFullKeyControllerConnected(uint Unknown0) -> bool Connected
public ResultCode IsUsbFullKeyControllerConnected(ServiceCtx context) public ResultCode IsUsbFullKeyControllerConnected(ServiceCtx context)
{ {
@ -1236,7 +1236,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(403)] // 4.0.0+ [CommandHipc(403)] // 4.0.0+
// HasBattery(uint NpadId) -> bool HasBattery // HasBattery(uint NpadId) -> bool HasBattery
public ResultCode HasBattery(ServiceCtx context) public ResultCode HasBattery(ServiceCtx context)
{ {
@ -1249,7 +1249,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(404)] // 4.0.0+ [CommandHipc(404)] // 4.0.0+
// HasLeftRightBattery(uint NpadId) -> bool HasLeftBattery, bool HasRightBattery // HasLeftRightBattery(uint NpadId) -> bool HasLeftBattery, bool HasRightBattery
public ResultCode HasLeftRightBattery(ServiceCtx context) public ResultCode HasLeftRightBattery(ServiceCtx context)
{ {
@ -1263,7 +1263,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(405)] // 4.0.0+ [CommandHipc(405)] // 4.0.0+
// GetNpadInterfaceType(uint NpadId) -> uchar InterfaceType // GetNpadInterfaceType(uint NpadId) -> uchar InterfaceType
public ResultCode GetNpadInterfaceType(ServiceCtx context) public ResultCode GetNpadInterfaceType(ServiceCtx context)
{ {
@ -1276,7 +1276,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(406)] // 4.0.0+ [CommandHipc(406)] // 4.0.0+
// GetNpadLeftRightInterfaceType(uint NpadId) -> uchar LeftInterfaceType, uchar RightInterfaceType // GetNpadLeftRightInterfaceType(uint NpadId) -> uchar LeftInterfaceType, uchar RightInterfaceType
public ResultCode GetNpadLeftRightInterfaceType(ServiceCtx context) public ResultCode GetNpadLeftRightInterfaceType(ServiceCtx context)
{ {
@ -1290,7 +1290,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(500)] // 5.0.0+ [CommandHipc(500)] // 5.0.0+
// GetPalmaConnectionHandle(uint Unknown0, nn::applet::AppletResourceUserId) -> nn::hid::PalmaConnectionHandle // GetPalmaConnectionHandle(uint Unknown0, nn::applet::AppletResourceUserId) -> nn::hid::PalmaConnectionHandle
public ResultCode GetPalmaConnectionHandle(ServiceCtx context) public ResultCode GetPalmaConnectionHandle(ServiceCtx context)
{ {
@ -1306,7 +1306,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(501)] // 5.0.0+ [CommandHipc(501)] // 5.0.0+
// InitializePalma(nn::hid::PalmaConnectionHandle) // InitializePalma(nn::hid::PalmaConnectionHandle)
public ResultCode InitializePalma(ServiceCtx context) public ResultCode InitializePalma(ServiceCtx context)
{ {
@ -1319,7 +1319,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(502)] // 5.0.0+ [CommandHipc(502)] // 5.0.0+
// AcquirePalmaOperationCompleteEvent(nn::hid::PalmaConnectionHandle) -> nn::sf::NativeHandle // AcquirePalmaOperationCompleteEvent(nn::hid::PalmaConnectionHandle) -> nn::sf::NativeHandle
public ResultCode AcquirePalmaOperationCompleteEvent(ServiceCtx context) public ResultCode AcquirePalmaOperationCompleteEvent(ServiceCtx context)
{ {
@ -1337,7 +1337,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(503)] // 5.0.0+ [CommandHipc(503)] // 5.0.0+
// GetPalmaOperationInfo(nn::hid::PalmaConnectionHandle) -> long Unknown0, buffer<Unknown> // GetPalmaOperationInfo(nn::hid::PalmaConnectionHandle) -> long Unknown0, buffer<Unknown>
public ResultCode GetPalmaOperationInfo(ServiceCtx context) public ResultCode GetPalmaOperationInfo(ServiceCtx context)
{ {
@ -1352,7 +1352,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(504)] // 5.0.0+ [CommandHipc(504)] // 5.0.0+
// PlayPalmaActivity(nn::hid::PalmaConnectionHandle, ulong Unknown0) // PlayPalmaActivity(nn::hid::PalmaConnectionHandle, ulong Unknown0)
public ResultCode PlayPalmaActivity(ServiceCtx context) public ResultCode PlayPalmaActivity(ServiceCtx context)
{ {
@ -1366,7 +1366,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(505)] // 5.0.0+ [CommandHipc(505)] // 5.0.0+
// SetPalmaFrModeType(nn::hid::PalmaConnectionHandle, ulong FrModeType) // SetPalmaFrModeType(nn::hid::PalmaConnectionHandle, ulong FrModeType)
public ResultCode SetPalmaFrModeType(ServiceCtx context) public ResultCode SetPalmaFrModeType(ServiceCtx context)
{ {
@ -1380,7 +1380,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(506)] // 5.0.0+ [CommandHipc(506)] // 5.0.0+
// ReadPalmaStep(nn::hid::PalmaConnectionHandle) // ReadPalmaStep(nn::hid::PalmaConnectionHandle)
public ResultCode ReadPalmaStep(ServiceCtx context) public ResultCode ReadPalmaStep(ServiceCtx context)
{ {
@ -1391,7 +1391,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(507)] // 5.0.0+ [CommandHipc(507)] // 5.0.0+
// EnablePalmaStep(nn::hid::PalmaConnectionHandle, bool Enable) // EnablePalmaStep(nn::hid::PalmaConnectionHandle, bool Enable)
public ResultCode EnablePalmaStep(ServiceCtx context) public ResultCode EnablePalmaStep(ServiceCtx context)
{ {
@ -1405,7 +1405,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(508)] // 5.0.0+ [CommandHipc(508)] // 5.0.0+
// ResetPalmaStep(nn::hid::PalmaConnectionHandle) // ResetPalmaStep(nn::hid::PalmaConnectionHandle)
public ResultCode ResetPalmaStep(ServiceCtx context) public ResultCode ResetPalmaStep(ServiceCtx context)
{ {
@ -1418,7 +1418,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(509)] // 5.0.0+ [CommandHipc(509)] // 5.0.0+
// ReadPalmaApplicationSection(nn::hid::PalmaConnectionHandle, ulong Unknown0, ulong Unknown1) // ReadPalmaApplicationSection(nn::hid::PalmaConnectionHandle, ulong Unknown0, ulong Unknown1)
public ResultCode ReadPalmaApplicationSection(ServiceCtx context) public ResultCode ReadPalmaApplicationSection(ServiceCtx context)
{ {
@ -1431,7 +1431,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(510)] // 5.0.0+ [CommandHipc(510)] // 5.0.0+
// WritePalmaApplicationSection(nn::hid::PalmaConnectionHandle, ulong Unknown0, ulong Unknown1, nn::hid::PalmaApplicationSectionAccessBuffer) // WritePalmaApplicationSection(nn::hid::PalmaConnectionHandle, ulong Unknown0, ulong Unknown1, nn::hid::PalmaApplicationSectionAccessBuffer)
public ResultCode WritePalmaApplicationSection(ServiceCtx context) public ResultCode WritePalmaApplicationSection(ServiceCtx context)
{ {
@ -1447,7 +1447,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(511)] // 5.0.0+ [CommandHipc(511)] // 5.0.0+
// ReadPalmaUniqueCode(nn::hid::PalmaConnectionHandle) // ReadPalmaUniqueCode(nn::hid::PalmaConnectionHandle)
public ResultCode ReadPalmaUniqueCode(ServiceCtx context) public ResultCode ReadPalmaUniqueCode(ServiceCtx context)
{ {
@ -1458,7 +1458,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(512)] // 5.0.0+ [CommandHipc(512)] // 5.0.0+
// SetPalmaUniqueCodeInvalid(nn::hid::PalmaConnectionHandle) // SetPalmaUniqueCodeInvalid(nn::hid::PalmaConnectionHandle)
public ResultCode SetPalmaUniqueCodeInvalid(ServiceCtx context) public ResultCode SetPalmaUniqueCodeInvalid(ServiceCtx context)
{ {
@ -1469,7 +1469,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(522)] // 5.1.0+ [CommandHipc(522)] // 5.1.0+
// SetIsPalmaAllConnectable(nn::applet::AppletResourceUserId, bool, pid) // SetIsPalmaAllConnectable(nn::applet::AppletResourceUserId, bool, pid)
public ResultCode SetIsPalmaAllConnectable(ServiceCtx context) public ResultCode SetIsPalmaAllConnectable(ServiceCtx context)
{ {
@ -1481,7 +1481,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(525)] // 5.1.0+ [CommandHipc(525)] // 5.1.0+
// SetPalmaBoostMode(bool) // SetPalmaBoostMode(bool)
public ResultCode SetPalmaBoostMode(ServiceCtx context) public ResultCode SetPalmaBoostMode(ServiceCtx context)
{ {
@ -1490,7 +1490,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1000)] [CommandHipc(1000)]
// SetNpadCommunicationMode(long CommunicationMode, nn::applet::AppletResourceUserId) // SetNpadCommunicationMode(long CommunicationMode, nn::applet::AppletResourceUserId)
public ResultCode SetNpadCommunicationMode(ServiceCtx context) public ResultCode SetNpadCommunicationMode(ServiceCtx context)
{ {
@ -1502,7 +1502,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1001)] [CommandHipc(1001)]
// GetNpadCommunicationMode() -> long CommunicationMode // GetNpadCommunicationMode() -> long CommunicationMode
public ResultCode GetNpadCommunicationMode(ServiceCtx context) public ResultCode GetNpadCommunicationMode(ServiceCtx context)
{ {
@ -1513,7 +1513,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1002)] // 9.0.0+ [CommandHipc(1002)] // 9.0.0+
// SetTouchScreenConfiguration(nn::hid::TouchScreenConfigurationForNx, nn::applet::AppletResourceUserId) // SetTouchScreenConfiguration(nn::hid::TouchScreenConfigurationForNx, nn::applet::AppletResourceUserId)
public ResultCode SetTouchScreenConfiguration(ServiceCtx context) public ResultCode SetTouchScreenConfiguration(ServiceCtx context)
{ {

View file

@ -13,7 +13,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs
public IIrSensorServer(ServiceCtx context) { } public IIrSensorServer(ServiceCtx context) { }
[Command(302)] [CommandHipc(302)]
// ActivateIrsensor(nn::applet::AppletResourceUserId, pid) // ActivateIrsensor(nn::applet::AppletResourceUserId, pid)
public ResultCode ActivateIrsensor(ServiceCtx context) public ResultCode ActivateIrsensor(ServiceCtx context)
{ {
@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(303)] [CommandHipc(303)]
// DeactivateIrsensor(nn::applet::AppletResourceUserId, pid) // DeactivateIrsensor(nn::applet::AppletResourceUserId, pid)
public ResultCode DeactivateIrsensor(ServiceCtx context) public ResultCode DeactivateIrsensor(ServiceCtx context)
{ {
@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(304)] [CommandHipc(304)]
// GetIrsensorSharedMemoryHandle(nn::applet::AppletResourceUserId, pid) -> handle<copy> // GetIrsensorSharedMemoryHandle(nn::applet::AppletResourceUserId, pid) -> handle<copy>
public ResultCode GetIrsensorSharedMemoryHandle(ServiceCtx context) public ResultCode GetIrsensorSharedMemoryHandle(ServiceCtx context)
{ {
@ -52,7 +52,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(311)] [CommandHipc(311)]
// GetNpadIrCameraHandle(u32) -> nn::irsensor::IrCameraHandle // GetNpadIrCameraHandle(u32) -> nn::irsensor::IrCameraHandle
public ResultCode GetNpadIrCameraHandle(ServiceCtx context) public ResultCode GetNpadIrCameraHandle(ServiceCtx context)
{ {
@ -75,7 +75,7 @@ namespace Ryujinx.HLE.HOS.Services.Hid.Irs
return ResultCode.Success; return ResultCode.Success;
} }
[Command(319)] // 4.0.0+ [CommandHipc(319)] // 4.0.0+
// ActivateIrsensorWithFunctionLevel(nn::applet::AppletResourceUserId, nn::irsensor::PackedFunctionLevel, pid) // ActivateIrsensorWithFunctionLevel(nn::applet::AppletResourceUserId, nn::irsensor::PackedFunctionLevel, pid)
public ResultCode ActivateIrsensorWithFunctionLevel(ServiceCtx context) public ResultCode ActivateIrsensorWithFunctionLevel(ServiceCtx context)
{ {

View file

@ -11,7 +11,8 @@ namespace Ryujinx.HLE.HOS.Services
{ {
abstract class IpcService abstract class IpcService
{ {
public IReadOnlyDictionary<int, MethodInfo> Commands { get; } public IReadOnlyDictionary<int, MethodInfo> HipcCommands { get; }
public IReadOnlyDictionary<int, MethodInfo> TipcCommands { get; }
public ServerBase Server { get; private set; } public ServerBase Server { get; private set; }
@ -22,11 +23,18 @@ namespace Ryujinx.HLE.HOS.Services
public IpcService(ServerBase server = null) public IpcService(ServerBase server = null)
{ {
Commands = Assembly.GetExecutingAssembly().GetTypes() HipcCommands = Assembly.GetExecutingAssembly().GetTypes()
.Where(type => type == GetType()) .Where(type => type == GetType())
.SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public)) .SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public))
.SelectMany(methodInfo => methodInfo.GetCustomAttributes(typeof(CommandAttribute)) .SelectMany(methodInfo => methodInfo.GetCustomAttributes(typeof(CommandHipcAttribute))
.Select(command => (((CommandAttribute)command).Id, methodInfo))) .Select(command => (((CommandHipcAttribute)command).Id, methodInfo)))
.ToDictionary(command => command.Id, command => command.methodInfo);
TipcCommands = Assembly.GetExecutingAssembly().GetTypes()
.Where(type => type == GetType())
.SelectMany(type => type.GetMethods(BindingFlags.Instance | BindingFlags.Static | BindingFlags.Public))
.SelectMany(methodInfo => methodInfo.GetCustomAttributes(typeof(CommandTipcAttribute))
.Select(command => (((CommandTipcAttribute)command).Id, methodInfo)))
.ToDictionary(command => command.Id, command => command.methodInfo); .ToDictionary(command => command.Id, command => command.methodInfo);
Server = server; Server = server;
@ -53,7 +61,7 @@ namespace Ryujinx.HLE.HOS.Services
_isDomain = false; _isDomain = false;
} }
public void CallMethod(ServiceCtx context) public void CallHipcMethod(ServiceCtx context)
{ {
IpcService service = this; IpcService service = this;
@ -99,7 +107,7 @@ namespace Ryujinx.HLE.HOS.Services
long sfciMagic = context.RequestData.ReadInt64(); long sfciMagic = context.RequestData.ReadInt64();
int commandId = (int)context.RequestData.ReadInt64(); int commandId = (int)context.RequestData.ReadInt64();
bool serviceExists = service.Commands.TryGetValue(commandId, out MethodInfo processRequest); bool serviceExists = service.HipcCommands.TryGetValue(commandId, out MethodInfo processRequest);
if (ServiceConfiguration.IgnoreMissingServices || serviceExists) if (ServiceConfiguration.IgnoreMissingServices || serviceExists)
{ {
@ -145,7 +153,48 @@ namespace Ryujinx.HLE.HOS.Services
{ {
string dbgMessage = $"{service.GetType().FullName}: {commandId}"; string dbgMessage = $"{service.GetType().FullName}: {commandId}";
throw new ServiceNotImplementedException(service, context, dbgMessage); throw new ServiceNotImplementedException(service, context, dbgMessage, false);
}
}
public void CallTipcMethod(ServiceCtx context)
{
int commandId = (int)context.Request.Type - 0x10;
bool serviceExists = TipcCommands.TryGetValue(commandId, out MethodInfo processRequest);
if (ServiceConfiguration.IgnoreMissingServices || serviceExists)
{
ResultCode result = ResultCode.Success;
context.ResponseData.BaseStream.Seek(0x4, SeekOrigin.Begin);
if (serviceExists)
{
Logger.Debug?.Print(LogClass.KernelIpc, $"{GetType().Name}: {processRequest.Name}");
result = (ResultCode)processRequest.Invoke(this, new object[] { context });
}
else
{
string serviceName;
DummyService dummyService = this as DummyService;
serviceName = (dummyService == null) ? GetType().FullName : dummyService.ServiceName;
Logger.Warning?.Print(LogClass.KernelIpc, $"Missing service {serviceName}: {commandId} ignored");
}
context.ResponseData.BaseStream.Seek(0, SeekOrigin.Begin);
context.ResponseData.Write((uint)result);
}
else
{
string dbgMessage = $"{GetType().FullName}: {commandId}";
throw new ServiceNotImplementedException(this, context, dbgMessage, true);
} }
} }

View file

@ -10,14 +10,14 @@
internal abstract void DisableVrMode(); internal abstract void DisableVrMode();
protected abstract bool IsVrModeEnabled(); protected abstract bool IsVrModeEnabled();
[Command(17)] [CommandHipc(17)]
// SetBrightnessReflectionDelayLevel(float, float) // SetBrightnessReflectionDelayLevel(float, float)
public ResultCode SetBrightnessReflectionDelayLevel(ServiceCtx context) public ResultCode SetBrightnessReflectionDelayLevel(ServiceCtx context)
{ {
return ResultCode.Success; return ResultCode.Success;
} }
[Command(18)] [CommandHipc(18)]
// GetBrightnessReflectionDelayLevel(float) -> float // GetBrightnessReflectionDelayLevel(float) -> float
public ResultCode GetBrightnessReflectionDelayLevel(ServiceCtx context) public ResultCode GetBrightnessReflectionDelayLevel(ServiceCtx context)
{ {
@ -26,21 +26,21 @@
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// SetCurrentAmbientLightSensorMapping(unknown<0xC>) // SetCurrentAmbientLightSensorMapping(unknown<0xC>)
public ResultCode SetCurrentAmbientLightSensorMapping(ServiceCtx context) public ResultCode SetCurrentAmbientLightSensorMapping(ServiceCtx context)
{ {
return ResultCode.Success; return ResultCode.Success;
} }
[Command(22)] [CommandHipc(22)]
// GetCurrentAmbientLightSensorMapping() -> unknown<0xC> // GetCurrentAmbientLightSensorMapping() -> unknown<0xC>
public ResultCode GetCurrentAmbientLightSensorMapping(ServiceCtx context) public ResultCode GetCurrentAmbientLightSensorMapping(ServiceCtx context)
{ {
return ResultCode.Success; return ResultCode.Success;
} }
[Command(24)] // 3.0.0+ [CommandHipc(24)] // 3.0.0+
// SetCurrentBrightnessSettingForVrMode(float) // SetCurrentBrightnessSettingForVrMode(float)
public ResultCode SetCurrentBrightnessSettingForVrMode(ServiceCtx context) public ResultCode SetCurrentBrightnessSettingForVrMode(ServiceCtx context)
{ {
@ -51,7 +51,7 @@
return ResultCode.Success; return ResultCode.Success;
} }
[Command(25)] // 3.0.0+ [CommandHipc(25)] // 3.0.0+
// GetCurrentBrightnessSettingForVrMode() -> float // GetCurrentBrightnessSettingForVrMode() -> float
public ResultCode GetCurrentBrightnessSettingForVrMode(ServiceCtx context) public ResultCode GetCurrentBrightnessSettingForVrMode(ServiceCtx context)
{ {
@ -62,7 +62,7 @@
return ResultCode.Success; return ResultCode.Success;
} }
[Command(26)] // 3.0.0+ [CommandHipc(26)] // 3.0.0+
// EnableVrMode() // EnableVrMode()
public ResultCode EnableVrMode(ServiceCtx context) public ResultCode EnableVrMode(ServiceCtx context)
{ {
@ -71,7 +71,7 @@
return ResultCode.Success; return ResultCode.Success;
} }
[Command(27)] // 3.0.0+ [CommandHipc(27)] // 3.0.0+
// DisableVrMode() // DisableVrMode()
public ResultCode DisableVrMode(ServiceCtx context) public ResultCode DisableVrMode(ServiceCtx context)
{ {
@ -80,7 +80,7 @@
return ResultCode.Success; return ResultCode.Success;
} }
[Command(28)] // 3.0.0+ [CommandHipc(28)] // 3.0.0+
// IsVrModeEnabled() -> bool // IsVrModeEnabled() -> bool
public ResultCode IsVrModeEnabled(ServiceCtx context) public ResultCode IsVrModeEnabled(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Ldn
{ {
public IUserServiceCreator(ServiceCtx context) { } public IUserServiceCreator(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// CreateUserLocalCommunicationService() -> object<nn::ldn::detail::IUserLocalCommunicationService> // CreateUserLocalCommunicationService() -> object<nn::ldn::detail::IUserLocalCommunicationService>
public ResultCode CreateUserLocalCommunicationService(ServiceCtx context) public ResultCode CreateUserLocalCommunicationService(ServiceCtx context)
{ {

View file

@ -20,7 +20,7 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator
_networkInterface = new NetworkInterface(context.Device.System); _networkInterface = new NetworkInterface(context.Device.System);
} }
[Command(0)] [CommandHipc(0)]
// GetState() -> s32 state // GetState() -> s32 state
public ResultCode GetState(ServiceCtx context) public ResultCode GetState(ServiceCtx context)
{ {
@ -41,7 +41,7 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator
return result; return result;
} }
[Command(100)] [CommandHipc(100)]
// AttachStateChangeEvent() -> handle<copy> // AttachStateChangeEvent() -> handle<copy>
public ResultCode AttachStateChangeEvent(ServiceCtx context) public ResultCode AttachStateChangeEvent(ServiceCtx context)
{ {
@ -60,21 +60,21 @@ namespace Ryujinx.HLE.HOS.Services.Ldn.UserServiceCreator
return ResultCode.Success; return ResultCode.Success;
} }
[Command(400)] [CommandHipc(400)]
// InitializeOld(u64, pid) // InitializeOld(u64, pid)
public ResultCode InitializeOld(ServiceCtx context) public ResultCode InitializeOld(ServiceCtx context)
{ {
return _networkInterface.Initialize(UnknownValue, 0, null, null); return _networkInterface.Initialize(UnknownValue, 0, null, null);
} }
[Command(401)] [CommandHipc(401)]
// Finalize() // Finalize()
public ResultCode Finalize(ServiceCtx context) public ResultCode Finalize(ServiceCtx context)
{ {
return _networkInterface.Finalize(); return _networkInterface.Finalize();
} }
[Command(402)] // 7.0.0+ [CommandHipc(402)] // 7.0.0+
// Initialize(u64 ip_addresses, u64, pid) // Initialize(u64 ip_addresses, u64, pid)
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Lm
{ {
public ILogService(ServiceCtx context) { } public ILogService(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// Initialize(u64, pid) -> object<nn::lm::ILogger> // Initialize(u64, pid) -> object<nn::lm::ILogger>
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Lm.LogService
{ {
public ILogger() { } public ILogger() { }
[Command(0)] [CommandHipc(0)]
// Log(buffer<unknown, 0x21>) // Log(buffer<unknown, 0x21>)
public ResultCode Log(ServiceCtx context) public ResultCode Log(ServiceCtx context)
{ {

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii
_databaseImpl = DatabaseImpl.Instance; _databaseImpl = DatabaseImpl.Instance;
} }
[Command(0)] [CommandHipc(0)]
// GetDatabaseService(u32 mii_key_code) -> object<nn::mii::detail::IDatabaseService> // GetDatabaseService(u32 mii_key_code) -> object<nn::mii::detail::IDatabaseService>
public ResultCode GetDatabaseService(ServiceCtx context) public ResultCode GetDatabaseService(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
{ {
abstract class IDatabaseService : IpcService abstract class IDatabaseService : IpcService
{ {
[Command(0)] [CommandHipc(0)]
// IsUpdated(SourceFlag flag) -> bool // IsUpdated(SourceFlag flag) -> bool
public ResultCode IsUpdated(ServiceCtx context) public ResultCode IsUpdated(ServiceCtx context)
{ {
@ -19,7 +19,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// IsFullDatabase() -> bool // IsFullDatabase() -> bool
public ResultCode IsFullDatabase(ServiceCtx context) public ResultCode IsFullDatabase(ServiceCtx context)
{ {
@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetCount(SourceFlag flag) -> u32 // GetCount(SourceFlag flag) -> u32
public ResultCode GetCount(ServiceCtx context) public ResultCode GetCount(ServiceCtx context)
{ {
@ -39,7 +39,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// Get(SourceFlag flag) -> (s32 count, buffer<nn::mii::CharInfoRawElement, 6>) // Get(SourceFlag flag) -> (s32 count, buffer<nn::mii::CharInfoRawElement, 6>)
public ResultCode Get(ServiceCtx context) public ResultCode Get(ServiceCtx context)
{ {
@ -60,7 +60,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(4)] [CommandHipc(4)]
// Get1(SourceFlag flag) -> (s32 count, buffer<nn::mii::CharInfo, 6>) // Get1(SourceFlag flag) -> (s32 count, buffer<nn::mii::CharInfo, 6>)
public ResultCode Get1(ServiceCtx context) public ResultCode Get1(ServiceCtx context)
{ {
@ -81,7 +81,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(5)] [CommandHipc(5)]
// UpdateLatest(nn::mii::CharInfo old_char_info, SourceFlag flag) -> nn::mii::CharInfo // UpdateLatest(nn::mii::CharInfo old_char_info, SourceFlag flag) -> nn::mii::CharInfo
public ResultCode UpdateLatest(ServiceCtx context) public ResultCode UpdateLatest(ServiceCtx context)
{ {
@ -95,7 +95,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(6)] [CommandHipc(6)]
// BuildRandom(Age age, Gender gender, Race race) -> nn::mii::CharInfo // BuildRandom(Age age, Gender gender, Race race) -> nn::mii::CharInfo
public ResultCode BuildRandom(ServiceCtx context) public ResultCode BuildRandom(ServiceCtx context)
{ {
@ -110,7 +110,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(7)] [CommandHipc(7)]
// BuildDefault(u32 index) -> nn::mii::CharInfoRaw // BuildDefault(u32 index) -> nn::mii::CharInfoRaw
public ResultCode BuildDefault(ServiceCtx context) public ResultCode BuildDefault(ServiceCtx context)
{ {
@ -123,7 +123,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(8)] [CommandHipc(8)]
// Get2(SourceFlag flag) -> (u32 count, buffer<nn::mii::StoreDataElement, 6>) // Get2(SourceFlag flag) -> (u32 count, buffer<nn::mii::StoreDataElement, 6>)
public ResultCode Get2(ServiceCtx context) public ResultCode Get2(ServiceCtx context)
{ {
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(9)] [CommandHipc(9)]
// Get3(SourceFlag flag) -> (u32 count, buffer<nn::mii::StoreData, 6>) // Get3(SourceFlag flag) -> (u32 count, buffer<nn::mii::StoreData, 6>)
public ResultCode Get3(ServiceCtx context) public ResultCode Get3(ServiceCtx context)
{ {
@ -165,7 +165,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(10)] [CommandHipc(10)]
// UpdateLatest1(nn::mii::StoreData old_store_data, SourceFlag flag) -> nn::mii::StoreData // UpdateLatest1(nn::mii::StoreData old_store_data, SourceFlag flag) -> nn::mii::StoreData
public ResultCode UpdateLatest1(ServiceCtx context) public ResultCode UpdateLatest1(ServiceCtx context)
{ {
@ -179,7 +179,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(11)] [CommandHipc(11)]
// FindIndex(nn::mii::CreateId create_id, bool is_special) -> s32 // FindIndex(nn::mii::CreateId create_id, bool is_special) -> s32
public ResultCode FindIndex(ServiceCtx context) public ResultCode FindIndex(ServiceCtx context)
{ {
@ -193,7 +193,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(12)] [CommandHipc(12)]
// Move(nn::mii::CreateId create_id, s32 new_index) // Move(nn::mii::CreateId create_id, s32 new_index)
public ResultCode Move(ServiceCtx context) public ResultCode Move(ServiceCtx context)
{ {
@ -203,7 +203,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return Move(createId, newIndex); return Move(createId, newIndex);
} }
[Command(13)] [CommandHipc(13)]
// AddOrReplace(nn::mii::StoreData store_data) // AddOrReplace(nn::mii::StoreData store_data)
public ResultCode AddOrReplace(ServiceCtx context) public ResultCode AddOrReplace(ServiceCtx context)
{ {
@ -212,7 +212,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return AddOrReplace(storeData); return AddOrReplace(storeData);
} }
[Command(14)] [CommandHipc(14)]
// Delete(nn::mii::CreateId create_id) // Delete(nn::mii::CreateId create_id)
public ResultCode Delete(ServiceCtx context) public ResultCode Delete(ServiceCtx context)
{ {
@ -221,28 +221,28 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return Delete(createId); return Delete(createId);
} }
[Command(15)] [CommandHipc(15)]
// DestroyFile() // DestroyFile()
public ResultCode DestroyFile(ServiceCtx context) public ResultCode DestroyFile(ServiceCtx context)
{ {
return DestroyFile(); return DestroyFile();
} }
[Command(16)] [CommandHipc(16)]
// DeleteFile() // DeleteFile()
public ResultCode DeleteFile(ServiceCtx context) public ResultCode DeleteFile(ServiceCtx context)
{ {
return DeleteFile(); return DeleteFile();
} }
[Command(17)] [CommandHipc(17)]
// Format() // Format()
public ResultCode Format(ServiceCtx context) public ResultCode Format(ServiceCtx context)
{ {
return Format(); return Format();
} }
[Command(18)] [CommandHipc(18)]
// Import(buffer<bytes, 5>) // Import(buffer<bytes, 5>)
public ResultCode Import(ServiceCtx context) public ResultCode Import(ServiceCtx context)
{ {
@ -251,7 +251,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return Import(data); return Import(data);
} }
[Command(19)] [CommandHipc(19)]
// Export() -> buffer<bytes, 6> // Export() -> buffer<bytes, 6>
public ResultCode Export(ServiceCtx context) public ResultCode Export(ServiceCtx context)
{ {
@ -266,7 +266,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(20)] [CommandHipc(20)]
// IsBrokenDatabaseWithClearFlag() -> bool // IsBrokenDatabaseWithClearFlag() -> bool
public ResultCode IsBrokenDatabaseWithClearFlag(ServiceCtx context) public ResultCode IsBrokenDatabaseWithClearFlag(ServiceCtx context)
{ {
@ -277,7 +277,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(21)] [CommandHipc(21)]
// GetIndex(nn::mii::CharInfo char_info) -> s32 // GetIndex(nn::mii::CharInfo char_info) -> s32
public ResultCode GetIndex(ServiceCtx context) public ResultCode GetIndex(ServiceCtx context)
{ {
@ -290,7 +290,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(22)] // 5.0.0+ [CommandHipc(22)] // 5.0.0+
// SetInterfaceVersion(u32 version) // SetInterfaceVersion(u32 version)
public ResultCode SetInterfaceVersion(ServiceCtx context) public ResultCode SetInterfaceVersion(ServiceCtx context)
{ {
@ -301,7 +301,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(23)] // 5.0.0+ [CommandHipc(23)] // 5.0.0+
// Convert(nn::mii::Ver3StoreData ver3_store_data) -> nn::mii::CharInfo // Convert(nn::mii::Ver3StoreData ver3_store_data) -> nn::mii::CharInfo
public ResultCode Convert(ServiceCtx context) public ResultCode Convert(ServiceCtx context)
{ {
@ -314,7 +314,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(24)] // 7.0.0+ [CommandHipc(24)] // 7.0.0+
// ConvertCoreDataToCharInfo(nn::mii::CoreData core_data) -> nn::mii::CharInfo // ConvertCoreDataToCharInfo(nn::mii::CoreData core_data) -> nn::mii::CharInfo
public ResultCode ConvertCoreDataToCharInfo(ServiceCtx context) public ResultCode ConvertCoreDataToCharInfo(ServiceCtx context)
{ {
@ -327,7 +327,7 @@ namespace Ryujinx.HLE.HOS.Services.Mii.StaticService
return result; return result;
} }
[Command(25)] // 7.0.0+ [CommandHipc(25)] // 7.0.0+
// ConvertCharInfoToCoreData(nn::mii::CharInfo char_info) -> nn::mii::CoreData // ConvertCharInfoToCoreData(nn::mii::CharInfo char_info) -> nn::mii::CoreData
public ResultCode ConvertCharInfoToCoreData(ServiceCtx context) public ResultCode ConvertCharInfoToCoreData(ServiceCtx context)
{ {

View file

@ -14,7 +14,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
public IRequest(ServiceCtx context) {} public IRequest(ServiceCtx context) {}
[Command(0)] [CommandHipc(0)]
// InitializeOld(u32, u32, u32) // InitializeOld(u32, u32, u32)
public ResultCode InitializeOld(ServiceCtx context) public ResultCode InitializeOld(ServiceCtx context)
{ {
@ -29,7 +29,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// FinalizeOld(u32) // FinalizeOld(u32)
public ResultCode FinalizeOld(ServiceCtx context) public ResultCode FinalizeOld(ServiceCtx context)
{ {
@ -45,7 +45,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// SetAndWaitOld(u32, u32, u32) // SetAndWaitOld(u32, u32, u32)
public ResultCode SetAndWaitOld(ServiceCtx context) public ResultCode SetAndWaitOld(ServiceCtx context)
{ {
@ -63,7 +63,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// GetOld(u32) -> u32 // GetOld(u32) -> u32
public ResultCode GetOld(ServiceCtx context) public ResultCode GetOld(ServiceCtx context)
{ {
@ -83,7 +83,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// Initialize(u32, u32, u32) -> u32 // Initialize(u32, u32, u32) -> u32
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -100,7 +100,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// Finalize(u32) // Finalize(u32)
public ResultCode Finalize(ServiceCtx context) public ResultCode Finalize(ServiceCtx context)
{ {
@ -116,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] [CommandHipc(6)]
// SetAndWait(u32, u32, u32) // SetAndWait(u32, u32, u32)
public ResultCode SetAndWait(ServiceCtx context) public ResultCode SetAndWait(ServiceCtx context)
{ {
@ -134,7 +134,7 @@ namespace Ryujinx.HLE.HOS.Services.Mm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] [CommandHipc(7)]
// Get(u32) -> u32 // Get(u32) -> u32
public ResultCode Get(ServiceCtx context) public ResultCode Get(ServiceCtx context)
{ {

View file

@ -8,7 +8,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr
{ {
public ILocationResolverManager(ServiceCtx context) { } public ILocationResolverManager(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// OpenLocationResolver() // OpenLocationResolver()
public ResultCode OpenLocationResolver(ServiceCtx context) public ResultCode OpenLocationResolver(ServiceCtx context)
{ {

View file

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
_storageId = storageId; _storageId = storageId;
} }
[Command(0)] [CommandHipc(0)]
// ResolveProgramPath() // ResolveProgramPath()
public ResultCode ResolveProgramPath(ServiceCtx context) public ResultCode ResolveProgramPath(ServiceCtx context)
{ {
@ -32,7 +32,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
} }
} }
[Command(1)] [CommandHipc(1)]
// RedirectProgramPath() // RedirectProgramPath()
public ResultCode RedirectProgramPath(ServiceCtx context) public ResultCode RedirectProgramPath(ServiceCtx context)
{ {
@ -43,7 +43,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// ResolveApplicationControlPath() // ResolveApplicationControlPath()
public ResultCode ResolveApplicationControlPath(ServiceCtx context) public ResultCode ResolveApplicationControlPath(ServiceCtx context)
{ {
@ -59,7 +59,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
} }
} }
[Command(3)] [CommandHipc(3)]
// ResolveApplicationHtmlDocumentPath() // ResolveApplicationHtmlDocumentPath()
public ResultCode ResolveApplicationHtmlDocumentPath(ServiceCtx context) public ResultCode ResolveApplicationHtmlDocumentPath(ServiceCtx context)
{ {
@ -75,7 +75,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
} }
} }
[Command(4)] [CommandHipc(4)]
// ResolveDataPath() // ResolveDataPath()
public ResultCode ResolveDataPath(ServiceCtx context) public ResultCode ResolveDataPath(ServiceCtx context)
{ {
@ -91,7 +91,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
} }
} }
[Command(5)] [CommandHipc(5)]
// RedirectApplicationControlPath() // RedirectApplicationControlPath()
public ResultCode RedirectApplicationControlPath(ServiceCtx context) public ResultCode RedirectApplicationControlPath(ServiceCtx context)
{ {
@ -102,7 +102,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] [CommandHipc(6)]
// RedirectApplicationHtmlDocumentPath() // RedirectApplicationHtmlDocumentPath()
public ResultCode RedirectApplicationHtmlDocumentPath(ServiceCtx context) public ResultCode RedirectApplicationHtmlDocumentPath(ServiceCtx context)
{ {
@ -113,7 +113,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] [CommandHipc(7)]
// ResolveApplicationLegalInformationPath() // ResolveApplicationLegalInformationPath()
public ResultCode ResolveApplicationLegalInformationPath(ServiceCtx context) public ResultCode ResolveApplicationLegalInformationPath(ServiceCtx context)
{ {
@ -129,7 +129,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
} }
} }
[Command(8)] [CommandHipc(8)]
// RedirectApplicationLegalInformationPath() // RedirectApplicationLegalInformationPath()
public ResultCode RedirectApplicationLegalInformationPath(ServiceCtx context) public ResultCode RedirectApplicationLegalInformationPath(ServiceCtx context)
{ {
@ -140,7 +140,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(9)] [CommandHipc(9)]
// Refresh() // Refresh()
public ResultCode Refresh(ServiceCtx context) public ResultCode Refresh(ServiceCtx context)
{ {
@ -149,7 +149,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] [CommandHipc(10)]
// SetProgramNcaPath2() // SetProgramNcaPath2()
public ResultCode SetProgramNcaPath2(ServiceCtx context) public ResultCode SetProgramNcaPath2(ServiceCtx context)
{ {
@ -160,7 +160,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// ClearLocationResolver2() // ClearLocationResolver2()
public ResultCode ClearLocationResolver2(ServiceCtx context) public ResultCode ClearLocationResolver2(ServiceCtx context)
{ {
@ -169,7 +169,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] [CommandHipc(12)]
// DeleteProgramNcaPath() // DeleteProgramNcaPath()
public ResultCode DeleteProgramNcaPath(ServiceCtx context) public ResultCode DeleteProgramNcaPath(ServiceCtx context)
{ {
@ -180,7 +180,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] [CommandHipc(13)]
// DeleteControlNcaPath() // DeleteControlNcaPath()
public ResultCode DeleteControlNcaPath(ServiceCtx context) public ResultCode DeleteControlNcaPath(ServiceCtx context)
{ {
@ -191,7 +191,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(14)] [CommandHipc(14)]
// DeleteDocHtmlNcaPath() // DeleteDocHtmlNcaPath()
public ResultCode DeleteDocHtmlNcaPath(ServiceCtx context) public ResultCode DeleteDocHtmlNcaPath(ServiceCtx context)
{ {
@ -202,7 +202,7 @@ namespace Ryujinx.HLE.HOS.Services.Ncm.Lr.LocationResolverManager
return ResultCode.Success; return ResultCode.Success;
} }
[Command(15)] [CommandHipc(15)]
// DeleteInfoHtmlNcaPath() // DeleteInfoHtmlNcaPath()
public ResultCode DeleteInfoHtmlNcaPath(ServiceCtx context) public ResultCode DeleteInfoHtmlNcaPath(ServiceCtx context)
{ {

View file

@ -5,7 +5,7 @@
{ {
public IUserManager(ServiceCtx context) { } public IUserManager(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// CreateUserInterface() -> object<nn::nfp::detail::IUser> // CreateUserInterface() -> object<nn::nfp::detail::IUser>
public ResultCode GetUserInterface(ServiceCtx context) public ResultCode GetUserInterface(ServiceCtx context)
{ {

View file

@ -30,7 +30,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
public IUser() { } public IUser() { }
[Command(0)] [CommandHipc(0)]
// Initialize(u64, u64, pid, buffer<unknown, 5>) // Initialize(u64, u64, pid, buffer<unknown, 5>)
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -64,7 +64,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// Finalize() // Finalize()
public ResultCode Finalize(ServiceCtx context) public ResultCode Finalize(ServiceCtx context)
{ {
@ -84,7 +84,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// ListDevices() -> (u32, buffer<unknown, 0xa>) // ListDevices() -> (u32, buffer<unknown, 0xa>)
public ResultCode ListDevices(ServiceCtx context) public ResultCode ListDevices(ServiceCtx context)
{ {
@ -120,7 +120,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// StartDetection(bytes<8, 4>) // StartDetection(bytes<8, 4>)
public ResultCode StartDetection(ServiceCtx context) public ResultCode StartDetection(ServiceCtx context)
{ {
@ -171,7 +171,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// StopDetection(bytes<8, 4>) // StopDetection(bytes<8, 4>)
public ResultCode StopDetection(ServiceCtx context) public ResultCode StopDetection(ServiceCtx context)
{ {
@ -202,7 +202,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// Mount(bytes<8, 4>, u32, u32) // Mount(bytes<8, 4>, u32, u32)
public ResultCode Mount(ServiceCtx context) public ResultCode Mount(ServiceCtx context)
{ {
@ -260,7 +260,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(6)] [CommandHipc(6)]
// Unmount(bytes<8, 4>) // Unmount(bytes<8, 4>)
public ResultCode Unmount(ServiceCtx context) public ResultCode Unmount(ServiceCtx context)
{ {
@ -302,7 +302,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(7)] [CommandHipc(7)]
// OpenApplicationArea(bytes<8, 4>, u32) // OpenApplicationArea(bytes<8, 4>, u32)
public ResultCode OpenApplicationArea(ServiceCtx context) public ResultCode OpenApplicationArea(ServiceCtx context)
{ {
@ -358,7 +358,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(8)] [CommandHipc(8)]
// GetApplicationArea(bytes<8, 4>) -> (u32, buffer<unknown, 6>) // GetApplicationArea(bytes<8, 4>) -> (u32, buffer<unknown, 6>)
public ResultCode GetApplicationArea(ServiceCtx context) public ResultCode GetApplicationArea(ServiceCtx context)
{ {
@ -426,7 +426,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(9)] [CommandHipc(9)]
// SetApplicationArea(bytes<8, 4>, buffer<unknown, 5>) // SetApplicationArea(bytes<8, 4>, buffer<unknown, 5>)
public ResultCode SetApplicationArea(ServiceCtx context) public ResultCode SetApplicationArea(ServiceCtx context)
{ {
@ -480,7 +480,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(10)] [CommandHipc(10)]
// Flush(bytes<8, 4>) // Flush(bytes<8, 4>)
public ResultCode Flush(ServiceCtx context) public ResultCode Flush(ServiceCtx context)
{ {
@ -496,14 +496,14 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// Restore(bytes<8, 4>) // Restore(bytes<8, 4>)
public ResultCode Restore(ServiceCtx context) public ResultCode Restore(ServiceCtx context)
{ {
throw new ServiceNotImplementedException(this, context); throw new ServiceNotImplementedException(this, context, false);
} }
[Command(12)] [CommandHipc(12)]
// CreateApplicationArea(bytes<8, 4>, u32, buffer<unknown, 5>) // CreateApplicationArea(bytes<8, 4>, u32, buffer<unknown, 5>)
public ResultCode CreateApplicationArea(ServiceCtx context) public ResultCode CreateApplicationArea(ServiceCtx context)
{ {
@ -566,7 +566,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(13)] [CommandHipc(13)]
// GetTagInfo(bytes<8, 4>) -> buffer<unknown<0x58>, 0x1a> // GetTagInfo(bytes<8, 4>) -> buffer<unknown<0x58>, 0x1a>
public ResultCode GetTagInfo(ServiceCtx context) public ResultCode GetTagInfo(ServiceCtx context)
{ {
@ -642,7 +642,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(14)] [CommandHipc(14)]
// GetRegisterInfo(bytes<8, 4>) -> buffer<unknown<0x100>, 0x1a> // GetRegisterInfo(bytes<8, 4>) -> buffer<unknown<0x100>, 0x1a>
public ResultCode GetRegisterInfo(ServiceCtx context) public ResultCode GetRegisterInfo(ServiceCtx context)
{ {
@ -702,7 +702,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(15)] [CommandHipc(15)]
// GetCommonInfo(bytes<8, 4>) -> buffer<unknown<0x40>, 0x1a> // GetCommonInfo(bytes<8, 4>) -> buffer<unknown<0x40>, 0x1a>
public ResultCode GetCommonInfo(ServiceCtx context) public ResultCode GetCommonInfo(ServiceCtx context)
{ {
@ -762,7 +762,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(16)] [CommandHipc(16)]
// GetModelInfo(bytes<8, 4>) -> buffer<unknown<0x40>, 0x1a> // GetModelInfo(bytes<8, 4>) -> buffer<unknown<0x40>, 0x1a>
public ResultCode GetModelInfo(ServiceCtx context) public ResultCode GetModelInfo(ServiceCtx context)
{ {
@ -831,7 +831,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return resultCode; return resultCode;
} }
[Command(17)] [CommandHipc(17)]
// AttachActivateEvent(bytes<8, 4>) -> handle<copy> // AttachActivateEvent(bytes<8, 4>) -> handle<copy>
public ResultCode AttachActivateEvent(ServiceCtx context) public ResultCode AttachActivateEvent(ServiceCtx context)
{ {
@ -857,7 +857,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.DeviceNotFound; return ResultCode.DeviceNotFound;
} }
[Command(18)] [CommandHipc(18)]
// AttachDeactivateEvent(bytes<8, 4>) -> handle<copy> // AttachDeactivateEvent(bytes<8, 4>) -> handle<copy>
public ResultCode AttachDeactivateEvent(ServiceCtx context) public ResultCode AttachDeactivateEvent(ServiceCtx context)
{ {
@ -883,7 +883,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.DeviceNotFound; return ResultCode.DeviceNotFound;
} }
[Command(19)] [CommandHipc(19)]
// GetState() -> u32 // GetState() -> u32
public ResultCode GetState(ServiceCtx context) public ResultCode GetState(ServiceCtx context)
{ {
@ -892,7 +892,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(20)] [CommandHipc(20)]
// GetDeviceState(bytes<8, 4>) -> u32 // GetDeviceState(bytes<8, 4>) -> u32
public ResultCode GetDeviceState(ServiceCtx context) public ResultCode GetDeviceState(ServiceCtx context)
{ {
@ -918,7 +918,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.DeviceNotFound; return ResultCode.DeviceNotFound;
} }
[Command(21)] [CommandHipc(21)]
// GetNpadId(bytes<8, 4>) -> u32 // GetNpadId(bytes<8, 4>) -> u32
public ResultCode GetNpadId(ServiceCtx context) public ResultCode GetNpadId(ServiceCtx context)
{ {
@ -937,7 +937,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.DeviceNotFound; return ResultCode.DeviceNotFound;
} }
[Command(22)] [CommandHipc(22)]
// GetApplicationAreaSize() -> u32 // GetApplicationAreaSize() -> u32
public ResultCode GetApplicationAreaSize(ServiceCtx context) public ResultCode GetApplicationAreaSize(ServiceCtx context)
{ {
@ -946,7 +946,7 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(23)] // 3.0.0+ [CommandHipc(23)] // 3.0.0+
// AttachAvailabilityChangeEvent() -> handle<copy> // AttachAvailabilityChangeEvent() -> handle<copy>
public ResultCode AttachAvailabilityChangeEvent(ServiceCtx context) public ResultCode AttachAvailabilityChangeEvent(ServiceCtx context)
{ {
@ -962,11 +962,11 @@ namespace Ryujinx.HLE.HOS.Services.Nfc.Nfp
return ResultCode.Success; return ResultCode.Success;
} }
[Command(24)] // 3.0.0+ [CommandHipc(24)] // 3.0.0+
// RecreateApplicationArea(bytes<8, 4>, u32, buffer<unknown, 5>) // RecreateApplicationArea(bytes<8, 4>, u32, buffer<unknown, 5>)
public ResultCode RecreateApplicationArea(ServiceCtx context) public ResultCode RecreateApplicationArea(ServiceCtx context)
{ {
throw new ServiceNotImplementedException(this, context); throw new ServiceNotImplementedException(this, context, false);
} }
private ResultCode CheckNfcIsEnabled() private ResultCode CheckNfcIsEnabled()

View file

@ -7,14 +7,14 @@ namespace Ryujinx.HLE.HOS.Services.Ngct
{ {
public IService(ServiceCtx context) { } public IService(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// Match(buffer<string, 9>) -> b8 // Match(buffer<string, 9>) -> b8
public ResultCode Match(ServiceCtx context) public ResultCode Match(ServiceCtx context)
{ {
return NgctServer.Match(context); return NgctServer.Match(context);
} }
[Command(1)] [CommandHipc(1)]
// Filter(buffer<string, 9>) -> buffer<filtered_string, 10> // Filter(buffer<string, 9>) -> buffer<filtered_string, 10>
public ResultCode Filter(ServiceCtx context) public ResultCode Filter(ServiceCtx context)
{ {

View file

@ -5,14 +5,14 @@
{ {
public IServiceWithManagementApi(ServiceCtx context) { } public IServiceWithManagementApi(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// Match(buffer<string, 9>) -> b8 // Match(buffer<string, 9>) -> b8
public ResultCode Match(ServiceCtx context) public ResultCode Match(ServiceCtx context)
{ {
return NgctServer.Match(context); return NgctServer.Match(context);
} }
[Command(1)] [CommandHipc(1)]
// Filter(buffer<string, 9>) -> buffer<filtered_string, 10> // Filter(buffer<string, 9>) -> buffer<filtered_string, 10>
public ResultCode Filter(ServiceCtx context) public ResultCode Filter(ServiceCtx context)
{ {

View file

@ -9,7 +9,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
{ {
public IStaticService(ServiceCtx context) { } public IStaticService(ServiceCtx context) { }
[Command(4)] [CommandHipc(4)]
// CreateGeneralServiceOld() -> object<nn::nifm::detail::IGeneralService> // CreateGeneralServiceOld() -> object<nn::nifm::detail::IGeneralService>
public ResultCode CreateGeneralServiceOld(ServiceCtx context) public ResultCode CreateGeneralServiceOld(ServiceCtx context)
{ {
@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] // 3.0.0+ [CommandHipc(5)] // 3.0.0+
// CreateGeneralService(u64, pid) -> object<nn::nifm::detail::IGeneralService> // CreateGeneralService(u64, pid) -> object<nn::nifm::detail::IGeneralService>
public ResultCode CreateGeneralService(ServiceCtx context) public ResultCode CreateGeneralService(ServiceCtx context)
{ {

View file

@ -25,7 +25,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
GeneralServiceManager.Add(_generalServiceDetail); GeneralServiceManager.Add(_generalServiceDetail);
} }
[Command(1)] [CommandHipc(1)]
// GetClientId() -> buffer<nn::nifm::ClientId, 0x1a, 4> // GetClientId() -> buffer<nn::nifm::ClientId, 0x1a, 4>
public ResultCode GetClientId(ServiceCtx context) public ResultCode GetClientId(ServiceCtx context)
{ {
@ -38,7 +38,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// CreateRequest(u32 version) -> object<nn::nifm::detail::IRequest> // CreateRequest(u32 version) -> object<nn::nifm::detail::IRequest>
public ResultCode CreateRequest(ServiceCtx context) public ResultCode CreateRequest(ServiceCtx context)
{ {
@ -54,7 +54,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetCurrentNetworkProfile() -> buffer<nn::nifm::detail::sf::NetworkProfileData, 0x1a, 0x17c> // GetCurrentNetworkProfile() -> buffer<nn::nifm::detail::sf::NetworkProfileData, 0x1a, 0x17c>
public ResultCode GetCurrentNetworkProfile(ServiceCtx context) public ResultCode GetCurrentNetworkProfile(ServiceCtx context)
{ {
@ -86,7 +86,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] [CommandHipc(12)]
// GetCurrentIpAddress() -> nn::nifm::IpV4Address // GetCurrentIpAddress() -> nn::nifm::IpV4Address
public ResultCode GetCurrentIpAddress(ServiceCtx context) public ResultCode GetCurrentIpAddress(ServiceCtx context)
{ {
@ -104,7 +104,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(15)] [CommandHipc(15)]
// GetCurrentIpConfigInfo() -> (nn::nifm::IpAddressSetting, nn::nifm::DnsSetting) // GetCurrentIpConfigInfo() -> (nn::nifm::IpAddressSetting, nn::nifm::DnsSetting)
public ResultCode GetCurrentIpConfigInfo(ServiceCtx context) public ResultCode GetCurrentIpConfigInfo(ServiceCtx context)
{ {
@ -123,7 +123,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(18)] [CommandHipc(18)]
// GetInternetConnectionStatus() -> nn::nifm::detail::sf::InternetConnectionStatus // GetInternetConnectionStatus() -> nn::nifm::detail::sf::InternetConnectionStatus
public ResultCode GetInternetConnectionStatus(ServiceCtx context) public ResultCode GetInternetConnectionStatus(ServiceCtx context)
{ {
@ -144,7 +144,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// IsAnyInternetRequestAccepted(buffer<nn::nifm::ClientId, 0x19, 4>) -> bool // IsAnyInternetRequestAccepted(buffer<nn::nifm::ClientId, 0x19, 4>) -> bool
public ResultCode IsAnyInternetRequestAccepted(ServiceCtx context) public ResultCode IsAnyInternetRequestAccepted(ServiceCtx context)
{ {

View file

@ -24,7 +24,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
_version = version; _version = version;
} }
[Command(0)] [CommandHipc(0)]
// GetRequestState() -> u32 // GetRequestState() -> u32
public ResultCode GetRequestState(ServiceCtx context) public ResultCode GetRequestState(ServiceCtx context)
{ {
@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// GetResult() // GetResult()
public ResultCode GetResult(ServiceCtx context) public ResultCode GetResult(ServiceCtx context)
{ {
@ -49,7 +49,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetSystemEventReadableHandles() -> (handle<copy>, handle<copy>) // GetSystemEventReadableHandles() -> (handle<copy>, handle<copy>)
public ResultCode GetSystemEventReadableHandles(ServiceCtx context) public ResultCode GetSystemEventReadableHandles(ServiceCtx context)
{ {
@ -74,7 +74,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// Cancel() // Cancel()
public ResultCode Cancel(ServiceCtx context) public ResultCode Cancel(ServiceCtx context)
{ {
@ -83,7 +83,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// Submit() // Submit()
public ResultCode Submit(ServiceCtx context) public ResultCode Submit(ServiceCtx context)
{ {
@ -92,7 +92,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(11)] [CommandHipc(11)]
// SetConnectionConfirmationOption(i8) // SetConnectionConfirmationOption(i8)
public ResultCode SetConnectionConfirmationOption(ServiceCtx context) public ResultCode SetConnectionConfirmationOption(ServiceCtx context)
{ {
@ -101,7 +101,7 @@ namespace Ryujinx.HLE.HOS.Services.Nifm.StaticService
return ResultCode.Success; return ResultCode.Success;
} }
[Command(21)] [CommandHipc(21)]
// GetAppletInfo(u32) -> (u32, u32, u32, buffer<bytes, 6>) // GetAppletInfo(u32) -> (u32, u32, u32, buffer<bytes, 6>)
public ResultCode GetAppletInfo(ServiceCtx context) public ResultCode GetAppletInfo(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Nim.ShopServiceAccessServerInterface
{ {
public IShopServiceAccessServer() { } public IShopServiceAccessServer() { }
[Command(0)] [CommandHipc(0)]
// CreateAccessorInterface(u8) -> object<nn::ec::IShopServiceAccessor> // CreateAccessorInterface(u8) -> object<nn::ec::IShopServiceAccessor>
public ResultCode CreateAccessorInterface(ServiceCtx context) public ResultCode CreateAccessorInterface(ServiceCtx context)
{ {

View file

@ -10,7 +10,7 @@ namespace Ryujinx.HLE.HOS.Services.Nim
{ {
public IShopServiceAccessServerInterface(ServiceCtx context) { } public IShopServiceAccessServerInterface(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// CreateServerInterface(pid, handle<unknown>, u64) -> object<nn::ec::IShopServiceAccessServer> // CreateServerInterface(pid, handle<unknown>, u64) -> object<nn::ec::IShopServiceAccessServer>
public ResultCode CreateServerInterface(ServiceCtx context) public ResultCode CreateServerInterface(ServiceCtx context)
{ {
@ -21,7 +21,7 @@ namespace Ryujinx.HLE.HOS.Services.Nim
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] // 10.0.0+ [CommandHipc(4)] // 10.0.0+
// IsLargeResourceAvailable(pid) -> b8 // IsLargeResourceAvailable(pid) -> b8
public ResultCode IsLargeResourceAvailable(ServiceCtx context) public ResultCode IsLargeResourceAvailable(ServiceCtx context)
{ {

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Nim.ShopServiceAccessServerInterface.ShopServ
_event = new KEvent(system.KernelContext); _event = new KEvent(system.KernelContext);
} }
[Command(0)] [CommandHipc(0)]
// CreateAsyncInterface(u64) -> (handle<copy>, object<nn::ec::IShopServiceAsync>) // CreateAsyncInterface(u64) -> (handle<copy>, object<nn::ec::IShopServiceAsync>)
public ResultCode CreateAsyncInterface(ServiceCtx context) public ResultCode CreateAsyncInterface(ServiceCtx context)
{ {

View file

@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
_addOnContentListChangedEvent = new KEvent(context.Device.System.KernelContext); _addOnContentListChangedEvent = new KEvent(context.Device.System.KernelContext);
} }
[Command(2)] [CommandHipc(2)]
// CountAddOnContent(pid) -> u32 // CountAddOnContent(pid) -> u32
public ResultCode CountAddOnContent(ServiceCtx context) public ResultCode CountAddOnContent(ServiceCtx context)
{ {
@ -47,7 +47,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return (uint)context.Device.System.ContentManager.GetAocCount(); return (uint)context.Device.System.ContentManager.GetAocCount();
} }
[Command(3)] [CommandHipc(3)]
// ListAddOnContent(u32, u32, pid) -> (u32, buffer<u32>) // ListAddOnContent(u32, u32, pid) -> (u32, buffer<u32>)
public ResultCode ListAddOnContent(ServiceCtx context) public ResultCode ListAddOnContent(ServiceCtx context)
{ {
@ -84,7 +84,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// GetAddOnContentBaseId(pid) -> u64 // GetAddOnContentBaseId(pid) -> u64
public ResultCode GetAddonContentBaseId(ServiceCtx context) public ResultCode GetAddonContentBaseId(ServiceCtx context)
{ {
@ -114,7 +114,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return aocBaseId; return aocBaseId;
} }
[Command(7)] [CommandHipc(7)]
// PrepareAddOnContent(u32, pid) // PrepareAddOnContent(u32, pid)
public ResultCode PrepareAddOnContent(ServiceCtx context) public ResultCode PrepareAddOnContent(ServiceCtx context)
{ {
@ -131,7 +131,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(8)] [CommandHipc(8)]
// GetAddOnContentListChangedEvent() -> handle<copy> // GetAddOnContentListChangedEvent() -> handle<copy>
public ResultCode GetAddOnContentListChangedEvent(ServiceCtx context) public ResultCode GetAddOnContentListChangedEvent(ServiceCtx context)
{ {
@ -153,7 +153,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
} }
[Command(9)] // [10.0.0+] [CommandHipc(9)] // [10.0.0+]
// GetAddOnContentLostErrorCode() -> u64 // GetAddOnContentLostErrorCode() -> u64
public ResultCode GetAddOnContentLostErrorCode(ServiceCtx context) public ResultCode GetAddOnContentLostErrorCode(ServiceCtx context)
{ {
@ -166,7 +166,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(100)] [CommandHipc(100)]
// CreateEcPurchasedEventManager() -> object<nn::ec::IPurchaseEventManager> // CreateEcPurchasedEventManager() -> object<nn::ec::IPurchaseEventManager>
public ResultCode CreateEcPurchasedEventManager(ServiceCtx context) public ResultCode CreateEcPurchasedEventManager(ServiceCtx context)
{ {
@ -177,7 +177,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(101)] [CommandHipc(101)]
// CreatePermanentEcPurchasedEventManager() -> object<nn::ec::IPurchaseEventManager> // CreatePermanentEcPurchasedEventManager() -> object<nn::ec::IPurchaseEventManager>
public ResultCode CreatePermanentEcPurchasedEventManager(ServiceCtx context) public ResultCode CreatePermanentEcPurchasedEventManager(ServiceCtx context)
{ {

View file

@ -5,7 +5,7 @@
{ {
public IApplicationManagerInterface(ServiceCtx context) { } public IApplicationManagerInterface(ServiceCtx context) { }
[Command(400)] [CommandHipc(400)]
// GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>) // GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
public ResultCode GetApplicationControlData(ServiceCtx context) public ResultCode GetApplicationControlData(ServiceCtx context)
{ {

View file

@ -16,7 +16,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
_purchasedEvent = new KEvent(system.KernelContext); _purchasedEvent = new KEvent(system.KernelContext);
} }
[Command(0)] [CommandHipc(0)]
// SetDefaultDeliveryTarget(pid, buffer<bytes, 5> unknown) // SetDefaultDeliveryTarget(pid, buffer<bytes, 5> unknown)
public ResultCode SetDefaultDeliveryTarget(ServiceCtx context) public ResultCode SetDefaultDeliveryTarget(ServiceCtx context)
{ {
@ -35,7 +35,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// GetPurchasedEventReadableHandle() -> handle<copy, event> // GetPurchasedEventReadableHandle() -> handle<copy, event>
public ResultCode GetPurchasedEventReadableHandle(ServiceCtx context) public ResultCode GetPurchasedEventReadableHandle(ServiceCtx context)
{ {

View file

@ -4,7 +4,7 @@
{ {
public IReadOnlyApplicationControlDataInterface(ServiceCtx context) { } public IReadOnlyApplicationControlDataInterface(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>) // GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
public ResultCode GetApplicationControlData(ServiceCtx context) public ResultCode GetApplicationControlData(ServiceCtx context)
{ {

View file

@ -9,7 +9,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
{ {
public IServiceGetterInterface(ServiceCtx context) { } public IServiceGetterInterface(ServiceCtx context) { }
[Command(7996)] [CommandHipc(7996)]
// GetApplicationManagerInterface() -> object<nn::ns::detail::IApplicationManagerInterface> // GetApplicationManagerInterface() -> object<nn::ns::detail::IApplicationManagerInterface>
public ResultCode GetApplicationManagerInterface(ServiceCtx context) public ResultCode GetApplicationManagerInterface(ServiceCtx context)
{ {
@ -18,7 +18,7 @@ namespace Ryujinx.HLE.HOS.Services.Ns
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7989)] [CommandHipc(7989)]
// GetReadOnlyApplicationControlDataInterface() -> object<nn::ns::detail::IReadOnlyApplicationControlDataInterface> // GetReadOnlyApplicationControlDataInterface() -> object<nn::ns::detail::IReadOnlyApplicationControlDataInterface>
public ResultCode GetReadOnlyApplicationControlDataInterface(ServiceCtx context) public ResultCode GetReadOnlyApplicationControlDataInterface(ServiceCtx context)
{ {

View file

@ -217,7 +217,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
} }
} }
[Command(0)] [CommandHipc(0)]
// Open(buffer<bytes, 5> path) -> (s32 fd, u32 error_code) // Open(buffer<bytes, 5> path) -> (s32 fd, u32 error_code)
public ResultCode Open(ServiceCtx context) public ResultCode Open(ServiceCtx context)
{ {
@ -245,7 +245,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] [CommandHipc(1)]
// Ioctl(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args) -> (u32 error_code, buffer<bytes, 0x22> out_args) // Ioctl(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args) -> (u32 error_code, buffer<bytes, 0x22> out_args)
public ResultCode Ioctl(ServiceCtx context) public ResultCode Ioctl(ServiceCtx context)
{ {
@ -286,7 +286,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(2)] [CommandHipc(2)]
// Close(s32 fd) -> u32 error_code // Close(s32 fd) -> u32 error_code
public ResultCode Close(ServiceCtx context) public ResultCode Close(ServiceCtx context)
{ {
@ -311,7 +311,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(3)] [CommandHipc(3)]
// Initialize(u32 transfer_memory_size, handle<copy, process> current_process, handle<copy, transfer_memory> transfer_memory) -> u32 error_code // Initialize(u32 transfer_memory_size, handle<copy, process> current_process, handle<copy, transfer_memory> transfer_memory) -> u32 error_code
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -335,7 +335,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(4)] [CommandHipc(4)]
// QueryEvent(s32 fd, u32 event_id) -> (u32, handle<copy, event>) // QueryEvent(s32 fd, u32 event_id) -> (u32, handle<copy, event>)
public ResultCode QueryEvent(ServiceCtx context) public ResultCode QueryEvent(ServiceCtx context)
{ {
@ -371,7 +371,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(5)] [CommandHipc(5)]
// MapSharedMemory(s32 fd, u32 argument, handle<copy, shared_memory>) -> u32 error_code // MapSharedMemory(s32 fd, u32 argument, handle<copy, shared_memory>) -> u32 error_code
public ResultCode MapSharedMemory(ServiceCtx context) public ResultCode MapSharedMemory(ServiceCtx context)
{ {
@ -396,7 +396,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(6)] [CommandHipc(6)]
// GetStatus() -> (unknown<0x20>, u32 error_code) // GetStatus() -> (unknown<0x20>, u32 error_code)
public ResultCode GetStatus(ServiceCtx context) public ResultCode GetStatus(ServiceCtx context)
{ {
@ -425,14 +425,14 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(7)] [CommandHipc(7)]
// ForceSetClientPid(u64) -> u32 error_code // ForceSetClientPid(u64) -> u32 error_code
public ResultCode ForceSetClientPid(ServiceCtx context) public ResultCode ForceSetClientPid(ServiceCtx context)
{ {
throw new ServiceNotImplementedException(this, context); throw new ServiceNotImplementedException(this, context, false);
} }
[Command(8)] [CommandHipc(8)]
// SetClientPID(u64, pid) -> u32 error_code // SetClientPID(u64, pid) -> u32 error_code
public ResultCode SetClientPid(ServiceCtx context) public ResultCode SetClientPid(ServiceCtx context)
{ {
@ -443,7 +443,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(9)] [CommandHipc(9)]
// DumpGraphicsMemoryInfo() // DumpGraphicsMemoryInfo()
public ResultCode DumpGraphicsMemoryInfo(ServiceCtx context) public ResultCode DumpGraphicsMemoryInfo(ServiceCtx context)
{ {
@ -452,14 +452,14 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(10)] // 3.0.0+ [CommandHipc(10)] // 3.0.0+
// InitializeDevtools(u32, handle<copy>) -> u32 error_code; // InitializeDevtools(u32, handle<copy>) -> u32 error_code;
public ResultCode InitializeDevtools(ServiceCtx context) public ResultCode InitializeDevtools(ServiceCtx context)
{ {
throw new ServiceNotImplementedException(this, context); throw new ServiceNotImplementedException(this, context, false);
} }
[Command(11)] // 3.0.0+ [CommandHipc(11)] // 3.0.0+
// Ioctl2(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args, buffer<bytes, 0x21> inline_in_buffer) -> (u32 error_code, buffer<bytes, 0x22> out_args) // Ioctl2(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args, buffer<bytes, 0x21> inline_in_buffer) -> (u32 error_code, buffer<bytes, 0x22> out_args)
public ResultCode Ioctl2(ServiceCtx context) public ResultCode Ioctl2(ServiceCtx context)
{ {
@ -508,7 +508,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(12)] // 3.0.0+ [CommandHipc(12)] // 3.0.0+
// Ioctl3(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args) -> (u32 error_code, buffer<bytes, 0x22> out_args, buffer<bytes, 0x22> inline_out_buffer) // Ioctl3(s32 fd, u32 ioctl_cmd, buffer<bytes, 0x21> in_args) -> (u32 error_code, buffer<bytes, 0x22> out_args, buffer<bytes, 0x22> inline_out_buffer)
public ResultCode Ioctl3(ServiceCtx context) public ResultCode Ioctl3(ServiceCtx context)
{ {
@ -558,7 +558,7 @@ namespace Ryujinx.HLE.HOS.Services.Nv
return ResultCode.Success; return ResultCode.Success;
} }
[Command(13)] // 3.0.0+ [CommandHipc(13)] // 3.0.0+
// FinishInitialize(unknown<8>) // FinishInitialize(unknown<8>)
public ResultCode FinishInitialize(ServiceCtx context) public ResultCode FinishInitialize(ServiceCtx context)
{ {

View file

@ -11,7 +11,7 @@ namespace Ryujinx.HLE.HOS.Services.Olsc
public IOlscServiceForApplication(ServiceCtx context) { } public IOlscServiceForApplication(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// Initialize(pid) // Initialize(pid)
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -25,7 +25,7 @@ namespace Ryujinx.HLE.HOS.Services.Olsc
return ResultCode.Success; return ResultCode.Success;
} }
[Command(14)] [CommandHipc(14)]
// SetSaveDataBackupSettingEnabled(nn::account::Uid, bool) // SetSaveDataBackupSettingEnabled(nn::account::Uid, bool)
public ResultCode SetSaveDataBackupSettingEnabled(ServiceCtx context) public ResultCode SetSaveDataBackupSettingEnabled(ServiceCtx context)
{ {

View file

@ -15,7 +15,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl
_permissionFlag = permissionFlag; _permissionFlag = permissionFlag;
} }
[Command(0)] [CommandHipc(0)]
// CreateService(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService> // CreateService(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
public ResultCode CreateService(ServiceCtx context) public ResultCode CreateService(ServiceCtx context)
{ {
@ -25,7 +25,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1)] // 4.0.0+ [CommandHipc(1)] // 4.0.0+
// CreateServiceWithoutInitialize(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService> // CreateServiceWithoutInitialize(u64, pid) -> object<nn::pctl::detail::ipc::IParentalControlService>
public ResultCode CreateServiceWithoutInitialize(ServiceCtx context) public ResultCode CreateServiceWithoutInitialize(ServiceCtx context)
{ {

View file

@ -28,7 +28,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
} }
} }
[Command(1)] // 4.0.0+ [CommandHipc(1)] // 4.0.0+
// Initialize() // Initialize()
public ResultCode Initialize(ServiceCtx context) public ResultCode Initialize(ServiceCtx context)
{ {
@ -73,7 +73,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return resultCode; return resultCode;
} }
[Command(1001)] [CommandHipc(1001)]
// CheckFreeCommunicationPermission() // CheckFreeCommunicationPermission()
public ResultCode CheckFreeCommunicationPermission(ServiceCtx context) public ResultCode CheckFreeCommunicationPermission(ServiceCtx context)
{ {
@ -92,14 +92,14 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1013)] // 4.0.0+ [CommandHipc(1013)] // 4.0.0+
// ConfirmStereoVisionPermission() // ConfirmStereoVisionPermission()
public ResultCode ConfirmStereoVisionPermission(ServiceCtx context) public ResultCode ConfirmStereoVisionPermission(ServiceCtx context)
{ {
return IsStereoVisionPermittedImpl(); return IsStereoVisionPermittedImpl();
} }
[Command(1018)] [CommandHipc(1018)]
// IsFreeCommunicationAvailable() // IsFreeCommunicationAvailable()
public ResultCode IsFreeCommunicationAvailable(ServiceCtx context) public ResultCode IsFreeCommunicationAvailable(ServiceCtx context)
{ {
@ -116,7 +116,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1031)] [CommandHipc(1031)]
// IsRestrictionEnabled() -> b8 // IsRestrictionEnabled() -> b8
public ResultCode IsRestrictionEnabled(ServiceCtx context) public ResultCode IsRestrictionEnabled(ServiceCtx context)
{ {
@ -130,7 +130,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1061)] // 4.0.0+ [CommandHipc(1061)] // 4.0.0+
// ConfirmStereoVisionRestrictionConfigurable() // ConfirmStereoVisionRestrictionConfigurable()
public ResultCode ConfirmStereoVisionRestrictionConfigurable(ServiceCtx context) public ResultCode ConfirmStereoVisionRestrictionConfigurable(ServiceCtx context)
{ {
@ -149,7 +149,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
} }
} }
[Command(1062)] // 4.0.0+ [CommandHipc(1062)] // 4.0.0+
// GetStereoVisionRestriction() -> bool // GetStereoVisionRestriction() -> bool
public ResultCode GetStereoVisionRestriction(ServiceCtx context) public ResultCode GetStereoVisionRestriction(ServiceCtx context)
{ {
@ -170,7 +170,7 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1063)] // 4.0.0+ [CommandHipc(1063)] // 4.0.0+
// SetStereoVisionRestriction(bool) // SetStereoVisionRestriction(bool)
public ResultCode SetStereoVisionRestriction(ServiceCtx context) public ResultCode SetStereoVisionRestriction(ServiceCtx context)
{ {
@ -194,14 +194,14 @@ namespace Ryujinx.HLE.HOS.Services.Pctl.ParentalControlServiceFactory
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1064)] // 5.0.0+ [CommandHipc(1064)] // 5.0.0+
// ResetConfirmedStereoVisionPermission() // ResetConfirmedStereoVisionPermission()
public ResultCode ResetConfirmedStereoVisionPermission(ServiceCtx context) public ResultCode ResetConfirmedStereoVisionPermission(ServiceCtx context)
{ {
return ResultCode.Success; return ResultCode.Success;
} }
[Command(1065)] // 5.0.0+ [CommandHipc(1065)] // 5.0.0+
// IsStereoVisionPermitted() -> bool // IsStereoVisionPermitted() -> bool
public ResultCode IsStereoVisionPermitted(ServiceCtx context) public ResultCode IsStereoVisionPermitted(ServiceCtx context)
{ {

View file

@ -7,7 +7,7 @@ namespace Ryujinx.HLE.HOS.Services.Pcv.Bpc
{ {
public IRtcManager(ServiceCtx context) { } public IRtcManager(ServiceCtx context) { }
[Command(0)] [CommandHipc(0)]
// GetRtcTime() -> u64 // GetRtcTime() -> u64
public ResultCode GetRtcTime(ServiceCtx context) public ResultCode GetRtcTime(ServiceCtx context)
{ {

View file

@ -5,7 +5,7 @@
{ {
public IShellInterface(ServiceCtx context) { } public IShellInterface(ServiceCtx context) { }
[Command(6)] [CommandHipc(6)]
// GetApplicationPid() -> u64 // GetApplicationPid() -> u64
public ResultCode GetApplicationPid(ServiceCtx context) public ResultCode GetApplicationPid(ServiceCtx context)
{ {

Some files were not shown because too many files have changed in this diff Show more