ViewVC Help
View File | Revision Log | View Changeset | Root Listing
root/Oni2/Daodan/MSYS2/mingw32/i686-w64-mingw32/include/iscsidsc.h
Revision: 1166
Committed: Tue Oct 26 14:22:36 2021 UTC (4 years ago) by rossy
Content type: text/x-chdr
File size: 24710 byte(s)
Log Message:
Daodan: Replace MinGW build env with an up-to-date MSYS2 env

File Contents

# Content
1 /**
2 * This file has no copyright assigned and is placed in the Public Domain.
3 * This file is part of the mingw-w64 runtime package.
4 * No warranty is given; refer to the file DISCLAIMER.PD within this package.
5 */
6 #ifndef _INC_ISCSIDSC
7 #define _INC_ISCSIDSC
8 #include <ntddscsi.h>
9 #if (_WIN32_WINNT >= 0x0600)
10 #ifdef __cplusplus
11 extern "C" {
12 #endif
13
14 typedef enum {
15 ISCSI_NO_AUTH_TYPE = 0,
16 ISCSI_CHAP_AUTH_TYPE = 1,
17 ISCSI_MUTUAL_CHAP_AUTH_TYPE = 2
18 } ISCSI_AUTH_TYPES;
19
20 typedef enum {
21 ISCSI_DIGEST_TYPE_NONE = 0,
22 ISCSI_DIGEST_TYPE_CRC32C = 1
23 } ISCSI_DIGEST_TYPES;
24
25 typedef ULONG ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED,
26 *PISCSI_LOGIN_OPTIONS_INFO_SPECIFIED;
27 #define ISCSI_LOGIN_OPTIONS_HEADER_DIGEST 0x00000001
28 #define ISCSI_LOGIN_OPTIONS_DATA_DIGEST 0x00000002
29 #define ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS 0x00000004
30 #define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT 0x00000008
31 #define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN 0x00000010
32 #define ISCSI_LOGIN_OPTIONS_USERNAME 0x00000020
33 #define ISCSI_LOGIN_OPTIONS_PASSWORD 0x00000040
34 #define ISCSI_LOGIN_OPTIONS_AUTH_TYPE 0x00000080
35
36 #define ISCSI_LOGIN_OPTIONS_VERSION 0x00000000
37
38 typedef ULONG ISCSI_LOGIN_FLAGS,
39 *PISCSI_LOGIN_FLAGS;
40
41 #define ISCSI_LOGIN_FLAG_REQUIRE_IPSEC 0x00000001
42 #define ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED 0x00000002
43 #define ISCSI_LOGIN_FLAG_RESERVED1 0x00000004
44 #define ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING 0x00000008
45 #define ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE 0x00000010
46 #define ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION 0x00000020
47
48 typedef ULONGLONG ISCSI_SECURITY_FLAGS,
49 *PISCSI_SECURITY_FLAGS;
50
51 #define ISCSI_SECURITY_FLAG_VALID 0x00000001
52 #define ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLED 0x00000002
53 #define ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLED 0x00000004
54 #define ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLED 0x00000008
55 #define ISCSI_SECURITY_FLAG_PFS_ENABLED 0x00000010
56 #define ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERRED 0x00000020
57 #define ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERRED 0x00000040
58
59
60 #define AddIScsiConnection __MINGW_NAME_AW(AddIScsiConnection)
61 #define AddIScsiSendTargetPortal __MINGW_NAME_AW(AddIScsiSendTargetPortal)
62 #define AddIScsiStaticTarget __MINGW_NAME_AW(AddIScsiStaticTarget)
63 #define RemoveIScsiStaticTarget __MINGW_NAME_AW(RemoveIScsiStaticTarget)
64 #define AddISNSServer __MINGW_NAME_AW(AddISNSServer)
65 #define AddPersistentiScsiDevice __MINGW_NAME_AW(AddPersistentiScsiDevice)
66 #define RemoveIScsiPersistentTarget __MINGW_NAME_AW(RemoveIScsiPersistentTarget)
67 #define RemovePersistentIScsiDevice __MINGW_NAME_AW(RemovePersistentIScsiDevice)
68 #define PERSISTENT_ISCSI_LOGIN_INFO __MINGW_NAME_AW(PERSISTENT_ISCSI_LOGIN_INFO)
69 #define AddRadiusServer __MINGW_NAME_AW(AddRadiusServer)
70 #define RemoveRadiusServer __MINGW_NAME_AW(RemoveRadiusServer)
71
72 #define MAX_ISCSI_PORTAL_NAME_LEN 256
73 #define MAX_ISCSI_PORTAL_ADDRESS_LEN 256
74 #define MAX_ISCSI_HBANAME_LEN 256
75
76 typedef enum _TARGET_INFORMATION_CLASS {
77 ProtocolType,
78 TargetAlias,
79 DiscoveryMechanisms,
80 PortalGroups,
81 PersistentTargetMappings,
82 InitiatorName,
83 TargetFlags,
84 LoginOptions
85 } TARGET_INFORMATION_CLASS;
86
87 typedef enum _TARGETPROTOCOLTYPE {
88 ISCSI_TCP_PROTOCOL_TYPE
89 } TARGETPROTOCOLTYPE;
90
91 typedef enum _IKE_AUTHENTICATION_METHOD {
92 IKE_AUTHENTICATION_PRESHARED_KEY_METHOD = 1
93 } IKE_AUTHENTICATION_METHOD, *PIKE_AUTHENTICATION_METHOD;
94
95 typedef struct _ISCSI_LOGIN_OPTIONS {
96 ULONG Version;
97 ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED InformationSpecified;
98 ISCSI_LOGIN_FLAGS LoginFlags;
99 ISCSI_AUTH_TYPES AuthType;
100 ISCSI_DIGEST_TYPES HeaderDigest;
101 ISCSI_DIGEST_TYPES DataDigest;
102 ULONG MaximumConnections;
103 ULONG DefaultTime2Wait;
104 ULONG DefaultTime2Retain;
105 ULONG UsernameLength;
106 ULONG PasswordLength;
107 PUCHAR Username;
108 PUCHAR Password;
109 } ISCSI_LOGIN_OPTIONS, *PISCSI_LOGIN_OPTIONS, *PSCSI_LOGIN_OPTIONS, *PISCI_LOGIN_OPTIONS;
110
111 typedef struct _ISCSI_TARGET_PORTALA {
112 CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
113 CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
114 USHORT Socket;
115 } ISCSI_TARGET_PORTALA, *PISCSI_TARGET_PORTALA;
116
117 typedef struct _ISCSI_TARGET_PORTALW {
118 WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
119 WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
120 USHORT Socket;
121 } ISCSI_TARGET_PORTALW, *PISCSI_TARGET_PORTALW;
122
123 typedef struct _ISCSI_TARGET_PORTAL_GROUPA {
124 ULONG Count;
125 ISCSI_TARGET_PORTALA Portals[1];
126 } ISCSI_TARGET_PORTAL_GROUPA, *PISCSI_TARGET_PORTAL_GROUPA;
127
128 typedef struct _ISCSI_TARGET_PORTAL_GROUPW {
129 ULONG Count;
130 ISCSI_TARGET_PORTALW Portals[1];
131 } ISCSI_TARGET_PORTAL_GROUPW, *PISCSI_TARGET_PORTAL_GROUPW;
132
133 typedef struct _ISCSI_LUN_LIST {
134 ULONG OSLUN;
135 ULONGLONG TargetLUN;
136 } SCSI_LUN_LIST, *PSCSI_LUN_LIST;
137
138 typedef struct _ISCSI_UNIQUE_SESSION_ID {
139 ULONGLONG AdapterUnique;
140 ULONGLONG AdapterSpecific;
141 }
142 ISCSI_UNIQUE_SESSION_ID, *PISCSI_UNIQUE_SESSION_ID,
143 ISCSI_UNIQUE_CONNECTION_ID, *PISCSI_UNIQUE_CONNECTION_ID;
144
145 typedef struct _ISCSI_TARGET_MAPPINGA {
146 CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
147 CHAR TargetName[MAX_ISCSI_NAME_LEN];
148 CHAR OSDeviceName[MAX_PATH];
149 ISCSI_UNIQUE_SESSION_ID SessionId;
150 ULONG OSBusNumber;
151 ULONG OSTargetNumber;
152 ULONG LUNCount;
153 PSCSI_LUN_LIST LUNList;
154 } ISCSI_TARGET_MAPPINGA, *PISCSI_TARGET_MAPPINGA;
155
156 typedef struct _ISCSI_TARGET_MAPPINGW {
157 WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
158 WCHAR TargetName[MAX_ISCSI_NAME_LEN];
159 WCHAR OSDeviceName[MAX_PATH];
160 ISCSI_UNIQUE_SESSION_ID SessionId;
161 ULONG OSBusNumber;
162 ULONG OSTargetNumber;
163 ULONG LUNCount;
164 PSCSI_LUN_LIST LUNList;
165 } ISCSI_TARGET_MAPPINGW, *PISCSI_TARGET_MAPPINGW;
166
167 typedef struct _PERSISTENT_ISCSI_LOGIN_INFOA {
168 CHAR TargetName[MAX_ISCSI_NAME_LEN];
169 BOOLEAN IsInformationalSession;
170 CHAR InitiatorInstance[MAX_ISCSI_HBANAME_LEN];
171 ULONG InitiatorPortNumber;
172 ISCSI_TARGET_PORTALA TargetPortal;
173 ISCSI_SECURITY_FLAGS SecurityFlags;
174 PISCSI_TARGET_MAPPINGA Mappings;
175 ISCSI_LOGIN_OPTIONS LoginOptions;
176 } PERSISTENT_ISCSI_LOGIN_INFOA, *PPERSISTENT_ISCSI_LOGIN_INFOA;
177
178 typedef struct _PERSISTENT_ISCSI_LOGIN_INFOW {
179 CHAR TargetName[MAX_ISCSI_NAME_LEN];
180 BOOLEAN IsInformationalSession;
181 CHAR InitiatorInstance[MAX_ISCSI_HBANAME_LEN];
182 ULONG InitiatorPortNumber;
183 ISCSI_TARGET_PORTALW TargetPortal;
184 ISCSI_SECURITY_FLAGS SecurityFlags;
185 PISCSI_TARGET_MAPPINGW Mappings;
186 ISCSI_LOGIN_OPTIONS LoginOptions;
187 } PERSISTENT_ISCSI_LOGIN_INFOW, *PPERSISTENT_ISCSI_LOGIN_INFOW;
188
189 typedef UCHAR IKE_IDENTIFICATION_PAYLOAD_TYPE, *PIKE_IDENTIFICATION_PAYLOAD_TYPE;
190
191 typedef struct _IKE_AUTHENTICATION_PRESHARED_KEY {
192 ISCSI_SECURITY_FLAGS SecurityFlags;
193 IKE_IDENTIFICATION_PAYLOAD_TYPE IdType;
194 ULONG IdLengthInBytes;
195 PUCHAR Id;
196 ULONG KeyLengthInBytes;
197 PUCHAR Key;
198 } IKE_AUTHENTICATION_PRESHARED_KEY, *PIKE_AUTHENTICATION_PRESHARED_KEY;
199
200 typedef struct _IKE_AUTHENTICATION_INFORMATION {
201 IKE_AUTHENTICATION_METHOD AuthMethod;
202 __C89_NAMELESS union {
203 IKE_AUTHENTICATION_PRESHARED_KEY PsKey;
204 };
205 } IKE_AUTHENTICATION_INFORMATION, *PIKE_AUTHENTICATION_INFORMATION;
206
207 typedef struct _ISCSI_CONNECTION_INFOA {
208 ISCSI_UNIQUE_CONNECTION_ID ConnectionId;
209 CHAR InitiatorAddress;
210 CHAR TargetAddress;
211 USHORT InitiatorSocket;
212 USHORT TargetSocket;
213 UCHAR CID[2];
214 } ISCSI_CONNECTION_INFOA, *PISCSI_CONNECTION_INFOA;
215
216 typedef struct _ISCSI_CONNECTION_INFO {
217 ISCSI_UNIQUE_CONNECTION_ID ConnectionId;
218 TCHAR InitiatorAddress;
219 TCHAR TargetAddress;
220 USHORT InitiatorSocket;
221 USHORT TargetSocket;
222 UCHAR CID[2];
223 } ISCSI_CONNECTION_INFOW, *PISCSI_CONNECTION_INFOW;
224
225 typedef struct _ISCSI_SESSION_INFOA {
226 ISCSI_UNIQUE_SESSION_ID SessionId;
227 CHAR InitiatorName;
228 CHAR TargetName;
229 CHAR TargetNodeName;
230 UCHAR ISID[6];
231 UCHAR TSID[2];
232 ULONG ConnectionCount;
233 PISCSI_CONNECTION_INFOA Connections;
234 } ISCSI_SESSION_INFOA, *PISCSI_SESSION_INFOA;
235
236 typedef struct _ISCSI_SESSION_INFO {
237 ISCSI_UNIQUE_SESSION_ID SessionId;
238 WCHAR InitiatorName;
239 WCHAR TargetName;
240 WCHAR TargetNodeName;
241 UCHAR ISID[6];
242 UCHAR TSID[2];
243 ULONG ConnectionCount;
244 PISCSI_CONNECTION_INFOW Connections;
245 } ISCSI_SESSION_INFOW, *PISCSI_SESSION_INFOW;
246
247 typedef struct _ISCSI_VERSION_INFO {
248 ULONG MajorVersion;
249 ULONG MinorVersion;
250 ULONG BuildNumber;
251 } ISCSI_VERSION_INFO, *PISCSI_VERSION_INFO;
252
253 typedef struct _ISCSI_TARGET_PORTAL_INFOA {
254 CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
255 ULONG InitiatorPortNumber;
256 CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
257 CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
258 USHORT Socket;
259 } ISCSI_TARGET_PORTAL_INFOA, *PISCSI_TARGET_PORTAL_INFOA;
260
261 typedef struct _ISCSI_TARGET_PORTAL_INFOW {
262 WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
263 ULONG InitiatorPortNumber;
264 WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
265 WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
266 USHORT Socket;
267 } ISCSI_TARGET_PORTAL_INFOW, *PISCSI_TARGET_PORTAL_INFOW;
268
269 typedef struct _ISCSI_TARGET_PORTAL_INFO_EXA {
270 CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
271 ULONG InitiatorPortNumber;
272 CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
273 CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
274 USHORT Socket;
275 ISCSI_SECURITY_FLAGS SecurityFlags;
276 ISCSI_LOGIN_OPTIONS LoginOptions;
277 } ISCSI_TARGET_PORTAL_INFO_EX, *PISCSI_TARGET_PORTAL_INFO_EX;
278
279 typedef struct _ISCSI_TARGET_PORTAL_INFO_EXW {
280 WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
281 ULONG InitiatorPortNumber;
282 WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
283 WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
284 USHORT Socket;
285 ISCSI_SECURITY_FLAGS SecurityFlags;
286 ISCSI_LOGIN_OPTIONS LoginOptions;
287 } ISCSI_TARGET_PORTAL_INFO_EX, *PISCSI_TARGET_PORTAL_INFO_EX;
288
289 __MINGW_TYPEDEF_AW(ISCSI_CONNECTION_INFO)
290 __MINGW_TYPEDEF_AW(PISCSI_CONNECTION_INFO)
291 __MINGW_TYPEDEF_AW(ISCSI_SESSION_INFO)
292 __MINGW_TYPEDEF_AW(PISCSI_SESSION_INFO)
293 __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_GROUP)
294 __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_GROUP)
295 __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL)
296 __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL)
297 __MINGW_TYPEDEF_AW(ISCSI_TARGET_MAPPING)
298 __MINGW_TYPEDEF_AW(PISCSI_TARGET_MAPPING)
299 __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_INFO)
300 __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_INFO)
301 __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_INFO_EX)
302 __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_INFO_EX)
303
304 typedef ULONG ISCSI_TARGET_FLAGS;
305
306 HRESULT WINAPI AddIScsiConnectionA(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,PVOID Reserved,ULONG InitiatorPortNumber,PISCSI_TARGET_PORTALA TargetPortal,ISCSI_SECURITY_FLAGS SecurityFlags,PSCSI_LOGIN_OPTIONS LoginOptions,ULONG KeySize,PCHAR Key,PISCSI_UNIQUE_CONNECTION_ID ConnectionId);
307 HRESULT WINAPI AddIScsiConnectionW(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,PVOID Reserved,ULONG InitiatorPortNumber,PISCSI_TARGET_PORTALW TargetPortal,ISCSI_SECURITY_FLAGS SecurityFlags,PSCSI_LOGIN_OPTIONS LoginOptions,ULONG KeySize,PCHAR Key,PISCSI_UNIQUE_CONNECTION_ID ConnectionId);
308
309 HRESULT WINAPI AddIScsiSendTargetPortalA(PCHAR InitiatorName,ULONG InitiatorPortNumber,PISCI_LOGIN_OPTIONS LoginOptions,ISCSI_SECURITY_FLAGS SecurityFlags,PISCSI_TARGET_PORTALA Portal);
310
311 HRESULT WINAPI AddIScsiSendTargetPortalW(PWCHAR InitiatorName,ULONG InitiatorPortNumber,PISCI_LOGIN_OPTIONS LoginOptions,ISCSI_SECURITY_FLAGS SecurityFlags,PISCSI_TARGET_PORTALW Portal);
312
313 HRESULT WINAPI AddIScsiStaticTargetA(PCHAR TargetName,PCHAR TargetAlias,ISCSI_TARGET_FLAGS TargetFlags,BOOLEAN Persist,PISCSI_TARGET_MAPPINGA Mappings,PISCSI_LOGIN_OPTIONS LoginOptions,PISCSI_TARGET_PORTAL_GROUPA PortalGroup);
314
315 HRESULT WINAPI AddIScsiStaticTargetW(PWCHAR TargetName,PWCHAR TargetAlias,ISCSI_TARGET_FLAGS TargetFlags,BOOLEAN Persist,PISCSI_TARGET_MAPPINGW Mappings,PISCSI_LOGIN_OPTIONS LoginOptions,PISCSI_TARGET_PORTAL_GROUPW PortalGroup);
316
317 HRESULT WINAPI AddISNSServerA(PCHAR Address);
318 HRESULT WINAPI AddISNSServerW(PWCHAR Address);
319
320 HRESULT WINAPI AddRadiusServerA(PCHAR Address);
321 HRESULT WINAPI AddRadiusServerW(PWCHAR Address);
322
323 HRESULT WINAPI AddPersistentiScsiDeviceA(PCHAR VolumePath);
324 HRESULT WINAPI AddPersistentiScsiDeviceW(PWCHAR VolumePath);
325
326 HRESULT WINAPI ClearPersistentiScsiDevices(void);
327
328 HRESULT WINAPI RemoveIScsiPersistentTargetA(PCHAR InitiatorInstance,ULONG InitiatorPortNumber,PCHAR TargetName,PISCSI_TARGET_PORTALA Portal);
329 HRESULT WINAPI RemoveIScsiPersistentTargetW(PWCHAR InitiatorInstance,ULONG InitiatorPortNumber,PWCHAR TargetName,PISCSI_TARGET_PORTALW Portal);
330
331 HRESULT WINAPI RemoveIScsiStaticTargetA(PCHAR TargetName);
332 HRESULT WINAPI RemoveIScsiStaticTargetW(PWCHAR TargetName);
333
334 HRESULT WINAPI RemovePersistentIScsiDeviceA(PCHAR VolumePath);
335 HRESULT WINAPI RemovePersistentIScsiDeviceW(PWCHAR VolumePath);
336
337 HRESULT WINAPI RemoveRadiusServerA(PCHAR Address);
338 HRESULT WINAPI RemoveRadiusServerW(PWCHAR Address);
339
340 HRESULT WINAPI SetupPersistentIScsiDevices(void);
341
342 HRESULT WINAPI SendScsiInquiry(PISCSI_UNIQUE_SESSION_ID *UniqueSessionId,ULONGLONG Lun,UCHAR EvpdCmddt,UCHAR PageCode,PUCHAR *ScsiStatus,PULONG *ReponseSize,PUCHAR ReponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
343
344 HRESULT WINAPI SendScsiReadCapacity(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,ULONGLONG Lun,PUCHAR *ScsiStatus,PULONG *ResponseSize,PUCHAR ResponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
345
346 HRESULT WINAPI SendScsiReportLuns(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,PUCHAR *ScsiStatus,PULONG *ResponseSize,PUCHAR ResponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
347
348 typedef struct _ISCSI_DEVICE_ON_SESSION {
349 TCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
350 TCHAR TargetName[MAX_ISCSI_NAME_LEN + 1];
351 SCSI_ADDRESS ScsiAddress;
352 GUID DeviceInterfaceType;
353 TCHAR DeviceInterfaceName[MAX_PATH];
354 TCHAR LegacyName[MAX_PATH];
355 STORAGE_DEVICE_NUMBER StorageDeviceNumber;
356 DWORD DeviceInstance;
357 } ISCSI_DEVICE_ON_SESSION, *PISCSI_DEVICE_ON_SESSION;
358
359 HRESULT WINAPI GetDevicesForiSCSISession(
360 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
361 ULONG *DeviceCount,
362 PISCSI_DEVICE_ON_SESSION Devices
363 );
364
365 #define GetIScsiIKEInfo __MINGW_NAME_AW(GetIScsiIKEInfo)
366
367 HRESULT WINAPI GetIScsiIKEInfoA(
368 PCHAR InitiatorName,
369 ULONG PortNumber,
370 PULONG Reserved,
371 PIKE_AUTHENTICATION_INFORMATION *AuthInfo
372 );
373
374 HRESULT WINAPI GetIScsiIKEInfoW(
375 PWCHAR InitiatorName,
376 ULONG PortNumber,
377 PULONG Reserved,
378 PIKE_AUTHENTICATION_INFORMATION *AuthInfo
379 );
380
381 #define GetIScsiInitiatorNodeName __MINGW_NAME_AW(GetIScsiInitiatorNodeName)
382
383 HRESULT WINAPI GetIScsiInitiatorNodeNameA(
384 PCHAR InitiatorNodeName
385 );
386
387 HRESULT WINAPI GetIScsiInitiatorNodeNameW(
388 PWCHAR InitiatorNodeName
389 );
390
391 #define GetIScsiSessionList __MINGW_NAME_AW(GetIScsiSessionList)
392
393 HRESULT WINAPI GetIScsiSessionListA(
394 ULONG *BufferSize,
395 ULONG *SessionCount,
396 PISCSI_SESSION_INFOA SessionInfo
397 );
398
399 HRESULT WINAPI GetIScsiSessionListW(
400 ULONG *BufferSize,
401 ULONG *SessionCount,
402 PISCSI_SESSION_INFOW SessionInfo
403 );
404
405 #define GetIScsiTargetInformation __MINGW_NAME_AW(GetIScsiTargetInformation)
406
407 HRESULT WINAPI GetIScsiTargetInformationA(
408 PCHAR TargetName,
409 PCHAR DiscoveryMechanism,
410 TARGET_INFORMATION_CLASS InfoClass,
411 PULONG BufferSize,
412 PVOID Buffer
413 );
414
415 HRESULT WINAPI GetIScsiTargetInformationW(
416 PWCHAR TargetName,
417 PWCHAR DiscoveryMechanism,
418 TARGET_INFORMATION_CLASS InfoClass,
419 PULONG BufferSize,
420 PVOID Buffer
421 );
422
423 HRESULT WINAPI GetIScsiVersionInformation(
424 PISCSI_VERSION_INFO VersionInfo
425 );
426
427 HRESULT WINAPI LoginIScsiTargetA(
428 PCHAR TargetName,
429 BOOLEAN IsInformationalSession,
430 PCHAR InitiatorName,
431 ULONG InitiatorPortNumber,
432 PISCSI_TARGET_PORTALA TargetPortal,
433 ISCSI_SECURITY_FLAGS SecurityFlags,
434 PISCSI_TARGET_MAPPINGA Mappings,
435 PISCSI_LOGIN_OPTIONS LoginOptions,
436 ULONG KeySize,
437 PCHAR Key,
438 BOOLEAN IsPersistent,
439 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
440 PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
441 );
442
443 HRESULT WINAPI LoginIScsiTargetW(
444 PWCHAR TargetName,
445 BOOLEAN IsInformationalSession,
446 PWCHAR InitiatorName,
447 ULONG InitiatorPortNumber,
448 PISCSI_TARGET_PORTALW TargetPortal,
449 ISCSI_SECURITY_FLAGS SecurityFlags,
450 PISCSI_TARGET_MAPPINGW Mappings,
451 PISCSI_LOGIN_OPTIONS LoginOptions,
452 ULONG KeySize,
453 PCHAR Key,
454 BOOLEAN IsPersistent,
455 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
456 PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
457 );
458
459 HRESULT WINAPI LogoutIScsiTarget(
460 PISCSI_UNIQUE_SESSION_ID UniqueSessionId
461 );
462
463 HRESULT WINAPI RefreshIScsiSendTargetPortalA(
464 PCHAR InitiatorInstance,
465 ULONG InitiatorPortNumber,
466 PISCSI_TARGET_PORTALA Portal
467 );
468
469 HRESULT WINAPI RefreshIScsiSendTargetPortalW(
470 PWCHAR InitiatorInstance,
471 ULONG InitiatorPortNumber,
472 PISCSI_TARGET_PORTALW Portal
473 );
474
475 #define RefreshIScsiSendTargetPortal __MINGW_NAME_AW(RefreshIScsiSendTargetPortal)
476
477 HRESULT WINAPI RefreshISNSServerA(
478 PCHAR Address
479 );
480
481 HRESULT WINAPI RefreshISNSServerW(
482 PWCHAR Address
483 );
484
485 #define RefreshISNSServer __MINGW_NAME_AW(RefreshISNSServer)
486
487 HRESULT WINAPI RemoveIScsiConnection(
488 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
489 PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
490 );
491
492 HRESULT WINAPI RemoveIScsiPersistentTargetA(
493 PCHAR InitiatorInstance,
494 ULONG InitiatorPortNumber,
495 PCHAR TargetName,
496 PISCSI_TARGET_PORTALA Portal
497 );
498
499 HRESULT WINAPI RemoveIScsiPersistentTargetW(
500 PWCHAR InitiatorInstance,
501 ULONG InitiatorPortNumber,
502 PWCHAR TargetName,
503 PISCSI_TARGET_PORTALW Portal
504 );
505
506 #define RemoveIScsiPersistentTarget __MINGW_NAME_AW(RemoveIScsiPersistentTarget)
507
508 HRESULT WINAPI RemoveIScsiSendTargetPortalA(
509 PCHAR InitiatorInstance,
510 ULONG InitiatorPortNumber,
511 PISCSI_TARGET_PORTALA Portal
512 );
513
514 HRESULT WINAPI RemoveIScsiSendTargetPortalW(
515 PWCHAR InitiatorInstance,
516 ULONG InitiatorPortNumber,
517 PISCSI_TARGET_PORTALW Portal
518 );
519
520 #define RemoveIScsiSendTargetPortal __MINGW_NAME_AW(RemoveIScsiSendTargetPortal)
521
522 HRESULT WINAPI RemoveIScsiStaticTargetA(
523 PCHAR TargetName
524 );
525
526 HRESULT WINAPI RemoveIScsiStaticTargetW(
527 PWCHAR TargetName
528 );
529 #define RemoveIScsiStaticTarget __MINGW_NAME_AW(RemoveIScsiStaticTarget)
530
531 HRESULT WINAPI RemoveISNSServerA(
532 PCHAR Address
533 );
534
535 HRESULT WINAPI RemoveISNSServerW(
536 PWCHAR Address
537 );
538 #define RemoveISNSServer __MINGW_NAME_AW(RemoveISNSServer)
539
540 HRESULT WINAPI RemovePersistentIScsiDeviceA(
541 PCHAR VolumePath
542 );
543
544 HRESULT WINAPI RemovePersistentIScsiDeviceW(
545 PWCHAR VolumePath
546 );
547 #define RemovePersistentIScsiDevice __MINGW_NAME_AW(RemovePersistentIScsiDevice)
548
549 HRESULT WINAPI RemoveRadiusServerA(
550 PCHAR Address
551 );
552
553 HRESULT WINAPI RemoveRadiusServerW(
554 PWCHAR Address
555 );
556 #define RemoveRadiusServer __MINGW_NAME_AW(RemoveRadiusServer)
557
558 HRESULT WINAPI ReportIScsiInitiatorListA(
559 ULONG *BufferSize,
560 PCHAR Buffer
561 );
562
563 HRESULT WINAPI ReportIScsiInitiatorListW(
564 ULONG *BufferSize,
565 PWCHAR Buffer
566 );
567
568 HRESULT WINAPI ReportIScsiPersistentLoginsA(
569 ULONG *Count,
570 PPERSISTENT_ISCSI_LOGIN_INFOA PersistentLoginInfo,
571 PULONG BufferSizeInBytes
572 );
573
574 HRESULT WINAPI ReportIScsiPersistentLoginsW(
575 ULONG *Count,
576 PPERSISTENT_ISCSI_LOGIN_INFOW PersistentLoginInfo,
577 PULONG BufferSizeInBytes
578 );
579 #define ReportIScsiPersistentLogins __MINGW_NAME_AW(ReportIScsiPersistentLogins)
580
581 HRESULT WINAPI ReportIScsiSendTargetPortalsA(
582 PULONG PortalCount,
583 PISCSI_TARGET_PORTAL_INFOA PortalInfo
584 );
585
586 HRESULT WINAPI ReportIScsiSendTargetPortalsW(
587 PULONG PortalCount,
588 PISCSI_TARGET_PORTAL_INFOA PortalInfo
589 );
590
591 #define ReportIScsiSendTargetPortals __MINGW_NAME_AW(ReportIScsiSendTargetPortals)
592
593 HRESULT WINAPI ReportActiveIScsiTargetMappingsA(
594 PULONG BufferSize,
595 PULONG MappingCount,
596 PISCSI_TARGET_MAPPINGA Mappings
597 );
598
599 HRESULT WINAPI ReportActiveIScsiTargetMappingsW(
600 PULONG BufferSize,
601 PULONG MappingCount,
602 PISCSI_TARGET_MAPPINGW Mappings
603 );
604 #define ReportActiveIScsiTargetMappings __MINGW_NAME_AW(ReportActiveIScsiTargetMappings)
605
606 HRESULT WINAPI ReportIScsiSendTargetPortalsExA(
607 PULONG PortalCount,
608 PULONG PortalInfoSize,
609 PISCSI_TARGET_PORTAL_INFO_EXA PortalInfo
610 );
611
612 HRESULT WINAPI ReportIScsiSendTargetPortalsExW(
613 PULONG PortalCount,
614 PULONG PortalInfoSize,
615 PISCSI_TARGET_PORTAL_INFO_EXW PortalInfo
616 );
617
618 #define ReportIScsiSendTargetPortalsEx __MINGW_NAME_AW(ReportIScsiSendTargetPortalsEx)
619
620 HRESULT WINAPI ReportIScsiTargetPortalsA(
621 PCHAR InitiatorName,
622 PCHAR TargetName,
623 PUSHORT TargetPortalTag,
624 PULONG ElementCount,
625 PISCSI_TARGET_PORTALA Portals
626 );
627
628 HRESULT WINAPI ReportIScsiTargetPortalsW(
629 PWCHAR InitiatorName,
630 PWCHAR TargetName,
631 PUSHORT TargetPortalTag,
632 PULONG ElementCount,
633 PISCSI_TARGET_PORTALW Portals
634 );
635
636 #define ReportIScsiTargetPortals __MINGW_NAME_AW(ReportIScsiTargetPortals)
637
638 HRESULT WINAPI ReportIScsiTargetsA(
639 BOOLEAN ForceUpdate,
640 PULONG BufferSize,
641 PCHAR Buffer
642 );
643
644 HRESULT WINAPI ReportIScsiTargetsW(
645 BOOLEAN ForceUpdate,
646 PULONG BufferSize,
647 PWCHAR Buffer
648 );
649 #define ReportIScsiTargets __MINGW_NAME_AW(ReportIScsiTargets)
650
651 HRESULT WINAPI ReportISNSServerListA(
652 PULONG BufferSizeInChar,
653 PCHAR Buffer
654 );
655
656 HRESULT WINAPI ReportISNSServerListW(
657 PULONG BufferSizeInChar,
658 PWCHAR Buffer
659 );
660
661 #define ReportISNSServerList __MINGW_NAME_AW(ReportISNSServerList)
662
663 HRESULT WINAPI ReportPersistentiScsiDevicesA(
664 PULONG BufferSizeInChar,
665 PCHAR Buffer
666 );
667
668 HRESULT WINAPI ReportPersistentiScsiDevicesW(
669 PULONG BufferSizeInChar,
670 PWCHAR Buffer
671 );
672
673 #define ReportPersistentiScsiDevices __MINGW_NAME_AW(ReportPersistentiScsiDevices)
674
675 HRESULT WINAPI ReportRadiusServerListA(
676 PULONG BufferSizeInChar,
677 PCHAR Buffer
678 );
679
680 HRESULT WINAPI ReportRadiusServerListW(
681 PULONG BufferSizeInChar,
682 PCHAR Buffer
683 );
684 #define ReportRadiusServerList __MINGW_NAME_AW(ReportRadiusServerList)
685
686 HRESULT WINAPI SendScsiReadCapacity(
687 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
688 ULONGLONG Lun,
689 PUCHAR *ScsiStatus,
690 PULONG *ResponseSize,
691 PUCHAR ResponseBuffer,
692 PULONG *SenseSize,
693 PUCHAR SenseBuffer
694 );
695
696 HRESULT WINAPI SendScsiReportLuns(
697 PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
698 PUCHAR *ScsiStatus,
699 PULONG *ResponseSize,
700 PUCHAR ResponseBuffer,
701 PULONG *SenseSize,
702 PUCHAR SenseBuffer
703 );
704
705 HRESULT WINAPI SendScsiInquiry(
706 PISCSI_UNIQUE_SESSION_ID *UniqueSessionId,
707 ULONGLONG Lun,
708 UCHAR EvpdCmddt,
709 UCHAR PageCode,
710 PUCHAR *ScsiStatus,
711 PULONG *ReponseSize,
712 PUCHAR ReponseBuffer,
713 PULONG *SenseSize,
714 PUCHAR SenseBuffer
715 );
716
717 HRESULT WINAPI SetIScsiGroupPresharedKey(
718 ULONG KeyLength,
719 PUCHAR Key,
720 BOOLEAN Persist
721 );
722
723 HRESULT WINAPI SetIScsiInitiatorCHAPSharedSecret(
724 ULONG SharedSecretLength,
725 PUCHAR SharedSecret
726 );
727
728 HRESULT WINAPI SetIScsiInitiatorNodeNameA(
729 PCHAR InitiatorNodeName
730 );
731
732 HRESULT WINAPI SetIScsiInitiatorNodeNameW(
733 PWCHAR InitiatorNodeName
734 );
735
736 #define SetIScsiInitiatorNodeName __MINGW_NAME_AW(SetIScsiInitiatorNodeName)
737
738 HRESULT WINAPI SetIscsiInitiatorRADIUSSharedSecret(
739 ULONG SharedSecretLength,
740 PUCHAR SharedSecret
741 );
742
743 HRESULT WINAPI SetIScsiTunnelModeOuterAddressA(
744 PCHAR InitiatorName,
745 ULONG InitiatorPortNumber,
746 PCHAR DestinationAddress,
747 PCHAR OuterModeAddress,
748 BOOLEAN Persist
749 );
750
751 HRESULT WINAPI SetIScsiTunnelModeOuterAddressW(
752 PWCHAR InitiatorName,
753 ULONG InitiatorPortNumber,
754 PWCHAR DestinationAddress,
755 PWCHAR OuterModeAddress,
756 BOOLEAN Persist
757 );
758
759 #define SetIScsiTunnelModeOuterAddress __MINGW_NAME_AW(SetIScsiTunnelModeOuterAddress)
760
761 HRESULT WINAPI SetupPersistentIScsiDevices(void);
762
763 #ifdef __cplusplus
764 }
765 #endif
766 #endif /*(_WIN32_WINNT >= 0x0600)*/
767 #endif