hwinfoShMem

package
v1.2.0 Latest Latest
Warning

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

Go to latest
Published: Jun 16, 2023 License: MIT Imports: 11 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var ErrFileNotFound = errors.New("could not find HWiNFO shared memory file, is HWiNFO running with Shared Memory Support enabled?")

ErrFileNotFound Windows error

View Source
var ErrInvalidHandle = errors.New("could not read HWiNFO shared memory file, is HWiNFO running with Shared Memory Support enabled?")

ErrInvalidHandle Windows error

Functions

func DecodeCharPtr

func DecodeCharPtr(ptr unsafe.Pointer, len int) string

DecodeCharPtr decodes ISO8859_1 string to UTF-8

func LockMutex

func LockMutex()

Lock the global mutex

func StartsWithLower

func StartsWithLower(str string, substr string) bool

func UnlockMutex

func UnlockMutex()

Unlock the global mutex

Types

type HWiNFOShMem

type HWiNFOShMem struct {
	// contains filtered or unexported fields
}

func Read

func Read() (*HWiNFOShMem, error)

func (*HWiNFOShMem) Header

func (shmem *HWiNFOShMem) Header() *Header

func (*HWiNFOShMem) Readings

func (shmem *HWiNFOShMem) Readings() []Reading

func (*HWiNFOShMem) Sensors

func (shmem *HWiNFOShMem) Sensors() []Sensor

func (*HWiNFOShMem) Version

func (shmem *HWiNFOShMem) Version() string
type Header struct {
	// contains filtered or unexported fields
}

func NewHeader

func NewHeader(data []byte) Header

func ReadHeader

func ReadHeader() (*Header, error)

func (*Header) NumReadingElements

func (header *Header) NumReadingElements() int

NumReadingElements number of Reading elements

func (*Header) NumSensorElements

func (header *Header) NumSensorElements() int

NumSensorElements number of sensor elements

func (*Header) OffsetOfReadingSection

func (header *Header) OffsetOfReadingSection() int

OffsetOfReadingSection offset of the Reading section from beginning of HWiNFO_SENSORS_SHARED_MEM2

func (*Header) OffsetOfSensorSection

func (header *Header) OffsetOfSensorSection() int

OffsetOfSensorSection offset of the Sensor section from beginning of HWiNFO_SENSORS_SHARED_MEM2

func (*Header) PollTime

func (header *Header) PollTime() uint64

PollTime last polling time

func (*Header) Revision

func (header *Header) Revision() int

Revision revision of version

func (*Header) Signature

func (header *Header) Signature() string

Signature "HWiS" if active, 'DEAD' when inactive

func (*Header) SizeOfReadingElement

func (header *Header) SizeOfReadingElement() int

SizeOfReadingElement size of each Reading element = sizeof( HWiNFO_SENSORS_READING_ELEMENT )

func (*Header) SizeOfSensorElement

func (header *Header) SizeOfSensorElement() int

SizeOfSensorElement size of each sensor element = sizeof( HWiNFO_SENSORS_SENSOR_ELEMENT )

func (*Header) Version

func (header *Header) Version() int

Version version of shared memory

type Reading

type Reading struct {
	// contains filtered or unexported fields
}

Reading element (e.g. usage, power, mhz...)

func NewReading

func NewReading(data []byte) Reading

NewReading contructs a Reading

func ReadReadings

func ReadReadings(header *Header) ([]Reading, error)

func (*Reading) ID

func (r *Reading) ID() int32

ID unique ID of the reading within a particular sensor

func (*Reading) LabelOrig

func (r *Reading) LabelOrig() string

LabelOrig original label (e.g. "Chassis2 Fan")

func (*Reading) LabelUser

func (r *Reading) LabelUser() string

LabelUser label displayed, which might have been renamed by user

func (*Reading) ReadingID

func (r *Reading) ReadingID() uint64

ReadingID a unique ID of the reading within a particular sensor

func (*Reading) SensorIndex

func (r *Reading) SensorIndex() uint64

SensorIndex this is the index of sensor in the Sensors[] array to which this reading belongs to

func (*Reading) Type

func (r *Reading) Type() ReadingType

Type of sensor reading

func (*Reading) Unit

func (r *Reading) Unit() string

Unit e.g. "RPM"

func (*Reading) Value

func (r *Reading) Value() float64

Value current value

func (*Reading) ValueAvg

func (r *Reading) ValueAvg() float64

ValueAvg current value

func (*Reading) ValueMax

func (r *Reading) ValueMax() float64

ValueMax current value

func (*Reading) ValueMin

func (r *Reading) ValueMin() float64

ValueMin current value

type ReadingType

type ReadingType int

ReadingType enum of value/unit type for reading

const (
	// ReadingTypeNone no type
	ReadingTypeNone ReadingType = iota
	// ReadingTypeTemp temperature in celsius
	ReadingTypeTemp
	// ReadingTypeVolt voltage
	ReadingTypeVolt
	// ReadingTypeFan RPM
	ReadingTypeFan
	// ReadingTypeCurrent amps
	ReadingTypeCurrent
	// ReadingTypePower watts
	ReadingTypePower
	// ReadingTypeClock Mhz
	ReadingTypeClock
	// ReadingTypeUsage e.g. MBs
	ReadingTypeUsage
	// ReadingTypeOther other
	ReadingTypeOther
)

func (ReadingType) String

func (t ReadingType) String() string

type Sensor

type Sensor struct {
	// contains filtered or unexported fields
}

Sensor element (e.g. motherboard, cpu, gpu...)

func NewSensor

func NewSensor(data []byte) Sensor

NewSensor constructs a Sensor

func ReadSensors

func ReadSensors(header *Header) ([]Sensor, error)

func (*Sensor) ID

func (s *Sensor) ID() string

ID a unique ID combining SensorID and SensorInst

func (*Sensor) NameOrig

func (s *Sensor) NameOrig() string

NameOrig original name of sensor

func (*Sensor) NameUser

func (s *Sensor) NameUser() string

NameUser sensor name displayed, which might have been renamed by user

func (*Sensor) SensorID

func (s *Sensor) SensorID() uint64

SensorID a unique Sensor ID

func (*Sensor) SensorInst

func (s *Sensor) SensorInst() uint64

SensorInst the instance of the sensor (together with SensorID forms a unique ID)

func (*Sensor) SensorType

func (s *Sensor) SensorType() SensorType

TODO I wish there was a better way to do this, ideally something provided explicitly bw HWiNFO A dynamic value computed by looking at other fields of the sensor

type SensorType

type SensorType string

Type of sensor (the kind of hardware, i.e. cpu, gpu, drive)

const (
	System        SensorType = "system"
	CPU           SensorType = "cpu"
	SMART         SensorType = "smart"
	Drive         SensorType = "drive"
	GPU           SensorType = "gpu"
	Network       SensorType = "network"
	Windows       SensorType = "windows"
	MemoryTimings SensorType = "memory-timings"
	Unknown       SensorType = "unknown"
)

type UnknownError

type UnknownError struct {
	Code uint64
}

UnknownError unhandled Windows error

func (UnknownError) Error

func (e UnknownError) Error() string

Jump to

Keyboard shortcuts

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