package safefile

import "github.com/Microsoft/hcsshim/internal/safefile"

Index

Functions

func EnsureNotReparsePointRelative

func EnsureNotReparsePointRelative(path string, root *os.File) error

EnsureNotReparsePointRelative validates that a given file (relative to a root) and all intermediate path components are not a reparse points.

func LinkRelative

func LinkRelative(oldname string, oldroot *os.File, newname string, newroot *os.File) error

LinkRelative creates a hard link from oldname to newname (relative to oldroot and newroot), failing if any of the intermediate path components are reparse points.

func LstatRelative

func LstatRelative(path string, root *os.File) (os.FileInfo, error)

LstatRelative performs a stat operation on a file relative to a root, failing if any intermediate path components are reparse points.

func MkdirAllRelative

func MkdirAllRelative(path string, root *os.File) error

MkdirAllRelative creates each directory in the path relative to a root, failing if any existing intermediate path components are reparse points.

func MkdirRelative

func MkdirRelative(path string, root *os.File) error

MkdirRelative creates a directory relative to a root, failing if any intermediate path components are reparse points.

func OpenRelative

func OpenRelative(path string, root *os.File, accessMask uint32, shareFlags uint32, createDisposition uint32, flags uint32) (*os.File, error)

OpenRelative opens a relative path from the given root, failing if any of the intermediate path components are reparse points.

func OpenRoot

func OpenRoot(path string) (*os.File, error)

func RemoveAllRelative

func RemoveAllRelative(path string, root *os.File) error

RemoveAllRelative removes a directory tree relative to a root, failing if any intermediate path components are reparse points.

func RemoveRelative

func RemoveRelative(path string, root *os.File) error

RemoveRelative removes a file or directory relative to a root, failing if any intermediate path components are reparse points.

Source Files

do.go safeopen.go

Version
v0.13.0 (latest)
Published
Apr 21, 2025
Platform
windows/amd64
Imports
11 packages
Last checked
2 hours ago

Tools for package owners.