master
1/*** Autogenerated by WIDL 10.4 from include/vdslun.idl - Do not edit ***/
2
3#ifdef _WIN32
4#ifndef __REQUIRED_RPCNDR_H_VERSION__
5#define __REQUIRED_RPCNDR_H_VERSION__ 475
6#endif
7#include <rpc.h>
8#include <rpcndr.h>
9#endif
10
11#ifndef COM_NO_WINDOWS_H
12#include <windows.h>
13#include <ole2.h>
14#endif
15
16#ifndef __vdslun_h__
17#define __vdslun_h__
18
19/* Forward declarations */
20
21/* Headers for imported files */
22
23#include <oaidl.h>
24#include <ocidl.h>
25
26#ifdef __cplusplus
27extern "C" {
28#endif
29
30#include <winapifamily.h>
31#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)
32typedef enum _VDS_STORAGE_IDENTIFIER_CODE_SET {
33 VDSStorageIdCodeSetReserved = 0,
34 VDSStorageIdCodeSetBinary = 1,
35 VDSStorageIdCodeSetAscii = 2,
36 VDSStorageIdCodeSetUtf8 = 3
37} VDS_STORAGE_IDENTIFIER_CODE_SET;
38typedef enum _VDS_STORAGE_IDENTIFIER_TYPE {
39 VDSStorageIdTypeVendorSpecific = 0,
40 VDSStorageIdTypeVendorId = 1,
41 VDSStorageIdTypeEUI64 = 2,
42 VDSStorageIdTypeFCPHName = 3,
43 VDSStorageIdTypePortRelative = 4,
44 VDSStorageIdTypeTargetPortGroup = 5,
45 VDSStorageIdTypeLogicalUnitGroup = 6,
46 VDSStorageIdTypeMD5LogicalUnitIdentifier = 7,
47 VDSStorageIdTypeScsiNameString = 8
48} VDS_STORAGE_IDENTIFIER_TYPE;
49typedef enum _VDS_STORAGE_BUS_TYPE {
50 VDSBusTypeUnknown = 0x0,
51 VDSBusTypeScsi = 0x1,
52 VDSBusTypeAtapi = 0x2,
53 VDSBusTypeAta = 0x3,
54 VDSBusType1394 = 0x4,
55 VDSBusTypeSsa = 0x5,
56 VDSBusTypeFibre = 0x6,
57 VDSBusTypeUsb = 0x7,
58 VDSBusTypeRAID = 0x8,
59 VDSBusTypeiScsi = 0x9,
60 VDSBusTypeSas = 0xa,
61 VDSBusTypeSata = 0xb,
62 VDSBusTypeSd = 0xc,
63 VDSBusTypeMmc = 0xd,
64 VDSBusTypeMax = 0xe,
65 VDSBusTypeVirtual = 0xe,
66 VDSBusTypeFileBackedVirtual = 0xf,
67 VDSBusTypeSpaces = 0x10,
68 VDSBusTypeNVMe = 0x11,
69 VDSBusTypeScm = 0x12,
70 VDSBusTypeUfs = 0x13,
71 VDSBusTypeMaxReserved = 0x7f
72} VDS_STORAGE_BUS_TYPE;
73typedef struct _VDS_STORAGE_IDENTIFIER {
74 VDS_STORAGE_IDENTIFIER_CODE_SET m_CodeSet;
75 VDS_STORAGE_IDENTIFIER_TYPE m_Type;
76 ULONG m_cbIdentifier;
77 BYTE *m_rgbIdentifier;
78} VDS_STORAGE_IDENTIFIER;
79typedef struct _VDS_STORAGE_DEVICE_ID_DESCRIPTOR {
80 ULONG m_version;
81 ULONG m_cIdentifiers;
82 VDS_STORAGE_IDENTIFIER *m_rgIdentifiers;
83} VDS_STORAGE_DEVICE_ID_DESCRIPTOR;
84typedef enum _VDS_INTERCONNECT_ADDRESS_TYPE {
85 VDS_IA_UNKNOWN = 0,
86 VDS_IA_FCFS = 1,
87 VDS_IA_FCPH = 2,
88 VDS_IA_FCPH3 = 3,
89 VDS_IA_MAC = 4,
90 VDS_IA_SCSI = 5
91} VDS_INTERCONNECT_ADDRESS_TYPE;
92typedef struct _VDS_INTERCONNECT {
93 VDS_INTERCONNECT_ADDRESS_TYPE m_addressType;
94 ULONG m_cbPort;
95 BYTE *m_pbPort;
96 ULONG m_cbAddress;
97 BYTE *m_pbAddress;
98} VDS_INTERCONNECT;
99typedef struct _VDS_LUN_INFORMATION {
100 ULONG m_version;
101 BYTE m_DeviceType;
102 BYTE m_DeviceTypeModifier;
103 WINBOOL m_bCommandQueueing;
104 VDS_STORAGE_BUS_TYPE m_BusType;
105 char *m_szVendorId;
106 char *m_szProductId;
107 char *m_szProductRevision;
108 char *m_szSerialNumber;
109 GUID m_diskSignature;
110 VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor;
111 ULONG m_cInterconnects;
112 VDS_INTERCONNECT *m_rgInterconnects;
113} VDS_LUN_INFORMATION;
114#define VER_VDS_LUN_INFORMATION (1)
115
116#endif /* WINAPI_PARTITION_DESKTOP */
117/* Begin additional prototypes for all interfaces */
118
119
120/* End additional prototypes */
121
122#ifdef __cplusplus
123}
124#endif
125
126#endif /* __vdslun_h__ */