libnx
v4.8.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 |