package system

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

Index

Constants

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

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

Functions

func CheckSystemDriveAndRemoveDriveLetter

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

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

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

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

func CreateEvent

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 GetExitCode

func GetExitCode(err error) (int, error)

GetExitCode returns the ExitStatus of the specified error if its type is exec.ExitError, returns 0 and an error otherwise.

func HasWin32KSupport

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

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

func IsWindowsClient() bool

IsWindowsClient returns true if the SKU is client @engine maintainers - this function should not be removed or modified as it is used to enforce licensing restrictions on Windows.

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 not implemented on Windows.

func MkdirAll

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

MkdirAll implementation that is volume path aware for Windows.

func MkdirAllWithACL

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

MkdirAllWithACL is a wrapper for MkdirAll that creates a directory ACL'd for Builtin Administrators and Local System.

func Mknod

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

Mknod is not implemented on Windows.

func OpenEvent

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 ProcessExitCode

func ProcessExitCode(err error) (exitCode int)

ProcessExitCode process the specified error and returns the exit status code if the error was of type exec.ExitError, returns nothing otherwise.

func PulseEvent

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

PulseEvent implements win32 PulseEvent func in golang.

func ResetEvent

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

ResetEvent implements win32 ResetEvent func in golang.

func SetEvent

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

SetEvent implements win32 SetEvent func in golang.

func Umask

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

Umask is not supported on the windows platform.

func Unmount

func Unmount(dest string) error

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

Types

type MemInfo

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

func ReadMemInfo() (*MemInfo, error)

ReadMemInfo retrieves memory statistics of the host system and returns a

MemInfo type.

type OSVersion

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

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

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

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

func (s StatT) IsDir() bool

IsDir returns whether file is actually a directory.

func (StatT) ModTime

func (s StatT) ModTime() time.Time

ModTime returns file's last modification time.

func (StatT) Mode

func (s StatT) Mode() os.FileMode

Mode returns file's permission mode.

func (StatT) Name

func (s StatT) Name() string

Name returns file's name.

func (StatT) Size

func (s StatT) Size() int64

Size returns file's size.

Source Files

chtimes.go chtimes_windows.go errors.go events_windows.go exitcode.go filesys_windows.go lstat_windows.go meminfo.go meminfo_windows.go mknod_windows.go path_windows.go stat_windows.go syscall_windows.go umask_windows.go utimes_unsupported.go xattrs_unsupported.go

Version
v1.13.0-rc1
Published
Nov 11, 2016
Platform
windows/amd64
Imports
12 packages
Last checked
57 seconds ago

Tools for package owners.