disk

package
v1.31.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jan 6, 2025 License: Apache-2.0 Imports: 0 Imported by: 0

Documentation

Index

Constants

View Source
const (
	IOCTL_STORAGE_GET_DEVICE_NUMBER = 0x2D1080
	IOCTL_STORAGE_QUERY_PROPERTY    = 0x002d1400
)
View Source
const (
	StorageDeviceProperty                  StoragePropertyID = 0
	StorageAdapterProperty                                   = 1
	StorageDeviceIDProperty                                  = 2
	StorageDeviceUniqueIDProperty                            = 3
	StorageDeviceWriteCacheProperty                          = 4
	StorageMiniportProperty                                  = 5
	StorageAccessAlignmentProperty                           = 6
	StorageDeviceSeekPenaltyProperty                         = 7
	StorageDeviceTrimProperty                                = 8
	StorageDeviceWriteAggregationProperty                    = 9
	StorageDeviceDeviceTelemetryProperty                     = 10
	StorageDeviceLBProvisioningProperty                      = 11
	StorageDevicePowerProperty                               = 12
	StorageDeviceCopyOffloadProperty                         = 13
	StorageDeviceResiliencyProperty                          = 14
	StorageDeviceMediumProductType                           = 15
	StorageAdapterRpmbProperty                               = 16
	StorageAdapterCryptoProperty                             = 17
	StorageDeviceIoCapabilityProperty                        = 18
	StorageAdapterProtocolSpecificProperty                   = 19
	StorageDeviceProtocolSpecificProperty                    = 20
	StorageAdapterTemperatureProperty                        = 21
	StorageDeviceTemperatureProperty                         = 22
	StorageAdapterPhysicalTopologyProperty                   = 23
	StorageDevicePhysicalTopologyProperty                    = 24
	StorageDeviceAttributesProperty                          = 25
	StorageDeviceManagementStatus                            = 26
	StorageAdapterSerialNumberProperty                       = 27
	StorageDeviceLocationProperty                            = 28
	StorageDeviceNumaProperty                                = 29
	StorageDeviceZonedDeviceProperty                         = 30
	StorageDeviceUnsafeShutdownCount                         = 31
	StorageDeviceEnduranceProperty                           = 32
)
View Source
const (
	StorageIDCodeSetReserved StorageIdentifierCodeSet = 0
	StorageIDCodeSetBinary                            = 1
	StorageIDCodeSetASCII                             = 2
	StorageIDCodeSetUtf8                              = 3
)
View Source
const (
	StorageIDTypeVendorSpecific           StorageIdentifierType = 0
	StorageIDTypeVendorID                                       = 1
	StorageIDTypeEUI64                                          = 2
	StorageIDTypeFCPHName                                       = 3
	StorageIDTypePortRelative                                   = 4
	StorageIDTypeTargetPortGroup                                = 5
	StorageIDTypeLogicalUnitGroup                               = 6
	StorageIDTypeMD5LogicalUnitIdentifier                       = 7
	StorageIDTypeScsiNameString                                 = 8
)
View Source
const (
	StorageIDAssocDevice StorageAssociationType = 0
	StorageIDAssocPort                          = 1
	StorageIDAssocTarget                        = 2
)

Variables

This section is empty.

Functions

func BasicPartitionsExist

func BasicPartitionsExist(diskNumber uint32) (bool, error)

func CreateBasicPartition

func CreateBasicPartition(diskNumber uint32) error

func GetDiskNumber

func GetDiskNumber(disk syscall.Handle) (uint32, error)

func GetDiskNumberAndPage83ID

func GetDiskNumberAndPage83ID(path string) (uint32, string, error)

func GetDiskNumberByName

func GetDiskNumberByName(page83ID string) (uint32, error)

func GetDiskNumberWithID

func GetDiskNumberWithID(page83ID string) (uint32, error)

func GetDiskPage83ID

func GetDiskPage83ID(disk syscall.Handle) (string, error)

func GetDiskState

func GetDiskState(diskNumber uint32) (bool, error)

func GetDiskStats

func GetDiskStats(diskNumber uint32) (int64, error)

func InitializeDisk

func InitializeDisk(diskNumber uint32) error

func IsDiskInitialized

func IsDiskInitialized(diskNumber uint32) (bool, error)

func ListDiskIDs

func ListDiskIDs() (map[uint32]IDs, error)

ListDiskIDs - constructs a map with the disk number as the key and the DiskID structure as the value. The DiskID struct has a field for the page83 ID.

func ListDiskLocations

func ListDiskLocations() (map[uint32]Location, error)

ListDiskLocations - constructs a map with the disk number as the key and the DiskLocation structure as the value. The DiskLocation struct has various fields like the Adapter, Bus, Target and LUNID.

func ListDisksUsingCIM added in v1.31.2

func ListDisksUsingCIM() (map[uint32]Location, error)

ListDisksUsingCIM - constructs a map with the disk number as the key and the DiskLocation structure as the value. The DiskLocation struct has various fields like the Adapter, Bus, Target and LUNID.

func PartitionDisk

func PartitionDisk(diskNumber uint32) error

func Rescan

func Rescan() error

func SetDiskState

func SetDiskState(diskNumber uint32, isOnline bool) error

Types

type AdditionalParameters

type AdditionalParameters byte

type DeviceType

type DeviceType uint32

type Disk

type Disk struct {
	Path         string `json:"Path"`
	SerialNumber string `json:"SerialNumber"`
}

type IDs

type IDs struct {
	Page83       string
	SerialNumber string
}

IDs definition

type Location

type Location struct {
	Adapter string
	Bus     string
	Target  string
	LUNID   string
}

Location definition

type StorageAssociationType

type StorageAssociationType uint32

type StorageDeviceIDDescriptor

type StorageDeviceIDDescriptor struct {
	Version             uint32
	Size                uint32
	NumberOfIdentifiers uint32
	Identifiers         [1]byte
}

type StorageDeviceNumber

type StorageDeviceNumber struct {
	DeviceType      DeviceType
	DeviceNumber    uint32
	PartitionNumber uint32
}

type StorageIdentifier

type StorageIdentifier struct {
	CodeSet        StorageIdentifierCodeSet
	Type           StorageIdentifierType
	IdentifierSize uint16
	NextOffset     uint16
	Association    StorageAssociationType
	Identifier     [1]byte
}

type StorageIdentifierCodeSet

type StorageIdentifierCodeSet uint32

type StorageIdentifierType

type StorageIdentifierType uint32

type StoragePropertyID

type StoragePropertyID uint32

type StoragePropertyQuery

type StoragePropertyQuery struct {
	PropertyID StoragePropertyID
	QueryType  StorageQueryType
	Byte       []AdditionalParameters
}

type StorageQueryType

type StorageQueryType uint32
const (
	PropertyStandardQuery StorageQueryType = iota
	PropertyExistsQuery
	PropertyMaskQuery
	PropertyQueryMaxDefined
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL