github.com/magodo/terraform@v0.11.12-beta1/config/module/inode_freebsd.go (about)

     1  // +build freebsd
     2  
     3  package module
     4  
     5  import (
     6  	"fmt"
     7  	"os"
     8  	"syscall"
     9  )
    10  
    11  // lookup the inode of a file on posix systems
    12  func 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 uint64(st.Ino), nil
    19  	}
    20  	return 0, fmt.Errorf("could not determine file inode")
    21  }