blob: 93a37240964b94b7bd9b80f67b32fb89eac5ccc4 [file] [log] [blame]
Ben Cheng655a7c02013-10-16 16:09:24 -07001/****************************************************************************
2 ****************************************************************************
3 ***
4 *** This header was automatically generated from a Linux kernel header
5 *** of the same name, to make information necessary for userspace to
6 *** call into the kernel available to libc. It contains only constants,
7 *** structures, and macros generated from the original header, and thus,
8 *** contains no copyrightable information.
9 ***
10 *** To edit the content of this header, modify the corresponding
11 *** source file (e.g. under external/kernel-headers/original/) then
12 *** run bionic/libc/kernel/tools/update_all.py
13 ***
14 *** Any manual change here will be lost the next time this script will
15 *** be run. You've been warned!
16 ***
17 ****************************************************************************
18 ****************************************************************************/
19#ifndef _UAPI_LINUX_AUTO_FS_H
20#define _UAPI_LINUX_AUTO_FS_H
21#include <linux/types.h>
Christopher Ferris6a9755d2017-01-13 14:09:31 -080022#include <linux/limits.h>
Christopher Ferris6a9755d2017-01-13 14:09:31 -080023#include <sys/ioctl.h>
Ben Cheng655a7c02013-10-16 16:09:24 -070024#define AUTOFS_PROTO_VERSION 3
25#define AUTOFS_MAX_PROTO_VERSION AUTOFS_PROTO_VERSION
26#define AUTOFS_MIN_PROTO_VERSION AUTOFS_PROTO_VERSION
Christopher Ferris6a9755d2017-01-13 14:09:31 -080027#if defined(__ia64__) || defined(__alpha__)
Ben Cheng655a7c02013-10-16 16:09:24 -070028typedef unsigned long autofs_wqt_t;
29#else
30typedef unsigned int autofs_wqt_t;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080031#endif
Ben Cheng655a7c02013-10-16 16:09:24 -070032#define autofs_ptype_missing 0
33#define autofs_ptype_expire 1
34struct autofs_packet_hdr {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080035 int proto_version;
Tao Baod7db5942015-01-28 10:07:51 -080036 int type;
Ben Cheng655a7c02013-10-16 16:09:24 -070037};
38struct autofs_packet_missing {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080039 struct autofs_packet_hdr hdr;
Tao Baod7db5942015-01-28 10:07:51 -080040 autofs_wqt_t wait_queue_token;
41 int len;
42 char name[NAME_MAX + 1];
Christopher Ferris6a9755d2017-01-13 14:09:31 -080043};
Ben Cheng655a7c02013-10-16 16:09:24 -070044struct autofs_packet_expire {
Tao Baod7db5942015-01-28 10:07:51 -080045 struct autofs_packet_hdr hdr;
46 int len;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080047 char name[NAME_MAX + 1];
Ben Cheng655a7c02013-10-16 16:09:24 -070048};
Christopher Ferris525ce912017-07-26 13:12:53 -070049#define AUTOFS_IOCTL 0x93
50enum {
51 AUTOFS_IOC_READY_CMD = 0x60,
52 AUTOFS_IOC_FAIL_CMD,
53 AUTOFS_IOC_CATATONIC_CMD,
54 AUTOFS_IOC_PROTOVER_CMD,
55 AUTOFS_IOC_SETTIMEOUT_CMD,
56 AUTOFS_IOC_EXPIRE_CMD,
57};
58#define AUTOFS_IOC_READY _IO(AUTOFS_IOCTL, AUTOFS_IOC_READY_CMD)
59#define AUTOFS_IOC_FAIL _IO(AUTOFS_IOCTL, AUTOFS_IOC_FAIL_CMD)
60#define AUTOFS_IOC_CATATONIC _IO(AUTOFS_IOCTL, AUTOFS_IOC_CATATONIC_CMD)
61#define AUTOFS_IOC_PROTOVER _IOR(AUTOFS_IOCTL, AUTOFS_IOC_PROTOVER_CMD, int)
62#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, compat_ulong_t)
63#define AUTOFS_IOC_SETTIMEOUT _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, unsigned long)
64#define AUTOFS_IOC_EXPIRE _IOR(AUTOFS_IOCTL, AUTOFS_IOC_EXPIRE_CMD, struct autofs_packet_expire)
Ben Cheng655a7c02013-10-16 16:09:24 -070065#endif