From d655077eccdf17c288e0f7a7721b4982fa05419c Mon Sep 17 00:00:00 2001 From: Biswapriyo Nath <[email protected]> Date: Fri, 4 Feb 2022 10:35:06 +0530 Subject: [PATCH 1/3] headers: Add vdslun.idl file
Signed-off-by: Biswapriyo Nath <[email protected]> --- mingw-w64-headers/Makefile.am | 1 + mingw-w64-headers/include/vdslun.idl | 105 +++++++++++++++++++++++++++ 2 files changed, 106 insertions(+) create mode 100644 mingw-w64-headers/include/vdslun.idl diff --git a/mingw-w64-headers/Makefile.am b/mingw-w64-headers/Makefile.am index c5068ed..fb14602 100644 --- a/mingw-w64-headers/Makefile.am +++ b/mingw-w64-headers/Makefile.am @@ -225,6 +225,7 @@ IDL_SRCS = \ include/unknwnbase.idl \ include/urlhist.idl \ include/urlmon.idl \ + include/vdslun.idl \ include/vss.idl \ include/wbemads.idl \ include/wbemcli.idl \ diff --git a/mingw-w64-headers/include/vdslun.idl b/mingw-w64-headers/include/vdslun.idl new file mode 100644 index 0000000..81e5d69 --- /dev/null +++ b/mingw-w64-headers/include/vdslun.idl @@ -0,0 +1,105 @@ +/** + * This file has no copyright assigned and is placed in the Public Domain. + * This file is part of the mingw-w64 runtime package. + * No warranty is given; refer to the file DISCLAIMER.PD within this package. + */ + +cpp_quote("#include <winapifamily.h>") +cpp_quote("#if WINAPI_FAMILY_PARTITION(WINAPI_PARTITION_DESKTOP)") + +import "oaidl.idl"; +import "ocidl.idl"; + +typedef enum _VDS_STORAGE_IDENTIFIER_CODE_SET { + VDSStorageIdCodeSetReserved = 0, + VDSStorageIdCodeSetBinary = 1, + VDSStorageIdCodeSetAscii = 2, + VDSStorageIdCodeSetUtf8 = 3 +} VDS_STORAGE_IDENTIFIER_CODE_SET; + +typedef enum _VDS_STORAGE_IDENTIFIER_TYPE { + VDSStorageIdTypeVendorSpecific = 0, + VDSStorageIdTypeVendorId = 1, + VDSStorageIdTypeEUI64 = 2, + VDSStorageIdTypeFCPHName = 3, + VDSStorageIdTypePortRelative = 4, + VDSStorageIdTypeTargetPortGroup = 5, + VDSStorageIdTypeLogicalUnitGroup = 6, + VDSStorageIdTypeMD5LogicalUnitIdentifier = 7, + VDSStorageIdTypeScsiNameString = 8 +} VDS_STORAGE_IDENTIFIER_TYPE; + +typedef enum _VDS_STORAGE_BUS_TYPE { + VDSBusTypeUnknown = 0x00, + VDSBusTypeScsi = 0x01, + VDSBusTypeAtapi = 0x02, + VDSBusTypeAta = 0x03, + VDSBusType1394 = 0x04, + VDSBusTypeSsa = 0x05, + VDSBusTypeFibre = 0x06, + VDSBusTypeUsb = 0x07, + VDSBusTypeRAID = 0x08, + VDSBusTypeiScsi = 0x09, + VDSBusTypeSas = 0x0A, + VDSBusTypeSata = 0x0B, + VDSBusTypeSd = 0x0C, + VDSBusTypeMmc = 0x0D, + VDSBusTypeMax = 0x0E, + VDSBusTypeVirtual = 0x0E, + VDSBusTypeFileBackedVirtual = 0x0F, + VDSBusTypeSpaces = 0x10, + VDSBusTypeNVMe = 0x11, + VDSBusTypeScm = 0x12, + VDSBusTypeUfs = 0x13, + VDSBusTypeMaxReserved = 0x7F +} VDS_STORAGE_BUS_TYPE; + +typedef struct _VDS_STORAGE_IDENTIFIER { + VDS_STORAGE_IDENTIFIER_CODE_SET m_CodeSet; + VDS_STORAGE_IDENTIFIER_TYPE m_Type; + ULONG m_cbIdentifier; + [size_is(m_cbIdentifier)] BYTE *m_rgbIdentifier; +} VDS_STORAGE_IDENTIFIER; + +typedef struct _VDS_STORAGE_DEVICE_ID_DESCRIPTOR { + ULONG m_version; + ULONG m_cIdentifiers; + [size_is(m_cIdentifiers)] VDS_STORAGE_IDENTIFIER *m_rgIdentifiers; +} VDS_STORAGE_DEVICE_ID_DESCRIPTOR; + +typedef enum _VDS_INTERCONNECT_ADDRESS_TYPE { + VDS_IA_UNKNOWN = 0, + VDS_IA_FCFS = 1, + VDS_IA_FCPH = 2, + VDS_IA_FCPH3 = 3, + VDS_IA_MAC = 4, + VDS_IA_SCSI = 5 +} VDS_INTERCONNECT_ADDRESS_TYPE; + +typedef struct _VDS_INTERCONNECT { + VDS_INTERCONNECT_ADDRESS_TYPE m_addressType; + ULONG m_cbPort; + [size_is(m_cbPort)] BYTE *m_pbPort; + ULONG m_cbAddress; + [size_is(m_cbAddress)] BYTE *m_pbAddress; +} VDS_INTERCONNECT; + +typedef struct _VDS_LUN_INFORMATION { + ULONG m_version; + BYTE m_DeviceType; + BYTE m_DeviceTypeModifier; + WINBOOL m_bCommandQueueing; + VDS_STORAGE_BUS_TYPE m_BusType; + [string] char *m_szVendorId; + [string] char *m_szProductId; + [string] char *m_szProductRevision; + [string] char *m_szSerialNumber; + GUID m_diskSignature; + VDS_STORAGE_DEVICE_ID_DESCRIPTOR m_deviceIdDescriptor; + ULONG m_cInterconnects; + [size_is(m_cInterconnects)] VDS_INTERCONNECT *m_rgInterconnects; +} VDS_LUN_INFORMATION; + +const ULONG VER_VDS_LUN_INFORMATION = 1; + +cpp_quote("#endif /* WINAPI_PARTITION_DESKTOP */") -- 2.35.1
_______________________________________________ Mingw-w64-public mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/mingw-w64-public
