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 ---