osx: support nanosecond resolution for file stat (eg getLastModificationTime) (#12794)
This commit is contained in:
parent
01c7409924
commit
3383985c44
2 changed files with 7 additions and 2 deletions
|
|
@ -86,7 +86,7 @@ const
|
||||||
type Sighandler = proc (a: cint) {.noconv.}
|
type Sighandler = proc (a: cint) {.noconv.}
|
||||||
|
|
||||||
const StatHasNanoseconds* = defined(linux) or defined(freebsd) or
|
const StatHasNanoseconds* = defined(linux) or defined(freebsd) or
|
||||||
defined(openbsd) or defined(dragonfly) ## \
|
defined(osx) or defined(openbsd) or defined(dragonfly) ## \
|
||||||
## Boolean flag that indicates if the system supports nanosecond time
|
## Boolean flag that indicates if the system supports nanosecond time
|
||||||
## resolution in the fields of ``Stat``. Note that the nanosecond based fields
|
## resolution in the fields of ``Stat``. Note that the nanosecond based fields
|
||||||
## (``Stat.st_atim``, ``Stat.st_mtim`` and ``Stat.st_ctim``) can be accessed
|
## (``Stat.st_atim``, ``Stat.st_mtim`` and ``Stat.st_ctim``) can be accessed
|
||||||
|
|
|
||||||
|
|
@ -217,7 +217,11 @@ type
|
||||||
## For a typed memory object, the length in bytes.
|
## For a typed memory object, the length in bytes.
|
||||||
## For other file types, the use of this field is
|
## For other file types, the use of this field is
|
||||||
## unspecified.
|
## unspecified.
|
||||||
when StatHasNanoseconds:
|
when defined(osx):
|
||||||
|
st_atim* {.importc:"st_atimespec".}: Timespec ## Time of last access.
|
||||||
|
st_mtim* {.importc:"st_mtimespec".}: Timespec ## Time of last data modification.
|
||||||
|
st_ctim* {.importc:"st_ctimespec".}: Timespec ## Time of last status change.
|
||||||
|
elif StatHasNanoseconds:
|
||||||
st_atim*: Timespec ## Time of last access.
|
st_atim*: Timespec ## Time of last access.
|
||||||
st_mtim*: Timespec ## Time of last data modification.
|
st_mtim*: Timespec ## Time of last data modification.
|
||||||
st_ctim*: Timespec ## Time of last status change.
|
st_ctim*: Timespec ## Time of last status change.
|
||||||
|
|
@ -225,6 +229,7 @@ type
|
||||||
st_atime*: Time ## Time of last access.
|
st_atime*: Time ## Time of last access.
|
||||||
st_mtime*: Time ## Time of last data modification.
|
st_mtime*: Time ## Time of last data modification.
|
||||||
st_ctime*: Time ## Time of last status change.
|
st_ctime*: Time ## Time of last status change.
|
||||||
|
|
||||||
st_blksize*: Blksize ## A file system-specific preferred I/O block size
|
st_blksize*: Blksize ## A file system-specific preferred I/O block size
|
||||||
## for this object. In some file system types, this
|
## for this object. In some file system types, this
|
||||||
## may vary from file to file.
|
## may vary from file to file.
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue