Ethernet services: Difference between revisions

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 ==
Unofficial name.
No input. Returns an [[#ISfDriverService]].
No input. Returns an [[#ISfDriverService]].


Line 27: Line 25:
! Cmd || Name
! Cmd || Name
|-
|-
| 0 || [[#CreateNetworkInterfaceService]]
| 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
|}
|}


=== CreateNetworkInterfaceService ===
=== OpenNetworkInterface ===
Unofficial name.
 
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
|-
|-
| 1 ||
| 6 || DestroySharedMemory
|-
|-
| 2 ||
| 128 || GetNetworkInterfaceInfo
|-
|-
| 3 ||
| 129 || GetStateChangedEvent
|-
|-
| 4 ||
| 130 || GetRxQueue
|-
|-
| 5 ||
| 131 || GetTxQueue
|-
|-
| 6 ||
| 256 || SetMacAddress
|-
|-
| 128 ||  
| 257 || SetMru
|-
|-
| 129 ||  
| 258 || SetMtu
|-
|-
| 130 ||  
| 259 || SetFeatures
|-
|-
| 131 ||  
| 260 || SetMulticastFilter
|-
|-
| 256 ||  
| 261 || SetRxBufferSize
|-
|-
| 257 ||  
| 262 || SetTxBufferSize
|-
|-
| 258 ||  
| 384 || Ioctl
|-
|-
| 259 ||  
| 385 || IoctlRead
|-
|-
| 260 ||  
| 386 || IoctlWrite
|-
|-
| 261 ||  
| 387 || IoctlReadWrite
|-
|-
| 262 ||  
| 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"
|-
|-
| 384 ||  
! System Version || VendorId || ProductId || Description
|-
|-
| 385 ||  
| || 0x057E || 0x201B || RTL8154B CrdA NIC
|-
|-
| 386 ||  
| || 0x0B95 || 0x1790 || AX88179 Gigabit Ethernet
|-
|-
| 387 ||  
| || 0x0B95 || 0x7720 || AX88772
|-
|-
| 388 ||  
| || 0x2001 || 0x4A00 || DUB-1312 Gigabit Ethernet Adapter
|-
|-
| 389 ||  
| || 0x0BDA || 0x8153 || RTL8153 Gigabit Ethernet Adapter
|}
|}


[[Category:Services]]
[[Category:Services]]