summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2000-11-03 20:35:23 (GMT)
committerH. Peter Anvin <hpa@zytor.com>2000-11-03 20:35:23 (GMT)
commitb6880d261ddccb6a756b00b5d85a8ee825a1b8ad (patch)
treedfee86d763d425d81b663c3fbadafe0906d7efca
parent36dedf59334432d1443cd694a20819834e7b986a (diff)
downloadautofs3-b6880d261ddccb6a756b00b5d85a8ee825a1b8ad.zip
autofs3-b6880d261ddccb6a756b00b5d85a8ee825a1b8ad.tar.gz
autofs3-b6880d261ddccb6a756b00b5d85a8ee825a1b8ad.tar.bz2
autofs3-b6880d261ddccb6a756b00b5d85a8ee825a1b8ad.tar.xz
Update header file to match kernel 2.4.0-test10.
-rw-r--r--include/linux/auto_fs.h55
1 files changed, 38 insertions, 17 deletions
diff --git a/include/linux/auto_fs.h b/include/linux/auto_fs.h
index 92eaf6f..aaacb18 100644
--- a/include/linux/auto_fs.h
+++ b/include/linux/auto_fs.h
@@ -1,4 +1,3 @@
-#ident "$Id$"
/* -*- linux-c -*- ------------------------------------------------------- *
*
* linux/include/linux/auto_fs.h
@@ -15,31 +14,60 @@
#ifndef _LINUX_AUTO_FS_H
#define _LINUX_AUTO_FS_H
+#ifdef __KERNEL__
#include <linux/version.h>
#include <linux/fs.h>
#include <linux/limits.h>
-#include <linux/ioctl.h>
#include <asm/types.h>
+#endif /* __KERNEL__ */
+
+#include <linux/ioctl.h>
-#define AUTOFS_PROTO_VERSION 3
+/* This file describes autofs v3 */
+#define AUTOFS_PROTO_VERSION 3
-enum autofs_packet_type {
- autofs_ptype_missing, /* Missing entry (mount request) */
- autofs_ptype_expire, /* Expire entry (umount request) */
-};
+/* Range of protocol versions defined */
+#define AUTOFS_MAX_PROTO_VERSION AUTOFS_PROTO_VERSION
+#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
+
+/*
+ * Architectures where both 32- and 64-bit binaries can be executed
+ * on 64-bit kernels need this. This keeps the structure format
+ * uniform, and makes sure the wait_queue_token isn't too big to be
+ * passed back down to the kernel.
+ *
+ * This assumes that on these architectures:
+ * mode 32 bit 64 bit
+ * -------------------------
+ * int 32 bit 32 bit
+ * long 32 bit 64 bit
+ *
+ * If so, 32-bit user-space code should be backwards compatible.
+ */
+
+#if defined(__sparc__) || defined(__mips__)
+typedef unsigned int autofs_wqt_t;
+#else
+typedef unsigned long autofs_wqt_t;
+#endif
+
+/* Packet types */
+#define autofs_ptype_missing 0 /* Missing entry (mount request) */
+#define autofs_ptype_expire 1 /* Expire entry (umount request) */
struct autofs_packet_hdr {
- int proto_version; /* Protocol version */
- enum autofs_packet_type type; /* Type of packet */
+ int proto_version; /* Protocol version */
+ int type; /* Type of packet */
};
struct autofs_packet_missing {
struct autofs_packet_hdr hdr;
- unsigned long wait_queue_token;
+ autofs_wqt_t wait_queue_token;
int len;
char name[NAME_MAX+1];
};
+/* v3 expire (via ioctl) */
struct autofs_packet_expire {
struct autofs_packet_hdr hdr;
int len;
@@ -53,11 +81,4 @@ struct autofs_packet_expire {
#define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long)
#define AUTOFS_IOC_EXPIRE _IOR(0x93,0x65,struct autofs_packet_expire)
-#ifdef __KERNEL__
-
-/* Init function */
-int init_autofs_fs(void);
-
-#endif /* __KERNEL__ */
-
#endif /* _LINUX_AUTO_FS_H */