filefd, err := syscall.Openat(int(dir.Fd()), filename, os.O_RDONLY, 0) file := os.NewFile(uintptr(filefd), filename) // for use with library functions