FreeBSD kernel usb device Code
usb_ioctl.h File Reference
#include <sys/ioccom.h>
#include <sys/cdefs.h>
#include <dev/usb/usb_endian.h>
#include <dev/usb/usb.h>
Include dependency graph for usb_ioctl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Data Structures

struct  usb_read_dir
 
struct  usb_ctl_request
 
struct  usb_alt_interface
 
struct  usb_gen_descriptor
 
struct  usb_device_info
 
struct  usb_device_port_path
 
struct  usb_device_stats
 
struct  usb_fs_start
 
struct  usb_fs_stop
 
struct  usb_fs_complete
 
struct  usb_fs_endpoint
 
struct  usb_fs_init
 
struct  usb_fs_uninit
 
struct  usb_fs_open
 
struct  usb_fs_open_stream
 
struct  usb_fs_close
 
struct  usb_fs_clear_stall_sync
 
struct  usb_gen_quirk
 

Macros

#define USB_DEVICE_NAME   "usbctl"
 
#define USB_DEVICE_DIR   "usb"
 
#define USB_GENERIC_NAME   "ugen"
 
#define USB_TEMPLATE_SYSCTL   "hw.usb.template" /* integer type */
 
#define USB_DEVICE_PORT_PATH_MAX   32
 
#define USB_FS_FLAG_SINGLE_SHORT_OK   0x0001
 
#define USB_FS_FLAG_MULTI_SHORT_OK   0x0002
 
#define USB_FS_FLAG_FORCE_SHORT   0x0004
 
#define USB_FS_FLAG_CLEAR_STALL   0x0008
 
#define USB_FS_TIMEOUT_NONE   0
 
#define USB_FS_MAX_BUFSIZE   (1 << 25) /* 32 MBytes */
 
#define USB_FS_MAX_FRAMES   (1U << 12)
 
#define USB_FS_MAX_FRAMES_PRE_SCALE   (1U << 31) /* for ISOCHRONOUS transfers */
 
#define USB_REQUEST   _IOWR('U', 1, struct usb_ctl_request)
 
#define USB_SETDEBUG   _IOW ('U', 2, int)
 
#define USB_DISCOVER   _IO ('U', 3)
 
#define USB_DEVICEINFO   _IOWR('U', 4, struct usb_device_info)
 
#define USB_DEVICESTATS   _IOR ('U', 5, struct usb_device_stats)
 
#define USB_DEVICEENUMERATE   _IOW ('U', 6, int)
 
#define USB_GET_REPORT_DESC   _IOWR('U', 21, struct usb_gen_descriptor)
 
#define USB_SET_IMMED   _IOW ('U', 22, int)
 
#define USB_GET_REPORT   _IOWR('U', 23, struct usb_gen_descriptor)
 
#define USB_SET_REPORT   _IOW ('U', 24, struct usb_gen_descriptor)
 
#define USB_GET_REPORT_ID   _IOR ('U', 25, int)
 
#define USB_GET_CONFIG   _IOR ('U', 100, int)
 
#define USB_SET_CONFIG   _IOW ('U', 101, int)
 
#define USB_GET_ALTINTERFACE   _IOWR('U', 102, struct usb_alt_interface)
 
#define USB_SET_ALTINTERFACE   _IOWR('U', 103, struct usb_alt_interface)
 
#define USB_GET_DEVICE_DESC   _IOR ('U', 105, struct usb_device_descriptor)
 
#define USB_GET_CONFIG_DESC   _IOR ('U', 106, struct usb_config_descriptor)
 
#define USB_GET_RX_INTERFACE_DESC   _IOR ('U', 107, struct usb_interface_descriptor)
 
#define USB_GET_RX_ENDPOINT_DESC   _IOR ('U', 108, struct usb_endpoint_descriptor)
 
#define USB_GET_FULL_DESC   _IOWR('U', 109, struct usb_gen_descriptor)
 
#define USB_GET_STRING_DESC   _IOWR('U', 110, struct usb_gen_descriptor)
 
#define USB_DO_REQUEST   _IOWR('U', 111, struct usb_ctl_request)
 
#define USB_GET_DEVICEINFO   _IOR ('U', 112, struct usb_device_info)
 
#define USB_SET_RX_SHORT_XFER   _IOW ('U', 113, int)
 
#define USB_SET_RX_TIMEOUT   _IOW ('U', 114, int)
 
#define USB_GET_RX_FRAME_SIZE   _IOR ('U', 115, int)
 
#define USB_GET_RX_BUFFER_SIZE   _IOR ('U', 117, int)
 
#define USB_SET_RX_BUFFER_SIZE   _IOW ('U', 118, int)
 
#define USB_SET_RX_STALL_FLAG   _IOW ('U', 119, int)
 
#define USB_SET_TX_STALL_FLAG   _IOW ('U', 120, int)
 
#define USB_GET_IFACE_DRIVER   _IOWR('U', 121, struct usb_gen_descriptor)
 
#define USB_CLAIM_INTERFACE   _IOW ('U', 122, int)
 
#define USB_RELEASE_INTERFACE   _IOW ('U', 123, int)
 
#define USB_IFACE_DRIVER_ACTIVE   _IOW ('U', 124, int)
 
#define USB_IFACE_DRIVER_DETACH   _IOW ('U', 125, int)
 
#define USB_GET_PLUGTIME   _IOR ('U', 126, uint32_t)
 
#define USB_READ_DIR   _IOW ('U', 127, struct usb_read_dir)
 
#define USB_GET_DEV_PORT_PATH   _IOR ('U', 134, struct usb_device_port_path)
 
#define USB_GET_POWER_USAGE   _IOR ('U', 135, int)
 
#define USB_SET_TX_FORCE_SHORT   _IOW ('U', 136, int)
 
#define USB_SET_TX_TIMEOUT   _IOW ('U', 137, int)
 
#define USB_GET_TX_FRAME_SIZE   _IOR ('U', 138, int)
 
#define USB_GET_TX_BUFFER_SIZE   _IOR ('U', 139, int)
 
#define USB_SET_TX_BUFFER_SIZE   _IOW ('U', 140, int)
 
#define USB_GET_TX_INTERFACE_DESC   _IOR ('U', 141, struct usb_interface_descriptor)
 
#define USB_GET_TX_ENDPOINT_DESC   _IOR ('U', 142, struct usb_endpoint_descriptor)
 
#define USB_SET_PORT_ENABLE   _IOW ('U', 143, int)
 
#define USB_SET_PORT_DISABLE   _IOW ('U', 144, int)
 
#define USB_SET_POWER_MODE   _IOW ('U', 145, int)
 
#define USB_GET_POWER_MODE   _IOR ('U', 146, int)
 
#define USB_SET_TEMPLATE   _IOW ('U', 147, int)
 
#define USB_GET_TEMPLATE   _IOR ('U', 148, int)
 
#define USB_GET_CM_OVER_DATA   _IOR ('U', 180, int)
 
#define USB_SET_CM_OVER_DATA   _IOW ('U', 181, int)
 
#define USB_GET_GPIO   _IOR ('U', 182, int)
 
#define USB_SET_GPIO   _IOW ('U', 183, int)
 
#define USB_FS_START   _IOW ('U', 192, struct usb_fs_start)
 
#define USB_FS_STOP   _IOW ('U', 193, struct usb_fs_stop)
 
#define USB_FS_COMPLETE   _IOR ('U', 194, struct usb_fs_complete)
 
#define USB_FS_INIT   _IOW ('U', 195, struct usb_fs_init)
 
#define USB_FS_UNINIT   _IOW ('U', 196, struct usb_fs_uninit)
 
#define USB_FS_OPEN   _IOWR('U', 197, struct usb_fs_open)
 
#define USB_FS_CLOSE   _IOW ('U', 198, struct usb_fs_close)
 
#define USB_FS_CLEAR_STALL_SYNC   _IOW ('U', 199, struct usb_fs_clear_stall_sync)
 
#define USB_FS_OPEN_STREAM   _IOWR('U', 200, struct usb_fs_open_stream)
 
#define USB_DEV_QUIRK_GET   _IOWR('Q', 0, struct usb_gen_quirk)
 
#define USB_QUIRK_NAME_GET   _IOWR('Q', 1, struct usb_gen_quirk)
 
#define USB_DEV_QUIRK_ADD   _IOW ('Q', 2, struct usb_gen_quirk)
 
#define USB_DEV_QUIRK_REMOVE   _IOW ('Q', 3, struct usb_gen_quirk)
 

Enumerations

enum  {
  USB_TEMP_MSC , USB_TEMP_CDCE , USB_TEMP_MTP , USB_TEMP_MODEM ,
  USB_TEMP_AUDIO , USB_TEMP_KBD , USB_TEMP_MOUSE , USB_TEMP_PHONE ,
  USB_TEMP_SERIALNET , USB_TEMP_MIDI , USB_TEMP_MULTI , USB_TEMP_CDCEEM ,
  USB_TEMP_MAX
}
 

Macro Definition Documentation

◆ USB_CLAIM_INTERFACE

#define USB_CLAIM_INTERFACE   _IOW ('U', 122, int)

Definition at line 270 of file usb_ioctl.h.

◆ USB_DEV_QUIRK_ADD

#define USB_DEV_QUIRK_ADD   _IOW ('Q', 2, struct usb_gen_quirk)

Definition at line 315 of file usb_ioctl.h.

◆ USB_DEV_QUIRK_GET

#define USB_DEV_QUIRK_GET   _IOWR('Q', 0, struct usb_gen_quirk)

Definition at line 313 of file usb_ioctl.h.

◆ USB_DEV_QUIRK_REMOVE

#define USB_DEV_QUIRK_REMOVE   _IOW ('Q', 3, struct usb_gen_quirk)

Definition at line 316 of file usb_ioctl.h.

◆ USB_DEVICE_DIR

#define USB_DEVICE_DIR   "usb"

Definition at line 45 of file usb_ioctl.h.

◆ USB_DEVICE_NAME

#define USB_DEVICE_NAME   "usbctl"

Definition at line 44 of file usb_ioctl.h.

◆ USB_DEVICE_PORT_PATH_MAX

#define USB_DEVICE_PORT_PATH_MAX   32

Definition at line 130 of file usb_ioctl.h.

◆ USB_DEVICEENUMERATE

#define USB_DEVICEENUMERATE   _IOW ('U', 6, int)

Definition at line 240 of file usb_ioctl.h.

◆ USB_DEVICEINFO

#define USB_DEVICEINFO   _IOWR('U', 4, struct usb_device_info)

Definition at line 238 of file usb_ioctl.h.

◆ USB_DEVICESTATS

#define USB_DEVICESTATS   _IOR ('U', 5, struct usb_device_stats)

Definition at line 239 of file usb_ioctl.h.

◆ USB_DISCOVER

#define USB_DISCOVER   _IO ('U', 3)

Definition at line 237 of file usb_ioctl.h.

◆ USB_DO_REQUEST

#define USB_DO_REQUEST   _IOWR('U', 111, struct usb_ctl_request)

Definition at line 260 of file usb_ioctl.h.

◆ USB_FS_CLEAR_STALL_SYNC

#define USB_FS_CLEAR_STALL_SYNC   _IOW ('U', 199, struct usb_fs_clear_stall_sync)

Definition at line 309 of file usb_ioctl.h.

◆ USB_FS_CLOSE

#define USB_FS_CLOSE   _IOW ('U', 198, struct usb_fs_close)

Definition at line 308 of file usb_ioctl.h.

◆ USB_FS_COMPLETE

#define USB_FS_COMPLETE   _IOR ('U', 194, struct usb_fs_complete)

Definition at line 304 of file usb_ioctl.h.

◆ USB_FS_FLAG_CLEAR_STALL

#define USB_FS_FLAG_CLEAR_STALL   0x0008

Definition at line 175 of file usb_ioctl.h.

◆ USB_FS_FLAG_FORCE_SHORT

#define USB_FS_FLAG_FORCE_SHORT   0x0004

Definition at line 173 of file usb_ioctl.h.

◆ USB_FS_FLAG_MULTI_SHORT_OK

#define USB_FS_FLAG_MULTI_SHORT_OK   0x0002

Definition at line 171 of file usb_ioctl.h.

◆ USB_FS_FLAG_SINGLE_SHORT_OK

#define USB_FS_FLAG_SINGLE_SHORT_OK   0x0001

Definition at line 169 of file usb_ioctl.h.

◆ USB_FS_INIT

#define USB_FS_INIT   _IOW ('U', 195, struct usb_fs_init)

Definition at line 305 of file usb_ioctl.h.

◆ USB_FS_MAX_BUFSIZE

#define USB_FS_MAX_BUFSIZE   (1 << 25) /* 32 MBytes */

Definition at line 196 of file usb_ioctl.h.

◆ USB_FS_MAX_FRAMES

#define USB_FS_MAX_FRAMES   (1U << 12)

Definition at line 198 of file usb_ioctl.h.

◆ USB_FS_MAX_FRAMES_PRE_SCALE

#define USB_FS_MAX_FRAMES_PRE_SCALE   (1U << 31) /* for ISOCHRONOUS transfers */

Definition at line 199 of file usb_ioctl.h.

◆ USB_FS_OPEN

#define USB_FS_OPEN   _IOWR('U', 197, struct usb_fs_open)

Definition at line 307 of file usb_ioctl.h.

◆ USB_FS_OPEN_STREAM

#define USB_FS_OPEN_STREAM   _IOWR('U', 200, struct usb_fs_open_stream)

Definition at line 310 of file usb_ioctl.h.

◆ USB_FS_START

#define USB_FS_START   _IOW ('U', 192, struct usb_fs_start)

Definition at line 302 of file usb_ioctl.h.

◆ USB_FS_STOP

#define USB_FS_STOP   _IOW ('U', 193, struct usb_fs_stop)

Definition at line 303 of file usb_ioctl.h.

◆ USB_FS_TIMEOUT_NONE

#define USB_FS_TIMEOUT_NONE   0

Definition at line 180 of file usb_ioctl.h.

◆ USB_FS_UNINIT

#define USB_FS_UNINIT   _IOW ('U', 196, struct usb_fs_uninit)

Definition at line 306 of file usb_ioctl.h.

◆ USB_GENERIC_NAME

#define USB_GENERIC_NAME   "ugen"

Definition at line 46 of file usb_ioctl.h.

◆ USB_GET_ALTINTERFACE

#define USB_GET_ALTINTERFACE   _IOWR('U', 102, struct usb_alt_interface)

Definition at line 252 of file usb_ioctl.h.

◆ USB_GET_CM_OVER_DATA

#define USB_GET_CM_OVER_DATA   _IOR ('U', 180, int)

Definition at line 294 of file usb_ioctl.h.

◆ USB_GET_CONFIG

#define USB_GET_CONFIG   _IOR ('U', 100, int)

Definition at line 250 of file usb_ioctl.h.

◆ USB_GET_CONFIG_DESC

#define USB_GET_CONFIG_DESC   _IOR ('U', 106, struct usb_config_descriptor)

Definition at line 255 of file usb_ioctl.h.

◆ USB_GET_DEV_PORT_PATH

#define USB_GET_DEV_PORT_PATH   _IOR ('U', 134, struct usb_device_port_path)

Definition at line 277 of file usb_ioctl.h.

◆ USB_GET_DEVICE_DESC

#define USB_GET_DEVICE_DESC   _IOR ('U', 105, struct usb_device_descriptor)

Definition at line 254 of file usb_ioctl.h.

◆ USB_GET_DEVICEINFO

#define USB_GET_DEVICEINFO   _IOR ('U', 112, struct usb_device_info)

Definition at line 261 of file usb_ioctl.h.

◆ USB_GET_FULL_DESC

#define USB_GET_FULL_DESC   _IOWR('U', 109, struct usb_gen_descriptor)

Definition at line 258 of file usb_ioctl.h.

◆ USB_GET_GPIO

#define USB_GET_GPIO   _IOR ('U', 182, int)

Definition at line 298 of file usb_ioctl.h.

◆ USB_GET_IFACE_DRIVER

#define USB_GET_IFACE_DRIVER   _IOWR('U', 121, struct usb_gen_descriptor)

Definition at line 269 of file usb_ioctl.h.

◆ USB_GET_PLUGTIME

#define USB_GET_PLUGTIME   _IOR ('U', 126, uint32_t)

Definition at line 274 of file usb_ioctl.h.

◆ USB_GET_POWER_MODE

#define USB_GET_POWER_MODE   _IOR ('U', 146, int)

Definition at line 289 of file usb_ioctl.h.

◆ USB_GET_POWER_USAGE

#define USB_GET_POWER_USAGE   _IOR ('U', 135, int)

Definition at line 278 of file usb_ioctl.h.

◆ USB_GET_REPORT

#define USB_GET_REPORT   _IOWR('U', 23, struct usb_gen_descriptor)

Definition at line 245 of file usb_ioctl.h.

◆ USB_GET_REPORT_DESC

#define USB_GET_REPORT_DESC   _IOWR('U', 21, struct usb_gen_descriptor)

Definition at line 243 of file usb_ioctl.h.

◆ USB_GET_REPORT_ID

#define USB_GET_REPORT_ID   _IOR ('U', 25, int)

Definition at line 247 of file usb_ioctl.h.

◆ USB_GET_RX_BUFFER_SIZE

#define USB_GET_RX_BUFFER_SIZE   _IOR ('U', 117, int)

Definition at line 265 of file usb_ioctl.h.

◆ USB_GET_RX_ENDPOINT_DESC

#define USB_GET_RX_ENDPOINT_DESC   _IOR ('U', 108, struct usb_endpoint_descriptor)

Definition at line 257 of file usb_ioctl.h.

◆ USB_GET_RX_FRAME_SIZE

#define USB_GET_RX_FRAME_SIZE   _IOR ('U', 115, int)

Definition at line 264 of file usb_ioctl.h.

◆ USB_GET_RX_INTERFACE_DESC

#define USB_GET_RX_INTERFACE_DESC   _IOR ('U', 107, struct usb_interface_descriptor)

Definition at line 256 of file usb_ioctl.h.

◆ USB_GET_STRING_DESC

#define USB_GET_STRING_DESC   _IOWR('U', 110, struct usb_gen_descriptor)

Definition at line 259 of file usb_ioctl.h.

◆ USB_GET_TEMPLATE

#define USB_GET_TEMPLATE   _IOR ('U', 148, int)

Definition at line 291 of file usb_ioctl.h.

◆ USB_GET_TX_BUFFER_SIZE

#define USB_GET_TX_BUFFER_SIZE   _IOR ('U', 139, int)

Definition at line 282 of file usb_ioctl.h.

◆ USB_GET_TX_ENDPOINT_DESC

#define USB_GET_TX_ENDPOINT_DESC   _IOR ('U', 142, struct usb_endpoint_descriptor)

Definition at line 285 of file usb_ioctl.h.

◆ USB_GET_TX_FRAME_SIZE

#define USB_GET_TX_FRAME_SIZE   _IOR ('U', 138, int)

Definition at line 281 of file usb_ioctl.h.

◆ USB_GET_TX_INTERFACE_DESC

#define USB_GET_TX_INTERFACE_DESC   _IOR ('U', 141, struct usb_interface_descriptor)

Definition at line 284 of file usb_ioctl.h.

◆ USB_IFACE_DRIVER_ACTIVE

#define USB_IFACE_DRIVER_ACTIVE   _IOW ('U', 124, int)

Definition at line 272 of file usb_ioctl.h.

◆ USB_IFACE_DRIVER_DETACH

#define USB_IFACE_DRIVER_DETACH   _IOW ('U', 125, int)

Definition at line 273 of file usb_ioctl.h.

◆ USB_QUIRK_NAME_GET

#define USB_QUIRK_NAME_GET   _IOWR('Q', 1, struct usb_gen_quirk)

Definition at line 314 of file usb_ioctl.h.

◆ USB_READ_DIR

#define USB_READ_DIR   _IOW ('U', 127, struct usb_read_dir)

Definition at line 275 of file usb_ioctl.h.

◆ USB_RELEASE_INTERFACE

#define USB_RELEASE_INTERFACE   _IOW ('U', 123, int)

Definition at line 271 of file usb_ioctl.h.

◆ USB_REQUEST

#define USB_REQUEST   _IOWR('U', 1, struct usb_ctl_request)

Definition at line 235 of file usb_ioctl.h.

◆ USB_SET_ALTINTERFACE

#define USB_SET_ALTINTERFACE   _IOWR('U', 103, struct usb_alt_interface)

Definition at line 253 of file usb_ioctl.h.

◆ USB_SET_CM_OVER_DATA

#define USB_SET_CM_OVER_DATA   _IOW ('U', 181, int)

Definition at line 295 of file usb_ioctl.h.

◆ USB_SET_CONFIG

#define USB_SET_CONFIG   _IOW ('U', 101, int)

Definition at line 251 of file usb_ioctl.h.

◆ USB_SET_GPIO

#define USB_SET_GPIO   _IOW ('U', 183, int)

Definition at line 299 of file usb_ioctl.h.

◆ USB_SET_IMMED

#define USB_SET_IMMED   _IOW ('U', 22, int)

Definition at line 244 of file usb_ioctl.h.

◆ USB_SET_PORT_DISABLE

#define USB_SET_PORT_DISABLE   _IOW ('U', 144, int)

Definition at line 287 of file usb_ioctl.h.

◆ USB_SET_PORT_ENABLE

#define USB_SET_PORT_ENABLE   _IOW ('U', 143, int)

Definition at line 286 of file usb_ioctl.h.

◆ USB_SET_POWER_MODE

#define USB_SET_POWER_MODE   _IOW ('U', 145, int)

Definition at line 288 of file usb_ioctl.h.

◆ USB_SET_REPORT

#define USB_SET_REPORT   _IOW ('U', 24, struct usb_gen_descriptor)

Definition at line 246 of file usb_ioctl.h.

◆ USB_SET_RX_BUFFER_SIZE

#define USB_SET_RX_BUFFER_SIZE   _IOW ('U', 118, int)

Definition at line 266 of file usb_ioctl.h.

◆ USB_SET_RX_SHORT_XFER

#define USB_SET_RX_SHORT_XFER   _IOW ('U', 113, int)

Definition at line 262 of file usb_ioctl.h.

◆ USB_SET_RX_STALL_FLAG

#define USB_SET_RX_STALL_FLAG   _IOW ('U', 119, int)

Definition at line 267 of file usb_ioctl.h.

◆ USB_SET_RX_TIMEOUT

#define USB_SET_RX_TIMEOUT   _IOW ('U', 114, int)

Definition at line 263 of file usb_ioctl.h.

◆ USB_SET_TEMPLATE

#define USB_SET_TEMPLATE   _IOW ('U', 147, int)

Definition at line 290 of file usb_ioctl.h.

◆ USB_SET_TX_BUFFER_SIZE

#define USB_SET_TX_BUFFER_SIZE   _IOW ('U', 140, int)

Definition at line 283 of file usb_ioctl.h.

◆ USB_SET_TX_FORCE_SHORT

#define USB_SET_TX_FORCE_SHORT   _IOW ('U', 136, int)

Definition at line 279 of file usb_ioctl.h.

◆ USB_SET_TX_STALL_FLAG

#define USB_SET_TX_STALL_FLAG   _IOW ('U', 120, int)

Definition at line 268 of file usb_ioctl.h.

◆ USB_SET_TX_TIMEOUT

#define USB_SET_TX_TIMEOUT   _IOW ('U', 137, int)

Definition at line 280 of file usb_ioctl.h.

◆ USB_SETDEBUG

#define USB_SETDEBUG   _IOW ('U', 2, int)

Definition at line 236 of file usb_ioctl.h.

◆ USB_TEMPLATE_SYSCTL

#define USB_TEMPLATE_SYSCTL   "hw.usb.template" /* integer type */

Definition at line 47 of file usb_ioctl.h.

Enumeration Type Documentation

◆ anonymous enum

anonymous enum
Enumerator
USB_TEMP_MSC 
USB_TEMP_CDCE 
USB_TEMP_MTP 
USB_TEMP_MODEM 
USB_TEMP_AUDIO 
USB_TEMP_KBD 
USB_TEMP_MOUSE 
USB_TEMP_PHONE 
USB_TEMP_SERIALNET 
USB_TEMP_MIDI 
USB_TEMP_MULTI 
USB_TEMP_CDCEEM 
USB_TEMP_MAX 

Definition at line 51 of file usb_ioctl.h.