Ethernet services: Difference between revisions
		
		
		
		Jump to navigation
		Jump to search
		
| No edit summary | |||
| 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 | ||
| |} | |} | ||
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 |