utils

package
v0.21.0-rc Latest Latest
Warning

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

Go to latest
Published: Apr 26, 2024 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ClearBit added in v0.11.0

func ClearBit(n *uint64, offset uint)

func ClearBits added in v0.11.0

func ClearBits(n *uint64, mask uint64)

func ClockTicksToNsSinceBootTime added in v0.18.0

func ClockTicksToNsSinceBootTime(ticks int64) uint64

ClockTicksToNsSinceBootTime converts kernel clock ticks to nanoseconds.

func CopyRegularFileByPath added in v0.8.2

func CopyRegularFileByPath(src, dst string) error

CopyRegularFileByPath copies a file from src to dst

func CopyRegularFileByRelativePath added in v0.8.2

func CopyRegularFileByRelativePath(srcName string, dstDir *os.File, dstName string) error

CopyRegularFileByRelativePath copies a file from src to dst, where destination is relative to a given directory. This function needs needed capabilities to be set before it is called.

func CreateAt added in v0.8.2

func CreateAt(dir *os.File, relativePath string) (*os.File, error)

CreateAt implements the same logic as os.Create using directory FD and relative path.

func Dup added in v0.8.2

func Dup(file *os.File) (*os.File, error)

Dup is a wrapper function to the `dup` syscall using golang types.

func GenerateRandomDuration added in v0.18.0

func GenerateRandomDuration(min, max int) time.Duration

GenerateRandomDuration returns a random duration between min and max, inclusive

func GetBootTime added in v0.18.0

func GetBootTime() time.Time

GetBootTime returns the boot time of the system in time.Time format.

func GetBootTimeNS added in v0.18.0

func GetBootTimeNS() int64

GetBootTimeNS returns the boot time of the system in nanoseconds.

func GetStartTimeNS added in v0.18.0

func GetStartTimeNS() int64

GetStartTimeNS returns the system start time in nanoseconds (using CLOCK_MONOTONIC).

func GetSystemHZ added in v0.18.0

func GetSystemHZ() int

GetSystemHZ returns an approximation of CONFIG_HZ (the kernel timer interrupt).

func GetUserHZ added in v0.18.0

func GetUserHZ() int64

GetUserHZ returns USER_HZ (the user-space timer interrupt), the system clock tick rate.

func HasBit added in v0.11.0

func HasBit(n uint64, offset uint) bool

func HashTaskID added in v0.18.0

func HashTaskID(arg1 uint32, arg2 uint64) uint32

func HashU32AndU64 added in v0.18.0

func HashU32AndU64(arg1 uint32, arg2 uint64) uint32

HashU32AndU64 is a wrapper around Murmur32 making sure network byte order is used.

func IsDirEmpty added in v0.10.0

func IsDirEmpty(pathname string) (bool, error)

IsDirEmpty returns true if directory contains no files

func Max added in v0.11.0

func Max(x, y uint64) uint64

func Min added in v0.11.0

func Min(x, y uint64) uint64

func MkdirAt added in v0.8.2

func MkdirAt(dir *os.File, relativePath string, perm fs.FileMode) error

MkdirAt is a wrapper function to the `mkdirat` syscall using golang types.

func MkdirAtExist added in v0.8.2

func MkdirAtExist(dir *os.File, relativePath string, perm fs.FileMode) error

MkdirAtExist is a wrapper function to the `mkdirat` syscall using golang types, ignoring EEXIST error.

func Murmur32 added in v0.18.0

func Murmur32(key []byte) uint32

Murmur32 is a Murmur3 32-bit hash function implementation.

func NsSinceBootTimeToTime added in v0.18.0

func NsSinceBootTimeToTime(ns uint64) time.Time

NsSinceBootTimeToTime converts nanoseconds timestamp (since boot) to a time.Time object.

func OpenAt added in v0.8.2

func OpenAt(dir *os.File, relativePath string, flags int, perm fs.FileMode) (*os.File, error)

OpenAt is a wrapper function to the `openat` syscall using golang types.

func OpenExistingDir added in v0.8.2

func OpenExistingDir(p string) (*os.File, error)

OpenExistingDir open a directory with given path, and return the os.File of it.

func ParseSymbol

func ParseSymbol(address uint64, table *helpers.KernelSymbolTable) helpers.KernelSymbol

func RemoveAt added in v0.14.1

func RemoveAt(dir *os.File, relativePath string, flags int) error

RemoveAt is a wrapper function to the `unlinkat` syscall using golang types.

func RenameAt added in v0.8.2

func RenameAt(olddir *os.File, oldpath string, newdir *os.File, newpath string) error

RenameAt is a wrapper function to the `renameat` syscall using golang types.

func RoundToClosestN added in v0.18.0

func RoundToClosestN(val int, n int) int

RoundToClosestN rounds a number to the closest multiple of n.

func SetBit added in v0.11.0

func SetBit(n *uint64, offset uint)

Types

type Cloner added in v0.20.0

type Cloner[T any] interface {
	Clone() T
}

Cloner is a generic interface for objects that can clone themselves.

type Iterator added in v0.21.0

type Iterator[T any] interface {
	// HasNext returns true if there are more elements to iterate.
	HasNext() bool

	// Next returns the next element in the iteration.
	Next() T
}

Iterator is a generic interface for iterators.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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