File: atime_windows.go

package info (click to toggle)
singularity-container 4.1.5%2Bds4-1
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 43,876 kB
  • sloc: asm: 14,840; sh: 3,190; ansic: 1,751; awk: 414; makefile: 413; python: 99
file content (18 lines) | stat: -rw-r--r-- 465 bytes parent folder | download | duplicates (3)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
package system

import (
	iofs "io/fs"
	"syscall"
	"time"

	"github.com/pkg/errors"
)

func Atime(st iofs.FileInfo) (time.Time, error) {
	stSys, ok := st.Sys().(*syscall.Win32FileAttributeData)
	if !ok {
		return time.Time{}, errors.Errorf("expected st.Sys() to be *syscall.Win32FileAttributeData, got %T", st.Sys())
	}
	// ref: https://github.com/golang/go/blob/go1.19.2/src/os/types_windows.go#L230
	return time.Unix(0, stSys.LastAccessTime.Nanoseconds()), nil
}