aboutsummaryrefslogblamecommitdiff
path: root/Ryujinx.HLE/HOS/Services/Ns/IApplicationManagerInterface.cs
blob: d3a89178245fc05483dc730419adc55415b5b813 (plain) (tree)
1
2
3
4
5
6
7
8
9
                                        
 
                      
                                                   
                                                                   
 
                          
                                                                                 
                                                                       
         
                                                                  
                                                             
 
                                                                     
 
                                                                                        
 
                                                     
 
                                      
         
     
 
namespace Ryujinx.HLE.HOS.Services.Ns
{
    [Service("ns:am")]
    class IApplicationManagerInterface : IpcService
    {
        public IApplicationManagerInterface(ServiceCtx context) { }

        [CommandHipc(400)]
        // GetApplicationControlData(u8, u64) -> (unknown<4>, buffer<unknown, 6>)
        public ResultCode GetApplicationControlData(ServiceCtx context)
        {
            byte  source  = (byte)context.RequestData.ReadInt64();
            ulong titleId = context.RequestData.ReadUInt64();

            ulong position = context.Request.ReceiveBuff[0].Position;

            byte[] nacpData = context.Device.Application.ControlData.ByteSpan.ToArray();

            context.Memory.Write(position, nacpData);

            return ResultCode.Success;
        }
    }
}