
These functions were originally copied from the docker / moby repository in
4a7a8efc2d
. Migrating these functions to use the
github.com/moby/sys/sequential module allows them being shared between moby,
docker/cli, and containerd, and to allow using them without importing all of sys
which also depends on hcsshim and more.
Signed-off-by: Sebastiaan van Stijn <github@gone.nl>
46 lines
1.7 KiB
Go
46 lines
1.7 KiB
Go
//go:build !windows
|
|
// +build !windows
|
|
|
|
package sequential
|
|
|
|
import "os"
|
|
|
|
// Create 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 Create(name string) (*os.File, error) {
|
|
return os.Create(name)
|
|
}
|
|
|
|
// Open 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 Open(name string) (*os.File, error) {
|
|
return os.Open(name)
|
|
}
|
|
|
|
// OpenFile is the generalized open call; most users will use Open
|
|
// or Create instead. It opens the named file with specified flag
|
|
// (O_RDONLY etc.) and perm, (0666 etc.) if applicable. If successful,
|
|
// methods on the returned File can be used for I/O.
|
|
// If there is an error, it will be of type *PathError.
|
|
func OpenFile(name string, flag int, perm os.FileMode) (*os.File, error) {
|
|
return os.OpenFile(name, flag, perm)
|
|
}
|
|
|
|
// CreateTemp creates a new temporary file in the directory dir
|
|
// with a name beginning with prefix, opens the file for reading
|
|
// and writing, and returns the resulting *os.File.
|
|
// If dir is the empty string, TempFile uses the default directory
|
|
// for temporary files (see os.TempDir).
|
|
// Multiple programs calling TempFile simultaneously
|
|
// will not choose the same file. The caller can use f.Name()
|
|
// to find the pathname of the file. It is the caller's responsibility
|
|
// to remove the file when no longer needed.
|
|
func CreateTemp(dir, prefix string) (f *os.File, err error) {
|
|
return os.CreateTemp(dir, prefix)
|
|
}
|