pkg.re/essentialkaos/ek.10@v12.41.0+incompatible/system/user_linux.go (about) 1 package system 2 3 // ////////////////////////////////////////////////////////////////////////////////// // 4 // // 5 // Copyright (c) 2022 ESSENTIAL KAOS // 6 // Apache License, Version 2.0 <https://www.apache.org/licenses/LICENSE-2.0> // 7 // // 8 // ////////////////////////////////////////////////////////////////////////////////// // 9 10 import ( 11 "syscall" 12 "time" 13 ) 14 15 // ////////////////////////////////////////////////////////////////////////////////// // 16 17 // getTimes is copy of fsutil.GetTimes 18 func getTimes(path string) (time.Time, time.Time, time.Time, error) { 19 if path == "" { 20 return time.Time{}, time.Time{}, time.Time{}, ErrEmptyPath 21 } 22 23 var stat = &syscall.Stat_t{} 24 25 err := syscall.Stat(path, stat) 26 27 if err != nil { 28 return time.Time{}, time.Time{}, time.Time{}, err 29 } 30 31 return time.Unix(int64(stat.Atim.Sec), int64(stat.Atim.Nsec)), 32 time.Unix(int64(stat.Mtim.Sec), int64(stat.Mtim.Nsec)), 33 time.Unix(int64(stat.Ctim.Sec), int64(stat.Ctim.Nsec)), 34 nil 35 }