Golang bindings to (some of) Windows' iSCSI Discovery Library API.
If you need to manage Windows' built-in iSCSI client from a Golang code-base, and would rather avoid having to ship separate binaries and/or Powershell scripts alongside your Go-compiled executable, this library will allow you to make calls directly to Windows' API.
go-win-iscsidsc
makes syscalls to Windows' API, and takes care of all the nitty-gritty details of converting back and forth from low-level structs to nice go structs.
We currently support the following iscsidsc.h
functions:
- AddIScsiConnectionW
- AddIScsiSendTargetPortal
- GetDevicesForIScsiSessionW
- GetIScsiSessionListW
- LoginIScsiTargetW (doesn't support custom mappings)
- LogoutIScsiTarget
- RemoveIScsiSendTargetPortalW
- ReportIScsiSendTargetPortalsExW
- ReportIScsiTargetsW
If you need more functions, please feel free to open an issue, or even better a pull request!
Automated builds ensure compatibility with go versions 1.11 and 1.12.