source: Daodan/MSYS2/mingw32/i686-w64-mingw32/include/ddk/usbstorioctl.h@ 1181

Last change on this file since 1181 was 1166, checked in by rossy, 3 years ago

Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File size: 1.9 KB
Line 
1#pragma once
2
3#ifndef MAX_PATH
4#define MAX_PATH 260
5#endif
6
7typedef struct tagACT_AUTHZ_STATE {
8 UCHAR ACT;
9 BOOLEAN fAuthorized;
10} ACT_AUTHZ_STATE, *PACT_AUTHZ_STATE;
11
12typedef struct tagSILO_COMMAND {
13 UCHAR SiloIndex;
14 UCHAR Command;
15 ULONG cbCommandBuffer;
16 UCHAR rgbCommandBuffer[ANYSIZE_ARRAY];
17} SILO_COMMAND, *PSILO_COMMAND;
18
19typedef enum _PDO_TYPE {
20 PDO_TYPE_UNDEFINED = 0,
21 PDO_TYPE_DISK,
22 PDO_TYPE_CONTROL,
23 PDO_TYPE_SILO,
24 PDO_TYPE_THIS = 256
25} PDO_TYPE;
26
27typedef enum _PDO_STATE {
28 PDO_STATE_UNDEFINED = 0,
29 PDO_STATE_STARTED,
30 PDO_STATE_NOT_STARTED
31} PDO_STATE;
32
33typedef enum _PDO_CAPS {
34 PDO_CAPABILITY_UNDEFINED = 0,
35 PDO_CAPABILITY_INC512_SET = 1,
36 PDO_CAPABILITY_INC512_CLEAR = 2
37} PDO_CAPS;
38
39typedef struct _ENUM_PDO_ENTRY {
40 UCHAR type;
41 UCHAR state;
42 UCHAR capabilities;
43 ULONG ulSTID;
44 UCHAR bSpecificationMajor;
45 UCHAR bSpecificationMinor;
46 UCHAR bImplementationMajor;
47 UCHAR bImplementationMinor;
48 WCHAR wszDeviceInstancePath[(2 * MAX_PATH) + 1];
49} ENUM_PDO_ENTRY, *PENUM_PDO_ENTRY;
50
51typedef struct _ENUM_PDO_RESULTS {
52 ULONG cEntries;
53 ENUM_PDO_ENTRY rgEntries[ANYSIZE_ARRAY];
54} ENUM_PDO_RESULTS, *PENUM_PDO_RESULTS;
55
56#define SIZE_ENUM_PDO_RESULTS_HEADER (sizeof(ENUM_PDO_RESULTS) - sizeof(ENUM_PDO_ENTRY))
57
58#define IOCTL_EHSTOR_DEVICE_SET_AUTHZ_STATE CTL_CODE(IOCTL_STORAGE_BASE, 0x501, METHOD_BUFFERED, FILE_ANY_ACCESS)
59#define IOCTL_EHSTOR_DEVICE_GET_AUTHZ_STATE CTL_CODE(IOCTL_STORAGE_BASE, 0x502, METHOD_BUFFERED, FILE_ANY_ACCESS)
60#define IOCTL_EHSTOR_DEVICE_SILO_COMMAND CTL_CODE(IOCTL_STORAGE_BASE, 0x503, METHOD_BUFFERED, FILE_ANY_ACCESS)
61#define IOCTL_EHSTOR_DEVICE_ENUMERATE_PDOS CTL_CODE(IOCTL_STORAGE_BASE, 0x504, METHOD_BUFFERED, FILE_ANY_ACCESS)
62
63DEFINE_GUID(GUID_USBSTOR_EHSTOR_SILO_INTERFACE, 0x7c2bcf57, 0x2bea, 0x46da, 0xad, 0x26, 0x78, 0xfd, 0xc8, 0x3c, 0xee, 0x46);
64DEFINE_GUID(GUID_USBSTOR_EHSTOR_CONTROL_INTERFACE, 0x4f40006f, 0xb933, 0x4550, 0xb5, 0x32, 0x2b, 0x58, 0xce, 0xe6, 0x14, 0xd3);
65
Note: See TracBrowser for help on using the repository browser.