Difference between revisions of "Ethernet services"
Jump to navigation
Jump to search
(One intermediate revision by the same user not shown) | |||
Line 14: | Line 14: | ||
== CreateDriverService == | == CreateDriverService == | ||
− | |||
− | |||
No input. Returns an [[#ISfDriverService]]. | No input. Returns an [[#ISfDriverService]]. | ||
Line 27: | Line 25: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || [[# | + | | 0 || [[#OpenNetworkInterface]] |
|- | |- | ||
− | | 128 || | + | | 128 || GetDriverInfo |
|- | |- | ||
− | | 129 || | + | | 129 || GetNetworkInterfaceList |
|- | |- | ||
− | | 130 || | + | | 130 || GetStateChangedEvent |
|- | |- | ||
− | | 131 || | + | | 131 || GetNetworkInterfaceListUpdatedEvent |
|- | |- | ||
− | | 384 || | + | | 384 || Ioctl |
|- | |- | ||
− | | 385 || | + | | 385 || IoctlRead |
|- | |- | ||
− | | 386 || | + | | 386 || IoctlWrite |
|- | |- | ||
− | | 387 || | + | | 387 || IoctlReadWrite |
|- | |- | ||
− | | 388 || | + | | 388 || IoctlSetHandle |
|- | |- | ||
− | | 389 || | + | | 389 || IoctlGetHandle |
|} | |} | ||
− | === | + | === OpenNetworkInterface === |
− | |||
− | |||
Takes a type-0x21 input buffer. Returns an [[#ISfNetworkInterfaceService]]. | Takes a type-0x21 input buffer. Returns an [[#ISfNetworkInterfaceService]]. | ||
Line 64: | Line 60: | ||
! Cmd || Name | ! Cmd || Name | ||
|- | |- | ||
− | | 0 || | + | | 0 || Duplicate |
|- | |- | ||
− | | 1 || | + | | 1 || BringUp |
|- | |- | ||
− | | 2 || | + | | 2 || BringDown |
|- | |- | ||
− | | 3 || | + | | 3 || StartCommunication |
|- | |- | ||
− | | 4 || | + | | 4 || StopCommunication |
|- | |- | ||
− | | 5 || | + | | 5 || CreateSharedMemory |
|- | |- | ||
− | | 6 || | + | | 6 || DestroySharedMemory |
|- | |- | ||
− | | 128 || | + | | 128 || GetNetworkInterfaceInfo |
|- | |- | ||
− | | 129 || | + | | 129 || GetStateChangedEvent |
|- | |- | ||
− | | 130 || | + | | 130 || GetRxQueue |
|- | |- | ||
− | | 131 || | + | | 131 || GetTxQueue |
|- | |- | ||
− | | 256 || | + | | 256 || SetMacAddress |
|- | |- | ||
− | | 257 || | + | | 257 || SetMru |
|- | |- | ||
− | | 258 || | + | | 258 || SetMtu |
|- | |- | ||
− | | 259 || | + | | 259 || SetFeatures |
|- | |- | ||
− | | 260 || | + | | 260 || SetMulticastFilter |
|- | |- | ||
− | | 261 || | + | | 261 || SetRxBufferSize |
|- | |- | ||
− | | 262 || | + | | 262 || SetTxBufferSize |
|- | |- | ||
− | | 384 || | + | | 384 || Ioctl |
|- | |- | ||
− | | 385 || | + | | 385 || IoctlRead |
|- | |- | ||
− | | 386 || | + | | 386 || IoctlWrite |
|- | |- | ||
− | | 387 || | + | | 387 || IoctlReadWrite |
|- | |- | ||
− | | 388 || | + | | 388 || IoctlSetHandle |
|- | |- | ||
− | | 389 || | + | | 389 || IoctlGetHandle |
|} | |} | ||
Line 120: | Line 116: | ||
! System Version || VendorId || ProductId || Description | ! System Version || VendorId || ProductId || Description | ||
|- | |- | ||
− | | || 0x057E || 0x201B || | + | | || 0x057E || 0x201B || RTL8154B CrdA NIC |
|- | |- | ||
| || 0x0B95 || 0x1790 || AX88179 Gigabit Ethernet | | || 0x0B95 || 0x1790 || AX88179 Gigabit Ethernet |
Latest revision as of 18:50, 12 April 2024
This is a refactored sysmodule added with [15.0.0+] for handling ethernet communication.
eth:nd
This is "nn::anif::detail::ISfDriverServiceCreator".
This was added with [15.0.0+].
Cmd | Name |
---|---|
0 | #CreateDriverService |
CreateDriverService
No input. Returns an #ISfDriverService.
ISfDriverService
This is "nn::anif::detail::ISfDriverService".
This was added with [15.0.0+].
Cmd | Name |
---|---|
0 | #OpenNetworkInterface |
128 | GetDriverInfo |
129 | GetNetworkInterfaceList |
130 | GetStateChangedEvent |
131 | GetNetworkInterfaceListUpdatedEvent |
384 | Ioctl |
385 | IoctlRead |
386 | IoctlWrite |
387 | IoctlReadWrite |
388 | IoctlSetHandle |
389 | IoctlGetHandle |
OpenNetworkInterface
Takes a type-0x21 input buffer. Returns an #ISfNetworkInterfaceService.
ISfNetworkInterfaceService
This is "nn::anif::detail::ISfNetworkInterfaceService".
This was added with [15.0.0+].
Cmd | Name |
---|---|
0 | Duplicate |
1 | BringUp |
2 | BringDown |
3 | StartCommunication |
4 | StopCommunication |
5 | CreateSharedMemory |
6 | DestroySharedMemory |
128 | GetNetworkInterfaceInfo |
129 | GetStateChangedEvent |
130 | GetRxQueue |
131 | GetTxQueue |
256 | SetMacAddress |
257 | SetMru |
258 | SetMtu |
259 | SetFeatures |
260 | SetMulticastFilter |
261 | SetRxBufferSize |
262 | SetTxBufferSize |
384 | Ioctl |
385 | IoctlRead |
386 | IoctlWrite |
387 | IoctlReadWrite |
388 | IoctlSetHandle |
389 | IoctlGetHandle |
Notes
CreateInterfaceAvailableEvent is used with an all-zero DeviceFilter. QueryAvailableInterfaces is used multiple times, each time with flags=0x3. The used filters include at least the following:
System Version | VendorId | ProductId | Description |
---|---|---|---|
0x057E | 0x201B | RTL8154B CrdA NIC | |
0x0B95 | 0x1790 | AX88179 Gigabit Ethernet | |
0x0B95 | 0x7720 | AX88772 | |
0x2001 | 0x4A00 | DUB-1312 Gigabit Ethernet Adapter | |
0x0BDA | 0x8153 | RTL8153 Gigabit Ethernet Adapter |