punix

package
v0.4.141 Latest Latest
Warning

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

Go to latest
Published: Dec 16, 2023 License: ISC Imports: 8 Imported by: 1

Documentation

Overview

Package punix examines unix.Errno errors and identifies Unix-like platforms.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Errno

func Errno(err error) (errnoValue unix.Errno)

Errno scans an error chain for a unix.Errno type.

  • if no errno value exists, unix.Errno 0x0 is returned
  • unlike most error implementations, unix.Errno type is uintptr
  • to check for error condition of a unix.Errno error: if errno != 0 {…
  • to obtain errno number: int(errno)
  • to print errno number: fmt.Sprintf("%d", errno) → "1"
  • to print errno message: fmt.Sprintf("%v", unix.EPERM) → "operation not permitted"
  • to obtain errno name: unix.ErrnoName(unix.EPERM) → "EPERM"
  • to print hexadecimal errno:

Note: unix.Errno.Error has value receiver. Errno checks:

Errno(nil) == 0 → true.
if errno != 0 {…
int(errno) // numeric value
 if errno == unix.ENOENT…
 fmt.Sprintf("%d", unix.EPERM) → "1"
 fmt.Printf("%v", errno) → "state not recoverable"
 unix.ErrnoName(unix.EPERM) → "EPERM"
 var i, s = int(errno), ""
 if i < 0 { i = -i; s = "-" }
 fmt.Printf("%s0x%x", s, i) → 0x68

func ErrnoError

func ErrnoError(err error, includeError ...bool) (errnoString string)

ErrnoError gets the errno interpretation if the error chain does contain a unix.Errno type. if includeError is true, the error chain’s error message is prepended. if includeError is true and err is nil "OK" is returned if includeError is false or missing and no errno exists, the empty string is returned

func ErrnoString added in v0.4.86

func ErrnoString(label string, err error) (errnoNumericString string)

ErrnoString returns the errno number as a string if the err error chain has a non-zero syscall.Errno error.

  • if label is empty string, no label is returned
  • if no syscall.Errno is found or it is zero, the empty string is returned
  • ErrnoString("errno", nil) → ""
  • ErrnoString("errno", unix.EPERM) → "errno: EPERM 1 0x1"
  • ErrnoString("errno", unix.Errno(math.MaxUint)) → "-1 -0x1"

func IsConnectionRefused

func IsConnectionRefused(err error) (isConnectionRefused bool)

IsConnectionRefused searches the error chsin of err for unix.ECONNREFUSED net.Dialer errors for closed socket

func IsENOENT

func IsENOENT(err error) (isENOENT bool)

IsENOENT returns true if the root cause of err is file not found. Can be used with os.Open* file not found

func OsVersion added in v0.4.64

func OsVersion() (version string, hasVersion bool, err error)

OsVersion for linux returns version: "Linux 5.15.0-56-generic"

func Processor added in v0.4.74

func Processor() (model string, err error)

Processor returns human readable string like "Intel(R) Core(TM) i5-6267U CPU @ 2.90GHz"

Types

This section is empty.

Jump to

Keyboard shortcuts

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