153 lines
6.8 KiB
C
153 lines
6.8 KiB
C
/*++
|
|
|
|
Copyright (c) 1998 - 2000 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ioctl.h
|
|
|
|
Abstract:
|
|
|
|
|
|
|
|
Environment:
|
|
|
|
Kernel & user mode
|
|
|
|
Revision History:
|
|
|
|
|
|
--*/
|
|
|
|
#define USBPRINT_IOCTL_INDEX 0x0000
|
|
|
|
|
|
// @@BEGIN_DDKSPLIT
|
|
|
|
|
|
|
|
#define IOCTL_USBPRINT_GET_PIPE_INFO CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_GET_CONFIG_DESCRIPTOR CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+1,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_SET_PIPE_PARAMETER CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+2,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_STOP_ISO_STREAM CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+3,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_START_ISO_STREAM CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+4,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_REGISTER_NOTIFY_EVENT CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+5,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_START_PERF_TIMER CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+6,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_STOP_PERF_TIMER CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+7,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_RETURN_PERF_DATA CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+8,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_RESET_DEVICE CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+9,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_CLOCK_MASTER_TEST CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+10,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_RESET_PIPE CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+11,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
// @@END_DDKSPLIT
|
|
#define IOCTL_USBPRINT_GET_LPT_STATUS CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+12,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_GET_1284_ID CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+13,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_VENDOR_SET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+14,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_VENDOR_GET_COMMAND CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+15,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
#define IOCTL_USBPRINT_SOFT_RESET CTL_CODE(FILE_DEVICE_UNKNOWN, \
|
|
USBPRINT_IOCTL_INDEX+16,\
|
|
METHOD_BUFFERED, \
|
|
FILE_ANY_ACCESS)
|
|
|
|
// @@BEGIN_DDKSPLIT
|
|
|
|
#include <PSHPACK1.H>
|
|
|
|
#define BULK 0
|
|
#define INTERRUPT 1
|
|
#define CONTROL 2
|
|
#define ISO 3
|
|
|
|
typedef struct _USBPRINT_PIPE_PERF_INFO {
|
|
ULONG BytesPerSecond;
|
|
ULONG ClockCyclesPerByte;
|
|
} USBPRINT_PIPE_PERF_INFO, *PUSBPRINT_PIPE_PERF_INFO;
|
|
|
|
typedef struct _USBPRINT_PIPE_INFO {
|
|
BOOLEAN In;
|
|
UCHAR PipeType;
|
|
UCHAR EndpointAddress;
|
|
UCHAR Interval;
|
|
ULONG MaximumPacketSize;
|
|
ULONG MaximumTransferSize;
|
|
UCHAR Name[32];
|
|
USBPRINT_PIPE_PERF_INFO PerfInfo;
|
|
} USBPRINT_PIPE_INFO, *PUSBPRINT_PIPE_INFO;
|
|
|
|
|
|
typedef struct _USBPRINT_INTERFACE_INFO {
|
|
ULONG PipeCount;
|
|
USBPRINT_PIPE_INFO Pipes[0];
|
|
} USBPRINT_INTERFACE_INFO, *PUSBPRINT_INTERFACE_INFO;
|
|
|
|
|
|
|
|
#include <POPPACK.H>
|
|
|
|
|
|
// @@END_DDKSPLIT
|
|
|