blob: a1657fb99516ba445d3f35d9328348db0b2b4deb [file] [log] [blame]
Linus Torvalds1da177e2005-04-16 15:20:36 -07001/* -*- c -*-
2 * linux/include/linux/auto_fs4.h
3 *
4 * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org>
5 *
6 * This file is part of the Linux kernel and is made available under
7 * the terms of the GNU General Public License, version 2, or at your
8 * option, any later version, incorporated herein by reference.
9 */
10
11#ifndef _LINUX_AUTO_FS4_H
12#define _LINUX_AUTO_FS4_H
13
14/* Include common v3 definitions */
15#include <linux/auto_fs.h>
16
17/* autofs v4 definitions */
18#undef AUTOFS_PROTO_VERSION
19#undef AUTOFS_MIN_PROTO_VERSION
20#undef AUTOFS_MAX_PROTO_VERSION
21
22#define AUTOFS_PROTO_VERSION 4
23#define AUTOFS_MIN_PROTO_VERSION 3
24#define AUTOFS_MAX_PROTO_VERSION 4
25
Ian Kentd46aa452005-05-01 08:59:17 -070026#define AUTOFS_PROTO_SUBVERSION 6
Linus Torvalds1da177e2005-04-16 15:20:36 -070027
28/* Mask for expire behaviour */
29#define AUTOFS_EXP_IMMEDIATE 1
30#define AUTOFS_EXP_LEAVES 2
31
32/* New message type */
33#define autofs_ptype_expire_multi 2 /* Expire entry (umount request) */
34
35/* v4 multi expire (via pipe) */
36struct autofs_packet_expire_multi {
37 struct autofs_packet_hdr hdr;
38 autofs_wqt_t wait_queue_token;
39 int len;
40 char name[NAME_MAX+1];
41};
42
43union autofs_packet_union {
44 struct autofs_packet_hdr hdr;
45 struct autofs_packet_missing missing;
46 struct autofs_packet_expire expire;
47 struct autofs_packet_expire_multi expire_multi;
48};
49
50#define AUTOFS_IOC_EXPIRE_MULTI _IOW(0x93,0x66,int)
51#define AUTOFS_IOC_PROTOSUBVER _IOR(0x93,0x67,int)
52#define AUTOFS_IOC_ASKREGHOST _IOR(0x93,0x68,int)
53#define AUTOFS_IOC_TOGGLEREGHOST _IOR(0x93,0x69,int)
54#define AUTOFS_IOC_ASKUMOUNT _IOR(0x93,0x70,int)
55
56
57#endif /* _LINUX_AUTO_FS4_H */