summaryrefslogtreecommitdiffstats
path: root/utils/mount/nfs4_mount.h
diff options
context:
space:
mode:
authorAmit Gud <agud@redhat.com>2006-06-12 19:06:36 -0400
committerNeil Brown <neilb@suse.de>2006-06-16 12:18:55 +1000
commita0520fa1a41bd33815b331b660b4545f2723495c (patch)
tree01c5f70db5da8039cc87c181e8c315d9f8c87026 /utils/mount/nfs4_mount.h
parentb9559d9cd6255ec3068d1c840361ad972e2e066e (diff)
downloadnfs-utils-a0520fa1a41bd33815b331b660b4545f2723495c.tar.gz
nfs-utils-a0520fa1a41bd33815b331b660b4545f2723495c.tar.xz
nfs-utils-a0520fa1a41bd33815b331b660b4545f2723495c.zip
Move NFS mount code from util-linux to nfs-utils - part 1
Adds the mount directory and the code to mount and umount the NFS file system. Signed-off-by: Amit Gud <agud@redhat.com> Signed-off-by: Steve Dickson <steved@redhat.com>
Diffstat (limited to 'utils/mount/nfs4_mount.h')
-rw-r--r--utils/mount/nfs4_mount.h85
1 files changed, 85 insertions, 0 deletions
diff --git a/utils/mount/nfs4_mount.h b/utils/mount/nfs4_mount.h
new file mode 100644
index 0000000..74c9b95
--- /dev/null
+++ b/utils/mount/nfs4_mount.h
@@ -0,0 +1,85 @@
+#ifndef _LINUX_NFS4_MOUNT_H
+#define _LINUX_NFS4_MOUNT_H
+
+/*
+ * linux/include/linux/nfs4_mount.h
+ *
+ * Copyright (C) 2002 Trond Myklebust
+ *
+ * structure passed from user-space to kernel-space during an nfsv4 mount
+ */
+
+/*
+ * WARNING! Do not delete or change the order of these fields. If
+ * a new field is required then add it to the end. The version field
+ * tracks which fields are present. This will ensure some measure of
+ * mount-to-kernel version compatibility. Some of these aren't used yet
+ * but here they are anyway.
+ */
+#define NFS4_MOUNT_VERSION 1
+
+struct nfs_string {
+ unsigned int len;
+ const char* data;
+};
+
+struct nfs4_mount_data {
+ int version; /* 1 */
+ int flags; /* 1 */
+ int rsize; /* 1 */
+ int wsize; /* 1 */
+ int timeo; /* 1 */
+ int retrans; /* 1 */
+ int acregmin; /* 1 */
+ int acregmax; /* 1 */
+ int acdirmin; /* 1 */
+ int acdirmax; /* 1 */
+
+ /* see the definition of 'struct clientaddr4' in RFC3010 */
+ struct nfs_string client_addr; /* 1 */
+
+ /* Mount path */
+ struct nfs_string mnt_path; /* 1 */
+
+ /* Server details */
+ struct nfs_string hostname; /* 1 */
+ /* Server IP address */
+ unsigned int host_addrlen; /* 1 */
+ struct sockaddr* host_addr; /* 1 */
+
+ /* Transport protocol to use */
+ int proto; /* 1 */
+
+ /* Pseudo-flavours to use for authentication. See RFC2623 */
+ int auth_flavourlen; /* 1 */
+ int *auth_flavours; /* 1 */
+};
+
+/* bits in the flags field */
+/* Note: the fields that correspond to existing NFSv2/v3 mount options
+ * should mirror the values from include/linux/nfs_mount.h
+ */
+
+#define NFS4_MOUNT_SOFT 0x0001 /* 1 */
+#define NFS4_MOUNT_INTR 0x0002 /* 1 */
+#define NFS4_MOUNT_NOCTO 0x0010 /* 1 */
+#define NFS4_MOUNT_NOAC 0x0020 /* 1 */
+#define NFS4_MOUNT_STRICTLOCK 0x1000 /* 1 */
+#define NFS4_MOUNT_FLAGMASK 0xFFFF
+
+/* pseudoflavors: */
+
+#define RPC_AUTH_GSS_KRB5 390003
+#define RPC_AUTH_GSS_KRB5I 390004
+#define RPC_AUTH_GSS_KRB5P 390005
+#define RPC_AUTH_GSS_LKEY 390006
+#define RPC_AUTH_GSS_LKEYI 390007
+#define RPC_AUTH_GSS_LKEYP 390008
+#define RPC_AUTH_GSS_SPKM 390009
+#define RPC_AUTH_GSS_SPKMI 390010
+#define RPC_AUTH_GSS_SPKMP 390011
+
+int nfs4mount(const char *, const char *, int *, char **,
+ char **, int);
+
+#endif