예제 #1
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}");
            }
        }
예제 #2
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}");
            }
        }
예제 #3
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Initialize
                Initialize(im.Pid, im.GetData <ulong>(8));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 2: {                     // RegisterService
                var ret = RegisterService(im.GetBytes(8, 0x8), im.GetData <byte>(16), im.GetData <uint>(20));
                om.Initialize(1, 0, 0);
                om.Move(0, CreateHandle(ret));
                break;
            }

            case 3: {                     // UnregisterService
                UnregisterService(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IUserInterface: {im.CommandId}");
            }
        }
예제 #4
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}");
            }
        }
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetCurrentTime
                var ret = GetCurrentTime();
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

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

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

            case 3: {                     // SetSystemClockContext
                SetSystemClockContext(im.GetBytes(8, 0x20));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IServiceCreator: {im.CommandId}");
            }
        }
예제 #7
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}");
            }
        }
예제 #8
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}");
            }
        }
예제 #9
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Open
                Open(im.GetBytes(8, 0x20));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IDeliveryCacheDirectoryService: {im.CommandId}");
            }
        }
예제 #10
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RequestLoad
                RequestLoad(im.GetData <uint>(8));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 5: {                     // GetSharedFontInOrderOfPriority
                GetSharedFontInOrderOfPriority(im.GetBytes(8, 0x8), out var _0, out var _1, im.GetBuffer <byte>(0x6, 0), im.GetBuffer <byte>(0x6, 1), im.GetBuffer <byte>(0x6, 2));
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISharedFontManager: {im.CommandId}");
            }
        }
예제 #11
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}");
            }
        }
예제 #12
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 201: {                     // SaveScreenShot
                SaveScreenShot(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <ulong>(16), im.Pid, im.GetBuffer <byte>(0x45, 0), out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

            case 203: {                     // SaveScreenShotEx0
                SaveScreenShotEx0(im.GetBytes(8, 0x40), im.GetData <uint>(72), im.GetData <ulong>(80), im.Pid, im.GetBuffer <byte>(0x45, 0), out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

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

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

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

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

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

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

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

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

            case 3: {                     // StartDetection
                StartDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // StopDetection
                StopDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // Mount
                Mount(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetData <uint>(20));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Unmount
                Unmount(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 7: {                     // OpenApplicationArea
                OpenApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 9: {                     // SetApplicationArea
                SetApplicationArea(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Flush
                Flush(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 11: {                     // Restore
                Restore(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 12: {                     // CreateApplicationArea
                CreateApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 13: {                     // GetTagInfo
                GetTagInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 14: {                     // GetRegisterInfo
                GetRegisterInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 15: {                     // GetCommonInfo
                GetCommonInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 16: {                     // GetModelInfo
                GetModelInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 17: {                     // AttachActivateEvent
                var ret = AttachActivateEvent(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 18: {                     // AttachDeactivateEvent
                var ret = AttachDeactivateEvent(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

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

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

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

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

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

            case 24: {                     // RecreateApplicationArea
                RecreateApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 100: {                     // Format
                Format(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // GetAdminInfo
                GetAdminInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 102: {                     // GetRegisterInfo2
                GetRegisterInfo2(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 103: {                     // SetRegisterInfo
                SetRegisterInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 104: {                     // DeleteRegisterInfo
                DeleteRegisterInfo(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 105: {                     // DeleteApplicationArea
                DeleteApplicationArea(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 200: {                     // GetAll
                GetAll(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 201: {                     // SetAll
                SetAll(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 203: {                     // BreakTag
                BreakTag(im.GetBytes(8, 0x8), im.GetData <uint>(16));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 206: {                     // WriteNtf
                WriteNtf(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 300: {                     // Unknown300
                Unknown300(im.GetData <ulong>(8), im.GetData <ulong>(16), im.Pid, im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 301: {                     // Unknown301
                Unknown301();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 303: {                     // Unknown303
                Unknown303(im.GetBytes(8, 0x8), im.GetData <uint>(16));
                om.Initialize(0, 0, 0);
                break;
            }

            case 304: {                     // Unknown304
                Unknown304(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 305: {                     // Unknown305
                Unknown305(im.GetBytes(8, 0x8), im.GetData <ulong>(16), im.GetBuffer <byte>(0x5, 0), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 306: {                     // Unknown306
                Unknown306(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 307: {                     // Unknown307
                var ret = Unknown307(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 308: {                     // Unknown308
                var ret = Unknown308(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

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

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

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

            case 312: {                     // Unknown312
                Unknown312(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 313: {                     // Unknown313
                Unknown313(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 3: {                     // StartDetection
                StartDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // StopDetection
                StopDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // Mount
                Mount(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetData <uint>(20));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Unmount
                Unmount(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 7: {                     // OpenApplicationArea
                OpenApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 9: {                     // SetApplicationArea
                SetApplicationArea(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10: {                     // Flush
                Flush(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 11: {                     // Restore
                Restore(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 12: {                     // CreateApplicationArea
                CreateApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 13: {                     // GetTagInfo
                GetTagInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 14: {                     // GetRegisterInfo
                GetRegisterInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 15: {                     // GetCommonInfo
                GetCommonInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 16: {                     // GetModelInfo
                GetModelInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 17: {                     // AttachActivateEvent
                var ret = AttachActivateEvent(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 18: {                     // AttachDeactivateEvent
                var ret = AttachDeactivateEvent(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

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

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

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

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

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

            case 24: {                     // RecreateApplicationArea
                RecreateApplicationArea(im.GetBytes(8, 0x8), im.GetData <uint>(16), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            case 3: {                     // StartDetection
                StartDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 4: {                     // StopDetection
                StopDetection(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 5: {                     // Read
                Read(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x5, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 6: {                     // Write
                Write(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 7: {                     // GetTagInfo
                GetTagInfo(im.GetBytes(8, 0x8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 8: {                     // GetActivateEventHandle
                var ret = GetActivateEventHandle(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

            case 9: {                     // GetDeactivateEventHandle
                var ret = GetDeactivateEventHandle(im.GetBytes(8, 0x8));
                om.Initialize(0, 1, 0);
                om.Copy(0, CreateHandle(ret, copy: true));
                break;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            case 6: {                     // EnumerateNetworkInterfaces
                EnumerateNetworkInterfaces(im.GetData <uint>(8), out var _0, im.GetBuffer <byte>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

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

            case 9: {                     // SetNetworkProfile
                SetNetworkProfile(im.GetBuffer <byte>(0x19, 0), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

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

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

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

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

            case 14: {                     // CreateTemporaryNetworkProfile
                CreateTemporaryNetworkProfile(im.GetBuffer <byte>(0x19, 0), out var _0, out var _1);
                om.Initialize(1, 0, 16);
                om.SetBytes(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

            case 15: {                     // GetCurrentIpConfigInfo
                GetCurrentIpConfigInfo(out var _0, out var _1);
                om.Initialize(0, 0, 22);
                om.SetBytes(8, _0);
                om.SetBytes(21, _1);
                break;
            }

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

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

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

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

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

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

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

            case 23: {                     // PutToSleep
                PutToSleep();
                om.Initialize(0, 0, 0);
                break;
            }

            case 24: {                     // WakeUp
                WakeUp();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 26: {                     // SetExclusiveClient
                SetExclusiveClient(im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 28: {                     // SetDefaultIpSetting
                SetDefaultIpSetting(im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 33: {                     // ConfirmSystemAvailability
                ConfirmSystemAvailability();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            case 37: {                     // Shutdown
                Shutdown();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 10100: {                     // GetFriendListIds
                GetFriendListIds(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetBytes(28, 0x10), im.GetData <ulong>(48), im.Pid, out var _0, im.GetBuffer <ulong>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 10101: {                     // GetFriendList
                GetFriendList(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetBytes(28, 0x10), im.GetData <ulong>(48), im.Pid, out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 10102: {                     // UpdateFriendInfo
                UpdateFriendInfo(im.GetBytes(8, 0x10), im.GetData <ulong>(24), im.Pid, im.GetBuffer <ulong>(0x9, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10110: {                     // GetFriendProfileImage
                GetFriendProfileImage(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 10200: {                     // SendFriendRequestForApplication
                SendFriendRequestForApplication(im.GetBytes(8, 0x10), im.GetData <ulong>(24), im.GetData <ulong>(32), im.Pid, im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10211: {                     // AddFacedFriendRequestForApplication
                AddFacedFriendRequestForApplication(im.GetBytes(8, 0x40), im.GetBytes(72, 0x21), im.GetBytes(105, 0x10), im.GetData <ulong>(128), im.Pid, im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10400: {                     // GetBlockedUserListIds
                GetBlockedUserListIds(im.GetData <uint>(8), im.GetBytes(12, 0x10), out var _0, im.GetBuffer <ulong>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 10500: {                     // GetProfileList
                GetProfileList(im.GetBytes(8, 0x10), im.GetBuffer <ulong>(0x9, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 10610: {                     // UpdateUserPresence
                UpdateUserPresence(im.GetBytes(8, 0x10), im.GetData <ulong>(24), im.Pid, im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10700: {                     // GetPlayHistoryRegistrationKey
                GetPlayHistoryRegistrationKey(im.GetData <byte>(8), im.GetBytes(9, 0x10), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10701: {                     // GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId
                GetPlayHistoryRegistrationKeyWithNetworkServiceAccountId(im.GetData <byte>(8), im.GetData <ulong>(16), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 10702: {                     // AddPlayHistory
                AddPlayHistory(im.GetBytes(8, 0x10), im.GetData <ulong>(24), im.Pid, im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1), im.GetBuffer <byte>(0x19, 2));
                om.Initialize(0, 0, 0);
                break;
            }

            case 11000: {                     // GetProfileImageUrl
                GetProfileImageUrl(im.GetBytes(8, 0xA0), im.GetData <uint>(168), out var _0);
                om.Initialize(0, 0, 160);
                om.SetBytes(8, _0);
                break;
            }

            case 20100: {                     // GetFriendCount
                var ret = GetFriendCount(im.GetBytes(8, 0x10), im.GetBytes(24, 0x10), im.GetData <ulong>(40), im.Pid);
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

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

            case 20200: {                     // GetReceivedFriendRequestCount
                GetReceivedFriendRequestCount(im.GetBytes(8, 0x10), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 20201: {                     // GetFriendRequestList
                GetFriendRequestList(im.GetData <uint>(8), im.GetData <uint>(12), im.GetBytes(16, 0x10), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 20300: {                     // GetFriendCandidateList
                GetFriendCandidateList(im.GetData <uint>(8), im.GetBytes(12, 0x10), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 20301: {                     // GetNintendoNetworkIdInfo
                GetNintendoNetworkIdInfo(im.GetData <uint>(8), im.GetBytes(12, 0x10), out var _0, im.GetBuffer <byte>(0x1A, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

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

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

            case 20400: {                     // GetBlockedUserList
                GetBlockedUserList(im.GetData <uint>(8), im.GetBytes(12, 0x10), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

            case 20500: {                     // GetProfileExtraList
                GetProfileExtraList(im.GetBytes(8, 0x10), im.GetBuffer <ulong>(0x9, 0), im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 20501: {                     // GetRelationship
                GetRelationship(im.GetBytes(8, 0x10), im.GetData <ulong>(24), out var _0);
                om.Initialize(0, 0, 8);
                om.SetBytes(8, _0);
                break;
            }

            case 20600: {                     // GetUserPresenceView
                GetUserPresenceView(im.GetBytes(8, 0x10), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 20700: {                     // GetPlayHistoryList
                GetPlayHistoryList(im.GetData <uint>(8), im.GetBytes(12, 0x10), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

            case 20800: {                     // LoadUserSetting
                LoadUserSetting(im.GetBytes(8, 0x10), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 20900: {                     // RequestListSummaryOverlayNotification
                RequestListSummaryOverlayNotification();
                om.Initialize(0, 0, 0);
                break;
            }

            case 21000: {                     // GetExternalApplicationCatalog
                GetExternalApplicationCatalog(im.GetBytes(8, 0x8), im.GetBytes(16, 0x10), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            case 30120: {                     // ChangeFriendFavoriteFlag
                ChangeFriendFavoriteFlag(im.GetData <byte>(8), im.GetBytes(9, 0x10), im.GetData <ulong>(32));
                om.Initialize(0, 0, 0);
                break;
            }

            case 30121: {                     // ChangeFriendOnlineNotificationFlag
                ChangeFriendOnlineNotificationFlag(im.GetData <byte>(8), im.GetBytes(9, 0x10), im.GetData <ulong>(32));
                om.Initialize(0, 0, 0);
                break;
            }

            case 30200: {                     // SendFriendRequest
                SendFriendRequest(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetData <ulong>(32));
                om.Initialize(0, 0, 0);
                break;
            }

            case 30201: {                     // SendFriendRequestWithApplicationInfo
                SendFriendRequestWithApplicationInfo(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetData <ulong>(32), im.GetBytes(40, 0x10), im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 30210: {                     // GetFacedFriendRequestRegistrationKey
                GetFacedFriendRequestRegistrationKey(im.GetBytes(8, 0x10), out var _0);
                om.Initialize(0, 0, 64);
                om.SetBytes(8, _0);
                break;
            }

            case 30211: {                     // AddFacedFriendRequest
                AddFacedFriendRequest(im.GetBytes(8, 0x40), im.GetBytes(72, 0x21), im.GetBytes(105, 0x10), im.GetBuffer <byte>(0x5, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 30213: {                     // GetFacedFriendRequestProfileImage
                GetFacedFriendRequestProfileImage(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 30214: {                     // GetFacedFriendRequestProfileImageFromPath
                GetFacedFriendRequestProfileImageFromPath(im.GetBuffer <byte>(0x9, 0), out var _0, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 30215: {                     // SendFriendRequestWithExternalApplicationCatalogId
                SendFriendRequestWithExternalApplicationCatalogId(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetData <ulong>(32), im.GetBytes(40, 0x10), im.GetBuffer <byte>(0x19, 0), im.GetBuffer <byte>(0x19, 1));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 30217: {                     // SendFriendRequestWithNintendoNetworkIdInfo
                SendFriendRequestWithNintendoNetworkIdInfo(im.GetBytes(8, 0x20), im.GetBytes(40, 0x10), im.GetBytes(56, 0x20), im.GetBytes(88, 0x10), im.GetData <uint>(104), im.GetBytes(108, 0x10), im.GetData <ulong>(128));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 30400: {                     // BlockUser
                BlockUser(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetData <ulong>(32));
                om.Initialize(0, 0, 0);
                break;
            }

            case 30401: {                     // BlockUserWithApplicationInfo
                BlockUserWithApplicationInfo(im.GetData <uint>(8), im.GetBytes(12, 0x10), im.GetData <ulong>(32), im.GetBytes(40, 0x10), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 30500: {                     // GetProfileExtraFromFriendCode
                GetProfileExtraFromFriendCode(im.GetBytes(8, 0x20), im.GetBytes(40, 0x10), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 30811: {                     // ChangeFriendRequestReception
                ChangeFriendRequestReception(im.GetData <byte>(8), im.GetBytes(9, 0x10));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

            case 300: {                     // CalculateMonotonicSystemClockBaseTimePoint
                var ret = CalculateMonotonicSystemClockBaseTimePoint(im.GetBytes(8, 0x20));
                om.Initialize(0, 0, 8);
                om.SetData(8, ret);
                break;
            }

            case 400: {                     // GetClockSnapshot
                GetClockSnapshot(im.GetData <byte>(8), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 401: {                     // GetClockSnapshotFromSystemClockContext
                GetClockSnapshotFromSystemClockContext(im.GetData <byte>(8), im.GetBytes(9, 0x20), im.GetBytes(41, 0x20), im.GetBuffer <byte>(0x1A, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IStaticService: {im.CommandId}");
            }
        }
예제 #21
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // _Close
                _Close(out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 1: {                     // Connect
                Connect(im.GetBytes(8, 0x42), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 2: {                     // Bind
                Bind(im.GetBytes(8, 0x42), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 3: {                     // Listen
                Listen(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 4: {                     // Accept
                Accept(out var _0, out var _1, out var _2);
                om.Initialize(1, 0, 72);
                om.SetBytes(8, _0);
                om.SetData(76, _1);
                om.Move(0, CreateHandle(_2));
                break;
            }

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

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

            case 7: {                     // Shutdown
                Shutdown(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 8: {                     // Fcntl
                Fcntl(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;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to ISocket: {im.CommandId}");
            }
        }
예제 #22
0
		public override void _Dispatch(IncomingMessage im, OutgoingMessage om) {
			switch(im.CommandId) {
				case 10100: { // SaveReport
					SaveReport(im.GetData<ulong>(8), im.Pid, im.GetBuffer<byte>(0x9, 0), im.GetBuffer<byte>(0x5, 0));
					om.Initialize(0, 0, 0);
					break;
				}
				case 10101: { // SaveReportWithUser
					SaveReportWithUser(im.GetBytes(8, 0x10), im.GetData<ulong>(24), im.Pid, im.GetBuffer<byte>(0x9, 0), im.GetBuffer<byte>(0x5, 0));
					om.Initialize(0, 0, 0);
					break;
				}
				case 10200: { // RequestImmediateTransmission
					RequestImmediateTransmission();
					om.Initialize(0, 0, 0);
					break;
				}
				case 10300: { // GetTransmissionStatus
					var ret = GetTransmissionStatus();
					om.Initialize(0, 0, 4);
					om.SetData(8, ret);
					break;
				}
				case 20100: { // SaveSystemReport
					SaveSystemReport(im.GetData<ulong>(8), im.GetBuffer<byte>(0x9, 0), im.GetBuffer<byte>(0x5, 0));
					om.Initialize(0, 0, 0);
					break;
				}
				case 20101: { // SaveSystemReportWithUser
					SaveSystemReportWithUser(im.GetBytes(8, 0x10), im.GetData<ulong>(24), im.GetBuffer<byte>(0x9, 0), im.GetBuffer<byte>(0x5, 0));
					om.Initialize(0, 0, 0);
					break;
				}
				case 20200: { // SetOperationMode
					SetOperationMode(im.GetData<ulong>(8));
					om.Initialize(0, 0, 0);
					break;
				}
				case 30100: { // ClearStorage
					ClearStorage();
					om.Initialize(0, 0, 0);
					break;
				}
				case 40100: { // IsUserAgreementCheckEnabled
					var ret = IsUserAgreementCheckEnabled();
					om.Initialize(0, 0, 1);
					om.SetData(8, ret);
					break;
				}
				case 40101: { // SetUserAgreementCheckEnabled
					SetUserAgreementCheckEnabled(im.GetData<byte>(8));
					om.Initialize(0, 0, 0);
					break;
				}
				case 90100: { // GetStorageUsage
					GetStorageUsage(out var _0, out var _1);
					om.Initialize(0, 0, 16);
					om.SetData(8, _0);
					om.SetData(16, _1);
					break;
				}
				case 90200: { // GetStatistics
					var ret = GetStatistics(null);
					om.Initialize(0, 0, 0);
					break;
				}
				case 90201: { // GetThroughputHistory
					var ret = GetThroughputHistory(null);
					om.Initialize(0, 0, 0);
					break;
				}
				case 90300: { // GetLastUploadError
					var ret = GetLastUploadError(null);
					om.Initialize(0, 0, 0);
					break;
				}
				default:
					throw new NotImplementedException($"Unhandled command ID to IPrepoService: {im.CommandId}");
			}
		}
예제 #23
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 1: {                     // Initialize
                Initialize();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 1002: {                     // ConfirmLaunchApplicationPermission
                ConfirmLaunchApplicationPermission(im.GetData <byte>(8), im.GetData <ulong>(16), im.GetBuffer <sbyte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1003: {                     // ConfirmResumeApplicationPermission
                ConfirmResumeApplicationPermission(im.GetData <byte>(8), im.GetData <ulong>(16), im.GetBuffer <sbyte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 1004: {                     // ConfirmSnsPostPermission
                ConfirmSnsPostPermission();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1005: {                     // ConfirmSystemSettingsPermission
                ConfirmSystemSettingsPermission();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 1007: {                     // RevertRestrictionTemporaryUnlocked
                RevertRestrictionTemporaryUnlocked();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1008: {                     // EnterRestrictedSystemSettings
                EnterRestrictedSystemSettings();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1009: {                     // LeaveRestrictedSystemSettings
                LeaveRestrictedSystemSettings();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            case 1013: {                     // ConfirmStereoVisionPermission
                ConfirmStereoVisionPermission();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

            case 1034: {                     // GetSafetyLevelSettings
                GetSafetyLevelSettings(im.GetData <uint>(8), out var _0);
                om.Initialize(0, 0, 3);
                om.SetBytes(8, _0);
                break;
            }

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

            case 1036: {                     // SetCustomSafetyLevelSettings
                SetCustomSafetyLevelSettings(im.GetBytes(8, 0x3));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 1043: {                     // DeleteSettings
                DeleteSettings();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 1046: {                     // DisableFeaturesForReset
                DisableFeaturesForReset();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 1061: {                     // ConfirmStereoVisionRestrictionConfigurable
                ConfirmStereoVisionRestrictionConfigurable();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

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

            case 1204: {                     // GenerateInquiryCode
                GenerateInquiryCode(out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

            case 1205: {                     // CheckMasterKey
                var ret = CheckMasterKey(im.GetBytes(8, 0x20), im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

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

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

            case 1421: {                     // GetAccountNickname
                GetAccountNickname(im.GetBytes(8, 0x10), out var _0, im.GetBuffer <byte>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

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

            case 1451: {                     // StartPlayTimer
                StartPlayTimer();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1452: {                     // StopPlayTimer
                StopPlayTimer();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

            case 1456: {                     // GetPlayTimerSettings
                GetPlayTimerSettings(out var _0);
                om.Initialize(0, 0, 52);
                om.SetBytes(8, _0);
                break;
            }

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

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

            case 1471: {                     // NotifyWrongPinCodeInputManyTimes
                NotifyWrongPinCodeInputManyTimes();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1472: {                     // CancelNetworkRequest
                CancelNetworkRequest();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 1474: {                     // ClearUnlinkedEvent
                ClearUnlinkedEvent();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 1603: {                     // IsAllFeaturesDisabled
                IsAllFeaturesDisabled(out var _0, out var _1);
                om.Initialize(0, 0, 2);
                om.SetData(8, _0);
                om.SetData(9, _1);
                break;
            }

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

            case 1902: {                     // ClearFreeCommunicationApplicationListForDebug
                ClearFreeCommunicationApplicationListForDebug();
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

            case 1941: {                     // DeletePairing
                DeletePairing();
                om.Initialize(0, 0, 0);
                break;
            }

            case 1951: {                     // SetPlayTimerSettingsForDebug
                SetPlayTimerSettingsForDebug(im.GetBytes(8, 0x34));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 2001: {                     // RequestPairingAsync
                RequestPairingAsync(im.GetBuffer <byte>(0x9, 0), out var _0, out var _1);
                om.Initialize(0, 1, 8);
                om.SetBytes(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 2002: {                     // FinishRequestPairing
                FinishRequestPairing(im.GetBytes(8, 0x8), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 2003: {                     // AuthorizePairingAsync
                AuthorizePairingAsync(im.GetBytes(8, 0x10), out var _0, out var _1);
                om.Initialize(0, 1, 8);
                om.SetBytes(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 2004: {                     // FinishAuthorizePairing
                FinishAuthorizePairing(im.GetBytes(8, 0x8), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 2005: {                     // RetrievePairingInfoAsync
                RetrievePairingInfoAsync(out var _0, out var _1);
                om.Initialize(0, 1, 8);
                om.SetBytes(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 2006: {                     // FinishRetrievePairingInfo
                FinishRetrievePairingInfo(im.GetBytes(8, 0x8), out var _0);
                om.Initialize(0, 0, 16);
                om.SetBytes(8, _0);
                break;
            }

            case 2007: {                     // UnlinkPairingAsync
                UnlinkPairingAsync(im.GetData <byte>(8), out var _0, out var _1);
                om.Initialize(0, 1, 8);
                om.SetBytes(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 2008: {                     // FinishUnlinkPairing
                FinishUnlinkPairing(im.GetData <byte>(8), im.GetBytes(9, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 2009: {                     // GetAccountMiiImageAsync
                GetAccountMiiImageAsync(im.GetBytes(8, 0x10), out var _0, out var _1, out var _2, im.GetBuffer <byte>(0x6, 0));
                om.Initialize(0, 1, 12);
                om.SetBytes(8, _0);
                om.SetData(16, _1);
                om.Copy(0, CreateHandle(_2, copy: true));
                break;
            }

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

            case 2011: {                     // GetAccountMiiImageContentTypeAsync
                GetAccountMiiImageContentTypeAsync(im.GetBytes(8, 0x10), out var _0, out var _1, out var _2, im.GetBuffer <byte>(0xA, 0));
                om.Initialize(0, 1, 12);
                om.SetBytes(8, _0);
                om.SetData(16, _1);
                om.Copy(0, CreateHandle(_2, copy: true));
                break;
            }

            case 2012: {                     // FinishGetAccountMiiImageContentType
                FinishGetAccountMiiImageContentType(im.GetBytes(8, 0x8), out var _0, im.GetBuffer <byte>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 2013: {                     // SynchronizeParentalControlSettingsAsync
                SynchronizeParentalControlSettingsAsync(out var _0, out var _1);
                om.Initialize(0, 1, 8);
                om.SetBytes(8, _0);
                om.Copy(0, CreateHandle(_1, copy: true));
                break;
            }

            case 2014: {                     // FinishSynchronizeParentalControlSettings
                FinishSynchronizeParentalControlSettings(im.GetBytes(8, 0x8));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IParentalControlService: {im.CommandId}");
            }
        }
예제 #24
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}");
            }
        }
예제 #25
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetState
                var ret = GetState();
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

            case 2: {                     // GetIpv4Address
                GetIpv4Address(out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

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

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

            case 5: {                     // GetNetworkConfig
                GetNetworkConfig(out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

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

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

            case 102: {                     // Scan
                Scan(im.GetData <ushort>(8), im.GetBytes(10, 0x60), out var _0, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 2);
                om.SetData(8, _0);
                break;
            }

            case 103: {                     // ScanPrivate
                ScanPrivate(im.GetData <ushort>(8), im.GetBytes(10, 0x60), out var _0, im.GetBuffer <byte>(0x22, 0));
                om.Initialize(0, 0, 2);
                om.SetData(8, _0);
                break;
            }

            case 200: {                     // OpenAccessPoint
                OpenAccessPoint();
                om.Initialize(0, 0, 0);
                break;
            }

            case 201: {                     // CloseAccessPoint
                CloseAccessPoint();
                om.Initialize(0, 0, 0);
                break;
            }

            case 202: {                     // CreateNetwork
                CreateNetwork(im.GetBytes(8, 0x44), im.GetBytes(76, 0x30), im.GetBytes(124, 0x20));
                om.Initialize(0, 0, 0);
                break;
            }

            case 203: {                     // CreateNetworkPrivate
                CreateNetworkPrivate(im.GetBytes(8, 0x44), im.GetBytes(76, 0x20), im.GetBytes(108, 0x30), im.GetBytes(156, 0x20), im.GetBuffer <byte>(0x9, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 204: {                     // DestroyNetwork
                DestroyNetwork();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 206: {                     // SetAdvertiseData
                SetAdvertiseData(im.GetBuffer <byte>(0x21, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 208: {                     // AddAcceptFilterEntry
                AddAcceptFilterEntry(im.GetBytes(8, 0x6));
                om.Initialize(0, 0, 0);
                break;
            }

            case 209: {                     // ClearAcceptFilter
                ClearAcceptFilter();
                om.Initialize(0, 0, 0);
                break;
            }

            case 300: {                     // OpenStation
                OpenStation();
                om.Initialize(0, 0, 0);
                break;
            }

            case 301: {                     // CloseStation
                CloseStation();
                om.Initialize(0, 0, 0);
                break;
            }

            case 302: {                     // Connect
                Connect(im.GetBytes(8, 0x44), im.GetBytes(76, 0x30), im.GetData <uint>(124), im.GetData <uint>(128), im.GetBuffer <byte>(0x19, 0));
                om.Initialize(0, 0, 0);
                break;
            }

            case 303: {                     // ConnectPrivate
                ConnectPrivate(im.GetBytes(8, 0x44), im.GetBytes(76, 0x20), im.GetBytes(108, 0x30), im.GetData <uint>(156), im.GetData <uint>(160), im.GetBytes(164, 0x20));
                om.Initialize(0, 0, 0);
                break;
            }

            case 304: {                     // Disconnect
                Disconnect();
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 401: {                     // Finalize
                Finalize();
                om.Initialize(0, 0, 0);
                break;
            }

            default:
                throw new NotImplementedException($"Unhandled command ID to IUserLocalCommunicationService: {im.CommandId}");
            }
        }
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // GetDeviceLocationName
                GetDeviceLocationName(out var _0);
                om.Initialize(0, 0, 36);
                om.SetBytes(8, _0);
                break;
            }

            case 1: {                     // SetDeviceLocationName
                SetDeviceLocationName(im.GetBytes(8, 0x24));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

            case 4: {                     // LoadTimeZoneRule
                LoadTimeZoneRule(im.GetBytes(8, 0x24), im.GetBuffer <byte>(0x16, 0));
                om.Initialize(0, 0, 0);
                break;
            }

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

            case 100: {                     // ToCalendarTime
                ToCalendarTime(im.GetData <ulong>(8), im.GetBuffer <byte>(0x15, 0), (Nn.Time.CalendarTime *)om.GetDataPointer(8), (Nn.Time.Sf.CalendarAdditionalInfo *)om.GetDataPointer(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 101: {                     // ToCalendarTimeWithMyRule
                ToCalendarTimeWithMyRule(im.GetData <ulong>(8), (Nn.Time.CalendarTime *)om.GetDataPointer(8), (Nn.Time.Sf.CalendarAdditionalInfo *)om.GetDataPointer(8));
                om.Initialize(0, 0, 0);
                break;
            }

            case 201: {                     // ToPosixTime
                ToPosixTime((Nn.Time.CalendarTime *)im.GetDataPointer(8), im.GetBuffer <byte>(0x15, 0), out var _0, im.GetBuffer <ulong>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

            case 202: {                     // ToPosixTimeWithMyRule
                ToPosixTimeWithMyRule((Nn.Time.CalendarTime *)im.GetDataPointer(8), out var _0, im.GetBuffer <ulong>(0xA, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

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

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

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

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

            case 5: {                     // SetRequirement
                SetRequirement(im.GetBytes(8, 0x24));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

            case 11: {                     // SetConnectionConfirmationOption
                SetConnectionConfirmationOption(im.GetData <sbyte>(8));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

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

            case 19: {                     // GetRequirement
                GetRequirement(out var _0);
                om.Initialize(0, 0, 36);
                om.SetBytes(8, _0);
                break;
            }

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

            case 21: {                     // GetAppletInfo
                GetAppletInfo(im.GetData <uint>(8), 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 22: {                     // GetAdditionalInfo
                GetAdditionalInfo(out var _0, im.GetBuffer <byte>(0x16, 0));
                om.Initialize(0, 0, 4);
                om.SetData(8, _0);
                break;
            }

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

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IRequest: {im.CommandId}");
            }
        }
예제 #28
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}");
            }
        }
예제 #29
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // Unknown0
                Unknown0(out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

            case 1: {                     // Unknown1
                Unknown1(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 2: {                     // Unknown2
                Unknown2(im.GetBytes(8, 0x42), im.GetData <uint>(76), out var _0, out var _1);
                om.Initialize(0, 0, 8);
                om.SetData(8, _0);
                om.SetData(12, _1);
                break;
            }

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

            case 4: {                     // Unknown4
                Unknown4(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 5: {                     // Unknown5
                Unknown5(im.GetData <uint>(8), out var _0, out var _1, out var _2);
                om.Initialize(0, 0, 76);
                om.SetBytes(8, _0);
                om.SetData(76, _1);
                om.SetData(80, _2);
                break;
            }

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

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

            case 8: {                     // Unknown8
                Unknown8(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 9: {                     // Unknown9
                Unknown9(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 10: {                     // GetPeerNameAny
                GetPeerNameAny(out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

            case 11: {                     // GetDefaultHostName
                GetDefaultHostName(out var _0);
                om.Initialize(0, 0, 32);
                om.SetBytes(8, _0);
                break;
            }

            case 12: {                     // CreateSocketOld
                CreateSocketOld(out var _0, out var _1);
                om.Initialize(1, 0, 4);
                om.SetData(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

            case 13: {                     // CreateSocket
                CreateSocket(im.GetData <byte>(8), out var _0, out var _1);
                om.Initialize(1, 0, 4);
                om.SetData(8, _0);
                om.Move(0, CreateHandle(_1));
                break;
            }

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

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

            default:
                throw new NotImplementedException($"Unhandled command ID to IHtcsManager: {im.CommandId}");
            }
        }
예제 #30
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // IsUpdated
                var ret = IsUpdated(im.GetData <uint>(8));
                om.Initialize(0, 0, 1);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

            case 5: {                     // UpdateLatest
                UpdateLatest(im.GetBytes(8, 0x58), im.GetData <uint>(96), out var _0);
                om.Initialize(0, 0, 88);
                om.SetBytes(8, _0);
                break;
            }

            case 6: {                     // BuildRandom
                BuildRandom(im.GetData <uint>(8), im.GetData <uint>(12), im.GetData <uint>(16), out var _0);
                om.Initialize(0, 0, 88);
                om.SetBytes(8, _0);
                break;
            }

            case 7: {                     // BuildDefault
                BuildDefault(im.GetData <uint>(8), out var _0);
                om.Initialize(0, 0, 88);
                om.SetBytes(8, _0);
                break;
            }

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

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

            case 10: {                     // UpdateLatest1
                UpdateLatest1(im.GetBytes(8, 0x44), im.GetData <uint>(76), out var _0);
                om.Initialize(0, 0, 68);
                om.SetBytes(8, _0);
                break;
            }

            case 11: {                     // FindIndex
                var ret = FindIndex(im.GetBytes(8, 0x10), im.GetData <byte>(24));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

            case 13: {                     // AddOrReplace
                AddOrReplace(im.GetBytes(8, 0x44));
                om.Initialize(0, 0, 0);
                break;
            }

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

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

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

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

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

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

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

            case 21: {                     // GetIndex
                var ret = GetIndex(im.GetBytes(8, 0x58));
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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