www.pudn.com > pdiusbd12 source.rar > Ioctl.h


/*++ 
 
Copyright (c) 1993  Microsoft Corporation 
 
Module Name: 
 
    ioctl.h 
 
Abstract: 
 
         
 
Environment: 
 
    Kernel & user mode 
 
Revision History: 
 
    5-10-96 : created 
 
--*/ 
 
#define D12_IOCTL_INDEX  0x0000 
 
 
#define IOCTL_D12_GET_CONFIG_DESCRIPTOR     CTL_CODE(FILE_DEVICE_UNKNOWN,  \ 
                                                   D12_IOCTL_INDEX,\ 
                                                   METHOD_BUFFERED,  \ 
                                                   FILE_ANY_ACCESS) 
                                                    
#define IOCTL_D12_RESET_DEVICE   CTL_CODE(FILE_DEVICE_UNKNOWN,  \ 
                                                   D12_IOCTL_INDEX+1,\ 
                                                   METHOD_BUFFERED,  \ 
                                                   FILE_ANY_ACCESS)                                                               
                                                    
#define IOCTL_D12_RESET_PIPE  CTL_CODE(FILE_DEVICE_UNKNOWN,  \ 
                                                   D12_IOCTL_INDEX+2,\ 
                                                   METHOD_BUFFERED,  \ 
                                                   FILE_ANY_ACCESS)                                                            
 
#define IOCTL_D12_GET_DEVICE_DESCRIPTOR     CTL_CODE(FILE_DEVICE_UNKNOWN,  \ 
                                                   D12_IOCTL_INDEX+4,\ 
                                                   METHOD_BUFFERED,  \ 
                                                   FILE_ANY_ACCESS) 
 
#define FILE_DEVICE_USB_SCAN			0x8000 
#define IOCTL_INDEX						0x0800 
 
/* 
#define IOCTL_GET_VERSION               CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX,  METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_CANCEL_IO                 CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+1,METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_WAIT_ON_DEVICE_EVENT      CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+2,METHOD_BUFFERED,FILE_ANY_ACCESS) 
*/ 
#define IOCTL_READ_REGISTERS            CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+3,METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_WRITE_REGISTERS           CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+4,METHOD_BUFFERED,FILE_ANY_ACCESS) 
/* 
#define IOCTL_GET_CHANNEL_ALIGN_RQST    CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+5,METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_GET_DEVICE_DESCRIPTOR     CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+6,METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_RESET_PIPE            	CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+7,METHOD_BUFFERED,FILE_ANY_ACCESS) 
#define IOCTL_GET_USB_DESCRIPTOR       	CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+8,METHOD_BUFFERED,FILE_ANY_ACCESS) 
*/ 
 
#include  
 
#define BULK      0 
#define INTERRUPT 1 
#define CONTROL   2 
#define ISO       3 
 
typedef struct _IO_BLOCK { 
    IN      unsigned    uOffset; 
    IN      unsigned    uLength; 
    IN OUT  PUCHAR      pbyData; 
    IN      unsigned    uIndex; 
} IO_BLOCK, *PIO_BLOCK; 
 
 
#include