Ethernet services: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
|  Created page with "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..." | No edit summary | ||
| (2 intermediate revisions by 2 users 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 || 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 = | |||
| [[USB_services|CreateInterfaceAvailableEvent]] is used with an all-zero DeviceFilter. [[USB_services|QueryAvailableInterfaces]] is used multiple times, each time with flags=0x3. The used filters include at least the following: | |||
| {| class="wikitable" border="1" | |||
| |- | |- | ||
| |  | ! 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 | ||
| |} | |} | ||
| [[Category:Services]] | [[Category:Services]] | ||
Latest revision as of 19: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 |