123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767 |
- /**
- * This file has no copyright assigned and is placed in the Public Domain.
- * This file is part of the mingw-w64 runtime package.
- * No warranty is given; refer to the file DISCLAIMER.PD within this package.
- */
- #ifndef _INC_ISCSIDSC
- #define _INC_ISCSIDSC
- #include <ntddscsi.h>
- #if (_WIN32_WINNT >= 0x0600)
- #ifdef __cplusplus
- extern "C" {
- #endif
- typedef enum {
- ISCSI_NO_AUTH_TYPE = 0,
- ISCSI_CHAP_AUTH_TYPE = 1,
- ISCSI_MUTUAL_CHAP_AUTH_TYPE = 2
- } ISCSI_AUTH_TYPES;
- typedef enum {
- ISCSI_DIGEST_TYPE_NONE = 0,
- ISCSI_DIGEST_TYPE_CRC32C = 1
- } ISCSI_DIGEST_TYPES;
- typedef ULONG ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED,
- *PISCSI_LOGIN_OPTIONS_INFO_SPECIFIED;
- #define ISCSI_LOGIN_OPTIONS_HEADER_DIGEST 0x00000001
- #define ISCSI_LOGIN_OPTIONS_DATA_DIGEST 0x00000002
- #define ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS 0x00000004
- #define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT 0x00000008
- #define ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN 0x00000010
- #define ISCSI_LOGIN_OPTIONS_USERNAME 0x00000020
- #define ISCSI_LOGIN_OPTIONS_PASSWORD 0x00000040
- #define ISCSI_LOGIN_OPTIONS_AUTH_TYPE 0x00000080
- #define ISCSI_LOGIN_OPTIONS_VERSION 0x00000000
- typedef ULONG ISCSI_LOGIN_FLAGS,
- *PISCSI_LOGIN_FLAGS;
- #define ISCSI_LOGIN_FLAG_REQUIRE_IPSEC 0x00000001
- #define ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED 0x00000002
- #define ISCSI_LOGIN_FLAG_RESERVED1 0x00000004
- #define ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING 0x00000008
- #define ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE 0x00000010
- #define ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION 0x00000020
- typedef ULONGLONG ISCSI_SECURITY_FLAGS,
- *PISCSI_SECURITY_FLAGS;
- #define ISCSI_SECURITY_FLAG_VALID 0x00000001
- #define ISCSI_SECURITY_FLAG_IKE_IPSEC_ENABLED 0x00000002
- #define ISCSI_SECURITY_FLAG_MAIN_MODE_ENABLED 0x00000004
- #define ISCSI_SECURITY_FLAG_AGGRESSIVE_MODE_ENABLED 0x00000008
- #define ISCSI_SECURITY_FLAG_PFS_ENABLED 0x00000010
- #define ISCSI_SECURITY_FLAG_TRANSPORT_MODE_PREFERRED 0x00000020
- #define ISCSI_SECURITY_FLAG_TUNNEL_MODE_PREFERRED 0x00000040
- #define AddIScsiConnection __MINGW_NAME_AW(AddIScsiConnection)
- #define AddIScsiSendTargetPortal __MINGW_NAME_AW(AddIScsiSendTargetPortal)
- #define AddIScsiStaticTarget __MINGW_NAME_AW(AddIScsiStaticTarget)
- #define RemoveIScsiStaticTarget __MINGW_NAME_AW(RemoveIScsiStaticTarget)
- #define AddISNSServer __MINGW_NAME_AW(AddISNSServer)
- #define AddPersistentiScsiDevice __MINGW_NAME_AW(AddPersistentiScsiDevice)
- #define RemoveIScsiPersistentTarget __MINGW_NAME_AW(RemoveIScsiPersistentTarget)
- #define RemovePersistentIScsiDevice __MINGW_NAME_AW(RemovePersistentIScsiDevice)
- #define PERSISTENT_ISCSI_LOGIN_INFO __MINGW_NAME_AW(PERSISTENT_ISCSI_LOGIN_INFO)
- #define AddRadiusServer __MINGW_NAME_AW(AddRadiusServer)
- #define RemoveRadiusServer __MINGW_NAME_AW(RemoveRadiusServer)
- #define MAX_ISCSI_PORTAL_NAME_LEN 256
- #define MAX_ISCSI_PORTAL_ADDRESS_LEN 256
- #define MAX_ISCSI_HBANAME_LEN 256
- typedef enum _TARGET_INFORMATION_CLASS {
- ProtocolType,
- TargetAlias,
- DiscoveryMechanisms,
- PortalGroups,
- PersistentTargetMappings,
- InitiatorName,
- TargetFlags,
- LoginOptions
- } TARGET_INFORMATION_CLASS;
- typedef enum _TARGETPROTOCOLTYPE {
- ISCSI_TCP_PROTOCOL_TYPE
- } TARGETPROTOCOLTYPE;
- typedef enum _IKE_AUTHENTICATION_METHOD {
- IKE_AUTHENTICATION_PRESHARED_KEY_METHOD = 1
- } IKE_AUTHENTICATION_METHOD, *PIKE_AUTHENTICATION_METHOD;
- typedef struct _ISCSI_LOGIN_OPTIONS {
- ULONG Version;
- ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED InformationSpecified;
- ISCSI_LOGIN_FLAGS LoginFlags;
- ISCSI_AUTH_TYPES AuthType;
- ISCSI_DIGEST_TYPES HeaderDigest;
- ISCSI_DIGEST_TYPES DataDigest;
- ULONG MaximumConnections;
- ULONG DefaultTime2Wait;
- ULONG DefaultTime2Retain;
- ULONG UsernameLength;
- ULONG PasswordLength;
- PUCHAR Username;
- PUCHAR Password;
- } ISCSI_LOGIN_OPTIONS, *PISCSI_LOGIN_OPTIONS, *PSCSI_LOGIN_OPTIONS, *PISCI_LOGIN_OPTIONS;
- typedef struct _ISCSI_TARGET_PORTALA {
- CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- } ISCSI_TARGET_PORTALA, *PISCSI_TARGET_PORTALA;
- typedef struct _ISCSI_TARGET_PORTALW {
- WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- } ISCSI_TARGET_PORTALW, *PISCSI_TARGET_PORTALW;
- typedef struct _ISCSI_TARGET_PORTAL_GROUPA {
- ULONG Count;
- ISCSI_TARGET_PORTALA Portals[1];
- } ISCSI_TARGET_PORTAL_GROUPA, *PISCSI_TARGET_PORTAL_GROUPA;
- typedef struct _ISCSI_TARGET_PORTAL_GROUPW {
- ULONG Count;
- ISCSI_TARGET_PORTALW Portals[1];
- } ISCSI_TARGET_PORTAL_GROUPW, *PISCSI_TARGET_PORTAL_GROUPW;
- typedef struct _ISCSI_LUN_LIST {
- ULONG OSLUN;
- ULONGLONG TargetLUN;
- } SCSI_LUN_LIST, *PSCSI_LUN_LIST;
- typedef struct _ISCSI_UNIQUE_SESSION_ID {
- ULONGLONG AdapterUnique;
- ULONGLONG AdapterSpecific;
- }
- ISCSI_UNIQUE_SESSION_ID, *PISCSI_UNIQUE_SESSION_ID,
- ISCSI_UNIQUE_CONNECTION_ID, *PISCSI_UNIQUE_CONNECTION_ID;
- typedef struct _ISCSI_TARGET_MAPPINGA {
- CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- CHAR TargetName[MAX_ISCSI_NAME_LEN];
- CHAR OSDeviceName[MAX_PATH];
- ISCSI_UNIQUE_SESSION_ID SessionId;
- ULONG OSBusNumber;
- ULONG OSTargetNumber;
- ULONG LUNCount;
- PSCSI_LUN_LIST LUNList;
- } ISCSI_TARGET_MAPPINGA, *PISCSI_TARGET_MAPPINGA;
- typedef struct _ISCSI_TARGET_MAPPINGW {
- WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- WCHAR TargetName[MAX_ISCSI_NAME_LEN];
- WCHAR OSDeviceName[MAX_PATH];
- ISCSI_UNIQUE_SESSION_ID SessionId;
- ULONG OSBusNumber;
- ULONG OSTargetNumber;
- ULONG LUNCount;
- PSCSI_LUN_LIST LUNList;
- } ISCSI_TARGET_MAPPINGW, *PISCSI_TARGET_MAPPINGW;
- typedef struct _PERSISTENT_ISCSI_LOGIN_INFOA {
- CHAR TargetName[MAX_ISCSI_NAME_LEN];
- BOOLEAN IsInformationalSession;
- CHAR InitiatorInstance[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- ISCSI_TARGET_PORTALA TargetPortal;
- ISCSI_SECURITY_FLAGS SecurityFlags;
- PISCSI_TARGET_MAPPINGA Mappings;
- ISCSI_LOGIN_OPTIONS LoginOptions;
- } PERSISTENT_ISCSI_LOGIN_INFOA, *PPERSISTENT_ISCSI_LOGIN_INFOA;
- typedef struct _PERSISTENT_ISCSI_LOGIN_INFOW {
- CHAR TargetName[MAX_ISCSI_NAME_LEN];
- BOOLEAN IsInformationalSession;
- CHAR InitiatorInstance[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- ISCSI_TARGET_PORTALW TargetPortal;
- ISCSI_SECURITY_FLAGS SecurityFlags;
- PISCSI_TARGET_MAPPINGW Mappings;
- ISCSI_LOGIN_OPTIONS LoginOptions;
- } PERSISTENT_ISCSI_LOGIN_INFOW, *PPERSISTENT_ISCSI_LOGIN_INFOW;
- typedef UCHAR IKE_IDENTIFICATION_PAYLOAD_TYPE, *PIKE_IDENTIFICATION_PAYLOAD_TYPE;
- typedef struct _IKE_AUTHENTICATION_PRESHARED_KEY {
- ISCSI_SECURITY_FLAGS SecurityFlags;
- IKE_IDENTIFICATION_PAYLOAD_TYPE IdType;
- ULONG IdLengthInBytes;
- PUCHAR Id;
- ULONG KeyLengthInBytes;
- PUCHAR Key;
- } IKE_AUTHENTICATION_PRESHARED_KEY, *PIKE_AUTHENTICATION_PRESHARED_KEY;
- typedef struct _IKE_AUTHENTICATION_INFORMATION {
- IKE_AUTHENTICATION_METHOD AuthMethod;
- __C89_NAMELESS union {
- IKE_AUTHENTICATION_PRESHARED_KEY PsKey;
- };
- } IKE_AUTHENTICATION_INFORMATION, *PIKE_AUTHENTICATION_INFORMATION;
- typedef struct _ISCSI_CONNECTION_INFOA {
- ISCSI_UNIQUE_CONNECTION_ID ConnectionId;
- CHAR InitiatorAddress;
- CHAR TargetAddress;
- USHORT InitiatorSocket;
- USHORT TargetSocket;
- UCHAR CID[2];
- } ISCSI_CONNECTION_INFOA, *PISCSI_CONNECTION_INFOA;
- typedef struct _ISCSI_CONNECTION_INFO {
- ISCSI_UNIQUE_CONNECTION_ID ConnectionId;
- TCHAR InitiatorAddress;
- TCHAR TargetAddress;
- USHORT InitiatorSocket;
- USHORT TargetSocket;
- UCHAR CID[2];
- } ISCSI_CONNECTION_INFOW, *PISCSI_CONNECTION_INFOW;
- typedef struct _ISCSI_SESSION_INFOA {
- ISCSI_UNIQUE_SESSION_ID SessionId;
- CHAR InitiatorName;
- CHAR TargetName;
- CHAR TargetNodeName;
- UCHAR ISID[6];
- UCHAR TSID[2];
- ULONG ConnectionCount;
- PISCSI_CONNECTION_INFOA Connections;
- } ISCSI_SESSION_INFOA, *PISCSI_SESSION_INFOA;
- typedef struct _ISCSI_SESSION_INFO {
- ISCSI_UNIQUE_SESSION_ID SessionId;
- WCHAR InitiatorName;
- WCHAR TargetName;
- WCHAR TargetNodeName;
- UCHAR ISID[6];
- UCHAR TSID[2];
- ULONG ConnectionCount;
- PISCSI_CONNECTION_INFOW Connections;
- } ISCSI_SESSION_INFOW, *PISCSI_SESSION_INFOW;
- typedef struct _ISCSI_VERSION_INFO {
- ULONG MajorVersion;
- ULONG MinorVersion;
- ULONG BuildNumber;
- } ISCSI_VERSION_INFO, *PISCSI_VERSION_INFO;
- typedef struct _ISCSI_TARGET_PORTAL_INFOA {
- CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- } ISCSI_TARGET_PORTAL_INFOA, *PISCSI_TARGET_PORTAL_INFOA;
- typedef struct _ISCSI_TARGET_PORTAL_INFOW {
- WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- } ISCSI_TARGET_PORTAL_INFOW, *PISCSI_TARGET_PORTAL_INFOW;
- typedef struct _ISCSI_TARGET_PORTAL_INFO_EXA {
- CHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- CHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- CHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- ISCSI_SECURITY_FLAGS SecurityFlags;
- ISCSI_LOGIN_OPTIONS LoginOptions;
- } ISCSI_TARGET_PORTAL_INFO_EX, *PISCSI_TARGET_PORTAL_INFO_EX;
- typedef struct _ISCSI_TARGET_PORTAL_INFO_EXW {
- WCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- ULONG InitiatorPortNumber;
- WCHAR SymbolicName[MAX_ISCSI_PORTAL_NAME_LEN];
- WCHAR Address[MAX_ISCSI_PORTAL_ADDRESS_LEN];
- USHORT Socket;
- ISCSI_SECURITY_FLAGS SecurityFlags;
- ISCSI_LOGIN_OPTIONS LoginOptions;
- } ISCSI_TARGET_PORTAL_INFO_EX, *PISCSI_TARGET_PORTAL_INFO_EX;
- __MINGW_TYPEDEF_AW(ISCSI_CONNECTION_INFO)
- __MINGW_TYPEDEF_AW(PISCSI_CONNECTION_INFO)
- __MINGW_TYPEDEF_AW(ISCSI_SESSION_INFO)
- __MINGW_TYPEDEF_AW(PISCSI_SESSION_INFO)
- __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_GROUP)
- __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_GROUP)
- __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL)
- __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL)
- __MINGW_TYPEDEF_AW(ISCSI_TARGET_MAPPING)
- __MINGW_TYPEDEF_AW(PISCSI_TARGET_MAPPING)
- __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_INFO)
- __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_INFO)
- __MINGW_TYPEDEF_AW(ISCSI_TARGET_PORTAL_INFO_EX)
- __MINGW_TYPEDEF_AW(PISCSI_TARGET_PORTAL_INFO_EX)
- typedef ULONG ISCSI_TARGET_FLAGS;
- 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);
- 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);
- HRESULT WINAPI AddIScsiSendTargetPortalA(PCHAR InitiatorName,ULONG InitiatorPortNumber,PISCI_LOGIN_OPTIONS LoginOptions,ISCSI_SECURITY_FLAGS SecurityFlags,PISCSI_TARGET_PORTALA Portal);
- HRESULT WINAPI AddIScsiSendTargetPortalW(PWCHAR InitiatorName,ULONG InitiatorPortNumber,PISCI_LOGIN_OPTIONS LoginOptions,ISCSI_SECURITY_FLAGS SecurityFlags,PISCSI_TARGET_PORTALW Portal);
- 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);
- 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);
- HRESULT WINAPI AddISNSServerA(PCHAR Address);
- HRESULT WINAPI AddISNSServerW(PWCHAR Address);
- HRESULT WINAPI AddRadiusServerA(PCHAR Address);
- HRESULT WINAPI AddRadiusServerW(PWCHAR Address);
- HRESULT WINAPI AddPersistentiScsiDeviceA(PCHAR VolumePath);
- HRESULT WINAPI AddPersistentiScsiDeviceW(PWCHAR VolumePath);
- HRESULT WINAPI ClearPersistentiScsiDevices(void);
- HRESULT WINAPI RemoveIScsiPersistentTargetA(PCHAR InitiatorInstance,ULONG InitiatorPortNumber,PCHAR TargetName,PISCSI_TARGET_PORTALA Portal);
- HRESULT WINAPI RemoveIScsiPersistentTargetW(PWCHAR InitiatorInstance,ULONG InitiatorPortNumber,PWCHAR TargetName,PISCSI_TARGET_PORTALW Portal);
- HRESULT WINAPI RemoveIScsiStaticTargetA(PCHAR TargetName);
- HRESULT WINAPI RemoveIScsiStaticTargetW(PWCHAR TargetName);
- HRESULT WINAPI RemovePersistentIScsiDeviceA(PCHAR VolumePath);
- HRESULT WINAPI RemovePersistentIScsiDeviceW(PWCHAR VolumePath);
- HRESULT WINAPI RemoveRadiusServerA(PCHAR Address);
- HRESULT WINAPI RemoveRadiusServerW(PWCHAR Address);
- HRESULT WINAPI SetupPersistentIScsiDevices(void);
- HRESULT WINAPI SendScsiInquiry(PISCSI_UNIQUE_SESSION_ID *UniqueSessionId,ULONGLONG Lun,UCHAR EvpdCmddt,UCHAR PageCode,PUCHAR *ScsiStatus,PULONG *ReponseSize,PUCHAR ReponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
- HRESULT WINAPI SendScsiReadCapacity(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,ULONGLONG Lun,PUCHAR *ScsiStatus,PULONG *ResponseSize,PUCHAR ResponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
- HRESULT WINAPI SendScsiReportLuns(PISCSI_UNIQUE_SESSION_ID UniqueSessionId,PUCHAR *ScsiStatus,PULONG *ResponseSize,PUCHAR ResponseBuffer,PULONG *SenseSize,PUCHAR SenseBuffer);
- typedef struct _ISCSI_DEVICE_ON_SESSION {
- TCHAR InitiatorName[MAX_ISCSI_HBANAME_LEN];
- TCHAR TargetName[MAX_ISCSI_NAME_LEN + 1];
- SCSI_ADDRESS ScsiAddress;
- GUID DeviceInterfaceType;
- TCHAR DeviceInterfaceName[MAX_PATH];
- TCHAR LegacyName[MAX_PATH];
- STORAGE_DEVICE_NUMBER StorageDeviceNumber;
- DWORD DeviceInstance;
- } ISCSI_DEVICE_ON_SESSION, *PISCSI_DEVICE_ON_SESSION;
- HRESULT WINAPI GetDevicesForiSCSISession(
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- ULONG *DeviceCount,
- PISCSI_DEVICE_ON_SESSION Devices
- );
- #define GetIScsiIKEInfo __MINGW_NAME_AW(GetIScsiIKEInfo)
- HRESULT WINAPI GetIScsiIKEInfoA(
- PCHAR InitiatorName,
- ULONG PortNumber,
- PULONG Reserved,
- PIKE_AUTHENTICATION_INFORMATION *AuthInfo
- );
- HRESULT WINAPI GetIScsiIKEInfoW(
- PWCHAR InitiatorName,
- ULONG PortNumber,
- PULONG Reserved,
- PIKE_AUTHENTICATION_INFORMATION *AuthInfo
- );
- #define GetIScsiInitiatorNodeName __MINGW_NAME_AW(GetIScsiInitiatorNodeName)
- HRESULT WINAPI GetIScsiInitiatorNodeNameA(
- PCHAR InitiatorNodeName
- );
- HRESULT WINAPI GetIScsiInitiatorNodeNameW(
- PWCHAR InitiatorNodeName
- );
- #define GetIScsiSessionList __MINGW_NAME_AW(GetIScsiSessionList)
- HRESULT WINAPI GetIScsiSessionListA(
- ULONG *BufferSize,
- ULONG *SessionCount,
- PISCSI_SESSION_INFOA SessionInfo
- );
- HRESULT WINAPI GetIScsiSessionListW(
- ULONG *BufferSize,
- ULONG *SessionCount,
- PISCSI_SESSION_INFOW SessionInfo
- );
- #define GetIScsiTargetInformation __MINGW_NAME_AW(GetIScsiTargetInformation)
- HRESULT WINAPI GetIScsiTargetInformationA(
- PCHAR TargetName,
- PCHAR DiscoveryMechanism,
- TARGET_INFORMATION_CLASS InfoClass,
- PULONG BufferSize,
- PVOID Buffer
- );
- HRESULT WINAPI GetIScsiTargetInformationW(
- PWCHAR TargetName,
- PWCHAR DiscoveryMechanism,
- TARGET_INFORMATION_CLASS InfoClass,
- PULONG BufferSize,
- PVOID Buffer
- );
- HRESULT WINAPI GetIScsiVersionInformation(
- PISCSI_VERSION_INFO VersionInfo
- );
- HRESULT WINAPI LoginIScsiTargetA(
- PCHAR TargetName,
- BOOLEAN IsInformationalSession,
- PCHAR InitiatorName,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALA TargetPortal,
- ISCSI_SECURITY_FLAGS SecurityFlags,
- PISCSI_TARGET_MAPPINGA Mappings,
- PISCSI_LOGIN_OPTIONS LoginOptions,
- ULONG KeySize,
- PCHAR Key,
- BOOLEAN IsPersistent,
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
- );
- HRESULT WINAPI LoginIScsiTargetW(
- PWCHAR TargetName,
- BOOLEAN IsInformationalSession,
- PWCHAR InitiatorName,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALW TargetPortal,
- ISCSI_SECURITY_FLAGS SecurityFlags,
- PISCSI_TARGET_MAPPINGW Mappings,
- PISCSI_LOGIN_OPTIONS LoginOptions,
- ULONG KeySize,
- PCHAR Key,
- BOOLEAN IsPersistent,
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
- );
- HRESULT WINAPI LogoutIScsiTarget(
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId
- );
- HRESULT WINAPI RefreshIScsiSendTargetPortalA(
- PCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALA Portal
- );
- HRESULT WINAPI RefreshIScsiSendTargetPortalW(
- PWCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALW Portal
- );
- #define RefreshIScsiSendTargetPortal __MINGW_NAME_AW(RefreshIScsiSendTargetPortal)
- HRESULT WINAPI RefreshISNSServerA(
- PCHAR Address
- );
- HRESULT WINAPI RefreshISNSServerW(
- PWCHAR Address
- );
- #define RefreshISNSServer __MINGW_NAME_AW(RefreshISNSServer)
- HRESULT WINAPI RemoveIScsiConnection(
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- PISCSI_UNIQUE_CONNECTION_ID UniqueConnectionId
- );
- HRESULT WINAPI RemoveIScsiPersistentTargetA(
- PCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PCHAR TargetName,
- PISCSI_TARGET_PORTALA Portal
- );
- HRESULT WINAPI RemoveIScsiPersistentTargetW(
- PWCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PWCHAR TargetName,
- PISCSI_TARGET_PORTALW Portal
- );
- #define RemoveIScsiPersistentTarget __MINGW_NAME_AW(RemoveIScsiPersistentTarget)
- HRESULT WINAPI RemoveIScsiSendTargetPortalA(
- PCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALA Portal
- );
- HRESULT WINAPI RemoveIScsiSendTargetPortalW(
- PWCHAR InitiatorInstance,
- ULONG InitiatorPortNumber,
- PISCSI_TARGET_PORTALW Portal
- );
- #define RemoveIScsiSendTargetPortal __MINGW_NAME_AW(RemoveIScsiSendTargetPortal)
- HRESULT WINAPI RemoveIScsiStaticTargetA(
- PCHAR TargetName
- );
- HRESULT WINAPI RemoveIScsiStaticTargetW(
- PWCHAR TargetName
- );
- #define RemoveIScsiStaticTarget __MINGW_NAME_AW(RemoveIScsiStaticTarget)
- HRESULT WINAPI RemoveISNSServerA(
- PCHAR Address
- );
- HRESULT WINAPI RemoveISNSServerW(
- PWCHAR Address
- );
- #define RemoveISNSServer __MINGW_NAME_AW(RemoveISNSServer)
- HRESULT WINAPI RemovePersistentIScsiDeviceA(
- PCHAR VolumePath
- );
- HRESULT WINAPI RemovePersistentIScsiDeviceW(
- PWCHAR VolumePath
- );
- #define RemovePersistentIScsiDevice __MINGW_NAME_AW(RemovePersistentIScsiDevice)
- HRESULT WINAPI RemoveRadiusServerA(
- PCHAR Address
- );
- HRESULT WINAPI RemoveRadiusServerW(
- PWCHAR Address
- );
- #define RemoveRadiusServer __MINGW_NAME_AW(RemoveRadiusServer)
- HRESULT WINAPI ReportIScsiInitiatorListA(
- ULONG *BufferSize,
- PCHAR Buffer
- );
- HRESULT WINAPI ReportIScsiInitiatorListW(
- ULONG *BufferSize,
- PWCHAR Buffer
- );
- HRESULT WINAPI ReportIScsiPersistentLoginsA(
- ULONG *Count,
- PPERSISTENT_ISCSI_LOGIN_INFOA PersistentLoginInfo,
- PULONG BufferSizeInBytes
- );
- HRESULT WINAPI ReportIScsiPersistentLoginsW(
- ULONG *Count,
- PPERSISTENT_ISCSI_LOGIN_INFOW PersistentLoginInfo,
- PULONG BufferSizeInBytes
- );
- #define ReportIScsiPersistentLogins __MINGW_NAME_AW(ReportIScsiPersistentLogins)
- HRESULT WINAPI ReportIScsiSendTargetPortalsA(
- PULONG PortalCount,
- PISCSI_TARGET_PORTAL_INFOA PortalInfo
- );
- HRESULT WINAPI ReportIScsiSendTargetPortalsW(
- PULONG PortalCount,
- PISCSI_TARGET_PORTAL_INFOA PortalInfo
- );
- #define ReportIScsiSendTargetPortals __MINGW_NAME_AW(ReportIScsiSendTargetPortals)
- HRESULT WINAPI ReportActiveIScsiTargetMappingsA(
- PULONG BufferSize,
- PULONG MappingCount,
- PISCSI_TARGET_MAPPINGA Mappings
- );
- HRESULT WINAPI ReportActiveIScsiTargetMappingsW(
- PULONG BufferSize,
- PULONG MappingCount,
- PISCSI_TARGET_MAPPINGW Mappings
- );
- #define ReportActiveIScsiTargetMappings __MINGW_NAME_AW(ReportActiveIScsiTargetMappings)
- HRESULT WINAPI ReportIScsiSendTargetPortalsExA(
- PULONG PortalCount,
- PULONG PortalInfoSize,
- PISCSI_TARGET_PORTAL_INFO_EXA PortalInfo
- );
- HRESULT WINAPI ReportIScsiSendTargetPortalsExW(
- PULONG PortalCount,
- PULONG PortalInfoSize,
- PISCSI_TARGET_PORTAL_INFO_EXW PortalInfo
- );
- #define ReportIScsiSendTargetPortalsEx __MINGW_NAME_AW(ReportIScsiSendTargetPortalsEx)
- HRESULT WINAPI ReportIScsiTargetPortalsA(
- PCHAR InitiatorName,
- PCHAR TargetName,
- PUSHORT TargetPortalTag,
- PULONG ElementCount,
- PISCSI_TARGET_PORTALA Portals
- );
- HRESULT WINAPI ReportIScsiTargetPortalsW(
- PWCHAR InitiatorName,
- PWCHAR TargetName,
- PUSHORT TargetPortalTag,
- PULONG ElementCount,
- PISCSI_TARGET_PORTALW Portals
- );
- #define ReportIScsiTargetPortals __MINGW_NAME_AW(ReportIScsiTargetPortals)
- HRESULT WINAPI ReportIScsiTargetsA(
- BOOLEAN ForceUpdate,
- PULONG BufferSize,
- PCHAR Buffer
- );
- HRESULT WINAPI ReportIScsiTargetsW(
- BOOLEAN ForceUpdate,
- PULONG BufferSize,
- PWCHAR Buffer
- );
- #define ReportIScsiTargets __MINGW_NAME_AW(ReportIScsiTargets)
- HRESULT WINAPI ReportISNSServerListA(
- PULONG BufferSizeInChar,
- PCHAR Buffer
- );
- HRESULT WINAPI ReportISNSServerListW(
- PULONG BufferSizeInChar,
- PWCHAR Buffer
- );
- #define ReportISNSServerList __MINGW_NAME_AW(ReportISNSServerList)
- HRESULT WINAPI ReportPersistentiScsiDevicesA(
- PULONG BufferSizeInChar,
- PCHAR Buffer
- );
- HRESULT WINAPI ReportPersistentiScsiDevicesW(
- PULONG BufferSizeInChar,
- PWCHAR Buffer
- );
- #define ReportPersistentiScsiDevices __MINGW_NAME_AW(ReportPersistentiScsiDevices)
- HRESULT WINAPI ReportRadiusServerListA(
- PULONG BufferSizeInChar,
- PCHAR Buffer
- );
- HRESULT WINAPI ReportRadiusServerListW(
- PULONG BufferSizeInChar,
- PCHAR Buffer
- );
- #define ReportRadiusServerList __MINGW_NAME_AW(ReportRadiusServerList)
- HRESULT WINAPI SendScsiReadCapacity(
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- ULONGLONG Lun,
- PUCHAR *ScsiStatus,
- PULONG *ResponseSize,
- PUCHAR ResponseBuffer,
- PULONG *SenseSize,
- PUCHAR SenseBuffer
- );
- HRESULT WINAPI SendScsiReportLuns(
- PISCSI_UNIQUE_SESSION_ID UniqueSessionId,
- PUCHAR *ScsiStatus,
- PULONG *ResponseSize,
- PUCHAR ResponseBuffer,
- PULONG *SenseSize,
- PUCHAR SenseBuffer
- );
- HRESULT WINAPI SendScsiInquiry(
- PISCSI_UNIQUE_SESSION_ID *UniqueSessionId,
- ULONGLONG Lun,
- UCHAR EvpdCmddt,
- UCHAR PageCode,
- PUCHAR *ScsiStatus,
- PULONG *ReponseSize,
- PUCHAR ReponseBuffer,
- PULONG *SenseSize,
- PUCHAR SenseBuffer
- );
- HRESULT WINAPI SetIScsiGroupPresharedKey(
- ULONG KeyLength,
- PUCHAR Key,
- BOOLEAN Persist
- );
- HRESULT WINAPI SetIScsiInitiatorCHAPSharedSecret(
- ULONG SharedSecretLength,
- PUCHAR SharedSecret
- );
- HRESULT WINAPI SetIScsiInitiatorNodeNameA(
- PCHAR InitiatorNodeName
- );
- HRESULT WINAPI SetIScsiInitiatorNodeNameW(
- PWCHAR InitiatorNodeName
- );
- #define SetIScsiInitiatorNodeName __MINGW_NAME_AW(SetIScsiInitiatorNodeName)
- HRESULT WINAPI SetIscsiInitiatorRADIUSSharedSecret(
- ULONG SharedSecretLength,
- PUCHAR SharedSecret
- );
- HRESULT WINAPI SetIScsiTunnelModeOuterAddressA(
- PCHAR InitiatorName,
- ULONG InitiatorPortNumber,
- PCHAR DestinationAddress,
- PCHAR OuterModeAddress,
- BOOLEAN Persist
- );
- HRESULT WINAPI SetIScsiTunnelModeOuterAddressW(
- PWCHAR InitiatorName,
- ULONG InitiatorPortNumber,
- PWCHAR DestinationAddress,
- PWCHAR OuterModeAddress,
- BOOLEAN Persist
- );
- #define SetIScsiTunnelModeOuterAddress __MINGW_NAME_AW(SetIScsiTunnelModeOuterAddress)
- HRESULT WINAPI SetupPersistentIScsiDevices(void);
- #ifdef __cplusplus
- }
- #endif
- #endif /*(_WIN32_WINNT >= 0x0600)*/
- #endif
|