32#ifndef _USB_TEMPLATE_H_
33#define _USB_TEMPLATE_H_
35#ifndef USB_TEMPLATE_VENDOR
39#define USB_TEMPLATE_VENDOR 0x16c0
40#define USB_TEMPLATE_MANUFACTURER \
41 "The FreeBSD Project (https://www.FreeBSD.org)"
122 char *buf,
size_t buflen);
const struct usb_temp_interface_desc ** ppIfaceDesc
struct usb_device_descriptor udd
const struct usb_temp_device_desc * tdd
struct usb_device_qualifier udq
usb_temp_get_string_desc_t * getStringDesc
const struct usb_temp_config_desc ** ppConfigDesc
usb_temp_get_vendor_desc_t * getVendorDesc
const struct usb_temp_packet_size * pPacketSize
const struct usb_temp_interval * pIntervals
const struct usb_temp_endpoint_desc ** ppEndpoints
uint8_t bInterfaceProtocol
uint8_t bInterfaceSubClass
uint8_t bInterval[USB_SPEED_MAX]
uint16_t mps[USB_SPEED_MAX]
usb_error_t usb_temp_setup(struct usb_device *, const struct usb_temp_device_desc *)
struct usb_temp_device_desc usb_template_cdceem
struct usb_temp_device_desc usb_template_mtp
struct usb_temp_device_desc usb_template_mouse
struct usb_temp_device_desc usb_template_modem
struct usb_temp_device_desc usb_template_audio
struct usb_temp_device_desc usb_template_multi
void usb_temp_unsetup(struct usb_device *)
struct usb_temp_device_desc usb_template_phone
struct usb_temp_device_desc usb_template_serialnet
struct usb_temp_device_desc usb_template_msc
const void *() usb_temp_get_vendor_desc_t(const struct usb_device_request *req, uint16_t *plen)
const void *() usb_temp_get_string_desc_t(uint16_t lang_id, uint8_t string_index)
int usb_temp_sysctl(SYSCTL_HANDLER_ARGS)
void usb_decode_str_desc(struct usb_string_descriptor *sd, char *buf, size_t buflen)
SYSCTL_DECL(_hw_usb_templates)
struct usb_temp_device_desc usb_template_midi
struct usb_temp_device_desc usb_template_kbd
struct usb_temp_device_desc usb_template_cdce