Documentation ¶
Overview ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library A ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API ¶
Package iscsidsc wraps the Windows iSCSI Discovery Library API
Index ¶
- Constants
- func AddIScsiSendTargetPortal(initiatorInstance string, initiatorPortNumber uint32, address string) (err error)
- func GetIScsiInitiatorNodeName() (initiatorNodeName string, err error)
- func LoginIScsiTargetEx(targetName string, initiatorInstance string, initiatorPortNumber uint32, ...) (uniqueSessionID *ISCSI_UNIQUE_SESSION_ID, ...)
- func LogoutIScsiTarget(sessionID ISCSI_UNIQUE_SESSION_ID) (err error)
- func LogoutIScsiTargetAll(targetName string, removePersistentTarget bool) (err error)
- func RemoveIScsiPersistentTarget(initiatorInstance string, initiatorPortNumber uint32, targetName string, ...) (err error)
- func RemoveIScsiPersistentTargetAll(targetName string) (err error)
- func ReportIscsiTargets(forceUpdate bool) (targets []string, err error)
- func SendScsiInquiry(sessionID ISCSI_UNIQUE_SESSION_ID, lun uint64, evpdCmddt uint8, pageCode uint8) (scsiStatus uint8, inquiryBuffer []uint8, senseBuffer []uint8, err error)
- type ISCSI_AUTH_TYPES
- type ISCSI_CONNECTION_INFO
- type ISCSI_CONNECTION_INFO_RAW
- type ISCSI_DEVICE_ON_SESSION
- type ISCSI_DEVICE_ON_SESSION_RAW
- type ISCSI_DIGEST_TYPES
- type ISCSI_LOGIN_FLAGS
- type ISCSI_LOGIN_OPTIONS
- type ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED
- type ISCSI_SESSION_INFO
- type ISCSI_SESSION_INFO_RAW
- type ISCSI_TARGET_MAPPING
- type ISCSI_TARGET_MAPPING_RAW
- type ISCSI_TARGET_PORTAL
- type ISCSI_TARGET_PORTAL_INFO
- type ISCSI_TARGET_PORTAL_INFO_EX
- type ISCSI_TARGET_PORTAL_INFO_EX_RAW
- type ISCSI_TARGET_PORTAL_INFO_RAW
- type ISCSI_TARGET_PORTAL_RAW
- type ISCSI_UNIQUE_CONNECTION_ID
- type ISCSI_UNIQUE_SESSION_ID
- type ISCSI_VERSION_INFO
- type PERSISTENT_ISCSI_LOGIN_INFO
- type PERSISTENT_ISCSI_LOGIN_INFO_RAW
- type SCSI_ADDRESS
- type SCSI_LUN_LIST
- type STORAGE_DEVICE_NUMBER
Constants ¶
const ( ISCSI_ALL_INITIATOR_PORTS = uint32(math.MaxUint32) ISCSI_ANY_INITIATOR_PORT = uint32(math.MaxUint32) MAX_ISCSI_ALIAS_LEN = 255 MAX_ISCSI_HBANAME_LEN = 256 MAX_ISCSI_NAME_LEN = 223 MAX_ISCSI_PORTAL_ADDRESS_LEN = MAX_ISCSI_TEXT_ADDRESS_LEN MAX_ISCSI_PORTAL_ALIAS_LEN = 256 MAX_ISCSI_PORTAL_NAME_LEN = 256 MAX_ISCSI_TEXT_ADDRESS_LEN = 256 MAX_PATH = 260 )
iSCSI definitions
const ( SCSISTAT_GOOD = 0x00 SCSISTAT_CHECK_CONDITION = 0x02 SCSISTAT_CONDITION_MET = 0x04 SCSISTAT_BUSY = 0x08 SCSISTAT_INTERMEDIATE = 0x10 SCSISTAT_INTERMEDIATE_COND_MET = 0x14 SCSISTAT_RESERVATION_CONFLICT = 0x18 SCSISTAT_COMMAND_TERMINATED = 0x22 SCSISTAT_QUEUE_FULL = 0x28 )
SCSI target status
const ( ERROR_SUCCESS = 0 ERROR_FILE_NOT_FOUND = 2 ERROR_INVALID_PARAMETER = 87 ERROR_INSUFFICIENT_BUFFER = 122 ERROR_MORE_DATA = 234 ERROR_TIMEOUT = 1460 ERROR_FAIL = 0xEEEEEEEE // Nimble defined error code )
Win32 error codes
const ( ISCSI_LOGIN_OPTIONS_HEADER_DIGEST = 0x00000001 ISCSI_LOGIN_OPTIONS_DATA_DIGEST = 0x00000002 ISCSI_LOGIN_OPTIONS_MAXIMUM_CONNECTIONS = 0x00000004 ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_WAIT = 0x00000008 ISCSI_LOGIN_OPTIONS_DEFAULT_TIME_2_RETAIN = 0x00000010 ISCSI_LOGIN_OPTIONS_USERNAME = 0x00000020 ISCSI_LOGIN_OPTIONS_PASSWORD = 0x00000040 ISCSI_LOGIN_OPTIONS_AUTH_TYPE = 0x00000080 )
ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED
const ( ISCSI_LOGIN_FLAG_REQUIRE_IPSEC = 0x00000001 ISCSI_LOGIN_FLAG_MULTIPATH_ENABLED = 0x00000002 ISCSI_LOGIN_FLAG_RESERVED1 = 0x00000004 ISCSI_LOGIN_FLAG_ALLOW_PORTAL_HOPPING = 0x00000008 ISCSI_LOGIN_FLAG_USE_RADIUS_RESPONSE = 0x00000010 ISCSI_LOGIN_FLAG_USE_RADIUS_VERIFICATION = 0x00000020 )
ISCSI_LOGIN_FLAGS
const ( ISCSI_NO_AUTH_TYPE = 0 ISCSI_CHAP_AUTH_TYPE = 1 ISCSI_MUTUAL_CHAP_AUTH_TYPE = 2 )
ISCSI_AUTH_TYPES
const ( ISCSI_DIGEST_TYPE_NONE = 0 ISCSI_DIGEST_TYPE_CRC32C = 1 )
ISCSI_DIGEST_TYPES
const ( ISDSC_NON_SPECIFIC_ERROR = 0xEFFF0001 ISDSC_LOGIN_FAILED = 0xEFFF0002 ISDSC_CONNECTION_FAILED = 0xEFFF0003 ISDSC_INITIATOR_NODE_ALREADY_EXISTS = 0xEFFF0004 ISDSC_INITIATOR_NODE_NOT_FOUND = 0xEFFF0005 ISDSC_TARGET_MOVED_TEMPORARILY = 0xEFFF0006 ISDSC_TARGET_MOVED_PERMANENTLY = 0xEFFF0007 ISDSC_INITIATOR_ERROR = 0xEFFF0008 ISDSC_AUTHENTICATION_FAILURE = 0xEFFF0009 ISDSC_AUTHORIZATION_FAILURE = 0xEFFF000A ISDSC_NOT_FOUND = 0xEFFF000B ISDSC_TARGET_REMOVED = 0xEFFF000C ISDSC_UNSUPPORTED_VERSION = 0xEFFF000D ISDSC_TOO_MANY_CONNECTIONS = 0xEFFF000E ISDSC_MISSING_PARAMETER = 0xEFFF000F ISDSC_CANT_INCLUDE_IN_SESSION = 0xEFFF0010 ISDSC_SESSION_TYPE_NOT_SUPPORTED = 0xEFFF0011 ISDSC_TARGET_ERROR = 0xEFFF0012 ISDSC_SERVICE_UNAVAILABLE = 0xEFFF0013 ISDSC_OUT_OF_RESOURCES = 0xEFFF0014 ISDSC_CONNECTION_ALREADY_EXISTS = 0xEFFF0015 ISDSC_SESSION_ALREADY_EXISTS = 0xEFFF0016 ISDSC_INITIATOR_INSTANCE_NOT_FOUND = 0xEFFF0017 ISDSC_TARGET_ALREADY_EXISTS = 0xEFFF0018 ISDSC_DRIVER_BUG = 0xEFFF0019 ISDSC_INVALID_TEXT_KEY = 0xEFFF001A ISDSC_INVALID_SENDTARGETS_TEXT = 0xEFFF001B ISDSC_INVALID_SESSION_ID = 0xEFFF001C ISDSC_SCSI_REQUEST_FAILED = 0xEFFF001D ISDSC_TOO_MANY_SESSIONS = 0xEFFF001E ISDSC_SESSION_BUSY = 0xEFFF001F ISDSC_TARGET_MAPPING_UNAVAILABLE = 0xEFFF0020 ISDSC_ADDRESS_TYPE_NOT_SUPPORTED = 0xEFFF0021 ISDSC_LOGON_FAILED = 0xEFFF0022 ISDSC_SEND_FAILED = 0xEFFF0023 ISDSC_TRANSPORT_ERROR = 0xEFFF0024 ISDSC_VERSION_MISMATCH = 0xEFFF0025 ISDSC_TARGET_MAPPING_OUT_OF_RANGE = 0xEFFF0026 ISDSC_TARGET_PRESHAREDKEY_UNAVAILABLE = 0xEFFF0027 ISDSC_TARGET_AUTHINFO_UNAVAILABLE = 0xEFFF0028 ISDSC_TARGET_NOT_FOUND = 0xEFFF0029 ISDSC_LOGIN_USER_INFO_BAD = 0xEFFF002A ISDSC_TARGET_MAPPING_EXISTS = 0xEFFF002B ISDSC_HBA_SECURITY_CACHE_FULL = 0xEFFF002C ISDSC_INVALID_PORT_NUMBER = 0xEFFF002D ISDSC_OPERATION_NOT_ALL_SUCCESS = 0xAFFF002E ISDSC_HBA_SECURITY_CACHE_NOT_SUPPORTED = 0xEFFF002F ISDSC_IKE_ID_PAYLOAD_TYPE_NOT_SUPPORTED = 0xEFFF0030 ISDSC_IKE_ID_PAYLOAD_INCORRECT_SIZE = 0xEFFF0031 ISDSC_TARGET_PORTAL_ALREADY_EXISTS = 0xEFFF0032 ISDSC_TARGET_ADDRESS_ALREADY_EXISTS = 0xEFFF0033 ISDSC_NO_AUTH_INFO_AVAILABLE = 0xEFFF0034 ISDSC_NO_TUNNEL_OUTER_MODE_ADDRESS = 0xEFFF0035 ISDSC_CACHE_CORRUPTED = 0xEFFF0036 ISDSC_REQUEST_NOT_SUPPORTED = 0xEFFF0037 ISDSC_TARGET_OUT_OF_RESORCES = 0xEFFF0038 ISDSC_SERVICE_DID_NOT_RESPOND = 0xEFFF0039 ISDSC_ISNS_SERVER_NOT_FOUND = 0xEFFF003A ISDSC_OPERATION_REQUIRES_REBOOT = 0xAFFF003B ISDSC_NO_PORTAL_SPECIFIED = 0xEFFF003C ISDSC_CANT_REMOVE_LAST_CONNECTION = 0xEFFF003D ISDSC_SERVICE_NOT_RUNNING = 0xEFFF003E ISDSC_TARGET_ALREADY_LOGGED_IN = 0xEFFF003F ISDSC_DEVICE_BUSY_ON_SESSION = 0xEFFF0040 ISDSC_COULD_NOT_SAVE_PERSISTENT_LOGIN_DATA = 0xEFFF0041 ISDSC_COULD_NOT_REMOVE_PERSISTENT_LOGIN_DATA = 0xEFFF0042 ISDSC_PORTAL_NOT_FOUND = 0xEFFF0043 ISDSC_INITIATOR_NOT_FOUND = 0xEFFF0044 ISDSC_DISCOVERY_MECHANISM_NOT_FOUND = 0xEFFF0045 ISDSC_IPSEC_NOT_SUPPORTED_ON_OS = 0xEFFF0046 ISDSC_PERSISTENT_LOGIN_TIMEOUT = 0xEFFF0047 ISDSC_SHORT_CHAP_SECRET = 0xAFFF0048 ISDSC_EVALUATION_PEROID_EXPIRED = 0xEFFF0049 ISDSC_INVALID_CHAP_SECRET = 0xEFFF004A ISDSC_INVALID_TARGET_CHAP_SECRET = 0xEFFF004B ISDSC_INVALID_INITIATOR_CHAP_SECRET = 0xEFFF004C ISDSC_INVALID_CHAP_USER_NAME = 0xEFFF004D ISDSC_INVALID_LOGON_AUTH_TYPE = 0xEFFF004E ISDSC_INVALID_TARGET_MAPPING = 0xEFFF004F ISDSC_INVALID_TARGET_ID = 0xEFFF0050 ISDSC_INVALID_ISCSI_NAME = 0xEFFF0051 ISDSC_INCOMPATIBLE_ISNS_VERSION = 0xEFFF0052 ISDSC_FAILED_TO_CONFIGURE_IPSEC = 0xEFFF0053 ISDSC_BUFFER_TOO_SMALL = 0xEFFF0054 ISDSC_INVALID_LOAD_BALANCE_POLICY = 0xEFFF0055 ISDSC_INVALID_PARAMETER = 0xEFFF0056 ISDSC_DUPLICATE_PATH_SPECIFIED = 0xEFFF0057 ISDSC_PATH_COUNT_MISMATCH = 0xEFFF0058 ISDSC_INVALID_PATH_ID = 0xEFFF0059 ISDSC_MULTIPLE_PRIMARY_PATHS_SPECIFIED = 0xEFFF005A ISDSC_NO_PRIMARY_PATH_SPECIFIED = 0xEFFF005B ISDSC_DEVICE_ALREADY_PERSISTENTLY_BOUND = 0xEFFF005C ISDSC_DEVICE_NOT_FOUND = 0xEFFF005D ISDSC_DEVICE_NOT_ISCSI_OR_PERSISTENT = 0xEFFF005E ISDSC_DNS_NAME_UNRESOLVED = 0xEFFF005F ISDSC_NO_CONNECTION_AVAILABLE = 0xEFFF0060 ISDSC_LB_POLICY_NOT_SUPPORTED = 0xEFFF0061 ISDSC_REMOVE_CONNECTION_IN_PROGRESS = 0xEFFF0062 ISDSC_INVALID_CONNECTION_ID = 0xEFFF0063 ISDSC_CANNOT_REMOVE_LEADING_CONNECTION = 0xEFFF0064 ISDSC_RESTRICTED_BY_GROUP_POLICY = 0xEFFF0065 ISDSC_ISNS_FIREWALL_BLOCKED = 0xEFFF0066 ISDSC_FAILURE_TO_PERSIST_LB_POLICY = 0xEFFF0067 ISDSC_INVALID_HOST = 0xEFFF0068 )
iSCSI error codes
const (
ISCSI_LOGIN_OPTIONS_VERSION = 0
)
Variables ¶
This section is empty.
Functions ¶
func AddIScsiSendTargetPortal ¶
func AddIScsiSendTargetPortal(initiatorInstance string, initiatorPortNumber uint32, address string) (err error)
AddIScsiSendTargetPortal - Go wrapped Win32 API - AddIScsiSendTargetPortalW() https://docs.microsoft.com/en-us/windows/win32/api/iscsidsc/nf-iscsidsc-addiscsisendtargetportalw
func GetIScsiInitiatorNodeName ¶
GetIScsiInitiatorNodeName - Go wrapped Win32 API - GetIScsiInitiatorNodeNameW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-getiscsiinitiatornodenamew
func LoginIScsiTargetEx ¶
func LoginIScsiTargetEx(targetName string, initiatorInstance string, initiatorPortNumber uint32, targetPortal *ISCSI_TARGET_PORTAL, headerDigest ISCSI_DIGEST_TYPES, dataDigest ISCSI_DIGEST_TYPES, chapUsername string, chapPassword string, isPersistent bool) (uniqueSessionID *ISCSI_UNIQUE_SESSION_ID, uniqueConnectionID *ISCSI_UNIQUE_CONNECTION_ID, err error)
LoginIScsiTargetEx is similar to our C# WindowsBridge.cs LoginTarget() routine. It will both log into the iSCSI target as well as make a persistent connection (if requested)
func LogoutIScsiTarget ¶
func LogoutIScsiTarget(sessionID ISCSI_UNIQUE_SESSION_ID) (err error)
LogoutIScsiTarget - Go wrapped Win32 API - LogoutIScsiTarget() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-logoutiscsitarget
func LogoutIScsiTargetAll ¶
LogoutIScsiTargetAll enumerates all the target's sessions and then tries to log them all out. The removePersistentTarget flag can be set to true if the caller also wants any persistent logins to be removed as well.
func RemoveIScsiPersistentTarget ¶
func RemoveIScsiPersistentTarget(initiatorInstance string, initiatorPortNumber uint32, targetName string, targetPortal ISCSI_TARGET_PORTAL) (err error)
RemoveIScsiPersistentTarget - Go wrapped Win32 API - RemoveIScsiPersistentTargetW() https://docs.microsoft.com/is-is/windows/desktop/api/iscsidsc/nf-iscsidsc-removeiscsipersistenttargetw
func RemoveIScsiPersistentTargetAll ¶
RemoveIScsiPersistentTargetAll is a extended wrapper around the RemoveIScsiPersistentTarget API. What it does is remove *all* persistent logins for the specified target.
func ReportIscsiTargets ¶
ReportIscsiTargets - Go wrapped Win32 API - ReportIscsiTargets() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-reportiscsitargetsw
func SendScsiInquiry ¶
func SendScsiInquiry(sessionID ISCSI_UNIQUE_SESSION_ID, lun uint64, evpdCmddt uint8, pageCode uint8) (scsiStatus uint8, inquiryBuffer []uint8, senseBuffer []uint8, err error)
SendScsiInquiry - Go wrapped Win32 API - SendScsiInquiry() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-sendscsiinquiry
Types ¶
type ISCSI_AUTH_TYPES ¶
type ISCSI_AUTH_TYPES uint32
type ISCSI_CONNECTION_INFO ¶
type ISCSI_CONNECTION_INFO struct { ConnectionID ISCSI_UNIQUE_CONNECTION_ID InitiatorAddress string TargetAddress string InitiatorSocket uint16 TargetSocket uint16 CID [2]uint8 }
ISCSI_CONNECTION_INFO (Wrapped version)
type ISCSI_CONNECTION_INFO_RAW ¶
type ISCSI_CONNECTION_INFO_RAW struct { ConnectionID ISCSI_UNIQUE_CONNECTION_ID InitiatorAddress *uint16 TargetAddress *uint16 InitiatorSocket uint16 TargetSocket uint16 CID [2]uint8 }
ISCSI_CONNECTION_INFO_RAW (Raw version)
type ISCSI_DEVICE_ON_SESSION ¶
type ISCSI_DEVICE_ON_SESSION struct { InitiatorName string TargetName string ScsiAddress SCSI_ADDRESS DeviceInterfaceType uuid.UUID DeviceInterfaceName string LegacyName string StorageDeviceNumber STORAGE_DEVICE_NUMBER DeviceInstance uint32 }
ISCSI_DEVICE_ON_SESSION (Wrapped version)
func GetDevicesForIScsiSession ¶
func GetDevicesForIScsiSession(sessionID ISCSI_UNIQUE_SESSION_ID) (devicesOnSession []*ISCSI_DEVICE_ON_SESSION, err error)
GetDevicesForIScsiSession - Go wrapped Win32 API - GetDevicesForIScsiSessionW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-getdevicesforiscsisessionw
type ISCSI_DEVICE_ON_SESSION_RAW ¶
type ISCSI_DEVICE_ON_SESSION_RAW struct { InitiatorName [MAX_ISCSI_HBANAME_LEN]uint16 TargetName [MAX_ISCSI_NAME_LEN + 1]uint16 ScsiAddress SCSI_ADDRESS DeviceInterfaceType uuid.UUID DeviceInterfaceName [MAX_PATH]uint16 LegacyName [MAX_PATH]uint16 StorageDeviceNumber STORAGE_DEVICE_NUMBER DeviceInstance uint32 }
ISCSI_DEVICE_ON_SESSION_RAW (Raw version)
type ISCSI_DIGEST_TYPES ¶
type ISCSI_DIGEST_TYPES uint32
type ISCSI_LOGIN_FLAGS ¶
type ISCSI_LOGIN_FLAGS uint32
type ISCSI_LOGIN_OPTIONS ¶
type ISCSI_LOGIN_OPTIONS struct { Version uint32 InformationSpecified ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED LoginFlags ISCSI_LOGIN_FLAGS AuthType ISCSI_AUTH_TYPES HeaderDigest ISCSI_DIGEST_TYPES DataDigest ISCSI_DIGEST_TYPES MaximumConnections uint32 DefaultTime2Wait uint32 DefaultTime2Retain uint32 UsernameLength uint32 PasswordLength uint32 Username uintptr Password uintptr }
ISCSI_LOGIN_OPTIONS
type ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED ¶
type ISCSI_LOGIN_OPTIONS_INFO_SPECIFIED uint32
type ISCSI_SESSION_INFO ¶
type ISCSI_SESSION_INFO struct { SessionID ISCSI_UNIQUE_SESSION_ID InitiatorName string TargetNodeName string TargetName string ISID [6]uint8 TSID [2]uint8 Connections []*ISCSI_CONNECTION_INFO }
ISCSI_SESSION_INFO
func GetIscsiSessionList ¶
func GetIscsiSessionList() (iscsiSessions []*ISCSI_SESSION_INFO, err error)
GetIscsiSessionList - Go wrapped Win32 API - GetIScsiSessionListW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-getiscsisessionlistw
type ISCSI_SESSION_INFO_RAW ¶
type ISCSI_SESSION_INFO_RAW struct { SessionID ISCSI_UNIQUE_SESSION_ID InitiatorName *uint16 TargetNodeName *uint16 TargetName *uint16 ISID [6]uint8 TSID [2]uint8 ConnectionCount uint32 Connections uintptr }
ISCSI_SESSION_INFO_RAW
type ISCSI_TARGET_MAPPING ¶
type ISCSI_TARGET_MAPPING struct { InitiatorName string TargetName string OSDeviceName string SessionId ISCSI_UNIQUE_SESSION_ID OSBusNumber uint32 OSTargetNumber uint32 LUNList []SCSI_LUN_LIST }
ISCSI_TARGET_MAPPING
func ReportActiveIScsiTargetMappings ¶
func ReportActiveIScsiTargetMappings() (targetMappings []*ISCSI_TARGET_MAPPING, err error)
ReportActiveIScsiTargetMappings - Go wrapped Win32 API - ReportActiveIScsiTargetMappingsW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-reportactiveiscsitargetmappingsw
type ISCSI_TARGET_MAPPING_RAW ¶
type ISCSI_TARGET_MAPPING_RAW struct { InitiatorName [MAX_ISCSI_HBANAME_LEN]uint16 TargetName [MAX_ISCSI_NAME_LEN + 1]uint16 OSDeviceName [MAX_PATH]uint16 SessionId ISCSI_UNIQUE_SESSION_ID OSBusNumber uint32 OSTargetNumber uint32 LUNCount uint32 LUNList uintptr }
ISCSI_TARGET_MAPPING_RAW
type ISCSI_TARGET_PORTAL ¶
ISCSI_TARGET_PORTAL
func ReportIScsiTargetPortals ¶
func ReportIScsiTargetPortals(initiatorName string, targetName string, ipv4Only bool) (targetPortals []*ISCSI_TARGET_PORTAL, err error)
ReportIScsiTargetPortals - Go wrapped Win32 API - ReportIScsiTargetPortalsW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-reportiscsitargetportalsw
type ISCSI_TARGET_PORTAL_INFO ¶
type ISCSI_TARGET_PORTAL_INFO struct { InitiatorName string InitiatorPortNumber uint32 SymbolicName string Address string Socket uint16 }
ISCSI_TARGET_PORTAL_INFO
func ReportIScsiSendTargetPortals ¶
func ReportIScsiSendTargetPortals() (targetPortals []*ISCSI_TARGET_PORTAL_INFO, err error)
ReportIScsiSendTargetPortals - Go wrapped Win32 API - ReportIScsiSendTargetPortalsW() https://docs.microsoft.com/is-is/windows/desktop/api/iscsidsc/nf-iscsidsc-reportiscsisendtargetportalsw
type ISCSI_TARGET_PORTAL_INFO_EX ¶
type ISCSI_TARGET_PORTAL_INFO_EX struct { InitiatorName string InitiatorPortNumber uint32 SymbolicName string Address string Socket uint16 SecurityFlags uint64 LoginOptions ISCSI_LOGIN_OPTIONS }
ISCSI_TARGET_PORTAL_INFO_EX
func ReportIScsiSendTargetPortalsEx ¶
func ReportIScsiSendTargetPortalsEx() (targetPortals []*ISCSI_TARGET_PORTAL_INFO_EX, err error)
ReportIScsiSendTargetPortalsEx - Go wrapped Win32 API - ReportIScsiSendTargetPortalsExW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-reportiscsisendtargetportalsexw
type ISCSI_TARGET_PORTAL_INFO_EX_RAW ¶
type ISCSI_TARGET_PORTAL_INFO_EX_RAW struct { InitiatorName [MAX_ISCSI_HBANAME_LEN]uint16 InitiatorPortNumber uint32 SymbolicName [MAX_ISCSI_PORTAL_NAME_LEN]uint16 Address [MAX_ISCSI_PORTAL_ADDRESS_LEN]uint16 Socket uint16 SecurityFlags uint64 LoginOptions ISCSI_LOGIN_OPTIONS }
ISCSI_TARGET_PORTAL_INFO_EX_RAW
type ISCSI_TARGET_PORTAL_INFO_RAW ¶
type ISCSI_TARGET_PORTAL_INFO_RAW struct { InitiatorName [MAX_ISCSI_HBANAME_LEN]uint16 InitiatorPortNumber uint32 SymbolicName [MAX_ISCSI_PORTAL_NAME_LEN]uint16 Address [MAX_ISCSI_PORTAL_ADDRESS_LEN]uint16 Socket uint16 }
ISCSI_TARGET_PORTAL_INFO_RAW
type ISCSI_TARGET_PORTAL_RAW ¶
type ISCSI_TARGET_PORTAL_RAW struct { SymbolicName [MAX_ISCSI_PORTAL_NAME_LEN]uint16 Address [MAX_ISCSI_PORTAL_ADDRESS_LEN]uint16 Socket uint16 }
ISCSI_TARGET_PORTAL_RAW
type ISCSI_UNIQUE_CONNECTION_ID ¶
ISCSI_UNIQUE_CONNECTION_ID
type ISCSI_UNIQUE_SESSION_ID ¶
ISCSI_UNIQUE_SESSION_ID
type ISCSI_VERSION_INFO ¶
ISCSI_VERSION_INFO
func GetIScsiVersionInformation ¶
func GetIScsiVersionInformation() (versionInfo ISCSI_VERSION_INFO, err error)
GetIScsiVersionInformation - Go wrapped Win32 API - GetIScsiVersionInformation() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-getiscsiversioninformation
type PERSISTENT_ISCSI_LOGIN_INFO ¶
type PERSISTENT_ISCSI_LOGIN_INFO struct { TargetName string IsInformationalSession uint8 InitiatorInstance string InitiatorPortNumber uint32 TargetPortal ISCSI_TARGET_PORTAL SecurityFlags uint64 Mappings *ISCSI_TARGET_MAPPING LoginOptions ISCSI_LOGIN_OPTIONS }
PERSISTENT_ISCSI_LOGIN_INFO
func ReportIScsiPersistentLogins ¶
func ReportIScsiPersistentLogins() (persistentLogins []*PERSISTENT_ISCSI_LOGIN_INFO, err error)
ReportIScsiPersistentLogins - Go wrapped Win32 API - ReportIScsiPersistentLoginsW() https://docs.microsoft.com/en-us/windows/desktop/api/iscsidsc/nf-iscsidsc-reportiscsipersistentloginsw
type PERSISTENT_ISCSI_LOGIN_INFO_RAW ¶
type PERSISTENT_ISCSI_LOGIN_INFO_RAW struct { TargetName [MAX_ISCSI_NAME_LEN + 1]uint16 IsInformationalSession uint8 InitiatorInstance [MAX_ISCSI_HBANAME_LEN]uint16 InitiatorPortNumber uint32 TargetPortal ISCSI_TARGET_PORTAL_RAW SecurityFlags uint64 Mappings *ISCSI_TARGET_MAPPING_RAW LoginOptions ISCSI_LOGIN_OPTIONS }
PERSISTENT_ISCSI_LOGIN_INFO_RAW
type SCSI_ADDRESS ¶
SCSI_ADDRESS
type STORAGE_DEVICE_NUMBER ¶
STORAGE_DEVICE_NUMBER
Source Files ¶
- add_iscsi_send_target_portal.go
- get_devices_for_iscsi_session.go
- get_iscsi_initiator_node_name.go
- get_iscsi_session_list.go
- get_iscsi_version_information.go
- iscsidsc.go
- login_iscsi_target.go
- logout_iscsi_target.go
- remove_iscsi_persistent_target.go
- report_active_iscsi_target_mappings.go
- report_iscsi_persistent_logins.go
- report_iscsi_send_target_portals.go
- report_iscsi_send_target_portals_ex.go
- report_iscsi_target_portals.go
- report_iscsi_targets.go
- send_scsi_inquiry.go