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 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, 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 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 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
func LUtimesNano ¶
LUtimesNano is not supported on platforms other than linux, freebsd and darwin.
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
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.