Mercurial > gnulib
view doc/windows-stat-timespec.texi @ 18897:ce759095c7b0
windows-stat-timespec: New module.
* modules/windows-stat-timespec: New file.
* m4/windows-stat-timespec.m4: New file.
* m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_STAT_TIMESPEC.
* modules/sys_stat (Makefile.am): Substitute WINDOWS_STAT_TIMESPEC.
* lib/sys_stat.in.h (struct stat) [WINDOWS_STAT_TIMESPEC]: Declare with
fields st_atim, st_mtim, st_ctim.
(st_atime, st_mtime, st_ctime): Define as macros.
(_GL_WINDOWS_STAT_TIMESPEC): New macro.
* lib/stat-w32.h (_gl_convert_FILETIME_to_timespec)
[_GL_WINDOWS_STAT_TIMESPEC]: New declaration.
* lib/stat-w32.c (_gl_convert_FILETIME_to_timespec)
[_GL_WINDOWS_STAT_TIMESPEC]: New function.
(_gl_convert_FILETIME_to_POSIX): Adjust coding style.
(_gl_fstat_by_handle): If _GL_WINDOWS_STAT_TIMESPEC, convert the
FILETIME to 'struct timespec', not 'time_t'.
* lib/stat.c (rpl_stat): If _GL_WINDOWS_STAT_TIMESPEC, convert the
FILETIME to 'struct timespec', not 'time_t'.
* lib/stat-time.h (STAT_TIMESPEC): Define also if
_GL_WINDOWS_STAT_TIMESPEC.
* doc/windows-stat-timespec.texi: New file.
* doc/gnulib.texi: Include it.
author | Bruno Haible <bruno@clisp.org> |
---|---|
date | Sat, 13 May 2017 02:51:05 +0200 |
parents | |
children | 5a52ef2d4772 |
line wrap: on
line source
@node Precise file timestamps on Windows @section Precise file timestamps on Windows The module @samp{windows-stat-timespec} ensures that, on native Windows platforms, @code{struct stat} contains @code{st_atim}, @code{st_mtim}, @code{st_ctim} fields of type @code{struct timespec}, providing 100 ns resolution for the timestamps of files. Note: On some types of file systems, the timestamp resolution is limited by the file system. For example, on FAT file systems, @code{st_mtim} only has a resolution of 2 seconds. For more details, see @url{https://msdn.microsoft.com/en-us/library/ms724290.aspx}.