示例#1
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}");
            }
        }
示例#2
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}");
            }
        }
示例#3
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize(im.GetData <ulong>(8), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IDebugger: {im.CommandId}");
            }
        }
示例#4
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}");
            }
        }
示例#5
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}");
            }
        }
示例#6
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}");
            }
        }
示例#7
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 1: {                     // OpenContinuousRecorder
                var ret = OpenContinuousRecorder(null, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 2: {                     // OpenGameMovieTrimmer
                var ret = OpenGameMovieTrimmer(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 IGrcService: {im.CommandId}");
            }
        }
示例#8
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RegisterClassDriver
                RegisterClassDriver(null, Kernel.Get <KObject>(im.GetCopy(0)), out var _0, out var _1);
                om.Initialize(1, 1, 0);
                om.Copy(0, CreateHandle(_0, copy: true));
                om.Move(0, CreateHandle(_1));
                break;
            }

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IManager: {im.CommandId}");
            }
        }
示例#9
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // LoadNro
                var ret = LoadNro(im.GetData <ulong>(8), im.GetData <ulong>(16), im.GetData <ulong>(24), im.GetData <ulong>(32), im.GetData <ulong>(40), im.Pid);
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

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

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

            case 3: {                     // UnloadNrr
                UnloadNrr(im.GetData <ulong>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // Initialize
                Initialize(im.GetData <ulong>(8), im.Pid, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IRoInterface: {im.CommandId}");
            }
        }
示例#10
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // OpenLog
                var ret = OpenLog(Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to INvDrvDebugFSServices: {im.CommandId}");
            }
        }
示例#11
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CheckAvailability
                CheckAvailability();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 2: {                     // EnsureIdTokenCacheAsync
                var ret = EnsureIdTokenCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

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

            case 150: {                     // CreateAuthorizationRequest
                var ret = CreateAuthorizationRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IManagerForApplication: {im.CommandId}");
            }
        }
示例#12
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                var ret = Initialize(im.GetBytes(8, 0x8), im.GetData <uint>(16), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 2: {                     // InitializeMultiStream
                var ret = InitializeMultiStream(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IHardwareOpusDecoderManager: {im.CommandId}");
            }
        }
示例#13
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetUserCount
                var ret = GetUserCount();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

            case 5: {                     // GetProfile
                var ret = GetProfile(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 50: {                     // IsUserRegistrationRequestPermitted
                var ret = IsUserRegistrationRequestPermitted(im.GetData <ulong>(8), im.Pid);
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 51: {                     // TrySelectUserWithoutInteraction
                TrySelectUserWithoutInteraction(im.GetData <byte>(8), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

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

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

            case 101: {                     // GetBaasAccountManagerForApplication
                var ret = GetBaasAccountManagerForApplication(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 102: {                     // AuthenticateApplicationAsync
                var ret = AuthenticateApplicationAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 103: {                     // CheckNetworkServiceAvailabilityAsync
                var ret = CheckNetworkServiceAvailabilityAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 110: {                     // StoreSaveDataThumbnail
                StoreSaveDataThumbnail(im.GetBytes(8, 0x10), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 111: {                     // ClearSaveDataThumbnail
                ClearSaveDataThumbnail(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 120: {                     // CreateGuestLoginRequest
                var ret = CreateGuestLoginRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IAccountServiceForApplication: {im.CommandId}");
            }
        }
示例#14
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0(im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

            case 7: {                     // SwitchTsfTimerFunction
                SwitchTsfTimerFunction(null);
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 9: {                     // Unknown9
                Unknown9(null, Kernel.Get <KObject>(im.GetCopy(0)), Kernel.Get <KObject>(im.GetCopy(1)), Kernel.Get <KObject>(im.GetCopy(2)), Kernel.Get <KObject>(im.GetCopy(3)), Kernel.Get <KObject>(im.GetCopy(4)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Unknown10
                Unknown10();
                om.Initialize(0, 0, 0);
                break;
            }

            case 11: {                     // Unknown11
                Unknown11();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISocketManager: {im.CommandId}");
            }
        }
示例#15
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CheckAvailability
                CheckAvailability();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 2: {                     // EnsureIdTokenCacheAsync
                var ret = EnsureIdTokenCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 100: {                     // SetSystemProgramIdentification
                SetSystemProgramIdentification(im.GetData <ulong>(8), im.Pid, im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 110: {                     // GetServiceEntryRequirementCache
                var ret = GetServiceEntryRequirementCache(im.GetData <ulong>(8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

            case 131: {                     // RefreshNintendoAccountUserResourceCacheAsync
                var ret = RefreshNintendoAccountUserResourceCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 132: {                     // RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed
                RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed(im.GetData <uint>(8), out var _0, out var _1);
                om.Initialize(1, 0, 1);
                om.SetData(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

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

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

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

            case 150: {                     // CreateAuthorizationRequest
                var ret = CreateAuthorizationRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 201: {                     // RegisterAsync
                var ret = RegisterAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 202: {                     // UnregisterAsync
                var ret = UnregisterAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 203: {                     // DeleteRegistrationInfoLocally
                DeleteRegistrationInfoLocally();
                om.Initialize(0, 0, 0);
                break;
            }

            case 220: {                     // SynchronizeProfileAsync
                var ret = SynchronizeProfileAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 221: {                     // UploadProfileAsync
                var ret = UploadProfileAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 222: {                     // SynchronizeProfileAsyncIfSecondsElapsed
                SynchronizeProfileAsyncIfSecondsElapsed(im.GetData <uint>(8), out var _0, out var _1);
                om.Initialize(1, 0, 1);
                om.SetData(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

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

            case 251: {                     // CreateProcedureToLinkWithNintendoAccount
                var ret = CreateProcedureToLinkWithNintendoAccount();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 252: {                     // ResumeProcedureToLinkWithNintendoAccount
                var ret = ResumeProcedureToLinkWithNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 255: {                     // CreateProcedureToUpdateLinkageStateOfNintendoAccount
                var ret = CreateProcedureToUpdateLinkageStateOfNintendoAccount();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 256: {                     // ResumeProcedureToUpdateLinkageStateOfNintendoAccount
                var ret = ResumeProcedureToUpdateLinkageStateOfNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 260: {                     // CreateProcedureToLinkNnidWithNintendoAccount
                var ret = CreateProcedureToLinkNnidWithNintendoAccount();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 261: {                     // ResumeProcedureToLinkNnidWithNintendoAccount
                var ret = ResumeProcedureToLinkNnidWithNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 280: {                     // ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount
                var ret = ProxyProcedureToAcquireApplicationAuthorizationForNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 997: {                     // DebugUnlinkNintendoAccountAsync
                var ret = DebugUnlinkNintendoAccountAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IAdministrator: {im.CommandId}");
            }
        }
示例#16
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // CheckAvailability
                CheckAvailability();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 2: {                     // EnsureIdTokenCacheAsync
                var ret = EnsureIdTokenCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 100: {                     // SetSystemProgramIdentification
                SetSystemProgramIdentification(im.GetData <ulong>(8), im.Pid, im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 110: {                     // GetServiceEntryRequirementCache
                var ret = GetServiceEntryRequirementCache(im.GetData <ulong>(8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

            case 131: {                     // RefreshNintendoAccountUserResourceCacheAsync
                var ret = RefreshNintendoAccountUserResourceCacheAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 132: {                     // RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed
                RefreshNintendoAccountUserResourceCacheAsyncIfSecondsElapsed(im.GetData <uint>(8), out var _0, out var _1);
                om.Initialize(1, 0, 1);
                om.SetData(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

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

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

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

            case 150: {                     // CreateAuthorizationRequest
                var ret = CreateAuthorizationRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IManagerForSystemService: {im.CommandId}");
            }
        }
示例#17
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Open
                Open(im.GetBuffer <byte>(0x5, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 1: {                     // Ioctl
                Ioctl(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), out var _0, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 2: {                     // _Close
                var ret = _Close(im.GetData <uint>(8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 3: {                     // Initialize
                var ret = Initialize(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)), Kernel.Get <KObject>(im.GetCopy(1)));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 4: {                     // QueryEvent
                QueryEvent(im.GetData <uint>(8), im.GetData <uint>(12), out var _0, out var _1);
                om.Initialize(0, 1, 4);
                om.SetData(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 5: {                     // MapSharedMem
                var ret = MapSharedMem(im.GetData <uint>(8), im.GetData <uint>(12), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

            case 7: {                     // ForceSetClientPID
                var ret = ForceSetClientPID(im.GetData <ulong>(8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 8: {                     // SetClientPID
                var ret = SetClientPID(im.GetData <ulong>(8), im.Pid);
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 9: {                     // DumpGraphicsMemoryInfo
                DumpGraphicsMemoryInfo();
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Unknown10
                var ret = Unknown10(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 11: {                     // Ioctl2
                Ioctl2(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), im.GetBuffer <byte>(0x21, 1), out var _0, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 12: {                     // Ioctl3
                Ioctl3(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), out var _0, im.GetBuffer <byte>(0x22, 0), im.GetBuffer <byte>(0x22, 1));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 13: {                     // Unknown13
                Unknown13(null);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to INvDrvServices: {im.CommandId}");
            }
        }
示例#18
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IClientEpSession: {im.CommandId}");
            }
        }
示例#19
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RegisterClient
                var ret = RegisterClient((Nn.Socket.BsdBufferConfig *)im.GetDataPointer(8), im.GetData <ulong>(8), im.GetData <ulong>(16), Kernel.Get <KObject>(im.GetCopy(0)), im.Pid);
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

            case 2: {                     // Socket
                Socket(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 3: {                     // SocketExempt
                SocketExempt(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 4: {                     // Open
                Open(im.GetData <uint>(8), im.GetBuffer <byte>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 5: {                     // Select
                Select(im.GetData <uint>(8), (Nn.Socket.Timeout *)im.GetDataPointer(12), im.GetBuffer <byte>(0x21, 0), im.GetBuffer <byte>(0x21, 1), im.GetBuffer <byte>(0x21, 2), out var _0, out var _1, im.GetBuffer <byte>(0x22, 0), im.GetBuffer <byte>(0x22, 1), im.GetBuffer <byte>(0x22, 2));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 6: {                     // Poll
                Poll(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), out var _0, out var _1, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 7: {                     // Sysctl
                Sysctl(im.GetBuffer <byte>(0x21, 0), im.GetBuffer <byte>(0x21, 1), out var _0, out var _1, out var _2, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 8: {                     // Recv
                Recv(im.GetData <uint>(8), im.GetData <uint>(12), out var _0, out var _1, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 9: {                     // RecvFrom
                RecvFrom(im.GetData <uint>(8), im.GetData <uint>(12), out var _0, out var _1, out var _2, im.GetBuffer <byte>(0x22, 0), im.GetBuffer <Nn.Socket.Sockaddr>(0x22, 1));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 10: {                     // Send
                Send(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 11: {                     // SendTo
                SendTo(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBuffer <byte>(0x21, 0), im.GetBuffer <Nn.Socket.Sockaddr>(0x21, 1), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 12: {                     // Accept
                Accept(im.GetData <uint>(8), out var _0, out var _1, out var _2, im.GetBuffer <Nn.Socket.Sockaddr>(0x22, 0));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 13: {                     // Bind
                Bind(im.GetData <uint>(8), im.GetBuffer <Nn.Socket.Sockaddr>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 14: {                     // Connect
                Connect(im.GetData <uint>(8), im.GetBuffer <Nn.Socket.Sockaddr>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 15: {                     // GetPeerName
                GetPeerName(im.GetData <uint>(8), out var _0, out var _1, out var _2, im.GetBuffer <Nn.Socket.Sockaddr>(0x22, 0));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 16: {                     // GetSockName
                GetSockName(im.GetData <uint>(8), out var _0, out var _1, out var _2, im.GetBuffer <Nn.Socket.Sockaddr>(0x22, 0));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 17: {                     // GetSockOpt
                GetSockOpt(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), out var _0, out var _1, out var _2, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 12);
                om.SetData(8, _0);
                om.SetData(12, _1);
                om.SetData(16, _2);
                break;
            }

            case 18: {                     // Listen
                Listen(im.GetData <uint>(8), im.GetData <uint>(12), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 19: {                     // Ioctl
                Ioctl(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), im.GetBuffer <byte>(0x21, 0), im.GetBuffer <byte>(0x21, 1), im.GetBuffer <byte>(0x21, 2), im.GetBuffer <byte>(0x21, 3), out var _0, out var _1, im.GetBuffer <byte>(0x22, 0), im.GetBuffer <byte>(0x22, 1), im.GetBuffer <byte>(0x22, 2), im.GetBuffer <byte>(0x22, 3));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 20: {                     // Fcntl
                Fcntl(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 21: {                     // SetSockOpt
                SetSockOpt(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), im.GetBuffer <byte>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 22: {                     // Shutdown
                Shutdown(im.GetData <uint>(8), im.GetData <uint>(12), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 23: {                     // ShutdownAllSockets
                ShutdownAllSockets(im.GetData <uint>(8), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 24: {                     // Write
                Write(im.GetData <uint>(8), im.GetBuffer <byte>(0x21, 0), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 25: {                     // Read
                Read(im.GetData <uint>(8), out var _0, out var _1, im.GetBuffer <sbyte>(0x22, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 26: {                     // _Close
                _Close(im.GetData <uint>(8), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 27: {                     // DuplicateSocket
                DuplicateSocket(im.GetData <uint>(8), im.GetData <ulong>(16), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 28: {                     // GetResourceStatistics
                GetResourceStatistics(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <ulong>(16), im.Pid, out var _0, out var _1, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 29: {                     // RecvMMsg
                RecvMMsg(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), im.GetData <UInt128>(32), out var _0, out var _1, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 30: {                     // SendMMsg
                SendMMsg(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), im.GetBuffer <byte>(0x21, 0), im.GetBuffer <byte>(0x21, 1), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IClient: {im.CommandId}");
            }
        }
示例#20
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 302: {                     // ActivateIrsensor
                ActivateIrsensor(im.GetData <ulong>(8), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 304: {                     // GetIrsensorSharedMemoryHandle
                var ret = GetIrsensorSharedMemoryHandle(im.GetData <ulong>(8), im.Pid);
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 305: {                     // StopImageProcessor
                StopImageProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 306: {                     // RunMomentProcessor
                RunMomentProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.GetBytes(24, 0x20), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 307: {                     // RunClusteringProcessor
                RunClusteringProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.GetBytes(24, 0x28), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 308: {                     // RunImageTransferProcessor
                RunImageTransferProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.GetBytes(24, 0x18), im.GetData <ulong>(48), im.Pid, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 309: {                     // GetImageTransferProcessorState
                GetImageTransferProcessorState(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 310: {                     // RunTeraPluginProcessor
                RunTeraPluginProcessor(im.GetData <uint>(8), im.GetBytes(12, 0x8), im.GetData <ulong>(24), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 311: {                     // GetNpadIrCameraHandle
                var ret = GetNpadIrCameraHandle(im.GetData <uint>(8));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

            case 312: {                     // RunPointingProcessor
                RunPointingProcessor(im.GetData <uint>(8), im.GetBytes(12, 0xC), im.GetData <ulong>(24), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 313: {                     // SuspendImageProcessor
                SuspendImageProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 314: {                     // CheckFirmwareVersion
                CheckFirmwareVersion(im.GetData <uint>(8), im.GetBytes(12, 0x4), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 315: {                     // SetFunctionLevel
                SetFunctionLevel(im.GetData <uint>(8), im.GetBytes(12, 0x4), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 316: {                     // RunImageTransferExProcessor
                RunImageTransferExProcessor(im.GetData <uint>(8), im.GetData <ulong>(16), im.GetBytes(24, 0x20), im.GetData <ulong>(56), im.Pid, Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(0, 0, 0);
                break;
            }

            case 317: {                     // RunIrLedProcessor
                RunIrLedProcessor(im.GetData <uint>(8), im.GetBytes(12, 0x8), im.GetData <ulong>(24), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 318: {                     // StopImageProcessorAsync
                StopImageProcessorAsync(im.GetData <uint>(8), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            case 319: {                     // ActivateIrsensorWithFunctionLevel
                ActivateIrsensorWithFunctionLevel(im.GetBytes(8, 0x4), im.GetData <ulong>(16), im.Pid);
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IIrSensorServer: {im.CommandId}");
            }
        }
示例#21
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetUserCount
                var ret = GetUserCount();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

            case 5: {                     // GetProfile
                var ret = GetProfile(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

            case 50: {                     // IsUserRegistrationRequestPermitted
                var ret = IsUserRegistrationRequestPermitted(im.GetData <ulong>(8), im.Pid);
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

            case 51: {                     // TrySelectUserWithoutInteraction
                TrySelectUserWithoutInteraction(im.GetData <byte>(8), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

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

            case 100: {                     // GetUserRegistrationNotifier
                var ret = GetUserRegistrationNotifier();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 101: {                     // GetUserStateChangeNotifier
                var ret = GetUserStateChangeNotifier();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 102: {                     // GetBaasAccountManagerForSystemService
                var ret = GetBaasAccountManagerForSystemService(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 103: {                     // GetBaasUserAvailabilityChangeNotifier
                var ret = GetBaasUserAvailabilityChangeNotifier();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 104: {                     // GetProfileUpdateNotifier
                var ret = GetProfileUpdateNotifier();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 105: {                     // CheckNetworkServiceAvailabilityAsync
                var ret = CheckNetworkServiceAvailabilityAsync(im.GetData <ulong>(8), im.Pid, im.GetBuffer <byte>(0x19, 0));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 110: {                     // StoreSaveDataThumbnail
                StoreSaveDataThumbnail(im.GetBytes(8, 0x10), im.GetData <ulong>(24), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 111: {                     // ClearSaveDataThumbnail
                ClearSaveDataThumbnail(im.GetBytes(8, 0x10), im.GetData <ulong>(24));
                om.Initialize(0, 0, 0);
                break;
            }

            case 112: {                     // LoadSaveDataThumbnail
                LoadSaveDataThumbnail(im.GetBytes(8, 0x10), im.GetData <ulong>(24), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

            case 190: {                     // GetUserLastOpenedApplication
                GetUserLastOpenedApplication(im.GetBytes(8, 0x10), out var _0, out var _1);
                om.Initialize(0, 0, 16);
                om.SetData(8, _0);
                om.SetData(16, _1);
                break;
            }

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

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

            case 201: {                     // CompleteUserRegistration
                CompleteUserRegistration(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 202: {                     // CancelUserRegistration
                CancelUserRegistration(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 203: {                     // DeleteUser
                DeleteUser(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 204: {                     // SetUserPosition
                SetUserPosition(im.GetData <uint>(8), im.GetBytes(12, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 205: {                     // GetProfileEditor
                var ret = GetProfileEditor(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 206: {                     // CompleteUserRegistrationForcibly
                CompleteUserRegistrationForcibly(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 210: {                     // CreateFloatingRegistrationRequest
                var ret = CreateFloatingRegistrationRequest(im.GetData <uint>(8), Kernel.Get <KObject>(im.GetCopy(0)));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 230: {                     // AuthenticateServiceAsync
                var ret = AuthenticateServiceAsync();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 250: {                     // GetBaasAccountAdministrator
                var ret = GetBaasAccountAdministrator(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 290: {                     // ProxyProcedureForGuestLoginWithNintendoAccount
                var ret = ProxyProcedureForGuestLoginWithNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 291: {                     // ProxyProcedureForFloatingRegistrationWithNintendoAccount
                var ret = ProxyProcedureForFloatingRegistrationWithNintendoAccount(im.GetBytes(8, 0x10));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 299: {                     // SuspendBackgroundDaemon
                var ret = SuspendBackgroundDaemon();
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 997: {                     // DebugInvalidateTokenCacheForUser
                DebugInvalidateTokenCacheForUser(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 998: {                     // DebugSetUserStateClose
                DebugSetUserStateClose(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            case 999: {                     // DebugSetUserStateOpen
                DebugSetUserStateOpen(im.GetBytes(8, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IAccountServiceForAdministrator: {im.CommandId}");
            }
        }
示例#22
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetOperationMode
                var ret = GetOperationMode();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

            case 6: {                     // FadeInDisplay
                FadeInDisplay();
                om.Initialize(0, 0, 0);
                break;
            }

            case 7: {                     // FadeOutDisplay
                FadeOutDisplay();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 9: {                     // Unknown9
                Unknown9();
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Unknown10
                Unknown10(null);
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 13: {                     // Unknown13
                Unknown13();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 15: {                     // Unknown15
                Unknown15();
                om.Initialize(0, 0, 0);
                break;
            }

            case 16: {                     // Unknown16
                Unknown16();
                om.Initialize(0, 0, 0);
                break;
            }

            case 17: {                     // Unknown17
                Unknown17();
                om.Initialize(0, 0, 0);
                break;
            }

            case 18: {                     // Unknown18
                Unknown18();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 21: {                     // Unknown21
                Unknown21(null);
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IOperationModeManager: {im.CommandId}");
            }
        }
示例#23
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // BindDevice
                BindDevice(im.GetData <uint>(8));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 2: {                     // RegisterInterface
                var ret = RegisterInterface(im.GetData <byte>(8));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

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

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

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

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

            case 7: {                     // DeleteUsbStringDescriptor
                DeleteUsbStringDescriptor(im.GetData <byte>(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 8: {                     // SetUsbDeviceDescriptor
                SetUsbDeviceDescriptor(im.GetData <Nn.Usb.UsbDeviceSpeed>(8), im.GetBuffer <Nn.Usb.UsbDeviceDescriptor>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 9: {                     // SetBinaryObjectStore
                SetBinaryObjectStore(im.GetBuffer <Nn.Usb.UsbBosDescriptor>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Enable
                Enable();
                om.Initialize(0, 0, 0);
                break;
            }

            case 11: {                     // Disable
                Disable();
                om.Initialize(0, 0, 0);
                break;
            }

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