summaryrefslogtreecommitdiff
path: root/pkg/system/lstat_unix.go
blob: 654b9f2c9e69b46f6a8933b95ef9f095709cdcfb (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
//go:build !windows
// +build !windows

package system // import "github.com/docker/docker/pkg/system"

import (
	"os"
	"syscall"
)

// Lstat 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 Lstat(path string) (*StatT, error) {
	s := &syscall.Stat_t{}
	if err := syscall.Lstat(path, s); err != nil {
		return nil, &os.PathError{Op: "Lstat", Path: path, Err: err}
	}
	return fromStatT(s)
}