1// +build linux darwin openbsd netbsd solaris dragonfly
2
3package initwd
4
5import (
6	"fmt"
7	"os"
8	"syscall"
9)
10
11// lookup the inode of a file on posix systems
12func inode(path string) (uint64, error) {
13	stat, err := os.Stat(path)
14	if err != nil {
15		return 0, err
16	}
17	if st, ok := stat.Sys().(*syscall.Stat_t); ok {
18		return st.Ino, nil
19	}
20	return 0, fmt.Errorf("could not determine file inode")
21}
22