USB services: Difference between revisions

mNo edit summary
No edit summary
Line 13: Line 13:
{| class="wikitable" border="1"
{| class="wikitable" border="1"
|-
|-
! Cmd || Name || Notes
! Cmd || Name
|-
| 0 || [[#BindDevice]]
|-
| 1 || [[#BindClientProcess]]
|-
| 2 || [[#GetDsInterface]]
|-
| 3 || [[#GetStateChangeEvent]]
|-
| 4 || [[#GetState]]
|-
| 5 || [2.0.0+] [[#SetVidPidBcd]]
|-
|-
| 0 || [[#BindDevice]] ||
| 6 || [5.0.0+]
|-
|-
| 1 || [[#BindClientProcess]] ||
| 7 || [5.0.0+]
|-
|-
| 2 || [[#GetDsInterface]] ||
| 8 || [5.0.0+] SetUsbDeviceDescriptor
|-
|-
| 3 || [[#GetStateChangeEvent]] ||
| 9 || [5.0.0+]
|-
|-
| 4 || [[#GetState]] ||
| 10 || [5.0.0+]
|-
|-
| 5 || [2.0.0+] [[#SetVidPidBcd]] ||
| 11 || [5.0.0+]
|}
|}


Line 224: Line 236:
|-
|-
| 11 || [[#StallCtrl]] ||  
| 11 || [[#StallCtrl]] ||  
|-
| 12 || [5.0.0+] AppendConfigurationData ||
|}
|}


Line 359: Line 373:
This is "nn::usb::hs::IClientRootSession".
This is "nn::usb::hs::IClientRootSession".


General USB devices usage, used by hid-sysmodule and bsdsockets-sysmodule.
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || BindClientProcess
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 ||
|-
| 5 ||
|-
| 6 || GetInterfaceStateChangeEvent
|-
| 7 || GetClientIfSession
|}
 
General USB devices usage, used by [[HID_services|hid]] and [[Sockets_services|bsdsockets]].
 
== IClientIfSession ==
This is "nn::usb::hs::IClientIfSession".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 ||
|-
| 5 || CtrlXferAsync
|-
| 6 ||
|-
| 7 || GetCtrlXferReport
|-
| 8 ||
|-
| 9 || GetClientEpSession
|}
 
=== IClientEpSession ===
This is "nn::usb::hs::IClientEpSession".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 || PostBufferAsync
|-
| 5 ||
|-
| 6 ||
|-
| 7 || [4.0.0+]
|-
| 8 || [4.0.0+]
|}


= usb:pd =
= usb:pd =
This is "nn::usb::pd::detail::IPdManager".
This is "nn::usb::pd::detail::IPdManager".


Only system-titles with access to this are [[PTM_services|PTM]] and [[AM_services|AM]].
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || GetPdSession
|}
 
Only system-titles with access to this are [[PTM_services|ptm]] and [[AM_services|am]].
 
== IPdSession ==
This is "nn::usb::pd::detail::IPdSession".
 
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 || BindNoticeEvent
|-
| 1 ||
|-
| 2 || GetStatus
|-
| 3 || GetNotice
|-
| 4 ||
|-
| 5 ||
|-
| 6 || ReplyPowerRequest
|}


= usb:pd:c =
= usb:pd:c =
This is "nn::usb::pd::detail::IPdCradleManager".
This is "nn::usb::pd::detail::IPdCradleManager".
USB-sysmodule symbols for this refer to "Cradle", which is the [[Dock]].


{| class="wikitable" border="1"
{| class="wikitable" border="1"
Line 376: Line 491:
! Cmd || Name || Notes
! Cmd || Name || Notes
|-
|-
| 0 || || Returns a session handle for the below.
| 0 || GetPdCradleSession || Returns a session handle for the below.
|}
|}


== Session ==
USB-sysmodule symbols for this refer to "Cradle", which is the [[Dock]].
 
== IPdCradleSession ==
This is "nn::usb::pd::detail::IPdCradleSession".
This is "nn::usb::pd::detail::IPdCradleSession".


Line 402: Line 519:
|-
|-
| 6 || GetDeviceId || No input. Returns an output u16.
| 6 || GetDeviceId || No input. Returns an output u16.
|-
| 7 || [3.0.0+] ||
|-
| 8 || [3.0.0+] ||
|}
|}
Note: The VdmUserId given to VdmUserRead/VdmUserWrite is translated from the given (enum) value to the actual cmd to send.
Note: The VdmUserId given to VdmUserRead/VdmUserWrite is translated from the given (enum) value to the actual cmd to send.


Line 408: Line 530:
This is "nn::usb::pm::IPmService".
This is "nn::usb::pm::IPmService".


Presumably Power Management, only system-title using this is [[PTM_services|PTM]].
{| class="wikitable" border="1"
|-
! Cmd || Name
|-
| 0 ||
|-
| 1 ||
|-
| 2 ||
|-
| 3 ||
|-
| 4 ||
|-
| 5 ||
|}
 
USB Port Manager, only system-title using this is [[PTM_services|ptm]].


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