|
libnx v4.9.0
|
USB (usb:ds) service IPC wrapper. More...
#include "../types.h"#include "../sf/service.h"#include "../services/usb.h"#include "../kernel/event.h"Go to the source code of this file.
Data Structures | |
| struct | UsbDsInterface |
| struct | UsbDsEndpoint |
| struct | UsbDsDeviceInfo |
| struct | UsbDsReportEntry |
| struct | UsbDsReportData |
Macros | |
| #define | USBDS_DEFAULT_InterfaceNumber 0x4 |
Enumerations | |
| enum | UsbComplexId { UsbComplexId_Default = 0x2 } |
| enum | UsbDeviceSpeed { UsbDeviceSpeed_Full = 0x2 , UsbDeviceSpeed_High = 0x3 , UsbDeviceSpeed_Super = 0x4 } |
Functions | |
| Result | usbDsInitialize (void) |
| Opens a session with usb:ds. | |
| void | usbDsExit (void) |
| Closes the usb:ds session. Any interfaces/endpoints which are left open are automatically closed, since otherwise usb-sysmodule won't fully reset usb:ds to defaults. | |
| Service * | usbDsGetServiceSession (void) |
| Gets the Service object for the actual usb:ds service session. | |
| Result | usbDsWaitReady (u64 timeout) |
| Helper func. | |
| Result | usbDsParseReportData (UsbDsReportData *reportdata, u32 urbId, u32 *requestedSize, u32 *transferredSize) |
| Helper func. | |
IDsService | |
| Event * | usbDsGetStateChangeEvent (void) |
| Result | usbDsGetState (UsbState *out) |
| Gets the device state. See UsbState. | |
| Result | usbDsGetDsInterface (UsbDsInterface **out, struct usb_interface_descriptor *descriptor, const char *interface_name) |
| Removed in [5.0.0+]. | |
| Result | usbDsSetVidPidBcd (const UsbDsDeviceInfo *deviceinfo) |
| Removed in [5.0.0+]. | |
| Result | usbDsRegisterInterface (UsbDsInterface **out) |
| Only available on [5.0.0+]. | |
| Result | usbDsRegisterInterfaceEx (UsbDsInterface **out, u8 intf_num) |
| Only available on [5.0.0+]. | |
| Result | usbDsClearDeviceData (void) |
| Only available on [5.0.0+]. | |
| Result | usbDsAddUsbStringDescriptor (u8 *out_index, const char *string) |
| Only available on [5.0.0+]. | |
| Result | usbDsAddUsbLanguageStringDescriptor (u8 *out_index, const u16 *lang_ids, u16 num_langs) |
| Only available on [5.0.0+]. | |
| Result | usbDsDeleteUsbStringDescriptor (u8 index) |
| Only available on [5.0.0+]. | |
| Result | usbDsSetUsbDeviceDescriptor (UsbDeviceSpeed speed, struct usb_device_descriptor *descriptor) |
| Only available on [5.0.0+]. | |
| Result | usbDsSetBinaryObjectStore (const void *bos, size_t bos_size) |
| Only available on [5.0.0+]. | |
| Result | usbDsEnable (void) |
| Only available on [5.0.0+]. | |
| Result | usbDsDisable (void) |
| Only available on [5.0.0+]. | |
IDsInterface | |
| void | usbDsInterface_Close (UsbDsInterface *interface) |
| Result | usbDsInterface_GetSetupPacket (UsbDsInterface *interface, void *buffer, size_t size) |
| Result | usbDsInterface_EnableInterface (UsbDsInterface *interface) |
| Result | usbDsInterface_DisableInterface (UsbDsInterface *interface) |
| Result | usbDsInterface_CtrlInPostBufferAsync (UsbDsInterface *interface, void *buffer, size_t size, u32 *urbId) |
| Result | usbDsInterface_CtrlOutPostBufferAsync (UsbDsInterface *interface, void *buffer, size_t size, u32 *urbId) |
| Result | usbDsInterface_GetCtrlInReportData (UsbDsInterface *interface, UsbDsReportData *out) |
| Result | usbDsInterface_GetCtrlOutReportData (UsbDsInterface *interface, UsbDsReportData *out) |
| Result | usbDsInterface_StallCtrl (UsbDsInterface *interface) |
| Result | usbDsInterface_GetDsEndpoint (UsbDsInterface *interface, UsbDsEndpoint **endpoint, struct usb_endpoint_descriptor *descriptor) |
| Removed in [5.0.0+]. | |
| Result | usbDsInterface_RegisterEndpoint (UsbDsInterface *interface, UsbDsEndpoint **endpoint, u8 endpoint_address) |
| Only available on [5.0.0+]. | |
| Result | usbDsInterface_AppendConfigurationData (UsbDsInterface *interface, UsbDeviceSpeed speed, const void *buffer, size_t size) |
| Only available on [5.0.0+]. | |
IDsEndpoint | |
| void | usbDsEndpoint_Close (UsbDsEndpoint *endpoint) |
| Result | usbDsEndpoint_Cancel (UsbDsEndpoint *endpoint) |
| Result | usbDsEndpoint_PostBufferAsync (UsbDsEndpoint *endpoint, void *buffer, size_t size, u32 *urbId) |
| Result | usbDsEndpoint_GetReportData (UsbDsEndpoint *endpoint, UsbDsReportData *out) |
| Result | usbDsEndpoint_Stall (UsbDsEndpoint *endpoint) |
| Result | usbDsEndpoint_SetZlt (UsbDsEndpoint *endpoint, bool zlt) |
USB (usb:ds) service IPC wrapper.
Switch-as-device<>host USB comms, see also here: https://switchbrew.org/wiki/USB_services
| enum UsbDeviceSpeed |