Documentation

Index

Constants

View Source
const (
	NvmeAdminGetLogPage = 0x02
	NvmeAdminIdentify   = 0x06
)

    NVMe admin disk query constants

    Variables

    This section is empty.

    Functions

    func Asset

    func Asset(name string) ([]byte, error)

      Asset loads and returns the asset for the given name. It returns an error if the asset could not be found or could not be loaded.

      func AssetDir

      func AssetDir(name string) ([]string, error)

        AssetDir returns the file names below a certain directory embedded in the file by go-bindata. For example if you run go-bindata on data/... and data contains the following hierarchy:

        data/
          foo.txt
          img/
            a.png
            b.png
        

        then AssetDir("data") would return []string{"foo.txt", "img"} AssetDir("data/img") would return []string{"a.png", "b.png"} AssetDir("foo.txt") and AssetDir("notexist") would return an error AssetDir("") will return []string{"data"}.

        func AssetInfo

        func AssetInfo(name string) (os.FileInfo, error)

          AssetInfo loads and returns the asset info for the given name. It returns an error if the asset could not be found or could not be loaded.

          func AssetNames

          func AssetNames() []string

            AssetNames returns the names of the assets.

            func MustAsset

            func MustAsset(name string) []byte

              MustAsset is like Asset but panics when Asset would return an error. It simplifies safe initialization of global variables.

              func RestoreAsset

              func RestoreAsset(dir, name string) error

                RestoreAsset restores an asset under the given directory

                func RestoreAssets

                func RestoreAssets(dir, name string) error

                  RestoreAssets restores an asset under the given directory recursively

                  Types

                  type AtaInfo

                  type AtaInfo struct {
                  	LUWWNDeviceID         string `json:"scsiLuWWNDeviceID,omitempty"`
                  	SerialNum             string `json:"serialNum,omitempty"`
                  	ModelNum              string `json:"modelNum,omitempty"`
                  	FirmwareRevision      string `json:"firmwareRevision,omitempty"`
                  	RotationRate          string `json:"RotationRate,omitempty"`
                  	ATAMajorVersion       string `json:"MajorVersion,omitempty"`
                  	ATAMinorVersion       string `json:"MinorVersion,omitempty"`
                  	SmartSupportAvailable bool   `json:"smartSupportAvailable,omitempty"`
                  	SmartSupportEnabled   bool   `json:"smartSupportEnabled,omitempty"`
                  	ErrorLog              string `json:"smartErrorLog,omitempty"`
                  	Transport             string `json:"transport,omitempty"`
                  }

                    AtaInfo contains ATA drive info

                    type Info

                    type Info struct {
                    	Device string `json:"device"`
                    
                    	Scsi *ScsiInfo `json:"scsi,omitempty"`
                    	Nvme *NvmeInfo `json:"nvme,omitempty"`
                    	Ata  *AtaInfo  `json:"ata,omitempty"`
                    
                    	Error string `json:"error,omitempty"`
                    }

                      Info contains S.M.A.R.T data about the drive

                      func GetInfo

                      func GetInfo(device string) (Info, error)

                        GetInfo - gets info about device

                        type NVMeDevice

                        type NVMeDevice struct {
                        	Name string
                        	// contains filtered or unexported fields
                        }

                          NVMeDevice represents drive data about NVMe drives

                          func NewNVMeDevice

                          func NewNVMeDevice(name string) *NVMeDevice

                            NewNVMeDevice creates a new NVMeDevice struct with name

                            func (*NVMeDevice) Close

                            func (d *NVMeDevice) Close() error

                              Close - closes device file

                              func (*NVMeDevice) Open

                              func (d *NVMeDevice) Open() (err error)

                                Open - open device file to find kernel info

                                type NvmeInfo

                                type NvmeInfo struct {
                                	SerialNum       string `json:"serialNum,omitempty"`
                                	VendorID        string `json:"vendorId,omitempty"`
                                	FirmwareVersion string `json:"firmwareVersion,omitempty"`
                                	ModelNum        string `json:"modelNum,omitempty"`
                                	SpareAvailable  string `json:"spareAvailable,omitempty"`
                                	SpareThreshold  string `json:"spareThreshold,omitempty"`
                                	Temperature     string `json:"temperature,omitempty"`
                                	CriticalWarning string `json:"criticalWarning,omitempty"`
                                
                                	MaxDataTransferPages        int      `json:"maxDataTransferPages,omitempty"`
                                	ControllerBusyTime          *big.Int `json:"controllerBusyTime,omitempty"`
                                	PowerOnHours                *big.Int `json:"powerOnHours,omitempty"`
                                	PowerCycles                 *big.Int `json:"powerCycles,omitempty"`
                                	UnsafeShutdowns             *big.Int `json:"unsafeShutdowns,omitempty"`
                                	MediaAndDataIntegrityErrors *big.Int `json:"mediaAndDataIntgerityErrors,omitempty"`
                                	DataUnitsReadBytes          *big.Int `json:"dataUnitsReadBytes,omitempty"`
                                	DataUnitsWrittenBytes       *big.Int `json:"dataUnitsWrittenBytes,omitempty"`
                                	HostReadCommands            *big.Int `json:"hostReadCommands,omitempty"`
                                	HostWriteCommands           *big.Int `json:"hostWriteCommands,omitempty"`
                                }

                                  NvmeInfo contains NVMe drive info

                                  type ScsiInfo

                                  type ScsiInfo struct {
                                  	CapacityBytes int64  `json:"scsiCapacityBytes,omitempty"`
                                  	ModeSenseBuf  string `json:"scsiModeSenseBuf,omitempty"`
                                  	RespLen       int64  `json:"scsirespLen,omitempty"`
                                  	BdLen         int64  `json:"scsiBdLen,omitempty"`
                                  	Offset        int64  `json:"scsiOffset,omitempty"`
                                  	RPM           int64  `json:"sciRpm,omitempty"`
                                  }

                                    ScsiInfo contains SCSI drive Info