ReactOS  0.4.14-dev-593-g1793dcc
usbioctl.h File Reference
#include "usb100.h"
#include "usbiodef.h"
#include <pshpack1.h>
#include <poppack.h>
Include dependency graph for usbioctl.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _USB_HUB_INFORMATION
 
struct  _USB_MI_PARENT_INFORMATION
 
struct  _USB_NODE_INFORMATION
 
struct  _USB_PIPE_INFO
 
struct  _USB_NODE_CONNECTION_INFORMATION
 
struct  _USB_NODE_CONNECTION_DRIVERKEY_NAME
 
struct  _USB_NODE_CONNECTION_NAME
 
struct  _USB_HUB_NAME
 
struct  _USB_ROOT_HUB_NAME
 
struct  _USB_HCD_DRIVERKEY_NAME
 
struct  _USB_DESCRIPTOR_REQUEST
 
struct  _HCD_ISO_STAT_COUNTERS
 
struct  _HCD_STAT_COUNTERS
 
struct  _HCD_STAT_INFORMATION_1
 
struct  _HCD_STAT_INFORMATION_2
 
struct  _USB_NOTIFICATION
 
struct  _USB_CONNECTION_NOTIFICATION
 
struct  _USB_BUS_NOTIFICATION
 
struct  _USB_ACQUIRE_INFO
 

Macros

#define IOCTL_INTERNAL_USB_SUBMIT_URB   CTL_CODE(FILE_DEVICE_USB, USB_SUBMIT_URB, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_RESET_PORT   CTL_CODE(FILE_DEVICE_USB, USB_RESET_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO   CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define USBD_PORT_ENABLED   1
 
#define USBD_PORT_CONNECTED   2
 
#define IOCTL_INTERNAL_USB_GET_PORT_STATUS   CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_ENABLE_PORT   CTL_CODE(FILE_DEVICE_USB, USB_ENABLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_HUB_COUNT   CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_CYCLE_PORT   CTL_CODE(FILE_DEVICE_USB, USB_CYCLE_PORT, METHOD_NEITHER, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_HUB_NAME   CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_BUS_INFO   CTL_CODE(FILE_DEVICE_USB, USB_GET_BUS_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME   CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO   CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO   CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_GET_STATS_1   CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_1, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_GET_STATS_2   CTL_CODE(FILE_DEVICE_USB, HCD_GET_STATS_2, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_DISABLE_PORT   CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_ENABLE_PORT   CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_DISABLE_PORT   CTL_CODE(FILE_DEVICE_USB, HCD_DISABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_HCD_ENABLE_PORT   CTL_CODE(FILE_DEVICE_USB, HCD_ENABLE_PORT, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_DIAGNOSTIC_MODE_OFF   CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_DIAGNOSTIC_MODE_ON   CTL_CODE(FILE_DEVICE_USB, HCD_DIAGNOSTIC_MODE_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_ROOT_HUB_NAME   CTL_CODE(FILE_DEVICE_USB, HCD_GET_ROOT_HUB_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_GET_HCD_DRIVERKEY_NAME   CTL_CODE(FILE_DEVICE_USB, HCD_GET_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_NODE_INFORMATION   CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_NODE_CONNECTION_INFORMATION   CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_INFORMATION, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION   CTL_CODE(FILE_DEVICE_USB, USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_NODE_CONNECTION_NAME   CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_DIAG_IGNORE_HUBS_ON   CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_ON, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_DIAG_IGNORE_HUBS_OFF   CTL_CODE(FILE_DEVICE_USB, USB_DIAG_IGNORE_HUBS_OFF, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME   CTL_CODE(FILE_DEVICE_USB, USB_GET_NODE_CONNECTION_DRIVERKEY_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)
 
#define WMI_USB_DRIVER_INFORMATION   0
 
#define WMI_USB_DRIVER_NOTIFICATION   1
 
#define WMI_USB_POWER_DEVICE_ENABLE   2
 
#define WMI_USB_HUB_NODE_INFORMATION   4
 
#define WMI_USB_PERFORMANCE_INFORMATION   1
 
#define WMI_USB_DEVICE_NODE_INFORMATION   2
 

Typedefs

typedef enum _USB_HUB_NODE USB_HUB_NODE
 
typedef struct _USB_HUB_INFORMATION USB_HUB_INFORMATION
 
typedef struct _USB_HUB_INFORMATIONPUSB_HUB_INFORMATION
 
typedef struct _USB_MI_PARENT_INFORMATION USB_MI_PARENT_INFORMATION
 
typedef struct _USB_MI_PARENT_INFORMATIONPUSB_MI_PARENT_INFORMATION
 
typedef struct _USB_NODE_INFORMATION USB_NODE_INFORMATION
 
typedef struct _USB_NODE_INFORMATIONPUSB_NODE_INFORMATION
 
typedef struct _USB_PIPE_INFO USB_PIPE_INFO
 
typedef struct _USB_PIPE_INFOPUSB_PIPE_INFO
 
typedef enum _USB_CONNECTION_STATUS USB_CONNECTION_STATUS
 
typedef enum _USB_CONNECTION_STATUSPUSB_CONNECTION_STATUS
 
typedef struct _USB_NODE_CONNECTION_INFORMATION USB_NODE_CONNECTION_INFORMATION
 
typedef struct _USB_NODE_CONNECTION_INFORMATIONPUSB_NODE_CONNECTION_INFORMATION
 
typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAME USB_NODE_CONNECTION_DRIVERKEY_NAME
 
typedef struct _USB_NODE_CONNECTION_DRIVERKEY_NAMEPUSB_NODE_CONNECTION_DRIVERKEY_NAME
 
typedef struct _USB_NODE_CONNECTION_NAME USB_NODE_CONNECTION_NAME
 
typedef struct _USB_NODE_CONNECTION_NAMEPUSB_NODE_CONNECTION_NAME
 
typedef struct _USB_HUB_NAME USB_HUB_NAME
 
typedef struct _USB_HUB_NAMEPUSB_HUB_NAME
 
typedef struct _USB_ROOT_HUB_NAME USB_ROOT_HUB_NAME
 
typedef struct _USB_ROOT_HUB_NAMEPUSB_ROOT_HUB_NAME
 
typedef struct _USB_HCD_DRIVERKEY_NAME USB_HCD_DRIVERKEY_NAME
 
typedef struct _USB_HCD_DRIVERKEY_NAMEPUSB_HCD_DRIVERKEY_NAME
 
typedef struct _USB_DESCRIPTOR_REQUEST USB_DESCRIPTOR_REQUEST
 
typedef struct _USB_DESCRIPTOR_REQUESTPUSB_DESCRIPTOR_REQUEST
 
typedef struct _HCD_ISO_STAT_COUNTERS HCD_ISO_STAT_COUNTERS
 
typedef struct _HCD_ISO_STAT_COUNTERSPHCD_ISO_STAT_COUNTERS
 
typedef struct _HCD_STAT_COUNTERS HCD_STAT_COUNTERS
 
typedef struct _HCD_STAT_COUNTERSPHCD_STAT_COUNTERS
 
typedef struct _HCD_STAT_INFORMATION_1 HCD_STAT_INFORMATION_1
 
typedef struct _HCD_STAT_INFORMATION_1PHCD_STAT_INFORMATION_1
 
typedef struct _HCD_STAT_INFORMATION_2 HCD_STAT_INFORMATION_2
 
typedef struct _HCD_STAT_INFORMATION_2PHCD_STAT_INFORMATION_2
 
typedef enum _USB_NOTIFICATION_TYPE USB_NOTIFICATION_TYPE
 
typedef struct _USB_NOTIFICATION USB_NOTIFICATION
 
typedef struct _USB_NOTIFICATIONPUSB_NOTIFICATION
 
typedef struct _USB_CONNECTION_NOTIFICATION USB_CONNECTION_NOTIFICATION
 
typedef struct _USB_CONNECTION_NOTIFICATIONPUSB_CONNECTION_NOTIFICATION
 
typedef struct _USB_BUS_NOTIFICATION USB_BUS_NOTIFICATION
 
typedef struct _USB_BUS_NOTIFICATIONPUSB_BUS_NOTIFICATION
 
typedef struct _USB_ACQUIRE_INFO USB_ACQUIRE_INFO
 
typedef struct _USB_ACQUIRE_INFOPUSB_ACQUIRE_INFO
 

Enumerations

enum  _USB_HUB_NODE { UsbHub, UsbMIParent }
 
enum  _USB_CONNECTION_STATUS {
  NoDeviceConnected, DeviceConnected, DeviceFailedEnumeration, DeviceGeneralFailure,
  DeviceCausedOvercurrent, DeviceNotEnoughPower, DeviceNotEnoughBandwidth
}
 
enum  _USB_NOTIFICATION_TYPE {
  EnumerationFailure = 0, InsufficentBandwidth, InsufficentPower, OverCurrent,
  ResetOvercurrent, AcquireBusInfo, AcquireHubName, AcquireControllerName,
  HubOvercurrent, HubPowerChange
}
 

Macro Definition Documentation

◆ IOCTL_GET_HCD_DRIVERKEY_NAME

Definition at line 165 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_CYCLE_PORT

Definition at line 53 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_ENABLE_PORT

Definition at line 47 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_BUS_INFO

Definition at line 59 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_BUSGUID_INFO

#define IOCTL_INTERNAL_USB_GET_BUSGUID_INFO   CTL_CODE(FILE_DEVICE_USB, USB_GET_BUSGUID_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 65 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME

#define IOCTL_INTERNAL_USB_GET_CONTROLLER_NAME   CTL_CODE(FILE_DEVICE_USB, USB_GET_CONTROLLER_NAME, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 62 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_HUB_COUNT

#define IOCTL_INTERNAL_USB_GET_HUB_COUNT   CTL_CODE(FILE_DEVICE_USB, USB_GET_HUB_COUNT, METHOD_NEITHER, FILE_ANY_ACCESS)

Definition at line 50 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_HUB_NAME

Definition at line 56 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO

#define IOCTL_INTERNAL_USB_GET_PARENT_HUB_INFO   CTL_CODE(FILE_DEVICE_USB, USB_GET_PARENT_HUB_INFO, METHOD_BUFFERED, FILE_ANY_ACCESS)

Definition at line 68 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_PORT_STATUS

#define IOCTL_INTERNAL_USB_GET_PORT_STATUS   CTL_CODE(FILE_DEVICE_USB, USB_GET_PORT_STATUS, METHOD_NEITHER, FILE_ANY_ACCESS)

Definition at line 44 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO

#define IOCTL_INTERNAL_USB_GET_ROOTHUB_PDO   CTL_CODE(FILE_DEVICE_USB, USB_GET_ROOTHUB_PDO, METHOD_NEITHER, FILE_ANY_ACCESS)

Definition at line 38 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_RESET_PORT

Definition at line 35 of file usbioctl.h.

◆ IOCTL_INTERNAL_USB_SUBMIT_URB

Definition at line 32 of file usbioctl.h.

◆ IOCTL_USB_DIAG_IGNORE_HUBS_OFF

Definition at line 184 of file usbioctl.h.

◆ IOCTL_USB_DIAG_IGNORE_HUBS_ON

Definition at line 181 of file usbioctl.h.

◆ IOCTL_USB_DIAGNOSTIC_MODE_OFF

Definition at line 150 of file usbioctl.h.

◆ IOCTL_USB_DIAGNOSTIC_MODE_ON

Definition at line 155 of file usbioctl.h.

◆ IOCTL_USB_GET_DESCRIPTOR_FROM_NODE_CONNECTION

Definition at line 175 of file usbioctl.h.

◆ IOCTL_USB_GET_NODE_CONNECTION_DRIVERKEY_NAME

Definition at line 187 of file usbioctl.h.

◆ IOCTL_USB_GET_NODE_CONNECTION_INFORMATION

Definition at line 172 of file usbioctl.h.

◆ IOCTL_USB_GET_NODE_CONNECTION_NAME

Definition at line 178 of file usbioctl.h.

◆ IOCTL_USB_GET_NODE_INFORMATION

Definition at line 169 of file usbioctl.h.

◆ IOCTL_USB_GET_ROOT_HUB_NAME

Definition at line 160 of file usbioctl.h.

◆ IOCTL_USB_HCD_DISABLE_PORT [1/2]

Definition at line 143 of file usbioctl.h.

◆ IOCTL_USB_HCD_DISABLE_PORT [2/2]

Definition at line 143 of file usbioctl.h.

◆ IOCTL_USB_HCD_ENABLE_PORT [1/2]

Definition at line 146 of file usbioctl.h.

◆ IOCTL_USB_HCD_ENABLE_PORT [2/2]

Definition at line 146 of file usbioctl.h.

◆ IOCTL_USB_HCD_GET_STATS_1

Definition at line 131 of file usbioctl.h.

◆ IOCTL_USB_HCD_GET_STATS_2

Definition at line 134 of file usbioctl.h.

◆ USBD_PORT_CONNECTED

#define USBD_PORT_CONNECTED   2

Definition at line 42 of file usbioctl.h.

◆ USBD_PORT_ENABLED

#define USBD_PORT_ENABLED   1

Definition at line 41 of file usbioctl.h.

◆ WMI_USB_DEVICE_NODE_INFORMATION

#define WMI_USB_DEVICE_NODE_INFORMATION   2

Definition at line 486 of file usbioctl.h.

◆ WMI_USB_DRIVER_INFORMATION

#define WMI_USB_DRIVER_INFORMATION   0

Definition at line 480 of file usbioctl.h.

◆ WMI_USB_DRIVER_NOTIFICATION

#define WMI_USB_DRIVER_NOTIFICATION   1

Definition at line 481 of file usbioctl.h.

◆ WMI_USB_HUB_NODE_INFORMATION

#define WMI_USB_HUB_NODE_INFORMATION   4

Definition at line 483 of file usbioctl.h.

◆ WMI_USB_PERFORMANCE_INFORMATION

#define WMI_USB_PERFORMANCE_INFORMATION   1

Definition at line 485 of file usbioctl.h.

◆ WMI_USB_POWER_DEVICE_ENABLE

#define WMI_USB_POWER_DEVICE_ENABLE   2

Definition at line 482 of file usbioctl.h.

Typedef Documentation

◆ HCD_ISO_STAT_COUNTERS

◆ HCD_STAT_COUNTERS

◆ HCD_STAT_INFORMATION_1

◆ HCD_STAT_INFORMATION_2

◆ PHCD_ISO_STAT_COUNTERS

◆ PHCD_STAT_COUNTERS

◆ PHCD_STAT_INFORMATION_1

◆ PHCD_STAT_INFORMATION_2

◆ PUSB_ACQUIRE_INFO

◆ PUSB_BUS_NOTIFICATION

◆ PUSB_CONNECTION_NOTIFICATION

◆ PUSB_CONNECTION_STATUS

◆ PUSB_DESCRIPTOR_REQUEST

◆ PUSB_HCD_DRIVERKEY_NAME

◆ PUSB_HUB_INFORMATION

◆ PUSB_HUB_NAME

◆ PUSB_MI_PARENT_INFORMATION

◆ PUSB_NODE_CONNECTION_DRIVERKEY_NAME

◆ PUSB_NODE_CONNECTION_INFORMATION

◆ PUSB_NODE_CONNECTION_NAME

◆ PUSB_NODE_INFORMATION

◆ PUSB_NOTIFICATION

◆ PUSB_PIPE_INFO

◆ PUSB_ROOT_HUB_NAME

◆ USB_ACQUIRE_INFO

◆ USB_BUS_NOTIFICATION

◆ USB_CONNECTION_NOTIFICATION

◆ USB_CONNECTION_STATUS

◆ USB_DESCRIPTOR_REQUEST

◆ USB_HCD_DRIVERKEY_NAME

◆ USB_HUB_INFORMATION

◆ USB_HUB_NAME

◆ USB_HUB_NODE

◆ USB_MI_PARENT_INFORMATION

◆ USB_NODE_CONNECTION_DRIVERKEY_NAME

◆ USB_NODE_CONNECTION_INFORMATION

◆ USB_NODE_CONNECTION_NAME

◆ USB_NODE_INFORMATION

◆ USB_NOTIFICATION

◆ USB_NOTIFICATION_TYPE

◆ USB_PIPE_INFO

◆ USB_ROOT_HUB_NAME

Enumeration Type Documentation

◆ _USB_CONNECTION_STATUS

Enumerator
NoDeviceConnected 
DeviceConnected 
DeviceFailedEnumeration 
DeviceGeneralFailure 
DeviceCausedOvercurrent 
DeviceNotEnoughPower 
DeviceNotEnoughBandwidth 

Definition at line 277 of file usbioctl.h.

◆ _USB_HUB_NODE

Enumerator
UsbHub 
UsbMIParent 

Definition at line 218 of file usbioctl.h.

218  {
219  UsbHub,
221 } USB_HUB_NODE;
enum _USB_HUB_NODE USB_HUB_NODE

◆ _USB_NOTIFICATION_TYPE

Enumerator
EnumerationFailure 
InsufficentBandwidth 
InsufficentPower 
OverCurrent 
ResetOvercurrent 
AcquireBusInfo 
AcquireHubName 
AcquireControllerName 
HubOvercurrent 
HubPowerChange 

Definition at line 507 of file usbioctl.h.