예제 #1
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0(null, im.GetBuffer <byte>(0x21, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(null, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISession: {im.CommandId}");
            }
        }
예제 #2
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                var ret = Unknown3();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to INewsDataService: {im.CommandId}");
            }
        }
예제 #3
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                var ret = Unknown0();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2();
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3(im.GetBuffer <byte>(0x16, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IAsyncValue: {im.CommandId}");
            }
        }
예제 #4
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // TransactParcel
                TransactParcel(im.GetData <int>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x5, 0), im.GetData <uint>(16), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // AdjustRefcount
                AdjustRefcount(im.GetData <int>(8), im.GetData <int>(12), im.GetData <int>(16));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // GetNativeHandle
                var ret = GetNativeHandle(im.GetData <int>(8), im.GetData <uint>(12));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 3: {                     // TransactParcelAuto
                TransactParcelAuto(im.GetData <int>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), im.GetData <uint>(16), im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IHOSBinderDriver: {im.CommandId}");
            }
        }
예제 #5
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // AddProcessToDebugLaunchQueue
                AddProcessToDebugLaunchQueue(null, im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // ClearDebugLaunchQueue
                ClearDebugLaunchQueue();
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // GetNsoInfos
                GetNsoInfos(null, out var _0, im.GetBuffer <byte>(0xA, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IDebugMonitorInterface: {im.CommandId}");
            }
        }
예제 #6
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // SetUrl
                SetUrl(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // ImportCrt
                ImportCrt(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // ImportPki
                ImportPki(im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x5, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // SetAutoUpload
                SetAutoUpload(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IControl: {im.CommandId}");
            }
        }
예제 #7
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetApplicationLaunchProperty
                var ret = GetApplicationLaunchProperty(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // GetApplicationLaunchPropertyWithApplicationId
                var ret = GetApplicationLaunchPropertyWithApplicationId(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // GetApplicationControlProperty
                GetApplicationControlProperty(null, im.GetBuffer <byte>(0x16, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // GetApplicationControlPropertyWithApplicationId
                GetApplicationControlPropertyWithApplicationId(null, im.GetBuffer <byte>(0x16, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IReader: {im.CommandId}");
            }
        }
예제 #8
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // BindClientProcess
                BindClientProcess(Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // Unknown4
                var ret = Unknown4(null);
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 5: {                     // Unknown5
                Unknown5(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // GetInterfaceStateChangeEvent
                var ret = GetInterfaceStateChangeEvent();
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 7: {                     // GetClientIfSession
                GetClientIfSession(null, im.GetBuffer <byte>(0x6, 0), im.GetBuffer <byte>(0x6, 1), out var _2);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(_2));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IClientRootSession: {im.CommandId}");
            }
        }
예제 #9
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 2001: {                     // Unknown2001
                var ret = Unknown2001(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2002: {                     // Unknown2002
                Unknown2002(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2003: {                     // Unknown2003
                var ret = Unknown2003(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2004: {                     // Unknown2004
                Unknown2004(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2005: {                     // Unknown2005
                Unknown2005(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2006: {                     // Unknown2006
                var ret = Unknown2006(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2007: {                     // Unknown2007
                Unknown2007(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2008: {                     // Unknown2008
                var ret = Unknown2008(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IAlbumAccessorSession: {im.CommandId}");
            }
        }
예제 #10
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateContext
                var ret = CreateContext(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetContextCount
                var ret = GetContextCount();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 2: {                     // GetCertificates
                GetCertificates(im.GetBuffer <byte>(0x5, 0), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 3: {                     // GetCertificateBufSize
                var ret = GetCertificateBufSize(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 4: {                     // DebugIoctl
                DebugIoctl(im.GetData <ulong>(8), im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // SetInterfaceVersion
                SetInterfaceVersion(im.GetData <uint>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // FlushSessionCache
                var ret = FlushSessionCache(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISslService: {im.CommandId}");
            }
        }
예제 #11
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 1: {                     // Unknown1
                Unknown1(null, im.GetBuffer <byte>(0x46, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null, im.GetBuffer <byte>(0x46, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1001: {                     // Unknown1001
                Unknown1001(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 1002: {                     // Unknown1002
                Unknown1002(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 1011: {                     // Unknown1011
                Unknown1011(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2001: {                     // Unknown2001
                Unknown2001(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2002: {                     // Unknown2002
                Unknown2002(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ICaptureControllerService: {im.CommandId}");
            }
        }
예제 #12
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // SubmitContext
                SubmitContext(im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x5, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // CreateReport
                CreateReport(null, im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x5, 1), im.GetBuffer <byte>(0x5, 2));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                Unknown2(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3();
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // Unknown4
                Unknown4();
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // Unknown5
                Unknown5();
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Unknown6
                var ret = Unknown6(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IContext: {im.CommandId}");
            }
        }
예제 #13
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Get
                Get(out var _0, im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 56);
                om.SetBytes(8, _0);
                break;
            }

            case 1: {                     // GetBase
                GetBase(out var _0);
                om.Initialize(0, 0, 56);
                om.SetBytes(8, _0);
                break;
            }

            case 10: {                     // GetImageSize
                var ret = GetImageSize();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 11: {                     // LoadImage
                LoadImage(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 100: {                     // Store
                Store(im.GetBytes(8, 0x38), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // StoreWithImage
                StoreWithImage(im.GetBytes(8, 0x38), im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IProfileEditor: {im.CommandId}");
            }
        }
예제 #14
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetVariable
                GetVariable(im.GetBytes(8, 0x40), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                break;
            }

            case 1: {                     // GetVariableLength
                var ret = GetVariableLength(im.GetBytes(8, 0x40));
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

            case 2: {                     // WaitUntilVariableAvailable
                WaitUntilVariableAvailable(im.GetData <ulong>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IService: {im.CommandId}");
            }
        }
예제 #15
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CreateProcess
                var ret = CreateProcess(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetProgramInfo
                GetProgramInfo(null, im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // RegisterTitle
                var ret = RegisterTitle(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // UnregisterTitle
                UnregisterTitle(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IProcessManagerInterface: {im.CommandId}");
            }
        }
예제 #16
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Issue
                Issue(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // SetApplicationLaunchProperty
                SetApplicationLaunchProperty(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // SetApplicationControlProperty
                SetApplicationControlProperty(im.GetBuffer <byte>(0x15, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IRegistrar: {im.CommandId}");
            }
        }
예제 #17
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Update
                Update(im.GetBuffer <byte>(0x19, 0), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 1: {                     // PersistOld
                PersistOld(im.GetBytes(8, 0x10), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 2: {                     // Persist
                Persist(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to INetworkProfile: {im.CommandId}");
            }
        }
예제 #18
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 1: {                     // BeginTrim
                BeginTrim(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBytes(16, 0x40));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // EndTrim
                EndTrim(out var _0);
                om.Initialize(0, 0, 64);
                om.SetBytes(8, _0);
                break;
            }

            case 10: {                     // GetNotTrimmingEvent
                var ret = GetNotTrimmingEvent();
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 20: {                     // SetThumbnailRgba
                SetThumbnailRgba(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x45, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IGameMovieTrimmer: {im.CommandId}");
            }
        }
예제 #19
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Open
                Open(im.GetBytes(8, 0x20), im.GetBytes(40, 0x20));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // Read
                Read(im.GetData <ulong>(8), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                break;
            }

            case 2: {                     // GetSize
                var ret = GetSize();
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

            case 3: {                     // GetDigest
                GetDigest(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IDeliveryCacheFileService: {im.CommandId}");
            }
        }
예제 #20
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize(null, im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 1: {                     // GetRequest
                var ret = GetRequest();
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Acknowledge
                Acknowledge();
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                Unknown3();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IPmModule: {im.CommandId}");
            }
        }
예제 #21
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // ResolveAddOnContentPath
                ResolveAddOnContentPath(null, im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // RegisterAddOnContentStorage
                RegisterAddOnContentStorage(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // UnregisterAllAddOnContentPath
                UnregisterAllAddOnContentPath();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IAddOnContentLocationResolver: {im.CommandId}");
            }
        }
예제 #22
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 1: {                     // Cancel
                Cancel();
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // GetResult
                GetResult();
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // GetMediaList
                GetMediaList(im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // SetMediaType
                SetMediaType(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // GetMediaType
                var ret = GetMediaType();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IEthInterface: {im.CommandId}");
            }
        }
예제 #23
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize();
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 1: {                     // UploadAll
                UploadAll();
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // UploadSelected
                UploadSelected(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // GetUploadStatus
                GetUploadStatus(im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // CancelUpload
                CancelUpload();
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // GetResult
                GetResult();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IRequest: {im.CommandId}");
            }
        }
예제 #24
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenSession
                var ret = OpenSession(null, Kernel.Get <KObject>(im.GetCopy(0)), Kernel.Get <KObject>(im.GetCopy(1)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // OpenSessionForTest
                var ret = OpenSessionForTest(null, Kernel.Get <KObject>(im.GetCopy(0)), Kernel.Get <KObject>(im.GetCopy(1)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // Unknown2
                var ret = Unknown2();
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // Unknown3
                var ret = Unknown3(im.GetBuffer <byte>(0x21, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // Unknown4
                var ret = Unknown4();
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // Unknown5
                Unknown5(out var _0, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Unknown6
                Unknown6(null, out var _0, out var _1);
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 7: {                     // Unknown7
                var ret = Unknown7(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IPortSession: {im.CommandId}");
            }
        }
예제 #25
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 10: {                     // TryGetLastMigrationInfo
                var ret = TryGetLastMigrationInfo();
                om.Initialize(0, 0, 0);
                break;
            }

            case 100: {                     // CreateServer
                var ret = CreateServer(null, Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 101: {                     // ResumeServer
                var ret = ResumeServer(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 200: {                     // CreateClient
                var ret = CreateClient(null, Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 201: {                     // ResumeClient
                var ret = ResumeClient(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IService: {im.CommandId}");
            }
        }
예제 #26
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RegisterProcess
                RegisterProcess(im.GetData <ulong>(8), im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x5, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // UnregisterProcess
                UnregisterProcess(im.GetData <ulong>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManagerInterface: {im.CommandId}");
            }
        }
예제 #27
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // PrepareAsync
                var ret = PrepareAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetRequest
                GetRequest(im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // ApplyResponse
                ApplyResponse(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // ApplyResponseAsync
                var ret = ApplyResponseAsync(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 10: {                     // Suspend
                Suspend(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IOAuthProcedure: {im.CommandId}");
            }
        }
예제 #28
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 201: {                     // Unknown201
                var ret = Unknown201(null, im.Pid, im.GetBuffer <byte>(0x45, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 202: {                     // Unknown202
                var ret = Unknown202(null, im.GetBuffer <byte>(0x45, 0), im.GetBuffer <byte>(0x45, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 203: {                     // Unknown203
                var ret = Unknown203(null, im.Pid, im.GetBuffer <byte>(0x45, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 204: {                     // Unknown204
                var ret = Unknown204(null, im.GetBuffer <byte>(0x45, 0), im.GetBuffer <byte>(0x45, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IScreenShotService: {im.CommandId}");
            }
        }
예제 #29
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // PrepareAsync
                var ret = PrepareAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 1: {                     // GetRequest
                GetRequest(im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // ApplyResponse
                ApplyResponse(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // ApplyResponseAsync
                var ret = ApplyResponseAsync(im.GetBuffer <byte>(0x9, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 10: {                     // Suspend
                Suspend(out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 100: {                     // GetRequestWithTheme
                GetRequestWithTheme(im.GetData <uint>(8), im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x1A, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // IsNetworkServiceAccountReplaced
                var ret = IsNetworkServiceAccountReplaced();
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 199: {                     // GetUrlForIntroductionOfExtraMembership
                GetUrlForIntroductionOfExtraMembership(im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IOAuthProcedureForNintendoAccountLinkage: {im.CommandId}");
            }
        }
예제 #30
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetDebugProcesses
                GetDebugProcesses(null, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1: {                     // StartDebugProcess
                StartDebugProcess(out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2: {                     // GetTitlePid
                GetTitlePid(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 3: {                     // EnableDebugForTitleId
                var ret = EnableDebugForTitleId(null);
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // GetApplicationPid
                var ret = GetApplicationPid(null);
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 5: {                     // EnableDebugForApplication
                var ret = EnableDebugForApplication();
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // DisableDebug
                var ret = DisableDebug();
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IDebugMonitorInterface: {im.CommandId}");
            }
        }