Documentation ¶
Index ¶
- Constants
- Variables
- func CheckSystemDriveAndRemoveDriveLetter(path string) (string, error)
- func Chtimes(name string, atime time.Time, mtime time.Time) error
- func CommandLineToArgv(commandLine string) ([]string, error)
- func CreateEvent(eventAttributes *syscall.SecurityAttributes, manualReset bool, ...) (handle syscall.Handle, err error)
- func CreateSequential(name string) (*os.File, error)
- func GetExitCode(err error) (int, error)
- func HasWin32KSupport() bool
- func IsAbs(path string) bool
- func IsWindowsClient() bool
- func LUtimesNano(path string, ts []syscall.Timespec) error
- func Lgetxattr(path string, attr string) ([]byte, error)
- func Lsetxattr(path string, attr string, data []byte, flags int) error
- func Mkdev(major int64, minor int64) uint32
- func MkdirAll(path string, _ os.FileMode) error
- func MkdirAllWithACL(path string, perm os.FileMode) error
- func Mknod(path string, mode uint32, dev int) error
- func OpenEvent(desiredAccess uint32, inheritHandle bool, name string) (handle syscall.Handle, err error)
- func OpenFileSequential(name string, flag int, _ os.FileMode) (*os.File, error)
- func OpenSequential(name string) (*os.File, error)
- func ProcessExitCode(err error) (exitCode int)
- func PulseEvent(handle syscall.Handle) (err error)
- func ResetEvent(handle syscall.Handle) (err error)
- func SetEvent(handle syscall.Handle) (err error)
- func Umask(newmask int) (oldmask int, err error)
- func Unmount(dest string) error
- type MemInfo
- type OSVersion
- type StatT
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 ¶ added in v1.12.0
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
Chtimes changes the access time and modified time of a file at the given path
func CommandLineToArgv ¶ added in v1.11.0
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 CreateSequential ¶ added in v1.13.0
CreateSequential creates the named file with mode 0666 (before umask), truncating it if it already exists. If successful, methods on the returned File can be used for I/O; the associated file descriptor has mode O_RDWR. If there is an error, it will be of type *PathError.
func GetExitCode ¶ added in v1.13.0
GetExitCode returns the ExitStatus of the specified error if its type is exec.ExitError, returns 0 and an error otherwise.
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
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 @engine maintainers - this function should not be removed or modified as it is used to enforce licensing restrictions on Windows.
func LUtimesNano ¶
LUtimesNano is only supported on linux and freebsd.
func MkdirAllWithACL ¶ added in v1.13.0
MkdirAllWithACL is a wrapper for MkdirAll that creates a directory ACL'd for Builtin Administrators and Local System.
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 OpenFileSequential ¶ added in v1.13.0
OpenFileSequential is the generalized open call; most users will use Open or Create instead. If there is an error, it will be of type *PathError.
func OpenSequential ¶ added in v1.13.0
OpenSequential opens the named file for reading. If successful, methods on the returned file can be used for reading; the associated file descriptor has mode O_RDONLY. If there is an error, it will be of type *PathError.
func ProcessExitCode ¶ added in v1.13.0
ProcessExitCode process the specified error and returns the exit status code if the error was of type exec.ExitError, returns nothing otherwise.
func PulseEvent ¶ added in v1.8.0
PulseEvent implements win32 PulseEvent func in golang.
func ResetEvent ¶ added in v1.8.0
ResetEvent implements win32 ResetEvent func in golang.
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
ReadMemInfo retrieves memory statistics of the host system and returns a
MemInfo type.
type OSVersion ¶ added in v1.10.0
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
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.