⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ioctl.h

📁 51单片机众多优秀的开发源程序:ZLG7290例程*ZLG7290汇编例程*蜂鸣器音乐例程*蜂鸣器响例程*读EEPROM并显示例程*16×2LCD模块例程*128×64点阵LCD模块例程*直连KEY和
💻 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_1581_GET_CONFIG_DESCRIPTOR     CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   D12_IOCTL_INDEX,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)
                                                   
#define IOCTL_1581_RESET_DEVICE   CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   D12_IOCTL_INDEX+1,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)                                                              
                                                   
#define IOCTL_1581_RESET_PIPE  CTL_CODE(FILE_DEVICE_UNKNOWN,  \
                                                   D12_IOCTL_INDEX+2,\
                                                   METHOD_BUFFERED,  \
                                                   FILE_ANY_ACCESS)                                                           

#define IOCTL_1581_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_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_FIRMWARE_DESCRIPTOR	CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+5,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define  IOCTL_SET_TRANSFER_PARAMETER	CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+6,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define  IOCTL_SET_FIRMWARE_STATUS		CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+7,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define  IOCTL_SET_ISOC_IN				CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+8,METHOD_BUFFERED,FILE_ANY_ACCESS)
#define  IOCTL_SET_ISOC_OUT				CTL_CODE(FILE_DEVICE_USB_SCAN,IOCTL_INDEX+9,METHOD_BUFFERED,FILE_ANY_ACCESS)


#include <PSHPACK1.H>

#define DIR_IN		1
#define DIR_OUT		0

typedef struct _IO_BLOCK {
    IN      unsigned    uOffset;
    IN      unsigned    uLength;
    IN OUT  PUCHAR      pbyData;
    IN      unsigned    uIndex;
} IO_BLOCK, *PIO_BLOCK;

typedef struct _IO_REQUEST {
    unsigned short	uAddressL;
    unsigned char	bAddressH;
    unsigned short	uSize;
    unsigned char	bCommand;
} IO_REQUEST, *PIO_REQUEST;

typedef struct _ERROR_INDEX {
    unsigned long 	Err_Index;
    unsigned short	uReserved;
} ERROR_INDEX, *PERROR_INDEX;


typedef struct _FW_REQUEST {
 
	ULONG	dwOffset;
	ULONG	dwLength;
	UCHAR	cOutCmd;
	UCHAR	cInCmd;
	USHORT	wloopIndex;

} FW_REQUEST, *PFW_REQUEST;

typedef struct _FW_DESC {

	UCHAR bLength;
	UCHAR bDescType;
	USHORT wTotallength;
	UCHAR bNoofConfig;
	UCHAR bDescValue;
	UCHAR bReserved;
	UCHAR bIDescriptor;
} FW_DESC, *PFW_DESC;

typedef struct _FW_CONF_DESC {

	UCHAR bLength;
	UCHAR bConfigNo;
	ULONG dwTotalMemSize;
	UCHAR bNoofLoop;
	UCHAR bConfigType;
} FW_CONF_DESC, *PFW_CONF_DESC;

typedef struct _FW_LOOP_DESC {

	UCHAR bLength;
	UCHAR bLoopIndex;
	ULONG dwMemorySize;
	ULONG dwMemoryOffset;
	UCHAR bLoopType;
	UCHAR bEndpNo;
	UCHAR bTransferConfigParam;
	UCHAR bEndpConfigParam;
} FW_LOOP_DESC, *PFW_LOOP_DESC;

typedef struct _FW_COMPLETE_DESC {
	FW_DESC fwDesc;
	FW_CONF_DESC fwConfig;
	FW_LOOP_DESC fwLoopDesc;
} FW_COMPLETE_DESC, *PFW_COMPLETE_DESC;


#define SETUP_DMA_REQUEST		0x471
#define GET_FIRMWARE_VERSION	0x472
#define SETUP_E2PROM_REQUEST	0x474


// Get the details from Firmware

#define GET_FIRMWARE_DESCRIPTOR		0x01



// Set the Transfer Parameter
#define  SET_TRANSFER_PARAMETER 0x02



// Set the Status of the firmware




#include <POPPACK.H>


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -