2023-03-31 20:16:46 +01:00
|
|
|
|
using LibHac.Ns;
|
|
|
|
|
using Ryujinx.Common.Utilities;
|
|
|
|
|
using System;
|
|
|
|
|
|
|
|
|
|
namespace Ryujinx.HLE.HOS.Services.Ns
|
2018-11-18 19:37:41 +00:00
|
|
|
|
{
|
2019-07-10 16:59:54 +01:00
|
|
|
|
[Service("ns:am")]
|
2018-11-18 19:37:41 +00:00
|
|
|
|
class IApplicationManagerInterface : IpcService
|
|
|
|
|
{
|
2019-07-12 02:13:43 +01:00
|
|
|
|
public IApplicationManagerInterface(ServiceCtx context) { }
|
2019-02-14 00:44:39 +00:00
|
|
|
|
|
2021-04-13 23:01:24 +01:00
|
|
|
|
[CommandHipc(400)]
|
2020-01-05 11:49:44 +00:00
|
|
|
|
// GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
|
2019-07-14 20:04:38 +01:00
|
|
|
|
public ResultCode GetApplicationControlData(ServiceCtx context)
|
2019-02-14 00:44:39 +00:00
|
|
|
|
{
|
2020-01-05 11:49:44 +00:00
|
|
|
|
byte source = (byte)context.RequestData.ReadInt64();
|
2020-04-28 02:44:29 +01:00
|
|
|
|
ulong titleId = context.RequestData.ReadUInt64();
|
2019-02-14 00:44:39 +00:00
|
|
|
|
|
2021-04-24 11:16:01 +01:00
|
|
|
|
ulong position = context.Request.ReceiveBuff[0].Position;
|
2019-02-14 00:44:39 +00:00
|
|
|
|
|
2023-03-31 20:16:46 +01:00
|
|
|
|
ApplicationControlProperty nacp = context.Device.Processes.ActiveApplication.ApplicationControlProperties;
|
2019-02-14 00:44:39 +00:00
|
|
|
|
|
2023-03-31 20:16:46 +01:00
|
|
|
|
context.Memory.Write(position, SpanHelpers.AsByteSpan(ref nacp).ToArray());
|
2019-02-14 00:44:39 +00:00
|
|
|
|
|
2019-07-14 20:04:38 +01:00
|
|
|
|
return ResultCode.Success;
|
2019-02-14 00:44:39 +00:00
|
|
|
|
}
|
2018-11-18 19:37:41 +00:00
|
|
|
|
}
|
2019-07-12 02:13:43 +01:00
|
|
|
|
}
|