Welcome to mirror list, hosted at ThFree Co, Russian Federation.

cygwin.com/git/newlib-cygwin.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'winsup/cygwin/local_includes/nfs.h')
-rw-r--r--winsup/cygwin/local_includes/nfs.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/winsup/cygwin/local_includes/nfs.h b/winsup/cygwin/local_includes/nfs.h
new file mode 100644
index 000000000..cd7ffa039
--- /dev/null
+++ b/winsup/cygwin/local_includes/nfs.h
@@ -0,0 +1,63 @@
+/* nfs.h
+
+This software is a copyrighted work licensed under the terms of the
+Cygwin license. Please consult the file "CYGWIN_LICENSE" for
+details. */
+
+#define NFS_ACT_ON_LINK "NfsActOnLink"
+#define NFS_SYML_TARGET "NfsSymlinkTargetName"
+#define NFS_V3_ATTR "NfsV3Attributes"
+
+/* NFS datastructures per RFC 1813, as returned by SFU NFS. */
+
+enum ftype3 {
+ NF3REG = 1,
+ NF3DIR = 2,
+ NF3BLK = 3,
+ NF3CHR = 4,
+ NF3LNK = 5,
+ NF3SOCK = 6,
+ NF3FIFO = 7
+};
+
+#pragma pack (push, 4)
+struct nfs_timestruc_t
+{
+ int32_t tv_sec;
+ uint32_t tv_nsec;
+};
+
+struct fattr3 {
+ uint32_t type;
+ uint32_t mode;
+ uint32_t nlink;
+ uint32_t uid;
+ uint32_t gid;
+ uint32_t filler1;
+ uint64_t size;
+ uint64_t used;
+ struct
+ {
+ uint32_t specdata1;
+ uint32_t specdata2;
+ } rdev;
+ uint64_t fsid;
+ uint64_t fileid;
+ struct nfs_timestruc_t atime;
+ struct nfs_timestruc_t mtime;
+ struct nfs_timestruc_t ctime;
+};
+#pragma pack (pop)
+
+struct nfs_aol_ffei_t {
+ ULONG NextEntryOffset;
+ UCHAR Flags;
+ UCHAR EaNameLength;
+ USHORT EaValueLength;
+ CHAR EaName[sizeof (NFS_ACT_ON_LINK)];
+};
+extern struct nfs_aol_ffei_t nfs_aol_ffei;
+
+extern uint32_t nfs_type_mapping[];
+
+extern NTSTATUS nfs_fetch_fattr3 (HANDLE h, fattr3 *fattr_buf);