1package extstat 2 3import ( 4 "os" 5 "syscall" 6 "time" 7) 8 9func timespecToTime(ts syscall.Timespec) time.Time { 10 return time.Unix(int64(ts.Sec), int64(ts.Nsec)) 11} 12 13func New(fi os.FileInfo) *ExtraStat { 14 osStat := fi.Sys().(*syscall.Stat_t) 15 return &ExtraStat{ 16 AccessTime: timespecToTime(osStat.Atimespec), 17 ModTime: fi.ModTime(), 18 ChangeTime: timespecToTime(osStat.Ctimespec), 19 BirthTime: timespecToTime(osStat.Birthtimespec), 20 } 21} 22