usbstor.h (ed6724cd) | usbstor.h (f3fd12b9) |
---|---|
1#ifndef _USBSTOR_H_ 2#define _USBSTOR_H_ 3 4#include <wdm.h> 5#include <usbdi.h> 6#include <usbbusif.h> 7#include <usbdlib.h> 8#include <classpnp.h> --- 54 unchanged lines hidden (view full) --- 63 ULONG InstanceCount; // pdo instance count 64}FDO_DEVICE_EXTENSION, *PFDO_DEVICE_EXTENSION; 65 66typedef struct 67{ 68 USBSTOR_COMMON_DEVICE_EXTENSION Common; 69 PDEVICE_OBJECT LowerDeviceObject; // points to FDO 70 UCHAR LUN; // lun id | 1#ifndef _USBSTOR_H_ 2#define _USBSTOR_H_ 3 4#include <wdm.h> 5#include <usbdi.h> 6#include <usbbusif.h> 7#include <usbdlib.h> 8#include <classpnp.h> --- 54 unchanged lines hidden (view full) --- 63 ULONG InstanceCount; // pdo instance count 64}FDO_DEVICE_EXTENSION, *PFDO_DEVICE_EXTENSION; 65 66typedef struct 67{ 68 USBSTOR_COMMON_DEVICE_EXTENSION Common; 69 PDEVICE_OBJECT LowerDeviceObject; // points to FDO 70 UCHAR LUN; // lun id |
71 PVOID InquiryData; // USB SCSI inquiry data | 71 PINQUIRYDATA InquiryData; // USB SCSI inquiry data |
72 PUCHAR FormatData; // USB SCSI Read Format Capacity Data 73 UCHAR Claimed; // indicating if it has been claimed by upper driver 74 ULONG BlockLength; // length of block 75 ULONG LastLogicBlockAddress; // last block address 76 PDEVICE_OBJECT *PDODeviceObject; // entry in pdo list 77 PDEVICE_OBJECT Self; // self 78 UCHAR MediumTypeCode; // floppy medium type code 79 UCHAR IsFloppy; // is device floppy --- 34 unchanged lines hidden (view full) --- 114 ULONG Signature; // CSW signature 115 ULONG Tag; // CSW tag 116 ULONG DataResidue; // CSW data transfer diff 117 UCHAR Status; // CSW status 118}CSW, *PCSW; 119 120//-------------------------------------------------------------------------------------------------------------------------------------------- 121// | 72 PUCHAR FormatData; // USB SCSI Read Format Capacity Data 73 UCHAR Claimed; // indicating if it has been claimed by upper driver 74 ULONG BlockLength; // length of block 75 ULONG LastLogicBlockAddress; // last block address 76 PDEVICE_OBJECT *PDODeviceObject; // entry in pdo list 77 PDEVICE_OBJECT Self; // self 78 UCHAR MediumTypeCode; // floppy medium type code 79 UCHAR IsFloppy; // is device floppy --- 34 unchanged lines hidden (view full) --- 114 ULONG Signature; // CSW signature 115 ULONG Tag; // CSW tag 116 ULONG DataResidue; // CSW data transfer diff 117 UCHAR Status; // CSW status 118}CSW, *PCSW; 119 120//-------------------------------------------------------------------------------------------------------------------------------------------- 121// |
122// UFI INQUIRY command 123// 124typedef struct 125{ 126 UCHAR Code; // operation code 0x12 127 UCHAR LUN; // lun address 128 UCHAR PageCode; // product data information, always 0x00 129 UCHAR Reserved; // reserved 0x00 130 UCHAR AllocationLength; // length of inquiry data to be returned, default 36 bytes 131 UCHAR Reserved1[7]; //reserved bytes 0x00 132}UFI_INQUIRY_CMD, *PUFI_INQUIRY_CMD; 133 134C_ASSERT(sizeof(UFI_INQUIRY_CMD) == 12); 135 136#define UFI_INQUIRY_CMD_LEN 0x6 137 138// 139// UFI INQUIRY command response 140// 141typedef struct 142{ 143 UCHAR DeviceType; // device type 144 UCHAR RMB; // removable media bit 145 UCHAR Version; // contains version 0x00 146 UCHAR Format; // response format 147 UCHAR Length; // additional length 148 UCHAR Reserved[3]; // reserved 149 UCHAR Vendor[8]; // vendor identification string 150 UCHAR Product[16]; // product identification string 151 UCHAR Revision[4]; // product revision code 152}UFI_INQUIRY_RESPONSE, *PUFI_INQUIRY_RESPONSE; 153 154C_ASSERT(sizeof(UFI_INQUIRY_RESPONSE) == 36); 155 156//-------------------------------------------------------------------------------------------------------------------------------------------- 157// | |
158// UFI read cmd 159// 160typedef struct 161{ 162 UCHAR Code; // operation code 163 UCHAR LUN; // lun 164 UCHAR LogicalBlockByte0; // lba byte 0 165 UCHAR LogicalBlockByte1; // lba byte 1 --- 389 unchanged lines hidden --- | 122// UFI read cmd 123// 124typedef struct 125{ 126 UCHAR Code; // operation code 127 UCHAR LUN; // lun 128 UCHAR LogicalBlockByte0; // lba byte 0 129 UCHAR LogicalBlockByte1; // lba byte 1 --- 389 unchanged lines hidden --- |