package system

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

Index

Constants

const SddlAdministratorsLocalSystem = "D:P(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)"

SddlAdministratorsLocalSystem is local administrators plus NT AUTHORITY\System.

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 ContainerdRuntimeSupported

func ContainerdRuntimeSupported() bool

ContainerdRuntimeSupported returns true if the use of containerd runtime is supported.

func EscapeArgs

func EscapeArgs(args []string) string

EscapeArgs makes a Windows-style escaped command line from a set of arguments

func InitContainerdRuntime

func InitContainerdRuntime(cdPath string)

InitContainerdRuntime sets whether to use containerd for runtime on Windows.

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 MkdirAll

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

MkdirAll is a custom version of os.MkdirAll that is volume path aware for Windows. It can be used as a drop-in replacement for os.MkdirAll.

func MkdirAllWithACL

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

MkdirAllWithACL is a custom version of os.MkdirAll modified for use on Windows so that it is both volume path aware, and can create a directory with an appropriate SDDL defined ACL.

Types

type StatT

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

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

func Lstat

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

Lstat calls os.Lstat to get a fileinfo interface back. This is then copied into our own locally defined structure.

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) Mode

func (s StatT) Mode() os.FileMode

Mode returns file's permission mode.

func (StatT) Mtim

func (s StatT) Mtim() time.Time

Mtim returns file's last modification time.

func (StatT) Size

func (s StatT) Size() int64

Size returns file's size.

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

args_windows.go chtimes.go chtimes_windows.go errors.go filesys.go filesys_windows.go init_windows.go lstat_windows.go stat_windows.go utimes_unsupported.go xattrs.go xattrs_unsupported.go

Version
v26.0.0-rc2+incompatible
Published
Mar 7, 2024
Platform
windows/amd64
Imports
9 packages
Last checked
10 minutes ago

Tools for package owners.