package system
import "github.com/dotcloud/docker/pkg/system"
Index ¶
- Constants
- Variables
- func CheckSystemDriveAndRemoveDriveLetter(path string, driver PathVerifier) (string, error)
- func Chtimes(name string, atime time.Time, mtime time.Time) error
- func ContainerdRuntimeSupported() bool
- func CreateSequential(name string) (*os.File, error)
- func DefaultPathEnv(os string) string
- func EscapeArgs(args []string) string
- func GetLongPathName(path string) (string, error)
- func InitContainerdRuntime(cdPath string)
- func IsAbs(path string) bool
- func IsOSSupported(os string) bool
- func IsProcessAlive(pid int) bool
- func KillProcess(pid int)
- 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, sddl string) error
- func Mknod(path string, mode uint32, dev int) error
- func OpenFileSequential(name string, flag int, perm os.FileMode) (*os.File, error)
- func OpenSequential(name string) (*os.File, error)
- func TempFileSequential(dir, prefix string) (f *os.File, err error)
- type MemInfo
- type PathVerifier
- type StatT
Constants ¶
const ( // SddlAdministratorsLocalSystem is local administrators plus NT AUTHORITY\System SddlAdministratorsLocalSystem = "D:P(A;OICI;GA;;;BA)(A;OICI;GA;;;SY)" )
Variables ¶
var ( // ErrNotSupportedPlatform means the platform is not supported. ErrNotSupportedPlatform = errors.New("platform and architecture is not supported") // ErrNotSupportedOperatingSystem means the operating system is not supported. ErrNotSupportedOperatingSystem = errors.New("operating system is not supported") )
Functions ¶
func CheckSystemDriveAndRemoveDriveLetter ¶
func CheckSystemDriveAndRemoveDriveLetter(path string, driver PathVerifier) (string, error)
CheckSystemDriveAndRemoveDriveLetter verifies that a path, if it includes a drive letter, is the system drive. On Linux: this is a no-op. On Windows: this does the following> 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 Chtimes ¶
Chtimes changes the access time and modified time of a file at the given path
func ContainerdRuntimeSupported ¶
func ContainerdRuntimeSupported() bool
ContainerdRuntimeSupported returns true if the use of containerd runtime is supported.
func CreateSequential ¶
CreateSequential is deprecated.
Deprecated: use os.Create or github.com/moby/sys/sequential.Create()
func DefaultPathEnv ¶
DefaultPathEnv is unix style list of directories to search for executables. Each directory is separated from the next by a colon ':' character . For Windows containers, an empty string is returned as the default path will be set by the container, and Docker has no context of what the default path should be.
func EscapeArgs ¶
EscapeArgs makes a Windows-style escaped command line from a set of arguments
func GetLongPathName ¶
GetLongPathName converts Windows short pathnames to full pathnames. For example C:\Users\ADMIN~1 --> C:\Users\Administrator. It is a no-op on non-Windows platforms
func InitContainerdRuntime ¶
func InitContainerdRuntime(cdPath string)
InitContainerdRuntime sets whether to use containerd for runtime on Windows.
func IsAbs ¶
IsAbs is a platform-agnostic 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 IsOSSupported ¶
IsOSSupported determines if an operating system is supported by the host.
func IsProcessAlive ¶
IsProcessAlive returns true if process with a given pid is running.
func KillProcess ¶
func KillProcess(pid int)
KillProcess force-stops a process.
func LUtimesNano ¶
LUtimesNano is only supported on linux and freebsd.
func Lgetxattr ¶
Lgetxattr is not supported on platforms other than linux.
func Lsetxattr ¶
Lsetxattr is not supported on platforms other than linux.
func Mkdev ¶
Mkdev is not implemented on Windows.
func MkdirAll ¶
MkdirAll implementation that is volume path aware for Windows. It can be used as a drop-in replacement for os.MkdirAll()
func MkdirAllWithACL ¶
MkdirAllWithACL is a wrapper for MkdirAll that creates a directory with an appropriate SDDL defined ACL.
func Mknod ¶
Mknod is not implemented on Windows.
func OpenFileSequential ¶
OpenFileSequential is deprecated.
Deprecated: use github.com/moby/sys/sequential.OpenFile()
func OpenSequential ¶
OpenSequential is deprecated.
Deprecated: use os.Open or github.com/moby/sys/sequential.Open
func TempFileSequential ¶
TempFileSequential is deprecated.
Deprecated: use os.CreateTemp or github.com/moby/sys/sequential.CreateTemp
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 PathVerifier ¶
PathVerifier defines the subset of a PathDriver that CheckSystemDriveAndRemoveDriveLetter actually uses in order to avoid system depending on containerd/continuity.
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
func (StatT) Mode ¶
Mode returns file's permission mode.
func (StatT) Mtim ¶
Mtim returns file's last modification time.
func (StatT) Size ¶
Size returns file's size.
Source Files ¶
args_windows.go chtimes.go chtimes_windows.go errors.go filesys.go filesys_deprecated.go filesys_windows.go image_os.go init.go init_windows.go lstat_windows.go meminfo.go meminfo_windows.go mknod_windows.go path.go path_windows.go process_windows.go stat_windows.go utimes_unsupported.go xattrs_unsupported.go
- Version
- v23.0.3+incompatible
- Published
- Apr 4, 2023
- Platform
- windows/amd64
- Imports
- 12 packages
- Last checked
- 7 seconds ago –
Tools for package owners.