system

package
v1.12.0 Latest Latest
Warning

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

Go to latest
Published: Jul 28, 2016 License: Apache-2.0 Imports: 11 Imported by: 0

Documentation

Index

Constants

View Source
const DefaultPathEnv = ""

DefaultPathEnv is deliberately empty on Windows as the default path will be set by the container. Docker has no context of what the default path should be.

Variables

View Source
var (
	// ErrNotSupportedPlatform means the platform is not supported.
	ErrNotSupportedPlatform = errors.New("platform and architecture is not supported")
)

Functions

func CheckSystemDriveAndRemoveDriveLetter added in v1.12.0

func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error)

CheckSystemDriveAndRemoveDriveLetter verifies and manipulates a Windows path. This is used, for example, when validating a user provided path in docker cp. If a drive letter is supplied, it must be the system drive. The drive letter is always removed. Also, it translates it to OS semantics (IOW / to \). We need the path in this syntax so that it can ultimately be contatenated with a Windows long-path which doesn't support drive-letters. Examples: C: --> Fail C:\ --> \ a --> a /a --> \a d:\ --> Fail

func Chtimes added in v1.9.0

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

func CommandLineToArgv added in v1.11.0

func CommandLineToArgv(commandLine string) ([]string, error)

CommandLineToArgv wraps the Windows syscall to turn a commandline into an argument array.

func CreateEvent added in v1.8.0

func CreateEvent(eventAttributes *syscall.SecurityAttributes, manualReset bool, initialState bool, name string) (handle syscall.Handle, err error)

CreateEvent implements win32 CreateEventW func in golang. It will create an event object.

func HasWin32KSupport added in v1.12.0

func HasWin32KSupport() bool

HasWin32KSupport determines whether containers that depend on win32k can run on this machine. Win32k is the driver used to implement windowing.

func IsAbs added in v1.9.0

func IsAbs(path string) bool

IsAbs is a platform-specific 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 IsWindowsClient added in v1.12.0

func IsWindowsClient() bool

IsWindowsClient returns true if the SKU is client

func LUtimesNano

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

LUtimesNano is not supported on platforms other than linux, freebsd and darwin.

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 added in v1.4.0

func Mkdev(major int64, minor int64) uint32

Mkdev is not implemented on Windows.

func MkdirAll added in v1.7.0

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

MkdirAll implementation that is volume path aware for Windows.

func Mknod added in v1.4.0

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

Mknod is not implemented on Windows.

func OpenEvent added in v1.8.0

func OpenEvent(desiredAccess uint32, inheritHandle bool, name string) (handle syscall.Handle, err error)

OpenEvent implements win32 OpenEventW func in golang. It opens an event object.

func PulseEvent added in v1.8.0

func PulseEvent(handle syscall.Handle) (err error)

PulseEvent implements win32 PulseEvent func in golang.

func ResetEvent added in v1.8.0

func ResetEvent(handle syscall.Handle) (err error)

ResetEvent implements win32 ResetEvent func in golang.

func SetEvent added in v1.8.0

func SetEvent(handle syscall.Handle) (err error)

SetEvent implements win32 SetEvent func in golang.

func Umask added in v1.4.0

func Umask(newmask int) (oldmask int, err error)

Umask is not supported on the windows platform.

func Unmount added in v1.10.0

func Unmount(dest string) error

Unmount is a platform-specific helper function to call the unmount syscall. Not supported on Windows

Types

type MemInfo added in v1.4.0

type MemInfo struct {
	// Total usable RAM (i.e. physical RAM minus a few reserved bits and the
	// kernel binary code).
	MemTotal int64

	// Amount of free memory.
	MemFree int64

	// Total amount of swap space available.
	SwapTotal int64

	// Amount of swap space that is currently unused.
	SwapFree int64
}

MemInfo contains memory statistics of the host system.

func ReadMemInfo added in v1.4.0

func ReadMemInfo() (*MemInfo, error)

ReadMemInfo retrieves memory statistics of the host system and returns a

MemInfo type.

type OSVersion added in v1.10.0

type OSVersion struct {
	Version      uint32
	MajorVersion uint8
	MinorVersion uint8
	Build        uint16
}

OSVersion is a wrapper for Windows version information https://msdn.microsoft.com/en-us/library/windows/desktop/ms724439(v=vs.85).aspx

func GetOSVersion added in v1.10.0

func GetOSVersion() OSVersion

GetOSVersion gets the operating system version on Windows. Note that docker.exe must be manifested to get the correct version information.

type StatT added in v1.9.0

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

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

func Lstat added in v1.4.0

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. Note the Linux version uses fromStatT to do the copy back, but that not strictly necessary when already in an OS specific module.

func (StatT) IsDir added in v1.9.0

func (s StatT) IsDir() bool

IsDir returns whether file is actually a directory.

func (StatT) ModTime added in v1.9.0

func (s StatT) ModTime() time.Time

ModTime returns file's last modification time.

func (StatT) Mode added in v1.9.0

func (s StatT) Mode() os.FileMode

Mode returns file's permission mode.

func (StatT) Name added in v1.9.0

func (s StatT) Name() string

Name returns file's name.

func (StatT) Size added in v1.9.0

func (s StatT) Size() int64

Size returns file's size.

Jump to

Keyboard shortcuts

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