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 DefaultPathEnv(platform string) string
- func EnsureRemoveAll(dir string) error
- func GetExitCode(err error) (int, error)
- func HasWin32KSupport() bool
- func IsIoTCore() bool
- func IsWindowsClient() bool
- func LCOWSupported() bool
- func LUtimesNano(path string, ts []syscall.Timespec) error
- func Lgetxattr(path string, attr string) ([]byte, error)
- func Llistxattr(path string) ([]string, error)
- func Lsetxattr(path string, attr string, data []byte, flags int) error
- func Mkdev(major int64, minor int64) uint32
- func Mknod(path string, mode uint32, dev int) error
- func ProcessExitCode(err error) (exitCode int)
- func Umask(newmask int) (oldmask int, err error)
- func Unmount(dest string) error
- type MemInfo
- type OSVersion
- type StatT
Constants ¶
Variables ¶
var ( // ErrNotSupportedPlatform means the platform is not supported. ErrNotSupportedPlatform = errors.New("platform and architecture is not supported") )
Functions ¶
func CheckSystemDriveAndRemoveDriveLetter ¶
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 concatenated with a Windows long-path which doesn't support drive-letters. Examples: C: --> Fail C:\ --> \ a --> a /a --> \a d:\ --> Fail
func CommandLineToArgv ¶
CommandLineToArgv wraps the Windows syscall to turn a commandline into an argument array.
func DefaultPathEnv ¶
DefaultPathEnv is unix style list of directories to search for executables. Each directory is separated from the next by a colon ':' character .
func EnsureRemoveAll ¶
EnsureRemoveAll wraps `os.RemoveAll` to check for specific errors that can often be remedied. Only use `EnsureRemoveAll` if you really want to make every effort to remove a directory.
Because of the way `os.Remove` (and by extension `os.RemoveAll`) works, there can be a race between reading directory entries and then actually attempting to remove everything in the directory. These types of errors do not need to be returned since it's ok for the dir to be gone we can just retry the remove operation.
This should not return a `os.ErrNotExist` kind of error under any circumstances
func GetExitCode ¶
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 IsIoTCore ¶
func IsIoTCore() bool
IsIoTCore returns true if the currently running image is based off of Windows 10 IoT Core. @engine maintainers - this function should not be removed or modified as it is used to enforce licensing restrictions on Windows.
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 LCOWSupported ¶
func LCOWSupported() bool
LCOWSupported returns true if Linux containers on Windows are supported.
func LUtimesNano ¶
LUtimesNano is only supported on linux and freebsd.
func Llistxattr ¶
Llistxattr is not supported on platforms other than linux.
func ProcessExitCode ¶
ProcessExitCode process the specified error and returns the exit status code if the error was of type exec.ExitError, returns nothing otherwise.
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 ¶
ReadMemInfo retrieves memory statistics of the host system and returns a
MemInfo type.
type OSVersion ¶
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 permission, size, etc about a file.
func Lstat ¶
Lstat calls os.Lstat to get a fileinfo interface back. This is then copied into our own locally defined structure.
func Stat ¶
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