linux

package
v0.2.12 Latest Latest
Warning

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

Go to latest
Published: Jan 25, 2025 License: MIT Imports: 12 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CopyPaths

func CopyPaths(os System, v *Paths)

CopyPaths is a generic implementation of [System.Paths].

Types

type Paths

type Paths struct {
	// path to shared directory e.g. /tmp/fortify.%d
	SharePath string `json:"share_path"`
	// XDG_RUNTIME_DIR value e.g. /run/user/%d
	RuntimePath string `json:"runtime_path"`
	// application runtime directory e.g. /run/user/%d/fortify
	RunDirPath string `json:"run_dir_path"`
}

Paths contains environment dependent paths used by fortify.

type Std

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

Std implements System using the standard library.

func (s *Std) EvalSymlinks(path string) (string, error)

func (*Std) Executable

func (s *Std) Executable() (string, error)

func (*Std) Exit

func (s *Std) Exit(code int)

func (*Std) Geteuid

func (s *Std) Geteuid() int

func (*Std) LookPath

func (s *Std) LookPath(file string) (string, error)

func (*Std) LookupEnv

func (s *Std) LookupEnv(key string) (string, bool)

func (*Std) LookupGroup

func (s *Std) LookupGroup(name string) (*user.Group, error)

func (*Std) Open

func (s *Std) Open(name string) (fs.File, error)

func (*Std) Paths

func (s *Std) Paths() Paths

func (*Std) ReadDir

func (s *Std) ReadDir(name string) ([]os.DirEntry, error)

func (*Std) Stat

func (s *Std) Stat(name string) (fs.FileInfo, error)

func (*Std) TempDir

func (s *Std) TempDir() string

func (*Std) Uid

func (s *Std) Uid(aid int) (int, error)

type System

type System interface {
	// Geteuid provides [os.Geteuid].
	Geteuid() int
	// LookupEnv provides [os.LookupEnv].
	LookupEnv(key string) (string, bool)
	// TempDir provides [os.TempDir].
	TempDir() string
	// LookPath provides [exec.LookPath].
	LookPath(file string) (string, error)
	// Executable provides [os.Executable].
	Executable() (string, error)
	// LookupGroup provides [user.LookupGroup].
	LookupGroup(name string) (*user.Group, error)
	// ReadDir provides [os.ReadDir].
	ReadDir(name string) ([]fs.DirEntry, error)
	// Stat provides [os.Stat].
	Stat(name string) (fs.FileInfo, error)
	// Open provides [os.Open]
	Open(name string) (fs.File, error)
	// EvalSymlinks provides [filepath.EvalSymlinks]
	EvalSymlinks(path string) (string, error)
	// Exit provides [os.Exit].
	Exit(code int)

	// Paths returns a populated [Paths] struct.
	Paths() Paths
	// Uid invokes fsu and returns target uid.
	Uid(aid int) (int, error)
}

System provides safe access to operating system resources.

Jump to

Keyboard shortcuts

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