package system

import "github.com/docker/docker/pkg/system"

Index

Variables

var ErrNotSupportedPlatform = errors.New("platform and architecture is not supported")

ErrNotSupportedPlatform means the platform is not supported.

Functions

func Chtimes

func Chtimes(name string, atime time.Time, mtime time.Time) error

Chtimes changes the access time and modified time of a file at the given path. If the modified time is prior to the Unix Epoch (unixMinTime), or after the end of Unix Time (unixEpochTime), os.Chtimes has undefined behavior. In this case, Chtimes defaults to Unix Epoch, just in case.

func IsAbs

func IsAbs(path string) bool

IsAbs is a platform-agnostic wrapper for filepath.IsAbs.

On Windows, golang filepath.IsAbs does not consider a path \windows\system32 as absolute as it doesn't start with a drive-letter/colon combination. However, in docker we need to verify things such as WORKDIR /windows/system32 in a Dockerfile (which gets translated to \windows\system32 when being processed by the daemon). This SHOULD be treated as absolute from a docker processing perspective.

func LUtimesNano

func LUtimesNano(path string, ts []syscall.Timespec) error

LUtimesNano is only supported on linux and freebsd.

func Lgetxattr

func Lgetxattr(path string, attr string) ([]byte, error)

Lgetxattr is not supported on platforms other than linux.

func Lsetxattr

func Lsetxattr(path string, attr string, data []byte, flags int) error

Lsetxattr is not supported on platforms other than linux.

func Mkdev

func Mkdev(major int64, minor int64) uint32

Mkdev is used to build the value of linux devices (in /dev/) which specifies major and minor number of the newly created device special file. Linux device nodes are a bit weird due to backwards compat with 16 bit device nodes. They are, from low to high: the lower 8 bits of the minor, then 12 bits of the major, then the top 12 bits of the minor.

func MkdirAll

func MkdirAll(path string, perm os.FileMode) error

MkdirAll creates a directory named path along with any necessary parents, with permission specified by attribute perm for all dir created.

func MkdirAllWithACL

func MkdirAllWithACL(path string, perm os.FileMode, sddl string) error

MkdirAllWithACL is a wrapper for os.MkdirAll on unix systems.

func Mknod

func Mknod(path string, mode uint32, dev int) error

Mknod creates a filesystem node (file, device special file or named pipe) named path with attributes specified by mode and dev.

Types

type StatT

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

StatT type contains status of a file. It contains metadata like permission, owner, group, size, etc about a file.

func Lstat

func Lstat(path string) (*StatT, error)

Lstat takes a path to a file and returns a system.StatT type pertaining to that file.

Throws an error if the file does not exist

func Stat

func Stat(path string) (*StatT, error)

Stat takes a path to a file and returns a system.StatT type pertaining to that file.

Throws an error if the file does not exist

func (StatT) GID

func (s StatT) GID() uint32

GID returns file's group id of owner.

func (StatT) IsDir

func (s StatT) IsDir() bool

IsDir reports whether s describes a directory.

func (StatT) Mode

func (s StatT) Mode() uint32

Mode returns file's permission mode.

func (StatT) Mtim

func (s StatT) Mtim() syscall.Timespec

Mtim returns file's last modification time.

func (StatT) Rdev

func (s StatT) Rdev() uint64

Rdev returns file's device ID (if it's special file).

func (StatT) Size

func (s StatT) Size() int64

Size returns file's size.

func (StatT) UID

func (s StatT) UID() uint32

UID returns file's user id of owner.

type XattrError

type XattrError struct {
	Op   string
	Attr string
	Path string
	Err  error
}

func (*XattrError) Error

func (e *XattrError) Error() string

func (*XattrError) Timeout

func (e *XattrError) Timeout() bool

Timeout reports whether this error represents a timeout.

func (*XattrError) Unwrap

func (e *XattrError) Unwrap() error

Source Files

chtimes.go chtimes_nowindows.go errors.go filesys.go filesys_unix.go lstat_unix.go mknod.go mknod_unix.go stat_unix.go utimes_unsupported.go xattrs.go xattrs_unsupported.go

Version
v27.0.3+incompatible
Published
Jun 28, 2024
Platform
js/wasm
Imports
8 packages
Last checked
1 second ago

Tools for package owners.