Blame view

include/linux/auto_fs4.h 2.83 KB
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  /* -*- c -*-
   * linux/include/linux/auto_fs4.h
   *
   * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org>
   *
   * 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_FS4_H
  #define _LINUX_AUTO_FS4_H
  
  /* Include common v3 definitions */
  #include <linux/auto_fs.h>
  
  /* autofs v4 definitions */
  #undef AUTOFS_PROTO_VERSION
  #undef AUTOFS_MIN_PROTO_VERSION
  #undef AUTOFS_MAX_PROTO_VERSION
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
21
  #define AUTOFS_PROTO_VERSION		5
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
22
  #define AUTOFS_MIN_PROTO_VERSION	3
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
23
  #define AUTOFS_MAX_PROTO_VERSION	5
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
24

5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
25
  #define AUTOFS_PROTO_SUBVERSION		0
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
26
27
28
29
  
  /* Mask for expire behaviour */
  #define AUTOFS_EXP_IMMEDIATE		1
  #define AUTOFS_EXP_LEAVES		2
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
  /* Daemon notification packet types */
  enum autofs_notify {
  	NFY_NONE,
  	NFY_MOUNT,
  	NFY_EXPIRE
  };
  
  /* Kernel protocol version 4 packet types */
  
  /* Expire entry (umount request) */
  #define autofs_ptype_expire_multi	2
  
  /* Kernel protocol version 5 packet types */
  
  /* Indirect mount missing and expire requests. */
  #define autofs_ptype_missing_indirect	3
  #define autofs_ptype_expire_indirect	4
  
  /* Direct mount missing and expire requests */
  #define autofs_ptype_missing_direct	5
  #define autofs_ptype_expire_direct	6
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
51
52
53
54
55
56
57
58
  
  /* v4 multi expire (via pipe) */
  struct autofs_packet_expire_multi {
  	struct autofs_packet_hdr hdr;
          autofs_wqt_t wait_queue_token;
  	int len;
  	char name[NAME_MAX+1];
  };
e8514478f   Ian Kent   [PATCH] autofs4: ...
59
60
61
62
63
64
  union autofs_packet_union {
  	struct autofs_packet_hdr hdr;
  	struct autofs_packet_missing missing;
  	struct autofs_packet_expire expire;
  	struct autofs_packet_expire_multi expire_multi;
  };
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
  /* autofs v5 common packet struct */
  struct autofs_v5_packet {
  	struct autofs_packet_hdr hdr;
  	autofs_wqt_t wait_queue_token;
  	__u32 dev;
  	__u64 ino;
  	__u32 uid;
  	__u32 gid;
  	__u32 pid;
  	__u32 tgid;
  	__u32 len;
  	char name[NAME_MAX+1];
  };
  
  typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
  typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
  typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
  typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
e8514478f   Ian Kent   [PATCH] autofs4: ...
83
  union autofs_v5_packet_union {
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
84
  	struct autofs_packet_hdr hdr;
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
85
  	struct autofs_v5_packet v5_packet;
e8514478f   Ian Kent   [PATCH] autofs4: ...
86
87
88
89
  	autofs_packet_missing_indirect_t missing_indirect;
  	autofs_packet_expire_indirect_t expire_indirect;
  	autofs_packet_missing_direct_t missing_direct;
  	autofs_packet_expire_direct_t expire_direct;
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
90
91
92
  };
  
  #define AUTOFS_IOC_EXPIRE_MULTI		_IOW(0x93,0x66,int)
5c0a32fc2   Ian Kent   [PATCH] autofs4: ...
93
94
  #define AUTOFS_IOC_EXPIRE_INDIRECT	AUTOFS_IOC_EXPIRE_MULTI
  #define AUTOFS_IOC_EXPIRE_DIRECT	AUTOFS_IOC_EXPIRE_MULTI
1da177e4c   Linus Torvalds   Linux-2.6.12-rc2
95
96
97
98
99
100
101
  #define AUTOFS_IOC_PROTOSUBVER		_IOR(0x93,0x67,int)
  #define AUTOFS_IOC_ASKREGHOST           _IOR(0x93,0x68,int)
  #define AUTOFS_IOC_TOGGLEREGHOST        _IOR(0x93,0x69,int)
  #define AUTOFS_IOC_ASKUMOUNT		_IOR(0x93,0x70,int)
  
  
  #endif /* _LINUX_AUTO_FS4_H */