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}");
            }
        }
示例#2
0
        public override void _Dispatch(IncomingMessage im, OutgoingMessage om)
        {
            switch (im.CommandId)
            {
            case 0: {                     // RegisterClient
                var ret = RegisterClient((Nn.Socket.BsdBufferConfig *)im.GetDataPointer(8), im.GetData <ulong>(8), im.GetData <ulong>(16), Kernel.Get <KObject>(im.GetCopy(0)), im.Pid);
                om.Initialize(0, 0, 4);
                om.SetData(8, ret);
                break;
            }

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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