[resend 2/3] ntdll: Implement FileIdInformation class support in NtQueryInformationFile.

Sebastian Lackner sebastian at fds-team.de
Tue Jan 24 23:11:19 CST 2017

On 25.01.2017 04:57, Jonathan Doron wrote:
> +                ((PLARGE_INTEGER)&info->VolumeSerialNumber)->LowPart = (ULONG)volstats.f_fsid.__val[0];
> +                ((PLARGE_INTEGER)&info->VolumeSerialNumber)->HighPart = (ULONG)volstats.f_fsid.__val[1];

Accessing members of f_fsid is not cross-platform compatible - you will either have to find a better
way to get this information, or at least add corresponding checks to configure.ac.
For more information see: https://linux.die.net/man/2/fstatfs

"""Nobody knows what f_fsid is supposed to contain (but see below)."""

"""Solaris, Irix and POSIX have a system call statvfs(2) that returns a struct statvfs (defined in
<sys/statvfs.h>) containing an unsigned long f_fsid. Linux, SunOS, HP-UX, 4.4BSD have a system call
statfs() that returns a struct statfs (defined in <sys/vfs.h>) containing a fsid_t f_fsid, where
fsid_t is defined as struct { int val[2]; }."""

More information about the wine-devel mailing list