1 #![allow(non_snake_case, non_camel_case_types, non_upper_case_globals, clashing_extern_declarations, clippy::all)]
2 #[link(name = "windows")]
4 #[cfg(feature = "Win32_Foundation")]
5 pub fn AddISNSServerA(address
: super::super::Foundation
::PSTR
) -> u32;
6 #[cfg(feature = "Win32_Foundation")]
7 pub fn AddISNSServerW(address
: super::super::Foundation
::PWSTR
) -> u32;
8 #[cfg(feature = "Win32_Foundation")]
9 pub fn AddIScsiConnectionA(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, reserved
: *mut ::core
::ffi
::c_void
, initiatorportnumber
: u32, targetportal
: *mut ISCSI_TARGET_PORTALA
, securityflags
: u64, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, keysize
: u32, key
: super::super::Foundation
::PSTR
, connectionid
: *mut ISCSI_UNIQUE_SESSION_ID
) -> u32;
10 #[cfg(feature = "Win32_Foundation")]
11 pub fn AddIScsiConnectionW(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, reserved
: *mut ::core
::ffi
::c_void
, initiatorportnumber
: u32, targetportal
: *mut ISCSI_TARGET_PORTALW
, securityflags
: u64, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, keysize
: u32, key
: super::super::Foundation
::PSTR
, connectionid
: *mut ISCSI_UNIQUE_SESSION_ID
) -> u32;
12 #[cfg(feature = "Win32_Foundation")]
13 pub fn AddIScsiSendTargetPortalA(initiatorinstance
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, securityflags
: u64, portal
: *mut ISCSI_TARGET_PORTALA
) -> u32;
14 #[cfg(feature = "Win32_Foundation")]
15 pub fn AddIScsiSendTargetPortalW(initiatorinstance
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, securityflags
: u64, portal
: *mut ISCSI_TARGET_PORTALW
) -> u32;
16 #[cfg(feature = "Win32_Foundation")]
17 pub fn AddIScsiStaticTargetA(targetname
: super::super::Foundation
::PSTR
, targetalias
: super::super::Foundation
::PSTR
, targetflags
: u32, persist
: super::super::Foundation
::BOOLEAN
, mappings
: *mut ISCSI_TARGET_MAPPINGA
, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, portalgroup
: *mut ISCSI_TARGET_PORTAL_GROUPA
) -> u32;
18 #[cfg(feature = "Win32_Foundation")]
19 pub fn AddIScsiStaticTargetW(targetname
: super::super::Foundation
::PWSTR
, targetalias
: super::super::Foundation
::PWSTR
, targetflags
: u32, persist
: super::super::Foundation
::BOOLEAN
, mappings
: *mut ISCSI_TARGET_MAPPINGW
, loginoptions
: *mut ISCSI_LOGIN_OPTIONS
, portalgroup
: *mut ISCSI_TARGET_PORTAL_GROUPW
) -> u32;
20 #[cfg(feature = "Win32_Foundation")]
21 pub fn AddPersistentIScsiDeviceA(devicepath
: super::super::Foundation
::PSTR
) -> u32;
22 #[cfg(feature = "Win32_Foundation")]
23 pub fn AddPersistentIScsiDeviceW(devicepath
: super::super::Foundation
::PWSTR
) -> u32;
24 #[cfg(feature = "Win32_Foundation")]
25 pub fn AddRadiusServerA(address
: super::super::Foundation
::PSTR
) -> u32;
26 #[cfg(feature = "Win32_Foundation")]
27 pub fn AddRadiusServerW(address
: super::super::Foundation
::PWSTR
) -> u32;
28 pub fn ClearPersistentIScsiDevices() -> u32;
29 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ioctl"))]
30 pub fn GetDevicesForIScsiSessionA(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, devicecount
: *mut u32, devices
: *mut ISCSI_DEVICE_ON_SESSIONA
) -> u32;
31 #[cfg(feature = "Win32_System_Ioctl")]
32 pub fn GetDevicesForIScsiSessionW(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, devicecount
: *mut u32, devices
: *mut ISCSI_DEVICE_ON_SESSIONW
) -> u32;
33 #[cfg(feature = "Win32_Foundation")]
34 pub fn GetIScsiIKEInfoA(initiatorname
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, reserved
: *mut u32, authinfo
: *mut IKE_AUTHENTICATION_INFORMATION
) -> u32;
35 #[cfg(feature = "Win32_Foundation")]
36 pub fn GetIScsiIKEInfoW(initiatorname
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, reserved
: *mut u32, authinfo
: *mut IKE_AUTHENTICATION_INFORMATION
) -> u32;
37 #[cfg(feature = "Win32_Foundation")]
38 pub fn GetIScsiInitiatorNodeNameA(initiatornodename
: super::super::Foundation
::PSTR
) -> u32;
39 #[cfg(feature = "Win32_Foundation")]
40 pub fn GetIScsiInitiatorNodeNameW(initiatornodename
: super::super::Foundation
::PWSTR
) -> u32;
41 #[cfg(feature = "Win32_Foundation")]
42 pub fn GetIScsiSessionListA(buffersize
: *mut u32, sessioncount
: *mut u32, sessioninfo
: *mut ISCSI_SESSION_INFOA
) -> u32;
43 #[cfg(feature = "Win32_Foundation")]
44 pub fn GetIScsiSessionListEx(buffersize
: *mut u32, sessioncountptr
: *mut u32, sessioninfo
: *mut ISCSI_SESSION_INFO_EX
) -> u32;
45 #[cfg(feature = "Win32_Foundation")]
46 pub fn GetIScsiSessionListW(buffersize
: *mut u32, sessioncount
: *mut u32, sessioninfo
: *mut ISCSI_SESSION_INFOW
) -> u32;
47 #[cfg(feature = "Win32_Foundation")]
48 pub fn GetIScsiTargetInformationA(targetname
: super::super::Foundation
::PSTR
, discoverymechanism
: super::super::Foundation
::PSTR
, infoclass
: TARGET_INFORMATION_CLASS
, buffersize
: *mut u32, buffer
: *mut ::core
::ffi
::c_void
) -> u32;
49 #[cfg(feature = "Win32_Foundation")]
50 pub fn GetIScsiTargetInformationW(targetname
: super::super::Foundation
::PWSTR
, discoverymechanism
: super::super::Foundation
::PWSTR
, infoclass
: TARGET_INFORMATION_CLASS
, buffersize
: *mut u32, buffer
: *mut ::core
::ffi
::c_void
) -> u32;
51 pub fn GetIScsiVersionInformation(versioninfo
: *mut ISCSI_VERSION_INFO
) -> u32;
52 #[cfg(feature = "Win32_Foundation")]
53 pub fn LoginIScsiTargetA(
54 targetname
: super::super::Foundation
::PSTR
,
55 isinformationalsession
: super::super::Foundation
::BOOLEAN
,
56 initiatorinstance
: super::super::Foundation
::PSTR
,
57 initiatorportnumber
: u32,
58 targetportal
: *mut ISCSI_TARGET_PORTALA
,
60 mappings
: *mut ISCSI_TARGET_MAPPINGA
,
61 loginoptions
: *mut ISCSI_LOGIN_OPTIONS
,
63 key
: super::super::Foundation
::PSTR
,
64 ispersistent
: super::super::Foundation
::BOOLEAN
,
65 uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
,
66 uniqueconnectionid
: *mut ISCSI_UNIQUE_SESSION_ID
,
68 #[cfg(feature = "Win32_Foundation")]
69 pub fn LoginIScsiTargetW(
70 targetname
: super::super::Foundation
::PWSTR
,
71 isinformationalsession
: super::super::Foundation
::BOOLEAN
,
72 initiatorinstance
: super::super::Foundation
::PWSTR
,
73 initiatorportnumber
: u32,
74 targetportal
: *mut ISCSI_TARGET_PORTALW
,
76 mappings
: *mut ISCSI_TARGET_MAPPINGW
,
77 loginoptions
: *mut ISCSI_LOGIN_OPTIONS
,
79 key
: super::super::Foundation
::PSTR
,
80 ispersistent
: super::super::Foundation
::BOOLEAN
,
81 uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
,
82 uniqueconnectionid
: *mut ISCSI_UNIQUE_SESSION_ID
,
84 pub fn LogoutIScsiTarget(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
) -> u32;
85 #[cfg(feature = "Win32_Foundation")]
86 pub fn RefreshISNSServerA(address
: super::super::Foundation
::PSTR
) -> u32;
87 #[cfg(feature = "Win32_Foundation")]
88 pub fn RefreshISNSServerW(address
: super::super::Foundation
::PWSTR
) -> u32;
89 #[cfg(feature = "Win32_Foundation")]
90 pub fn RefreshIScsiSendTargetPortalA(initiatorinstance
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, portal
: *mut ISCSI_TARGET_PORTALA
) -> u32;
91 #[cfg(feature = "Win32_Foundation")]
92 pub fn RefreshIScsiSendTargetPortalW(initiatorinstance
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, portal
: *mut ISCSI_TARGET_PORTALW
) -> u32;
93 #[cfg(feature = "Win32_Foundation")]
94 pub fn RemoveISNSServerA(address
: super::super::Foundation
::PSTR
) -> u32;
95 #[cfg(feature = "Win32_Foundation")]
96 pub fn RemoveISNSServerW(address
: super::super::Foundation
::PWSTR
) -> u32;
97 pub fn RemoveIScsiConnection(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, connectionid
: *mut ISCSI_UNIQUE_SESSION_ID
) -> u32;
98 #[cfg(feature = "Win32_Foundation")]
99 pub fn RemoveIScsiPersistentTargetA(initiatorinstance
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, targetname
: super::super::Foundation
::PSTR
, portal
: *mut ISCSI_TARGET_PORTALA
) -> u32;
100 #[cfg(feature = "Win32_Foundation")]
101 pub fn RemoveIScsiPersistentTargetW(initiatorinstance
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, targetname
: super::super::Foundation
::PWSTR
, portal
: *mut ISCSI_TARGET_PORTALW
) -> u32;
102 #[cfg(feature = "Win32_Foundation")]
103 pub fn RemoveIScsiSendTargetPortalA(initiatorinstance
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, portal
: *mut ISCSI_TARGET_PORTALA
) -> u32;
104 #[cfg(feature = "Win32_Foundation")]
105 pub fn RemoveIScsiSendTargetPortalW(initiatorinstance
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, portal
: *mut ISCSI_TARGET_PORTALW
) -> u32;
106 #[cfg(feature = "Win32_Foundation")]
107 pub fn RemoveIScsiStaticTargetA(targetname
: super::super::Foundation
::PSTR
) -> u32;
108 #[cfg(feature = "Win32_Foundation")]
109 pub fn RemoveIScsiStaticTargetW(targetname
: super::super::Foundation
::PWSTR
) -> u32;
110 #[cfg(feature = "Win32_Foundation")]
111 pub fn RemovePersistentIScsiDeviceA(devicepath
: super::super::Foundation
::PSTR
) -> u32;
112 #[cfg(feature = "Win32_Foundation")]
113 pub fn RemovePersistentIScsiDeviceW(devicepath
: super::super::Foundation
::PWSTR
) -> u32;
114 #[cfg(feature = "Win32_Foundation")]
115 pub fn RemoveRadiusServerA(address
: super::super::Foundation
::PSTR
) -> u32;
116 #[cfg(feature = "Win32_Foundation")]
117 pub fn RemoveRadiusServerW(address
: super::super::Foundation
::PWSTR
) -> u32;
118 #[cfg(feature = "Win32_Foundation")]
119 pub fn ReportActiveIScsiTargetMappingsA(buffersize
: *mut u32, mappingcount
: *mut u32, mappings
: *mut ISCSI_TARGET_MAPPINGA
) -> u32;
120 pub fn ReportActiveIScsiTargetMappingsW(buffersize
: *mut u32, mappingcount
: *mut u32, mappings
: *mut ISCSI_TARGET_MAPPINGW
) -> u32;
121 #[cfg(feature = "Win32_Foundation")]
122 pub fn ReportISNSServerListA(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PSTR
) -> u32;
123 #[cfg(feature = "Win32_Foundation")]
124 pub fn ReportISNSServerListW(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PWSTR
) -> u32;
125 #[cfg(feature = "Win32_Foundation")]
126 pub fn ReportIScsiInitiatorListA(buffersize
: *mut u32, buffer
: super::super::Foundation
::PSTR
) -> u32;
127 #[cfg(feature = "Win32_Foundation")]
128 pub fn ReportIScsiInitiatorListW(buffersize
: *mut u32, buffer
: super::super::Foundation
::PWSTR
) -> u32;
129 #[cfg(feature = "Win32_Foundation")]
130 pub fn ReportIScsiPersistentLoginsA(count
: *mut u32, persistentlogininfo
: *mut PERSISTENT_ISCSI_LOGIN_INFOA
, buffersizeinbytes
: *mut u32) -> u32;
131 #[cfg(feature = "Win32_Foundation")]
132 pub fn ReportIScsiPersistentLoginsW(count
: *mut u32, persistentlogininfo
: *mut PERSISTENT_ISCSI_LOGIN_INFOW
, buffersizeinbytes
: *mut u32) -> u32;
133 #[cfg(feature = "Win32_Foundation")]
134 pub fn ReportIScsiSendTargetPortalsA(portalcount
: *mut u32, portalinfo
: *mut ISCSI_TARGET_PORTAL_INFOA
) -> u32;
135 #[cfg(feature = "Win32_Foundation")]
136 pub fn ReportIScsiSendTargetPortalsExA(portalcount
: *mut u32, portalinfosize
: *mut u32, portalinfo
: *mut ISCSI_TARGET_PORTAL_INFO_EXA
) -> u32;
137 pub fn ReportIScsiSendTargetPortalsExW(portalcount
: *mut u32, portalinfosize
: *mut u32, portalinfo
: *mut ISCSI_TARGET_PORTAL_INFO_EXW
) -> u32;
138 pub fn ReportIScsiSendTargetPortalsW(portalcount
: *mut u32, portalinfo
: *mut ISCSI_TARGET_PORTAL_INFOW
) -> u32;
139 #[cfg(feature = "Win32_Foundation")]
140 pub fn ReportIScsiTargetPortalsA(initiatorname
: super::super::Foundation
::PSTR
, targetname
: super::super::Foundation
::PSTR
, targetportaltag
: *mut u16, elementcount
: *mut u32, portals
: *mut ISCSI_TARGET_PORTALA
) -> u32;
141 #[cfg(feature = "Win32_Foundation")]
142 pub fn ReportIScsiTargetPortalsW(initiatorname
: super::super::Foundation
::PWSTR
, targetname
: super::super::Foundation
::PWSTR
, targetportaltag
: *mut u16, elementcount
: *mut u32, portals
: *mut ISCSI_TARGET_PORTALW
) -> u32;
143 #[cfg(feature = "Win32_Foundation")]
144 pub fn ReportIScsiTargetsA(forceupdate
: super::super::Foundation
::BOOLEAN
, buffersize
: *mut u32, buffer
: super::super::Foundation
::PSTR
) -> u32;
145 #[cfg(feature = "Win32_Foundation")]
146 pub fn ReportIScsiTargetsW(forceupdate
: super::super::Foundation
::BOOLEAN
, buffersize
: *mut u32, buffer
: super::super::Foundation
::PWSTR
) -> u32;
147 #[cfg(feature = "Win32_Foundation")]
148 pub fn ReportPersistentIScsiDevicesA(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PSTR
) -> u32;
149 #[cfg(feature = "Win32_Foundation")]
150 pub fn ReportPersistentIScsiDevicesW(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PWSTR
) -> u32;
151 #[cfg(feature = "Win32_Foundation")]
152 pub fn ReportRadiusServerListA(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PSTR
) -> u32;
153 #[cfg(feature = "Win32_Foundation")]
154 pub fn ReportRadiusServerListW(buffersizeinchar
: *mut u32, buffer
: super::super::Foundation
::PWSTR
) -> u32;
155 pub fn SendScsiInquiry(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, lun
: u64, evpdcmddt
: u8, pagecode
: u8, scsistatus
: *mut u8, responsesize
: *mut u32, responsebuffer
: *mut u8, sensesize
: *mut u32, sensebuffer
: *mut u8) -> u32;
156 pub fn SendScsiReadCapacity(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, lun
: u64, scsistatus
: *mut u8, responsesize
: *mut u32, responsebuffer
: *mut u8, sensesize
: *mut u32, sensebuffer
: *mut u8) -> u32;
157 pub fn SendScsiReportLuns(uniquesessionid
: *mut ISCSI_UNIQUE_SESSION_ID
, scsistatus
: *mut u8, responsesize
: *mut u32, responsebuffer
: *mut u8, sensesize
: *mut u32, sensebuffer
: *mut u8) -> u32;
158 #[cfg(feature = "Win32_Foundation")]
159 pub fn SetIScsiGroupPresharedKey(keylength
: u32, key
: *mut u8, persist
: super::super::Foundation
::BOOLEAN
) -> u32;
160 #[cfg(feature = "Win32_Foundation")]
161 pub fn SetIScsiIKEInfoA(initiatorname
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, authinfo
: *mut IKE_AUTHENTICATION_INFORMATION
, persist
: super::super::Foundation
::BOOLEAN
) -> u32;
162 #[cfg(feature = "Win32_Foundation")]
163 pub fn SetIScsiIKEInfoW(initiatorname
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, authinfo
: *mut IKE_AUTHENTICATION_INFORMATION
, persist
: super::super::Foundation
::BOOLEAN
) -> u32;
164 pub fn SetIScsiInitiatorCHAPSharedSecret(sharedsecretlength
: u32, sharedsecret
: *mut u8) -> u32;
165 #[cfg(feature = "Win32_Foundation")]
166 pub fn SetIScsiInitiatorNodeNameA(initiatornodename
: super::super::Foundation
::PSTR
) -> u32;
167 #[cfg(feature = "Win32_Foundation")]
168 pub fn SetIScsiInitiatorNodeNameW(initiatornodename
: super::super::Foundation
::PWSTR
) -> u32;
169 pub fn SetIScsiInitiatorRADIUSSharedSecret(sharedsecretlength
: u32, sharedsecret
: *mut u8) -> u32;
170 #[cfg(feature = "Win32_Foundation")]
171 pub fn SetIScsiTunnelModeOuterAddressA(initiatorname
: super::super::Foundation
::PSTR
, initiatorportnumber
: u32, destinationaddress
: super::super::Foundation
::PSTR
, outermodeaddress
: super::super::Foundation
::PSTR
, persist
: super::super::Foundation
::BOOLEAN
) -> u32;
172 #[cfg(feature = "Win32_Foundation")]
173 pub fn SetIScsiTunnelModeOuterAddressW(initiatorname
: super::super::Foundation
::PWSTR
, initiatorportnumber
: u32, destinationaddress
: super::super::Foundation
::PWSTR
, outermodeaddress
: super::super::Foundation
::PWSTR
, persist
: super::super::Foundation
::BOOLEAN
) -> u32;
174 pub fn SetupPersistentIScsiDevices() -> u32;
175 pub fn SetupPersistentIScsiVolumes() -> u32;
177 pub const ATA_FLAGS_48BIT_COMMAND
: u32 = 8u32;
178 pub const ATA_FLAGS_DATA_IN
: u32 = 2u32;
179 pub const ATA_FLAGS_DATA_OUT
: u32 = 4u32;
180 pub const ATA_FLAGS_DRDY_REQUIRED
: u32 = 1u32;
181 pub const ATA_FLAGS_NO_MULTIPLE
: u32 = 32u32;
182 pub const ATA_FLAGS_USE_DMA
: u32 = 16u32;
184 pub struct ATA_PASS_THROUGH_DIRECT
{
190 pub ReservedAsUchar
: u8,
191 pub DataTransferLength
: u32,
192 pub TimeOutValue
: u32,
193 pub ReservedAsUlong
: u32,
194 pub DataBuffer
: *mut ::core
::ffi
::c_void
,
195 pub PreviousTaskFile
: [u8; 8],
196 pub CurrentTaskFile
: [u8; 8],
198 impl ::core
::marker
::Copy
for ATA_PASS_THROUGH_DIRECT {}
199 impl ::core
::clone
::Clone
for ATA_PASS_THROUGH_DIRECT
{
200 fn clone(&self) -> Self {
205 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
206 pub struct ATA_PASS_THROUGH_DIRECT32
{
212 pub ReservedAsUchar
: u8,
213 pub DataTransferLength
: u32,
214 pub TimeOutValue
: u32,
215 pub ReservedAsUlong
: u32,
216 pub DataBuffer
: *mut ::core
::ffi
::c_void
,
217 pub PreviousTaskFile
: [u8; 8],
218 pub CurrentTaskFile
: [u8; 8],
220 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
221 impl ::core
::marker
::Copy
for ATA_PASS_THROUGH_DIRECT32 {}
222 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
223 impl ::core
::clone
::Clone
for ATA_PASS_THROUGH_DIRECT32
{
224 fn clone(&self) -> Self {
229 pub struct ATA_PASS_THROUGH_EX
{
235 pub ReservedAsUchar
: u8,
236 pub DataTransferLength
: u32,
237 pub TimeOutValue
: u32,
238 pub ReservedAsUlong
: u32,
239 pub DataBufferOffset
: usize,
240 pub PreviousTaskFile
: [u8; 8],
241 pub CurrentTaskFile
: [u8; 8],
243 impl ::core
::marker
::Copy
for ATA_PASS_THROUGH_EX {}
244 impl ::core
::clone
::Clone
for ATA_PASS_THROUGH_EX
{
245 fn clone(&self) -> Self {
250 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
251 pub struct ATA_PASS_THROUGH_EX32
{
257 pub ReservedAsUchar
: u8,
258 pub DataTransferLength
: u32,
259 pub TimeOutValue
: u32,
260 pub ReservedAsUlong
: u32,
261 pub DataBufferOffset
: u32,
262 pub PreviousTaskFile
: [u8; 8],
263 pub CurrentTaskFile
: [u8; 8],
265 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
266 impl ::core
::marker
::Copy
for ATA_PASS_THROUGH_EX32 {}
267 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
268 impl ::core
::clone
::Clone
for ATA_PASS_THROUGH_EX32
{
269 fn clone(&self) -> Self {
274 pub struct DSM_NOTIFICATION_REQUEST_BLOCK
{
277 pub NotifyFlags
: u32,
278 pub DataSetProfile
: u32,
279 pub Reserved
: [u32; 3],
280 pub DataSetRangesCount
: u32,
281 pub DataSetRanges
: [MP_DEVICE_DATA_SET_RANGE
; 1],
283 impl ::core
::marker
::Copy
for DSM_NOTIFICATION_REQUEST_BLOCK {}
284 impl ::core
::clone
::Clone
for DSM_NOTIFICATION_REQUEST_BLOCK
{
285 fn clone(&self) -> Self {
289 pub type DUMP_DEVICE_POWERON_ROUTINE
= unsafe extern "system" fn(context
: *const ::core
::ffi
::c_void
) -> i32;
291 pub struct DUMP_DRIVER
{
292 pub DumpDriverList
: *mut ::core
::ffi
::c_void
,
293 pub DriverName
: [u16; 15],
294 pub BaseName
: [u16; 15],
296 impl ::core
::marker
::Copy
for DUMP_DRIVER {}
297 impl ::core
::clone
::Clone
for DUMP_DRIVER
{
298 fn clone(&self) -> Self {
303 #[cfg(feature = "Win32_Foundation")]
304 pub struct DUMP_DRIVER_EX
{
305 pub DumpDriverList
: *mut ::core
::ffi
::c_void
,
306 pub DriverName
: [u16; 15],
307 pub BaseName
: [u16; 15],
308 pub DriverFullPath
: NTSCSI_UNICODE_STRING
,
310 #[cfg(feature = "Win32_Foundation")]
311 impl ::core
::marker
::Copy
for DUMP_DRIVER_EX {}
312 #[cfg(feature = "Win32_Foundation")]
313 impl ::core
::clone
::Clone
for DUMP_DRIVER_EX
{
314 fn clone(&self) -> Self {
318 pub const DUMP_DRIVER_NAME_LENGTH
: u32 = 15u32;
319 pub const DUMP_EX_FLAG_DRIVER_FULL_PATH_SUPPORT
: u32 = 8u32;
320 pub const DUMP_EX_FLAG_RESUME_SUPPORT
: u32 = 4u32;
321 pub const DUMP_EX_FLAG_SUPPORT_64BITMEMORY
: u32 = 1u32;
322 pub const DUMP_EX_FLAG_SUPPORT_DD_TELEMETRY
: u32 = 2u32;
324 #[cfg(feature = "Win32_Foundation")]
325 pub struct DUMP_POINTERS
{
326 pub AdapterObject
: *mut _ADAPTER_OBJECT
,
327 pub MappedRegisterBase
: *mut ::core
::ffi
::c_void
,
328 pub DumpData
: *mut ::core
::ffi
::c_void
,
329 pub CommonBufferVa
: *mut ::core
::ffi
::c_void
,
330 pub CommonBufferPa
: i64,
331 pub CommonBufferSize
: u32,
332 pub AllocateCommonBuffers
: super::super::Foundation
::BOOLEAN
,
333 pub UseDiskDump
: super::super::Foundation
::BOOLEAN
,
335 pub DeviceObject
: *mut ::core
::ffi
::c_void
,
337 #[cfg(feature = "Win32_Foundation")]
338 impl ::core
::marker
::Copy
for DUMP_POINTERS {}
339 #[cfg(feature = "Win32_Foundation")]
340 impl ::core
::clone
::Clone
for DUMP_POINTERS
{
341 fn clone(&self) -> Self {
346 #[cfg(feature = "Win32_Foundation")]
347 pub struct DUMP_POINTERS_EX
{
348 pub Header
: DUMP_POINTERS_VERSION
,
349 pub DumpData
: *mut ::core
::ffi
::c_void
,
350 pub CommonBufferVa
: *mut ::core
::ffi
::c_void
,
351 pub CommonBufferSize
: u32,
352 pub AllocateCommonBuffers
: super::super::Foundation
::BOOLEAN
,
353 pub DeviceObject
: *mut ::core
::ffi
::c_void
,
354 pub DriverList
: *mut ::core
::ffi
::c_void
,
355 pub dwPortFlags
: u32,
356 pub MaxDeviceDumpSectionSize
: u32,
357 pub MaxDeviceDumpLevel
: u32,
358 pub MaxTransferSize
: u32,
359 pub AdapterObject
: *mut ::core
::ffi
::c_void
,
360 pub MappedRegisterBase
: *mut ::core
::ffi
::c_void
,
361 pub DeviceReady
: *mut super::super::Foundation
::BOOLEAN
,
362 pub DumpDevicePowerOn
: PDUMP_DEVICE_POWERON_ROUTINE
,
363 pub DumpDevicePowerOnContext
: *mut ::core
::ffi
::c_void
,
365 #[cfg(feature = "Win32_Foundation")]
366 impl ::core
::marker
::Copy
for DUMP_POINTERS_EX {}
367 #[cfg(feature = "Win32_Foundation")]
368 impl ::core
::clone
::Clone
for DUMP_POINTERS_EX
{
369 fn clone(&self) -> Self {
374 pub struct DUMP_POINTERS_VERSION
{
378 impl ::core
::marker
::Copy
for DUMP_POINTERS_VERSION {}
379 impl ::core
::clone
::Clone
for DUMP_POINTERS_VERSION
{
380 fn clone(&self) -> Self {
384 pub const DUMP_POINTERS_VERSION_1
: u32 = 1u32;
385 pub const DUMP_POINTERS_VERSION_2
: u32 = 2u32;
386 pub const DUMP_POINTERS_VERSION_3
: u32 = 3u32;
387 pub const DUMP_POINTERS_VERSION_4
: u32 = 4u32;
388 pub const FILE_DEVICE_SCSI
: u32 = 27u32;
389 pub const FIRMWARE_FUNCTION_ACTIVATE
: u32 = 3u32;
390 pub const FIRMWARE_FUNCTION_DOWNLOAD
: u32 = 2u32;
391 pub const FIRMWARE_FUNCTION_GET_INFO
: u32 = 1u32;
393 pub struct FIRMWARE_REQUEST_BLOCK
{
398 pub DataBufferOffset
: u32,
399 pub DataBufferLength
: u32,
401 impl ::core
::marker
::Copy
for FIRMWARE_REQUEST_BLOCK {}
402 impl ::core
::clone
::Clone
for FIRMWARE_REQUEST_BLOCK
{
403 fn clone(&self) -> Self {
407 pub const FIRMWARE_REQUEST_BLOCK_STRUCTURE_VERSION
: u32 = 1u32;
408 pub const FIRMWARE_REQUEST_FLAG_CONTROLLER
: u32 = 1u32;
409 pub const FIRMWARE_REQUEST_FLAG_FIRST_SEGMENT
: u32 = 4u32;
410 pub const FIRMWARE_REQUEST_FLAG_LAST_SEGMENT
: u32 = 2u32;
411 pub const FIRMWARE_REQUEST_FLAG_SWITCH_TO_EXISTING_FIRMWARE
: u32 = 2147483648u32;
412 pub const FIRMWARE_STATUS_COMMAND_ABORT
: u32 = 133u32;
413 pub const FIRMWARE_STATUS_CONTROLLER_ERROR
: u32 = 16u32;
414 pub const FIRMWARE_STATUS_DEVICE_ERROR
: u32 = 64u32;
415 pub const FIRMWARE_STATUS_END_OF_MEDIA
: u32 = 134u32;
416 pub const FIRMWARE_STATUS_ERROR
: u32 = 1u32;
417 pub const FIRMWARE_STATUS_ID_NOT_FOUND
: u32 = 131u32;
418 pub const FIRMWARE_STATUS_ILLEGAL_LENGTH
: u32 = 135u32;
419 pub const FIRMWARE_STATUS_ILLEGAL_REQUEST
: u32 = 2u32;
420 pub const FIRMWARE_STATUS_INPUT_BUFFER_TOO_BIG
: u32 = 4u32;
421 pub const FIRMWARE_STATUS_INTERFACE_CRC_ERROR
: u32 = 128u32;
422 pub const FIRMWARE_STATUS_INVALID_IMAGE
: u32 = 7u32;
423 pub const FIRMWARE_STATUS_INVALID_PARAMETER
: u32 = 3u32;
424 pub const FIRMWARE_STATUS_INVALID_SLOT
: u32 = 6u32;
425 pub const FIRMWARE_STATUS_MEDIA_CHANGE
: u32 = 130u32;
426 pub const FIRMWARE_STATUS_MEDIA_CHANGE_REQUEST
: u32 = 132u32;
427 pub const FIRMWARE_STATUS_OUTPUT_BUFFER_TOO_SMALL
: u32 = 5u32;
428 pub const FIRMWARE_STATUS_POWER_CYCLE_REQUIRED
: u32 = 32u32;
429 pub const FIRMWARE_STATUS_SUCCESS
: u32 = 0u32;
430 pub const FIRMWARE_STATUS_UNCORRECTABLE_DATA_ERROR
: u32 = 129u32;
432 pub struct HYBRID_DEMOTE_BY_SIZE
{
435 pub SourcePriority
: u8,
436 pub TargetPriority
: u8,
441 impl ::core
::marker
::Copy
for HYBRID_DEMOTE_BY_SIZE {}
442 impl ::core
::clone
::Clone
for HYBRID_DEMOTE_BY_SIZE
{
443 fn clone(&self) -> Self {
448 pub struct HYBRID_DIRTY_THRESHOLDS
{
451 pub DirtyLowThreshold
: u32,
452 pub DirtyHighThreshold
: u32,
454 impl ::core
::marker
::Copy
for HYBRID_DIRTY_THRESHOLDS {}
455 impl ::core
::clone
::Clone
for HYBRID_DIRTY_THRESHOLDS
{
456 fn clone(&self) -> Self {
460 pub const HYBRID_FUNCTION_DEMOTE_BY_SIZE
: u32 = 19u32;
461 pub const HYBRID_FUNCTION_DISABLE_CACHING_MEDIUM
: u32 = 16u32;
462 pub const HYBRID_FUNCTION_ENABLE_CACHING_MEDIUM
: u32 = 17u32;
463 pub const HYBRID_FUNCTION_GET_INFO
: u32 = 1u32;
464 pub const HYBRID_FUNCTION_SET_DIRTY_THRESHOLD
: u32 = 18u32;
466 #[cfg(feature = "Win32_Foundation")]
467 pub struct HYBRID_INFORMATION
{
470 pub HybridSupported
: super::super::Foundation
::BOOLEAN
,
471 pub Status
: NVCACHE_STATUS
,
472 pub CacheTypeEffective
: NVCACHE_TYPE
,
473 pub CacheTypeDefault
: NVCACHE_TYPE
,
474 pub FractionBase
: u32,
476 pub Attributes
: HYBRID_INFORMATION_0
,
477 pub Priorities
: HYBRID_INFORMATION_1
,
479 #[cfg(feature = "Win32_Foundation")]
480 impl ::core
::marker
::Copy
for HYBRID_INFORMATION {}
481 #[cfg(feature = "Win32_Foundation")]
482 impl ::core
::clone
::Clone
for HYBRID_INFORMATION
{
483 fn clone(&self) -> Self {
488 #[cfg(feature = "Win32_Foundation")]
489 pub struct HYBRID_INFORMATION_0
{
492 #[cfg(feature = "Win32_Foundation")]
493 impl ::core
::marker
::Copy
for HYBRID_INFORMATION_0 {}
494 #[cfg(feature = "Win32_Foundation")]
495 impl ::core
::clone
::Clone
for HYBRID_INFORMATION_0
{
496 fn clone(&self) -> Self {
501 #[cfg(feature = "Win32_Foundation")]
502 pub struct HYBRID_INFORMATION_1
{
503 pub PriorityLevelCount
: u8,
504 pub MaxPriorityBehavior
: super::super::Foundation
::BOOLEAN
,
505 pub OptimalWriteGranularity
: u8,
507 pub DirtyThresholdLow
: u32,
508 pub DirtyThresholdHigh
: u32,
509 pub SupportedCommands
: HYBRID_INFORMATION_1_0
,
510 pub Priority
: [NVCACHE_PRIORITY_LEVEL_DESCRIPTOR
; 1],
512 #[cfg(feature = "Win32_Foundation")]
513 impl ::core
::marker
::Copy
for HYBRID_INFORMATION_1 {}
514 #[cfg(feature = "Win32_Foundation")]
515 impl ::core
::clone
::Clone
for HYBRID_INFORMATION_1
{
516 fn clone(&self) -> Self {
521 #[cfg(feature = "Win32_Foundation")]
522 pub struct HYBRID_INFORMATION_1_0
{
524 pub MaxEvictCommands
: u32,
525 pub MaxLbaRangeCountForEvict
: u32,
526 pub MaxLbaRangeCountForChangeLba
: u32,
528 #[cfg(feature = "Win32_Foundation")]
529 impl ::core
::marker
::Copy
for HYBRID_INFORMATION_1_0 {}
530 #[cfg(feature = "Win32_Foundation")]
531 impl ::core
::clone
::Clone
for HYBRID_INFORMATION_1_0
{
532 fn clone(&self) -> Self {
537 pub struct HYBRID_REQUEST_BLOCK
{
542 pub DataBufferOffset
: u32,
543 pub DataBufferLength
: u32,
545 impl ::core
::marker
::Copy
for HYBRID_REQUEST_BLOCK {}
546 impl ::core
::clone
::Clone
for HYBRID_REQUEST_BLOCK
{
547 fn clone(&self) -> Self {
551 pub const HYBRID_REQUEST_BLOCK_STRUCTURE_VERSION
: u32 = 1u32;
552 pub const HYBRID_REQUEST_INFO_STRUCTURE_VERSION
: u32 = 1u32;
553 pub const HYBRID_STATUS_ENABLE_REFCOUNT_HOLD
: u32 = 16u32;
554 pub const HYBRID_STATUS_ILLEGAL_REQUEST
: u32 = 1u32;
555 pub const HYBRID_STATUS_INVALID_PARAMETER
: u32 = 2u32;
556 pub const HYBRID_STATUS_OUTPUT_BUFFER_TOO_SMALL
: u32 = 3u32;
557 pub const HYBRID_STATUS_SUCCESS
: u32 = 0u32;
559 pub struct IDE_IO_CONTROL
{
560 pub HeaderLength
: u32,
561 pub Signature
: [u8; 8],
563 pub ControlCode
: u32,
564 pub ReturnStatus
: u32,
567 impl ::core
::marker
::Copy
for IDE_IO_CONTROL {}
568 impl ::core
::clone
::Clone
for IDE_IO_CONTROL
{
569 fn clone(&self) -> Self {
573 pub const ID_FQDN
: u32 = 2u32;
574 pub const ID_IPV4_ADDR
: u32 = 1u32;
575 pub const ID_IPV6_ADDR
: u32 = 5u32;
576 pub const ID_USER_FQDN
: u32 = 3u32;
578 pub struct IKE_AUTHENTICATION_INFORMATION
{
579 pub AuthMethod
: IKE_AUTHENTICATION_METHOD
,
580 pub Anonymous
: IKE_AUTHENTICATION_INFORMATION_0
,
582 impl ::core
::marker
::Copy
for IKE_AUTHENTICATION_INFORMATION {}
583 impl ::core
::clone
::Clone
for IKE_AUTHENTICATION_INFORMATION
{
584 fn clone(&self) -> Self {
589 pub union IKE_AUTHENTICATION_INFORMATION_0
{
590 pub PsKey
: IKE_AUTHENTICATION_PRESHARED_KEY
,
592 impl ::core
::marker
::Copy
for IKE_AUTHENTICATION_INFORMATION_0 {}
593 impl ::core
::clone
::Clone
for IKE_AUTHENTICATION_INFORMATION_0
{
594 fn clone(&self) -> Self {
598 pub type IKE_AUTHENTICATION_METHOD
= i32;
599 pub const IKE_AUTHENTICATION_PRESHARED_KEY_METHOD
: IKE_AUTHENTICATION_METHOD
= 1i32;
601 pub struct IKE_AUTHENTICATION_PRESHARED_KEY
{
602 pub SecurityFlags
: u64,
604 pub IdLengthInBytes
: u32,
606 pub KeyLengthInBytes
: u32,
609 impl ::core
::marker
::Copy
for IKE_AUTHENTICATION_PRESHARED_KEY {}
610 impl ::core
::clone
::Clone
for IKE_AUTHENTICATION_PRESHARED_KEY
{
611 fn clone(&self) -> Self {
615 pub const IOCTL_ATA_MINIPORT
: u32 = 315444u32;
616 pub const IOCTL_ATA_PASS_THROUGH
: u32 = 315436u32;
617 pub const IOCTL_ATA_PASS_THROUGH_DIRECT
: u32 = 315440u32;
618 pub const IOCTL_IDE_PASS_THROUGH
: u32 = 315432u32;
619 pub const IOCTL_MINIPORT_PROCESS_SERVICE_IRP
: u32 = 315448u32;
620 pub const IOCTL_MPIO_PASS_THROUGH_PATH
: u32 = 315452u32;
621 pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT
: u32 = 315456u32;
622 pub const IOCTL_MPIO_PASS_THROUGH_PATH_DIRECT_EX
: u32 = 315472u32;
623 pub const IOCTL_MPIO_PASS_THROUGH_PATH_EX
: u32 = 315468u32;
624 pub const IOCTL_SCSI_BASE
: u32 = 4u32;
625 pub const IOCTL_SCSI_FREE_DUMP_POINTERS
: u32 = 266276u32;
626 pub const IOCTL_SCSI_GET_ADDRESS
: u32 = 266264u32;
627 pub const IOCTL_SCSI_GET_CAPABILITIES
: u32 = 266256u32;
628 pub const IOCTL_SCSI_GET_DUMP_POINTERS
: u32 = 266272u32;
629 pub const IOCTL_SCSI_GET_INQUIRY_DATA
: u32 = 266252u32;
630 pub const IOCTL_SCSI_MINIPORT
: u32 = 315400u32;
631 pub const IOCTL_SCSI_PASS_THROUGH
: u32 = 315396u32;
632 pub const IOCTL_SCSI_PASS_THROUGH_DIRECT
: u32 = 315412u32;
633 pub const IOCTL_SCSI_PASS_THROUGH_DIRECT_EX
: u32 = 315464u32;
634 pub const IOCTL_SCSI_PASS_THROUGH_EX
: u32 = 315460u32;
635 pub const IOCTL_SCSI_RESCAN_BUS
: u32 = 266268u32;
637 #[cfg(feature = "Win32_Foundation")]
638 pub struct IO_SCSI_CAPABILITIES
{
640 pub MaximumTransferLength
: u32,
641 pub MaximumPhysicalPages
: u32,
642 pub SupportedAsynchronousEvents
: u32,
643 pub AlignmentMask
: u32,
644 pub TaggedQueuing
: super::super::Foundation
::BOOLEAN
,
645 pub AdapterScansDown
: super::super::Foundation
::BOOLEAN
,
646 pub AdapterUsesPio
: super::super::Foundation
::BOOLEAN
,
648 #[cfg(feature = "Win32_Foundation")]
649 impl ::core
::marker
::Copy
for IO_SCSI_CAPABILITIES {}
650 #[cfg(feature = "Win32_Foundation")]
651 impl ::core
::clone
::Clone
for IO_SCSI_CAPABILITIES
{
652 fn clone(&self) -> Self {
656 pub type ISCSI_AUTH_TYPES
= i32;
657 pub const ISCSI_NO_AUTH_TYPE
: ISCSI_AUTH_TYPES
= 0i32;
658 pub const ISCSI_CHAP_AUTH_TYPE
: ISCSI_AUTH_TYPES
= 1i32;
659 pub const ISCSI_MUTUAL_CHAP_AUTH_TYPE
: ISCSI_AUTH_TYPES
= 2i32;
661 #[cfg(feature = "Win32_Foundation")]
662 pub struct ISCSI_CONNECTION_INFOA
{
663 pub ConnectionId
: ISCSI_UNIQUE_SESSION_ID
,
664 pub InitiatorAddress
: super::super::Foundation
::PSTR
,
665 pub TargetAddress
: super::super::Foundation
::PSTR
,
666 pub InitiatorSocket
: u16,
667 pub TargetSocket
: u16,
670 #[cfg(feature = "Win32_Foundation")]
671 impl ::core
::marker
::Copy
for ISCSI_CONNECTION_INFOA {}
672 #[cfg(feature = "Win32_Foundation")]
673 impl ::core
::clone
::Clone
for ISCSI_CONNECTION_INFOA
{
674 fn clone(&self) -> Self {
679 #[cfg(feature = "Win32_Foundation")]
680 pub struct ISCSI_CONNECTION_INFOW
{
681 pub ConnectionId
: ISCSI_UNIQUE_SESSION_ID
,
682 pub InitiatorAddress
: super::super::Foundation
::PWSTR
,
683 pub TargetAddress
: super::super::Foundation
::PWSTR
,
684 pub InitiatorSocket
: u16,
685 pub TargetSocket
: u16,
688 #[cfg(feature = "Win32_Foundation")]
689 impl ::core
::marker
::Copy
for ISCSI_CONNECTION_INFOW {}
690 #[cfg(feature = "Win32_Foundation")]
691 impl ::core
::clone
::Clone
for ISCSI_CONNECTION_INFOW
{
692 fn clone(&self) -> Self {
697 pub struct ISCSI_CONNECTION_INFO_EX
{
698 pub ConnectionId
: ISCSI_UNIQUE_SESSION_ID
,
701 pub HeaderDigest
: u8,
703 pub MaxRecvDataSegmentLength
: u32,
704 pub AuthType
: ISCSI_AUTH_TYPES
,
705 pub EstimatedThroughput
: u64,
706 pub MaxDatagramSize
: u32,
708 impl ::core
::marker
::Copy
for ISCSI_CONNECTION_INFO_EX {}
709 impl ::core
::clone
::Clone
for ISCSI_CONNECTION_INFO_EX
{
710 fn clone(&self) -> Self {
715 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ioctl"))]
716 pub struct ISCSI_DEVICE_ON_SESSIONA
{
717 pub InitiatorName
: [super::super::Foundation
::CHAR
; 256],
718 pub TargetName
: [super::super::Foundation
::CHAR
; 224],
719 pub ScsiAddress
: SCSI_ADDRESS
,
720 pub DeviceInterfaceType
: ::windows_sys
::core
::GUID
,
721 pub DeviceInterfaceName
: [super::super::Foundation
::CHAR
; 260],
722 pub LegacyName
: [super::super::Foundation
::CHAR
; 260],
723 pub StorageDeviceNumber
: super::super::System
::Ioctl
::STORAGE_DEVICE_NUMBER
,
724 pub DeviceInstance
: u32,
726 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ioctl"))]
727 impl ::core
::marker
::Copy
for ISCSI_DEVICE_ON_SESSIONA {}
728 #[cfg(all(feature = "Win32_Foundation", feature = "Win32_System_Ioctl"))]
729 impl ::core
::clone
::Clone
for ISCSI_DEVICE_ON_SESSIONA
{
730 fn clone(&self) -> Self {
735 #[cfg(feature = "Win32_System_Ioctl")]
736 pub struct ISCSI_DEVICE_ON_SESSIONW
{
737 pub InitiatorName
: [u16; 256],
738 pub TargetName
: [u16; 224],
739 pub ScsiAddress
: SCSI_ADDRESS
,
740 pub DeviceInterfaceType
: ::windows_sys
::core
::GUID
,
741 pub DeviceInterfaceName
: [u16; 260],
742 pub LegacyName
: [u16; 260],
743 pub StorageDeviceNumber
: super::super::System
::Ioctl
::STORAGE_DEVICE_NUMBER
,
744 pub DeviceInstance
: u32,
746 #[cfg(feature = "Win32_System_Ioctl")]
747 impl ::core
::marker
::Copy
for ISCSI_DEVICE_ON_SESSIONW {}
748 #[cfg(feature = "Win32_System_Ioctl")]
749 impl ::core
::clone
::Clone
for ISCSI_DEVICE_ON_SESSIONW
{
750 fn clone(&self) -> Self {
754 pub type ISCSI_DIGEST_TYPES
= i32;
755 pub const ISCSI_DIGEST_TYPE_NONE
: ISCSI_DIGEST_TYPES
= 0i32;
756 pub const ISCSI_DIGEST_TYPE_CRC32C
: ISCSI_DIGEST_TYPES
= 1i32;
757 pub const ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING
: u32 = 8u32;
758 pub const ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED
: u32 = 2u32;
759 pub const ISCSI_LOGIN_FLAG_REQUIRE_IPSEC
: u32 = 1u32;
760 pub const ISCSI_LOGIN_FLAG_RESERVED1
: u32 = 4u32;
761 pub const ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE
: u32 = 16u32;
762 pub const ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION
: u32 = 32u32;
764 pub struct ISCSI_LOGIN_OPTIONS
{
766 pub InformationSpecified
: u32,
768 pub AuthType
: ISCSI_AUTH_TYPES
,
769 pub HeaderDigest
: ISCSI_DIGEST_TYPES
,
770 pub DataDigest
: ISCSI_DIGEST_TYPES
,
771 pub MaximumConnections
: u32,
772 pub DefaultTime2Wait
: u32,
773 pub DefaultTime2Retain
: u32,
774 pub UsernameLength
: u32,
775 pub PasswordLength
: u32,
776 pub Username
: *mut u8,
777 pub Password
: *mut u8,
779 impl ::core
::marker
::Copy
for ISCSI_LOGIN_OPTIONS {}
780 impl ::core
::clone
::Clone
for ISCSI_LOGIN_OPTIONS
{
781 fn clone(&self) -> Self {
785 pub const ISCSI_LOGIN_OPTIONS_AUTH_TYPE
: u32 = 128u32;
786 pub const ISCSI_LOGIN_OPTIONS_DATA_DIGEST
: u32 = 2u32;
787 pub const ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN
: u32 = 16u32;
788 pub const ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT
: u32 = 8u32;
789 pub const ISCSI_LOGIN_OPTIONS_HEADER_DIGEST
: u32 = 1u32;
790 pub const ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS
: u32 = 4u32;
791 pub const ISCSI_LOGIN_OPTIONS_PASSWORD
: u32 = 64u32;
792 pub const ISCSI_LOGIN_OPTIONS_USERNAME
: u32 = 32u32;
793 pub const ISCSI_LOGIN_OPTIONS_VERSION
: u32 = 0u32;
794 pub const ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLED
: u32 = 8u32;
795 pub const ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLED
: u32 = 2u32;
796 pub const ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLED
: u32 = 4u32;
797 pub const ISCSI_SECURITY_FLAG_PFS_ENABLED
: u32 = 16u32;
798 pub const ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERRED
: u32 = 32u32;
799 pub const ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERRED
: u32 = 64u32;
800 pub const ISCSI_SECURITY_FLAG_VALID
: u32 = 1u32;
802 #[cfg(feature = "Win32_Foundation")]
803 pub struct ISCSI_SESSION_INFOA
{
804 pub SessionId
: ISCSI_UNIQUE_SESSION_ID
,
805 pub InitiatorName
: super::super::Foundation
::PSTR
,
806 pub TargetNodeName
: super::super::Foundation
::PSTR
,
807 pub TargetName
: super::super::Foundation
::PSTR
,
810 pub ConnectionCount
: u32,
811 pub Connections
: *mut ISCSI_CONNECTION_INFOA
,
813 #[cfg(feature = "Win32_Foundation")]
814 impl ::core
::marker
::Copy
for ISCSI_SESSION_INFOA {}
815 #[cfg(feature = "Win32_Foundation")]
816 impl ::core
::clone
::Clone
for ISCSI_SESSION_INFOA
{
817 fn clone(&self) -> Self {
822 #[cfg(feature = "Win32_Foundation")]
823 pub struct ISCSI_SESSION_INFOW
{
824 pub SessionId
: ISCSI_UNIQUE_SESSION_ID
,
825 pub InitiatorName
: super::super::Foundation
::PWSTR
,
826 pub TargetNodeName
: super::super::Foundation
::PWSTR
,
827 pub TargetName
: super::super::Foundation
::PWSTR
,
830 pub ConnectionCount
: u32,
831 pub Connections
: *mut ISCSI_CONNECTION_INFOW
,
833 #[cfg(feature = "Win32_Foundation")]
834 impl ::core
::marker
::Copy
for ISCSI_SESSION_INFOW {}
835 #[cfg(feature = "Win32_Foundation")]
836 impl ::core
::clone
::Clone
for ISCSI_SESSION_INFOW
{
837 fn clone(&self) -> Self {
842 #[cfg(feature = "Win32_Foundation")]
843 pub struct ISCSI_SESSION_INFO_EX
{
844 pub SessionId
: ISCSI_UNIQUE_SESSION_ID
,
845 pub InitialR2t
: super::super::Foundation
::BOOLEAN
,
846 pub ImmediateData
: super::super::Foundation
::BOOLEAN
,
848 pub DataSequenceInOrder
: super::super::Foundation
::BOOLEAN
,
849 pub DataPduInOrder
: super::super::Foundation
::BOOLEAN
,
850 pub ErrorRecoveryLevel
: u8,
851 pub MaxOutstandingR2t
: u32,
852 pub FirstBurstLength
: u32,
853 pub MaxBurstLength
: u32,
854 pub MaximumConnections
: u32,
855 pub ConnectionCount
: u32,
856 pub Connections
: *mut ISCSI_CONNECTION_INFO_EX
,
858 #[cfg(feature = "Win32_Foundation")]
859 impl ::core
::marker
::Copy
for ISCSI_SESSION_INFO_EX {}
860 #[cfg(feature = "Win32_Foundation")]
861 impl ::core
::clone
::Clone
for ISCSI_SESSION_INFO_EX
{
862 fn clone(&self) -> Self {
866 pub const ISCSI_TARGET_FLAG_HIDE_STATIC_TARGET
: u32 = 2u32;
867 pub const ISCSI_TARGET_FLAG_MERGE_TARGET_INFORMATION
: u32 = 4u32;
869 #[cfg(feature = "Win32_Foundation")]
870 pub struct ISCSI_TARGET_MAPPINGA
{
871 pub InitiatorName
: [super::super::Foundation
::CHAR
; 256],
872 pub TargetName
: [super::super::Foundation
::CHAR
; 224],
873 pub OSDeviceName
: [super::super::Foundation
::CHAR
; 260],
874 pub SessionId
: ISCSI_UNIQUE_SESSION_ID
,
875 pub OSBusNumber
: u32,
876 pub OSTargetNumber
: u32,
878 pub LUNList
: *mut SCSI_LUN_LIST
,
880 #[cfg(feature = "Win32_Foundation")]
881 impl ::core
::marker
::Copy
for ISCSI_TARGET_MAPPINGA {}
882 #[cfg(feature = "Win32_Foundation")]
883 impl ::core
::clone
::Clone
for ISCSI_TARGET_MAPPINGA
{
884 fn clone(&self) -> Self {
889 pub struct ISCSI_TARGET_MAPPINGW
{
890 pub InitiatorName
: [u16; 256],
891 pub TargetName
: [u16; 224],
892 pub OSDeviceName
: [u16; 260],
893 pub SessionId
: ISCSI_UNIQUE_SESSION_ID
,
894 pub OSBusNumber
: u32,
895 pub OSTargetNumber
: u32,
897 pub LUNList
: *mut SCSI_LUN_LIST
,
899 impl ::core
::marker
::Copy
for ISCSI_TARGET_MAPPINGW {}
900 impl ::core
::clone
::Clone
for ISCSI_TARGET_MAPPINGW
{
901 fn clone(&self) -> Self {
906 #[cfg(feature = "Win32_Foundation")]
907 pub struct ISCSI_TARGET_PORTALA
{
908 pub SymbolicName
: [super::super::Foundation
::CHAR
; 256],
909 pub Address
: [super::super::Foundation
::CHAR
; 256],
912 #[cfg(feature = "Win32_Foundation")]
913 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTALA {}
914 #[cfg(feature = "Win32_Foundation")]
915 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTALA
{
916 fn clone(&self) -> Self {
921 pub struct ISCSI_TARGET_PORTALW
{
922 pub SymbolicName
: [u16; 256],
923 pub Address
: [u16; 256],
926 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTALW {}
927 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTALW
{
928 fn clone(&self) -> Self {
933 #[cfg(feature = "Win32_Foundation")]
934 pub struct ISCSI_TARGET_PORTAL_GROUPA
{
936 pub Portals
: [ISCSI_TARGET_PORTALA
; 1],
938 #[cfg(feature = "Win32_Foundation")]
939 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_GROUPA {}
940 #[cfg(feature = "Win32_Foundation")]
941 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_GROUPA
{
942 fn clone(&self) -> Self {
947 pub struct ISCSI_TARGET_PORTAL_GROUPW
{
949 pub Portals
: [ISCSI_TARGET_PORTALW
; 1],
951 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_GROUPW {}
952 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_GROUPW
{
953 fn clone(&self) -> Self {
958 #[cfg(feature = "Win32_Foundation")]
959 pub struct ISCSI_TARGET_PORTAL_INFOA
{
960 pub InitiatorName
: [super::super::Foundation
::CHAR
; 256],
961 pub InitiatorPortNumber
: u32,
962 pub SymbolicName
: [super::super::Foundation
::CHAR
; 256],
963 pub Address
: [super::super::Foundation
::CHAR
; 256],
966 #[cfg(feature = "Win32_Foundation")]
967 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_INFOA {}
968 #[cfg(feature = "Win32_Foundation")]
969 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_INFOA
{
970 fn clone(&self) -> Self {
975 pub struct ISCSI_TARGET_PORTAL_INFOW
{
976 pub InitiatorName
: [u16; 256],
977 pub InitiatorPortNumber
: u32,
978 pub SymbolicName
: [u16; 256],
979 pub Address
: [u16; 256],
982 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_INFOW {}
983 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_INFOW
{
984 fn clone(&self) -> Self {
989 #[cfg(feature = "Win32_Foundation")]
990 pub struct ISCSI_TARGET_PORTAL_INFO_EXA
{
991 pub InitiatorName
: [super::super::Foundation
::CHAR
; 256],
992 pub InitiatorPortNumber
: u32,
993 pub SymbolicName
: [super::super::Foundation
::CHAR
; 256],
994 pub Address
: [super::super::Foundation
::CHAR
; 256],
996 pub SecurityFlags
: u64,
997 pub LoginOptions
: ISCSI_LOGIN_OPTIONS
,
999 #[cfg(feature = "Win32_Foundation")]
1000 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_INFO_EXA {}
1001 #[cfg(feature = "Win32_Foundation")]
1002 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_INFO_EXA
{
1003 fn clone(&self) -> Self {
1008 pub struct ISCSI_TARGET_PORTAL_INFO_EXW
{
1009 pub InitiatorName
: [u16; 256],
1010 pub InitiatorPortNumber
: u32,
1011 pub SymbolicName
: [u16; 256],
1012 pub Address
: [u16; 256],
1014 pub SecurityFlags
: u64,
1015 pub LoginOptions
: ISCSI_LOGIN_OPTIONS
,
1017 impl ::core
::marker
::Copy
for ISCSI_TARGET_PORTAL_INFO_EXW {}
1018 impl ::core
::clone
::Clone
for ISCSI_TARGET_PORTAL_INFO_EXW
{
1019 fn clone(&self) -> Self {
1024 pub struct ISCSI_UNIQUE_SESSION_ID
{
1025 pub AdapterUnique
: u64,
1026 pub AdapterSpecific
: u64,
1028 impl ::core
::marker
::Copy
for ISCSI_UNIQUE_SESSION_ID {}
1029 impl ::core
::clone
::Clone
for ISCSI_UNIQUE_SESSION_ID
{
1030 fn clone(&self) -> Self {
1035 pub struct ISCSI_VERSION_INFO
{
1036 pub MajorVersion
: u32,
1037 pub MinorVersion
: u32,
1038 pub BuildNumber
: u32,
1040 impl ::core
::marker
::Copy
for ISCSI_VERSION_INFO {}
1041 impl ::core
::clone
::Clone
for ISCSI_VERSION_INFO
{
1042 fn clone(&self) -> Self {
1046 pub const MAX_ISCSI_ALIAS_LEN
: u32 = 255u32;
1047 pub const MAX_ISCSI_DISCOVERY_DOMAIN_LEN
: u32 = 256u32;
1048 pub const MAX_ISCSI_HBANAME_LEN
: u32 = 256u32;
1049 pub const MAX_ISCSI_NAME_LEN
: u32 = 223u32;
1050 pub const MAX_ISCSI_PORTAL_ADDRESS_LEN
: u32 = 256u32;
1051 pub const MAX_ISCSI_PORTAL_ALIAS_LEN
: u32 = 256u32;
1052 pub const MAX_ISCSI_PORTAL_NAME_LEN
: u32 = 256u32;
1053 pub const MAX_ISCSI_TEXT_ADDRESS_LEN
: u32 = 256u32;
1054 pub const MAX_RADIUS_ADDRESS_LEN
: u32 = 41u32;
1055 pub const MINIPORT_DSM_NOTIFICATION_VERSION
: u32 = 1u32;
1056 pub const MINIPORT_DSM_NOTIFICATION_VERSION_1
: u32 = 1u32;
1057 pub const MINIPORT_DSM_NOTIFY_FLAG_BEGIN
: u32 = 1u32;
1058 pub const MINIPORT_DSM_NOTIFY_FLAG_END
: u32 = 2u32;
1059 pub const MINIPORT_DSM_PROFILE_CRASHDUMP_FILE
: u32 = 3u32;
1060 pub const MINIPORT_DSM_PROFILE_HIBERNATION_FILE
: u32 = 2u32;
1061 pub const MINIPORT_DSM_PROFILE_PAGE_FILE
: u32 = 1u32;
1062 pub const MINIPORT_DSM_PROFILE_UNKNOWN
: u32 = 0u32;
1063 pub const MPIO_IOCTL_FLAG_INVOLVE_DSM
: u32 = 4u32;
1064 pub const MPIO_IOCTL_FLAG_USE_PATHID
: u32 = 1u32;
1065 pub const MPIO_IOCTL_FLAG_USE_SCSIADDRESS
: u32 = 2u32;
1067 pub struct MPIO_PASS_THROUGH_PATH
{
1068 pub PassThrough
: SCSI_PASS_THROUGH
,
1073 pub MpioPathId
: u64,
1075 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH {}
1076 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH
{
1077 fn clone(&self) -> Self {
1082 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1083 pub struct MPIO_PASS_THROUGH_PATH32
{
1084 pub PassThrough
: SCSI_PASS_THROUGH32
,
1089 pub MpioPathId
: u64,
1091 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1092 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH32 {}
1093 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1094 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH32
{
1095 fn clone(&self) -> Self {
1100 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1101 pub struct MPIO_PASS_THROUGH_PATH32_EX
{
1102 pub PassThroughOffset
: u32,
1107 pub MpioPathId
: u64,
1109 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1110 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH32_EX {}
1111 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1112 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH32_EX
{
1113 fn clone(&self) -> Self {
1118 pub struct MPIO_PASS_THROUGH_PATH_DIRECT
{
1119 pub PassThrough
: SCSI_PASS_THROUGH_DIRECT
,
1124 pub MpioPathId
: u64,
1126 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH_DIRECT {}
1127 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH_DIRECT
{
1128 fn clone(&self) -> Self {
1133 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1134 pub struct MPIO_PASS_THROUGH_PATH_DIRECT32
{
1135 pub PassThrough
: SCSI_PASS_THROUGH_DIRECT32
,
1140 pub MpioPathId
: u64,
1142 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1143 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH_DIRECT32 {}
1144 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1145 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH_DIRECT32
{
1146 fn clone(&self) -> Self {
1151 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1152 pub struct MPIO_PASS_THROUGH_PATH_DIRECT32_EX
{
1153 pub PassThroughOffset
: u32,
1158 pub MpioPathId
: u64,
1160 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1161 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH_DIRECT32_EX {}
1162 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1163 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH_DIRECT32_EX
{
1164 fn clone(&self) -> Self {
1169 pub struct MPIO_PASS_THROUGH_PATH_DIRECT_EX
{
1170 pub PassThroughOffset
: u32,
1175 pub MpioPathId
: u64,
1177 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH_DIRECT_EX {}
1178 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH_DIRECT_EX
{
1179 fn clone(&self) -> Self {
1184 pub struct MPIO_PASS_THROUGH_PATH_EX
{
1185 pub PassThroughOffset
: u32,
1190 pub MpioPathId
: u64,
1192 impl ::core
::marker
::Copy
for MPIO_PASS_THROUGH_PATH_EX {}
1193 impl ::core
::clone
::Clone
for MPIO_PASS_THROUGH_PATH_EX
{
1194 fn clone(&self) -> Self {
1199 pub struct MP_DEVICE_DATA_SET_RANGE
{
1200 pub StartingOffset
: i64,
1201 pub LengthInBytes
: u64,
1203 impl ::core
::marker
::Copy
for MP_DEVICE_DATA_SET_RANGE {}
1204 impl ::core
::clone
::Clone
for MP_DEVICE_DATA_SET_RANGE
{
1205 fn clone(&self) -> Self {
1209 pub type MP_STORAGE_DIAGNOSTIC_LEVEL
= i32;
1210 pub const MpStorageDiagnosticLevelDefault
: MP_STORAGE_DIAGNOSTIC_LEVEL
= 0i32;
1211 pub const MpStorageDiagnosticLevelMax
: MP_STORAGE_DIAGNOSTIC_LEVEL
= 1i32;
1212 pub type MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
= i32;
1213 pub const MpStorageDiagnosticTargetTypeUndefined
: MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
= 0i32;
1214 pub const MpStorageDiagnosticTargetTypeMiniport
: MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
= 2i32;
1215 pub const MpStorageDiagnosticTargetTypeHbaFirmware
: MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
= 3i32;
1216 pub const MpStorageDiagnosticTargetTypeMax
: MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
= 4i32;
1217 pub const NRB_FUNCTION_ADD_LBAS_PINNED_SET
: u32 = 16u32;
1218 pub const NRB_FUNCTION_FLUSH_NVCACHE
: u32 = 20u32;
1219 pub const NRB_FUNCTION_NVCACHE_INFO
: u32 = 236u32;
1220 pub const NRB_FUNCTION_NVCACHE_POWER_MODE_RETURN
: u32 = 1u32;
1221 pub const NRB_FUNCTION_NVCACHE_POWER_MODE_SET
: u32 = 0u32;
1222 pub const NRB_FUNCTION_NVSEPARATED_FLUSH
: u32 = 193u32;
1223 pub const NRB_FUNCTION_NVSEPARATED_INFO
: u32 = 192u32;
1224 pub const NRB_FUNCTION_NVSEPARATED_WB_DISABLE
: u32 = 194u32;
1225 pub const NRB_FUNCTION_NVSEPARATED_WB_REVERT_DEFAULT
: u32 = 195u32;
1226 pub const NRB_FUNCTION_PASS_HINT_PAYLOAD
: u32 = 224u32;
1227 pub const NRB_FUNCTION_QUERY_ASCENDER_STATUS
: u32 = 208u32;
1228 pub const NRB_FUNCTION_QUERY_CACHE_MISS
: u32 = 19u32;
1229 pub const NRB_FUNCTION_QUERY_HYBRID_DISK_STATUS
: u32 = 209u32;
1230 pub const NRB_FUNCTION_QUERY_PINNED_SET
: u32 = 18u32;
1231 pub const NRB_FUNCTION_REMOVE_LBAS_PINNED_SET
: u32 = 17u32;
1232 pub const NRB_FUNCTION_SPINDLE_STATUS
: u32 = 229u32;
1233 pub const NRB_ILLEGAL_REQUEST
: u32 = 1u32;
1234 pub const NRB_INPUT_DATA_OVERRUN
: u32 = 3u32;
1235 pub const NRB_INPUT_DATA_UNDERRUN
: u32 = 4u32;
1236 pub const NRB_INVALID_PARAMETER
: u32 = 2u32;
1237 pub const NRB_OUTPUT_DATA_OVERRUN
: u32 = 5u32;
1238 pub const NRB_OUTPUT_DATA_UNDERRUN
: u32 = 6u32;
1239 pub const NRB_SUCCESS
: u32 = 0u32;
1241 #[cfg(feature = "Win32_Foundation")]
1242 pub struct NTSCSI_UNICODE_STRING
{
1244 pub MaximumLength
: u16,
1245 pub Buffer
: super::super::Foundation
::PWSTR
,
1247 #[cfg(feature = "Win32_Foundation")]
1248 impl ::core
::marker
::Copy
for NTSCSI_UNICODE_STRING {}
1249 #[cfg(feature = "Win32_Foundation")]
1250 impl ::core
::clone
::Clone
for NTSCSI_UNICODE_STRING
{
1251 fn clone(&self) -> Self {
1256 pub struct NVCACHE_HINT_PAYLOAD
{
1259 pub Feature15_8
: u8,
1267 pub Auxiliary7_0
: u8,
1268 pub Auxiliary23_16
: u8,
1269 pub Reserved
: [u8; 4],
1271 impl ::core
::marker
::Copy
for NVCACHE_HINT_PAYLOAD {}
1272 impl ::core
::clone
::Clone
for NVCACHE_HINT_PAYLOAD
{
1273 fn clone(&self) -> Self {
1278 pub struct NVCACHE_PRIORITY_LEVEL_DESCRIPTOR
{
1279 pub PriorityLevel
: u8,
1280 pub Reserved0
: [u8; 3],
1281 pub ConsumedNVMSizeFraction
: u32,
1282 pub ConsumedMappingResourcesFraction
: u32,
1283 pub ConsumedNVMSizeForDirtyDataFraction
: u32,
1284 pub ConsumedMappingResourcesForDirtyDataFraction
: u32,
1287 impl ::core
::marker
::Copy
for NVCACHE_PRIORITY_LEVEL_DESCRIPTOR {}
1288 impl ::core
::clone
::Clone
for NVCACHE_PRIORITY_LEVEL_DESCRIPTOR
{
1289 fn clone(&self) -> Self {
1294 pub struct NVCACHE_REQUEST_BLOCK
{
1301 pub DataBufSize
: u32,
1302 pub NVCacheStatus
: u32,
1303 pub NVCacheSubStatus
: u32,
1305 impl ::core
::marker
::Copy
for NVCACHE_REQUEST_BLOCK {}
1306 impl ::core
::clone
::Clone
for NVCACHE_REQUEST_BLOCK
{
1307 fn clone(&self) -> Self {
1311 pub type NVCACHE_STATUS
= i32;
1312 pub const NvCacheStatusUnknown
: NVCACHE_STATUS
= 0i32;
1313 pub const NvCacheStatusDisabling
: NVCACHE_STATUS
= 1i32;
1314 pub const NvCacheStatusDisabled
: NVCACHE_STATUS
= 2i32;
1315 pub const NvCacheStatusEnabled
: NVCACHE_STATUS
= 3i32;
1316 pub type NVCACHE_TYPE
= i32;
1317 pub const NvCacheTypeUnknown
: NVCACHE_TYPE
= 0i32;
1318 pub const NvCacheTypeNone
: NVCACHE_TYPE
= 1i32;
1319 pub const NvCacheTypeWriteBack
: NVCACHE_TYPE
= 2i32;
1320 pub const NvCacheTypeWriteThrough
: NVCACHE_TYPE
= 3i32;
1322 pub struct NV_FEATURE_PARAMETER
{
1323 pub NVPowerModeEnabled
: u16,
1324 pub NVParameterReserv1
: u16,
1325 pub NVCmdEnabled
: u16,
1326 pub NVParameterReserv2
: u16,
1327 pub NVPowerModeVer
: u16,
1330 pub NVReadSpeed
: u16,
1331 pub NVWrtSpeed
: u16,
1332 pub DeviceSpinUpTime
: u32,
1334 impl ::core
::marker
::Copy
for NV_FEATURE_PARAMETER {}
1335 impl ::core
::clone
::Clone
for NV_FEATURE_PARAMETER
{
1336 fn clone(&self) -> Self {
1341 pub struct NV_SEP_CACHE_PARAMETER
{
1344 pub Flags
: NV_SEP_CACHE_PARAMETER_0
,
1345 pub WriteCacheType
: u8,
1346 pub WriteCacheTypeEffective
: u8,
1347 pub ParameterReserve1
: [u8; 3],
1349 impl ::core
::marker
::Copy
for NV_SEP_CACHE_PARAMETER {}
1350 impl ::core
::clone
::Clone
for NV_SEP_CACHE_PARAMETER
{
1351 fn clone(&self) -> Self {
1356 pub union NV_SEP_CACHE_PARAMETER_0
{
1357 pub CacheFlags
: NV_SEP_CACHE_PARAMETER_0_0
,
1358 pub CacheFlagsSet
: u8,
1360 impl ::core
::marker
::Copy
for NV_SEP_CACHE_PARAMETER_0 {}
1361 impl ::core
::clone
::Clone
for NV_SEP_CACHE_PARAMETER_0
{
1362 fn clone(&self) -> Self {
1367 pub struct NV_SEP_CACHE_PARAMETER_0_0
{
1370 impl ::core
::marker
::Copy
for NV_SEP_CACHE_PARAMETER_0_0 {}
1371 impl ::core
::clone
::Clone
for NV_SEP_CACHE_PARAMETER_0_0
{
1372 fn clone(&self) -> Self {
1376 pub const NV_SEP_CACHE_PARAMETER_VERSION
: u32 = 1u32;
1377 pub const NV_SEP_CACHE_PARAMETER_VERSION_1
: u32 = 1u32;
1378 pub type NV_SEP_WRITE_CACHE_TYPE
= i32;
1379 pub const NVSEPWriteCacheTypeUnknown
: NV_SEP_WRITE_CACHE_TYPE
= 0i32;
1380 pub const NVSEPWriteCacheTypeNone
: NV_SEP_WRITE_CACHE_TYPE
= 1i32;
1381 pub const NVSEPWriteCacheTypeWriteBack
: NV_SEP_WRITE_CACHE_TYPE
= 2i32;
1382 pub const NVSEPWriteCacheTypeWriteThrough
: NV_SEP_WRITE_CACHE_TYPE
= 3i32;
1383 pub type PDUMP_DEVICE_POWERON_ROUTINE
= unsafe extern "system" fn() -> i32;
1385 #[cfg(feature = "Win32_Foundation")]
1386 pub struct PERSISTENT_ISCSI_LOGIN_INFOA
{
1387 pub TargetName
: [super::super::Foundation
::CHAR
; 224],
1388 pub IsInformationalSession
: super::super::Foundation
::BOOLEAN
,
1389 pub InitiatorInstance
: [super::super::Foundation
::CHAR
; 256],
1390 pub InitiatorPortNumber
: u32,
1391 pub TargetPortal
: ISCSI_TARGET_PORTALA
,
1392 pub SecurityFlags
: u64,
1393 pub Mappings
: *mut ISCSI_TARGET_MAPPINGA
,
1394 pub LoginOptions
: ISCSI_LOGIN_OPTIONS
,
1396 #[cfg(feature = "Win32_Foundation")]
1397 impl ::core
::marker
::Copy
for PERSISTENT_ISCSI_LOGIN_INFOA {}
1398 #[cfg(feature = "Win32_Foundation")]
1399 impl ::core
::clone
::Clone
for PERSISTENT_ISCSI_LOGIN_INFOA
{
1400 fn clone(&self) -> Self {
1405 #[cfg(feature = "Win32_Foundation")]
1406 pub struct PERSISTENT_ISCSI_LOGIN_INFOW
{
1407 pub TargetName
: [u16; 224],
1408 pub IsInformationalSession
: super::super::Foundation
::BOOLEAN
,
1409 pub InitiatorInstance
: [u16; 256],
1410 pub InitiatorPortNumber
: u32,
1411 pub TargetPortal
: ISCSI_TARGET_PORTALW
,
1412 pub SecurityFlags
: u64,
1413 pub Mappings
: *mut ISCSI_TARGET_MAPPINGW
,
1414 pub LoginOptions
: ISCSI_LOGIN_OPTIONS
,
1416 #[cfg(feature = "Win32_Foundation")]
1417 impl ::core
::marker
::Copy
for PERSISTENT_ISCSI_LOGIN_INFOW {}
1418 #[cfg(feature = "Win32_Foundation")]
1419 impl ::core
::clone
::Clone
for PERSISTENT_ISCSI_LOGIN_INFOW
{
1420 fn clone(&self) -> Self {
1425 pub struct SCSI_ADAPTER_BUS_INFO
{
1426 pub NumberOfBuses
: u8,
1427 pub BusData
: [SCSI_BUS_DATA
; 1],
1429 impl ::core
::marker
::Copy
for SCSI_ADAPTER_BUS_INFO {}
1430 impl ::core
::clone
::Clone
for SCSI_ADAPTER_BUS_INFO
{
1431 fn clone(&self) -> Self {
1436 pub struct SCSI_ADDRESS
{
1443 impl ::core
::marker
::Copy
for SCSI_ADDRESS {}
1444 impl ::core
::clone
::Clone
for SCSI_ADDRESS
{
1445 fn clone(&self) -> Self {
1450 pub struct SCSI_BUS_DATA
{
1451 pub NumberOfLogicalUnits
: u8,
1452 pub InitiatorBusId
: u8,
1453 pub InquiryDataOffset
: u32,
1455 impl ::core
::marker
::Copy
for SCSI_BUS_DATA {}
1456 impl ::core
::clone
::Clone
for SCSI_BUS_DATA
{
1457 fn clone(&self) -> Self {
1462 #[cfg(feature = "Win32_Foundation")]
1463 pub struct SCSI_INQUIRY_DATA
{
1467 pub DeviceClaimed
: super::super::Foundation
::BOOLEAN
,
1468 pub InquiryDataLength
: u32,
1469 pub NextInquiryDataOffset
: u32,
1470 pub InquiryData
: [u8; 1],
1472 #[cfg(feature = "Win32_Foundation")]
1473 impl ::core
::marker
::Copy
for SCSI_INQUIRY_DATA {}
1474 #[cfg(feature = "Win32_Foundation")]
1475 impl ::core
::clone
::Clone
for SCSI_INQUIRY_DATA
{
1476 fn clone(&self) -> Self {
1480 pub const SCSI_IOCTL_DATA_BIDIRECTIONAL
: u32 = 3u32;
1481 pub const SCSI_IOCTL_DATA_IN
: u32 = 1u32;
1482 pub const SCSI_IOCTL_DATA_OUT
: u32 = 0u32;
1483 pub const SCSI_IOCTL_DATA_UNSPECIFIED
: u32 = 2u32;
1485 pub struct SCSI_LUN_LIST
{
1489 impl ::core
::marker
::Copy
for SCSI_LUN_LIST {}
1490 impl ::core
::clone
::Clone
for SCSI_LUN_LIST
{
1491 fn clone(&self) -> Self {
1496 pub struct SCSI_PASS_THROUGH
{
1503 pub SenseInfoLength
: u8,
1505 pub DataTransferLength
: u32,
1506 pub TimeOutValue
: u32,
1507 pub DataBufferOffset
: usize,
1508 pub SenseInfoOffset
: u32,
1511 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH {}
1512 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH
{
1513 fn clone(&self) -> Self {
1518 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1519 pub struct SCSI_PASS_THROUGH32
{
1526 pub SenseInfoLength
: u8,
1528 pub DataTransferLength
: u32,
1529 pub TimeOutValue
: u32,
1530 pub DataBufferOffset
: u32,
1531 pub SenseInfoOffset
: u32,
1534 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1535 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH32 {}
1536 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1537 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH32
{
1538 fn clone(&self) -> Self {
1543 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1544 pub struct SCSI_PASS_THROUGH32_EX
{
1548 pub StorAddressLength
: u32,
1550 pub SenseInfoLength
: u8,
1551 pub DataDirection
: u8,
1553 pub TimeOutValue
: u32,
1554 pub StorAddressOffset
: u32,
1555 pub SenseInfoOffset
: u32,
1556 pub DataOutTransferLength
: u32,
1557 pub DataInTransferLength
: u32,
1558 pub DataOutBufferOffset
: u32,
1559 pub DataInBufferOffset
: u32,
1562 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1563 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH32_EX {}
1564 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1565 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH32_EX
{
1566 fn clone(&self) -> Self {
1571 pub struct SCSI_PASS_THROUGH_DIRECT
{
1578 pub SenseInfoLength
: u8,
1580 pub DataTransferLength
: u32,
1581 pub TimeOutValue
: u32,
1582 pub DataBuffer
: *mut ::core
::ffi
::c_void
,
1583 pub SenseInfoOffset
: u32,
1586 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH_DIRECT {}
1587 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH_DIRECT
{
1588 fn clone(&self) -> Self {
1593 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1594 pub struct SCSI_PASS_THROUGH_DIRECT32
{
1601 pub SenseInfoLength
: u8,
1603 pub DataTransferLength
: u32,
1604 pub TimeOutValue
: u32,
1605 pub DataBuffer
: *mut ::core
::ffi
::c_void
,
1606 pub SenseInfoOffset
: u32,
1609 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1610 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH_DIRECT32 {}
1611 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1612 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH_DIRECT32
{
1613 fn clone(&self) -> Self {
1618 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1619 pub struct SCSI_PASS_THROUGH_DIRECT32_EX
{
1623 pub StorAddressLength
: u32,
1625 pub SenseInfoLength
: u8,
1626 pub DataDirection
: u8,
1628 pub TimeOutValue
: u32,
1629 pub StorAddressOffset
: u32,
1630 pub SenseInfoOffset
: u32,
1631 pub DataOutTransferLength
: u32,
1632 pub DataInTransferLength
: u32,
1633 pub DataOutBuffer
: *mut ::core
::ffi
::c_void
,
1634 pub DataInBuffer
: *mut ::core
::ffi
::c_void
,
1637 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1638 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH_DIRECT32_EX {}
1639 #[cfg(any(target_arch = "x86_64", target_arch = "aarch64",))]
1640 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH_DIRECT32_EX
{
1641 fn clone(&self) -> Self {
1646 pub struct SCSI_PASS_THROUGH_DIRECT_EX
{
1650 pub StorAddressLength
: u32,
1652 pub SenseInfoLength
: u8,
1653 pub DataDirection
: u8,
1655 pub TimeOutValue
: u32,
1656 pub StorAddressOffset
: u32,
1657 pub SenseInfoOffset
: u32,
1658 pub DataOutTransferLength
: u32,
1659 pub DataInTransferLength
: u32,
1660 pub DataOutBuffer
: *mut ::core
::ffi
::c_void
,
1661 pub DataInBuffer
: *mut ::core
::ffi
::c_void
,
1664 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH_DIRECT_EX {}
1665 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH_DIRECT_EX
{
1666 fn clone(&self) -> Self {
1671 pub struct SCSI_PASS_THROUGH_EX
{
1675 pub StorAddressLength
: u32,
1677 pub SenseInfoLength
: u8,
1678 pub DataDirection
: u8,
1680 pub TimeOutValue
: u32,
1681 pub StorAddressOffset
: u32,
1682 pub SenseInfoOffset
: u32,
1683 pub DataOutTransferLength
: u32,
1684 pub DataInTransferLength
: u32,
1685 pub DataOutBufferOffset
: usize,
1686 pub DataInBufferOffset
: usize,
1689 impl ::core
::marker
::Copy
for SCSI_PASS_THROUGH_EX {}
1690 impl ::core
::clone
::Clone
for SCSI_PASS_THROUGH_EX
{
1691 fn clone(&self) -> Self {
1696 pub struct SRB_IO_CONTROL
{
1697 pub HeaderLength
: u32,
1698 pub Signature
: [u8; 8],
1700 pub ControlCode
: u32,
1701 pub ReturnCode
: u32,
1704 impl ::core
::marker
::Copy
for SRB_IO_CONTROL {}
1705 impl ::core
::clone
::Clone
for SRB_IO_CONTROL
{
1706 fn clone(&self) -> Self {
1711 pub struct STORAGE_DIAGNOSTIC_MP_REQUEST
{
1714 pub TargetType
: MP_STORAGE_DIAGNOSTIC_TARGET_TYPE
,
1715 pub Level
: MP_STORAGE_DIAGNOSTIC_LEVEL
,
1716 pub ProviderId
: ::windows_sys
::core
::GUID
,
1717 pub BufferSize
: u32,
1719 pub DataBuffer
: [u8; 1],
1721 impl ::core
::marker
::Copy
for STORAGE_DIAGNOSTIC_MP_REQUEST {}
1722 impl ::core
::clone
::Clone
for STORAGE_DIAGNOSTIC_MP_REQUEST
{
1723 fn clone(&self) -> Self {
1727 pub const STORAGE_DIAGNOSTIC_STATUS_BUFFER_TOO_SMALL
: u32 = 1u32;
1728 pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_PARAMETER
: u32 = 3u32;
1729 pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_SIGNATURE
: u32 = 4u32;
1730 pub const STORAGE_DIAGNOSTIC_STATUS_INVALID_TARGET_TYPE
: u32 = 5u32;
1731 pub const STORAGE_DIAGNOSTIC_STATUS_MORE_DATA
: u32 = 6u32;
1732 pub const STORAGE_DIAGNOSTIC_STATUS_SUCCESS
: u32 = 0u32;
1733 pub const STORAGE_DIAGNOSTIC_STATUS_UNSUPPORTED_VERSION
: u32 = 2u32;
1735 pub struct STORAGE_ENDURANCE_DATA_DESCRIPTOR
{
1738 pub EnduranceInfo
: STORAGE_ENDURANCE_INFO
,
1740 impl ::core
::marker
::Copy
for STORAGE_ENDURANCE_DATA_DESCRIPTOR {}
1741 impl ::core
::clone
::Clone
for STORAGE_ENDURANCE_DATA_DESCRIPTOR
{
1742 fn clone(&self) -> Self {
1747 pub struct STORAGE_ENDURANCE_INFO
{
1748 pub ValidFields
: u32,
1750 pub Flags
: STORAGE_ENDURANCE_INFO_0
,
1751 pub LifePercentage
: u32,
1752 pub BytesReadCount
: [u8; 16],
1753 pub ByteWriteCount
: [u8; 16],
1755 impl ::core
::marker
::Copy
for STORAGE_ENDURANCE_INFO {}
1756 impl ::core
::clone
::Clone
for STORAGE_ENDURANCE_INFO
{
1757 fn clone(&self) -> Self {
1762 pub struct STORAGE_ENDURANCE_INFO_0
{
1765 impl ::core
::marker
::Copy
for STORAGE_ENDURANCE_INFO_0 {}
1766 impl ::core
::clone
::Clone
for STORAGE_ENDURANCE_INFO_0
{
1767 fn clone(&self) -> Self {
1772 pub struct STORAGE_FIRMWARE_ACTIVATE
{
1775 pub SlotToActivate
: u8,
1776 pub Reserved0
: [u8; 3],
1778 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_ACTIVATE {}
1779 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_ACTIVATE
{
1780 fn clone(&self) -> Self {
1784 pub const STORAGE_FIRMWARE_ACTIVATE_STRUCTURE_VERSION
: u32 = 1u32;
1786 pub struct STORAGE_FIRMWARE_DOWNLOAD
{
1790 pub BufferSize
: u64,
1791 pub ImageBuffer
: [u8; 1],
1793 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_DOWNLOAD {}
1794 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_DOWNLOAD
{
1795 fn clone(&self) -> Self {
1799 pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION
: u32 = 1u32;
1800 pub const STORAGE_FIRMWARE_DOWNLOAD_STRUCTURE_VERSION_V2
: u32 = 2u32;
1802 pub struct STORAGE_FIRMWARE_DOWNLOAD_V2
{
1806 pub BufferSize
: u64,
1808 pub Reserved
: [u8; 3],
1810 pub ImageBuffer
: [u8; 1],
1812 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_DOWNLOAD_V2 {}
1813 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_DOWNLOAD_V2
{
1814 fn clone(&self) -> Self {
1819 #[cfg(feature = "Win32_Foundation")]
1820 pub struct STORAGE_FIRMWARE_INFO
{
1823 pub UpgradeSupport
: super::super::Foundation
::BOOLEAN
,
1826 pub PendingActivateSlot
: u8,
1828 pub Slot
: [STORAGE_FIRMWARE_SLOT_INFO
; 1],
1830 #[cfg(feature = "Win32_Foundation")]
1831 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_INFO {}
1832 #[cfg(feature = "Win32_Foundation")]
1833 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_INFO
{
1834 fn clone(&self) -> Self {
1838 pub const STORAGE_FIRMWARE_INFO_INVALID_SLOT
: u32 = 255u32;
1839 pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION
: u32 = 1u32;
1840 pub const STORAGE_FIRMWARE_INFO_STRUCTURE_VERSION_V2
: u32 = 2u32;
1842 #[cfg(feature = "Win32_Foundation")]
1843 pub struct STORAGE_FIRMWARE_INFO_V2
{
1846 pub UpgradeSupport
: super::super::Foundation
::BOOLEAN
,
1849 pub PendingActivateSlot
: u8,
1850 pub FirmwareShared
: super::super::Foundation
::BOOLEAN
,
1851 pub Reserved
: [u8; 3],
1852 pub ImagePayloadAlignment
: u32,
1853 pub ImagePayloadMaxSize
: u32,
1854 pub Slot
: [STORAGE_FIRMWARE_SLOT_INFO_V2
; 1],
1856 #[cfg(feature = "Win32_Foundation")]
1857 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_INFO_V2 {}
1858 #[cfg(feature = "Win32_Foundation")]
1859 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_INFO_V2
{
1860 fn clone(&self) -> Self {
1865 #[cfg(feature = "Win32_Foundation")]
1866 pub struct STORAGE_FIRMWARE_SLOT_INFO
{
1868 pub ReadOnly
: super::super::Foundation
::BOOLEAN
,
1869 pub Reserved
: [u8; 6],
1870 pub Revision
: STORAGE_FIRMWARE_SLOT_INFO_0
,
1872 #[cfg(feature = "Win32_Foundation")]
1873 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_SLOT_INFO {}
1874 #[cfg(feature = "Win32_Foundation")]
1875 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_SLOT_INFO
{
1876 fn clone(&self) -> Self {
1881 #[cfg(feature = "Win32_Foundation")]
1882 pub union STORAGE_FIRMWARE_SLOT_INFO_0
{
1884 pub AsUlonglong
: u64,
1886 #[cfg(feature = "Win32_Foundation")]
1887 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_SLOT_INFO_0 {}
1888 #[cfg(feature = "Win32_Foundation")]
1889 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_SLOT_INFO_0
{
1890 fn clone(&self) -> Self {
1895 #[cfg(feature = "Win32_Foundation")]
1896 pub struct STORAGE_FIRMWARE_SLOT_INFO_V2
{
1898 pub ReadOnly
: super::super::Foundation
::BOOLEAN
,
1899 pub Reserved
: [u8; 6],
1900 pub Revision
: [u8; 16],
1902 #[cfg(feature = "Win32_Foundation")]
1903 impl ::core
::marker
::Copy
for STORAGE_FIRMWARE_SLOT_INFO_V2 {}
1904 #[cfg(feature = "Win32_Foundation")]
1905 impl ::core
::clone
::Clone
for STORAGE_FIRMWARE_SLOT_INFO_V2
{
1906 fn clone(&self) -> Self {
1910 pub const STORAGE_FIRMWARE_SLOT_INFO_V2_REVISION_LENGTH
: u32 = 16u32;
1911 pub const ScsiRawInterfaceGuid
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1408590601, data2: 46783, data3: 4560, data4: [148, 242, 0, 160, 201, 30, 251, 139] }
;
1912 pub type TARGETPROTOCOLTYPE
= i32;
1913 pub const ISCSI_TCP_PROTOCOL_TYPE
: TARGETPROTOCOLTYPE
= 0i32;
1914 pub type TARGET_INFORMATION_CLASS
= i32;
1915 pub const ProtocolType
: TARGET_INFORMATION_CLASS
= 0i32;
1916 pub const TargetAlias
: TARGET_INFORMATION_CLASS
= 1i32;
1917 pub const DiscoveryMechanisms
: TARGET_INFORMATION_CLASS
= 2i32;
1918 pub const PortalGroups
: TARGET_INFORMATION_CLASS
= 3i32;
1919 pub const PersistentTargetMappings
: TARGET_INFORMATION_CLASS
= 4i32;
1920 pub const InitiatorName
: TARGET_INFORMATION_CLASS
= 5i32;
1921 pub const TargetFlags
: TARGET_INFORMATION_CLASS
= 6i32;
1922 pub const LoginOptions
: TARGET_INFORMATION_CLASS
= 7i32;
1923 pub const WmiScsiAddressGuid
: ::windows_sys
::core
::GUID
= ::windows_sys
::core
::GUID { data1: 1408590607, data2: 46783, data3: 4560, data4: [148, 242, 0, 160, 201, 30, 251, 139] }
;
1925 pub struct _ADAPTER_OBJECT(pub u8);