mirror of
https://github.com/switchbrew/libnx.git
synced 2025-06-21 20:42:44 +02:00
32 lines
1.2 KiB
C
32 lines
1.2 KiB
C
/**
|
|
* @file usb_comms.h
|
|
* @brief USB comms.
|
|
* @author yellows8
|
|
* @author plutoo
|
|
* @copyright libnx Authors
|
|
*/
|
|
#pragma once
|
|
#include "../../types.h"
|
|
|
|
Result usbCommsInitialize(void);
|
|
void usbCommsExit(void);
|
|
|
|
/// Same as usbCommsInitialize, except this can be used after usbCommsInitialize (or instead of usbCommsInitialize), for creating new interface(s).
|
|
/// bInterface* are the values for the same fields in usb.h \ref usb_interface_descriptor. \ref usbCommsInitialize uses USB_CLASS_VENDOR_SPEC for all of these internally.
|
|
Result usbCommsInitializeEx(u32 *interface, u8 bInterfaceClass, u8 bInterfaceSubClass, u8 bInterfaceProtocol);
|
|
|
|
/// Shutdown the specified interface. If no interfaces are remaining, this then uses \ref usbCommsExit internally.
|
|
void usbCommsExitEx(u32 interface);
|
|
|
|
/// Read data with the default interface.
|
|
size_t usbCommsRead(void* buffer, size_t size);
|
|
|
|
/// Write data with the default interface.
|
|
size_t usbCommsWrite(const void* buffer, size_t size);
|
|
|
|
/// Same as usbCommsRead except with the specified interface.
|
|
size_t usbCommsReadEx(void* buffer, size_t size, u32 interface);
|
|
|
|
/// Same as usbCommsWrite except with the specified interface.
|
|
size_t usbCommsWriteEx(const void* buffer, size_t size, u32 interface);
|