Blame view

include/linux/auto_fs.h 2.47 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
  /* -*- linux-c -*- ------------------------------------------------------- *
   *   
   * linux/include/linux/auto_fs.h
   *
   *   Copyright 1997 Transmeta Corporation - All Rights Reserved
   *
   * This file is part of the Linux kernel and is made available under
   * the terms of the GNU General Public License, version 2, or at your
   * option, any later version, incorporated herein by reference.
   *
   * ----------------------------------------------------------------------- */
  
  
  #ifndef _LINUX_AUTO_FS_H
  #define _LINUX_AUTO_FS_H
52bb25a62   Jaswinder Singh Rajput   headers_check fix...
16
  #include <linux/types.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
17
18
19
  #ifdef __KERNEL__
  #include <linux/fs.h>
  #include <linux/limits.h>
79955898f   Ian Kent   autofs4: fix kern...
20
21
  #include <linux/ioctl.h>
  #else
79955898f   Ian Kent   autofs4: fix kern...
22
  #include <sys/ioctl.h>
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
23
  #endif /* __KERNEL__ */
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
  /* This file describes autofs v3 */
  #define AUTOFS_PROTO_VERSION	3
  
  /* 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__) || defined(__x86_64__) \
   || defined(__powerpc__) || defined(__s390__)
  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 */
  	int type;			/* Type of packet */
  };
  
  struct autofs_packet_missing {
  	struct autofs_packet_hdr hdr;
          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;
  	char name[NAME_MAX+1];
  };
  
  #define AUTOFS_IOC_READY      _IO(0x93,0x60)
  #define AUTOFS_IOC_FAIL       _IO(0x93,0x61)
  #define AUTOFS_IOC_CATATONIC  _IO(0x93,0x62)
  #define AUTOFS_IOC_PROTOVER   _IOR(0x93,0x63,int)
c9243f5bd   Arnd Bergmann   autofs/autofs4: M...
80
  #define AUTOFS_IOC_SETTIMEOUT32 _IOWR(0x93,0x64,compat_ulong_t)
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
81
82
83
84
  #define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long)
  #define AUTOFS_IOC_EXPIRE     _IOR(0x93,0x65,struct autofs_packet_expire)
  
  #endif /* _LINUX_AUTO_FS_H */