On Tue, May 09, 2017 at 10:34:04PM +0200, Bruno Haible wrote: > It's clear that different gnulib users need different levels of native Windows > support. Some will want to avoid 'struct stat', some will want to use the > ino_t > values in struct stat. > > Here's my current plan: Introduce a set of orthogonal, transversal modules. > ("transversal" in the sense that such a module does not provide a function, > but rather provides guarantees for other modules.) > > - windows-year2038 : define time_t as 64-bit (might involve renaming module > time to time-h) > - windows-symlinks : add symlink support to stat, lstat, readlink etc. > - windows-stat-timespec : add 100ns resolution to file times > - windows-stat-inodes : redefine dev_t, ino_t > - windows-uid : redefine uid_t [1] > - windows-gid : redefine gid_t [1] > - windows-utf8-filenames : implies override of all file-related functions > - largefile : support for files > 2 GB (already partially implemented in 2012) > > An override of 'struct stat' will be necessary for windows-year2038, > windows-stat-timespec, windows-stat-inodes, windows-uid, windows-gid, > largefile. > > What do you think about it? > > Which of these modules would you like to see implemented first?
I did not realize that Windows could even support a proper implementation of the struct stat st_dev and st_ino. I'd find this useful in multiple programs, although in some of them I might really just use the code you write as an educational resource.