3 Copyright 2008, 2010 Red Hat, Inc.
5 This software is a copyrighted work licensed under the terms of the
6 Cygwin license. Please consult the file "CYGWIN_LICENSE" for
10 #include "sys/fcntl.h"
14 struct nfs_aol_ffei_t nfs_aol_ffei = { 0, 0, sizeof (NFS_ACT_ON_LINK) - 1, 0,
17 uint32_t nfs_type_mapping[] = { 0, S_IFREG, S_IFDIR, S_IFBLK,
18 S_IFCHR, S_IFLNK, S_IFSOCK, S_IFIFO };
21 nfs_fetch_fattr3 (HANDLE h, fattr3 *fattr_buf)
24 FILE_FULL_EA_INFORMATION ffei;
25 char buf[sizeof (NFS_V3_ATTR) + sizeof (fattr3)];
28 FILE_GET_EA_INFORMATION fgei;
29 char buf[sizeof (NFS_V3_ATTR)];
34 fgei_buf.fgei.NextEntryOffset = 0;
35 fgei_buf.fgei.EaNameLength = sizeof (NFS_V3_ATTR) - 1;
36 stpcpy (fgei_buf.fgei.EaName, NFS_V3_ATTR);
37 status = NtQueryEaFile (h, &io, &ffei_buf.ffei, sizeof ffei_buf, TRUE,
38 &fgei_buf.fgei, sizeof fgei_buf, NULL, TRUE);
39 if (NT_SUCCESS (status))
41 fattr3 *nfs_attr = (fattr3 *) (ffei_buf.ffei.EaName
42 + ffei_buf.ffei.EaNameLength + 1);
44 memcpy (fattr_buf, nfs_attr, sizeof (fattr3));