xref: /aosp_15_r20/bionic/libc/kernel/uapi/linux/auto_fs.h (revision 8d67ca893c1523eb926b9080dbe4e2ffd2a27ba1)
1*8d67ca89SAndroid Build Coastguard Worker /*
2*8d67ca89SAndroid Build Coastguard Worker  * This file is auto-generated. Modifications will be lost.
3*8d67ca89SAndroid Build Coastguard Worker  *
4*8d67ca89SAndroid Build Coastguard Worker  * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5*8d67ca89SAndroid Build Coastguard Worker  * for more information.
6*8d67ca89SAndroid Build Coastguard Worker  */
7*8d67ca89SAndroid Build Coastguard Worker #ifndef _UAPI_LINUX_AUTO_FS_H
8*8d67ca89SAndroid Build Coastguard Worker #define _UAPI_LINUX_AUTO_FS_H
9*8d67ca89SAndroid Build Coastguard Worker #include <linux/types.h>
10*8d67ca89SAndroid Build Coastguard Worker #include <linux/limits.h>
11*8d67ca89SAndroid Build Coastguard Worker #include <sys/ioctl.h>
12*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_PROTO_VERSION 5
13*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_MIN_PROTO_VERSION 3
14*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_MAX_PROTO_VERSION 5
15*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_PROTO_SUBVERSION 5
16*8d67ca89SAndroid Build Coastguard Worker #if defined(__ia64__) || defined(__alpha__)
17*8d67ca89SAndroid Build Coastguard Worker typedef unsigned long autofs_wqt_t;
18*8d67ca89SAndroid Build Coastguard Worker #else
19*8d67ca89SAndroid Build Coastguard Worker typedef unsigned int autofs_wqt_t;
20*8d67ca89SAndroid Build Coastguard Worker #endif
21*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_missing 0
22*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_expire 1
23*8d67ca89SAndroid Build Coastguard Worker struct autofs_packet_hdr {
24*8d67ca89SAndroid Build Coastguard Worker   int proto_version;
25*8d67ca89SAndroid Build Coastguard Worker   int type;
26*8d67ca89SAndroid Build Coastguard Worker };
27*8d67ca89SAndroid Build Coastguard Worker struct autofs_packet_missing {
28*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
29*8d67ca89SAndroid Build Coastguard Worker   autofs_wqt_t wait_queue_token;
30*8d67ca89SAndroid Build Coastguard Worker   int len;
31*8d67ca89SAndroid Build Coastguard Worker   char name[NAME_MAX + 1];
32*8d67ca89SAndroid Build Coastguard Worker };
33*8d67ca89SAndroid Build Coastguard Worker struct autofs_packet_expire {
34*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
35*8d67ca89SAndroid Build Coastguard Worker   int len;
36*8d67ca89SAndroid Build Coastguard Worker   char name[NAME_MAX + 1];
37*8d67ca89SAndroid Build Coastguard Worker };
38*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOCTL 0x93
39*8d67ca89SAndroid Build Coastguard Worker enum {
40*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_READY_CMD = 0x60,
41*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_FAIL_CMD,
42*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_CATATONIC_CMD,
43*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_PROTOVER_CMD,
44*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_SETTIMEOUT_CMD,
45*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_EXPIRE_CMD,
46*8d67ca89SAndroid Build Coastguard Worker };
47*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_READY _IO(AUTOFS_IOCTL, AUTOFS_IOC_READY_CMD)
48*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_FAIL _IO(AUTOFS_IOCTL, AUTOFS_IOC_FAIL_CMD)
49*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_CATATONIC _IO(AUTOFS_IOCTL, AUTOFS_IOC_CATATONIC_CMD)
50*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_PROTOVER _IOR(AUTOFS_IOCTL, AUTOFS_IOC_PROTOVER_CMD, int)
51*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_SETTIMEOUT32 _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, compat_ulong_t)
52*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_SETTIMEOUT _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, unsigned long)
53*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_EXPIRE _IOR(AUTOFS_IOCTL, AUTOFS_IOC_EXPIRE_CMD, struct autofs_packet_expire)
54*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_EXP_NORMAL 0x00
55*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_EXP_IMMEDIATE 0x01
56*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_EXP_LEAVES 0x02
57*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_EXP_FORCED 0x04
58*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_TYPE_ANY 0U
59*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_TYPE_INDIRECT 1U
60*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_TYPE_DIRECT 2U
61*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_TYPE_OFFSET 4U
62*8d67ca89SAndroid Build Coastguard Worker enum autofs_notify {
63*8d67ca89SAndroid Build Coastguard Worker   NFY_NONE,
64*8d67ca89SAndroid Build Coastguard Worker   NFY_MOUNT,
65*8d67ca89SAndroid Build Coastguard Worker   NFY_EXPIRE
66*8d67ca89SAndroid Build Coastguard Worker };
67*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_expire_multi 2
68*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_missing_indirect 3
69*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_expire_indirect 4
70*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_missing_direct 5
71*8d67ca89SAndroid Build Coastguard Worker #define autofs_ptype_expire_direct 6
72*8d67ca89SAndroid Build Coastguard Worker struct autofs_packet_expire_multi {
73*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
74*8d67ca89SAndroid Build Coastguard Worker   autofs_wqt_t wait_queue_token;
75*8d67ca89SAndroid Build Coastguard Worker   int len;
76*8d67ca89SAndroid Build Coastguard Worker   char name[NAME_MAX + 1];
77*8d67ca89SAndroid Build Coastguard Worker };
78*8d67ca89SAndroid Build Coastguard Worker union autofs_packet_union {
79*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
80*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_missing missing;
81*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_expire expire;
82*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_expire_multi expire_multi;
83*8d67ca89SAndroid Build Coastguard Worker };
84*8d67ca89SAndroid Build Coastguard Worker struct autofs_v5_packet {
85*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
86*8d67ca89SAndroid Build Coastguard Worker   autofs_wqt_t wait_queue_token;
87*8d67ca89SAndroid Build Coastguard Worker   __u32 dev;
88*8d67ca89SAndroid Build Coastguard Worker   __u64 ino;
89*8d67ca89SAndroid Build Coastguard Worker   __u32 uid;
90*8d67ca89SAndroid Build Coastguard Worker   __u32 gid;
91*8d67ca89SAndroid Build Coastguard Worker   __u32 pid;
92*8d67ca89SAndroid Build Coastguard Worker   __u32 tgid;
93*8d67ca89SAndroid Build Coastguard Worker   __u32 len;
94*8d67ca89SAndroid Build Coastguard Worker   char name[NAME_MAX + 1];
95*8d67ca89SAndroid Build Coastguard Worker };
96*8d67ca89SAndroid Build Coastguard Worker typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
97*8d67ca89SAndroid Build Coastguard Worker typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
98*8d67ca89SAndroid Build Coastguard Worker typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
99*8d67ca89SAndroid Build Coastguard Worker typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
100*8d67ca89SAndroid Build Coastguard Worker union autofs_v5_packet_union {
101*8d67ca89SAndroid Build Coastguard Worker   struct autofs_packet_hdr hdr;
102*8d67ca89SAndroid Build Coastguard Worker   struct autofs_v5_packet v5_packet;
103*8d67ca89SAndroid Build Coastguard Worker   autofs_packet_missing_indirect_t missing_indirect;
104*8d67ca89SAndroid Build Coastguard Worker   autofs_packet_expire_indirect_t expire_indirect;
105*8d67ca89SAndroid Build Coastguard Worker   autofs_packet_missing_direct_t missing_direct;
106*8d67ca89SAndroid Build Coastguard Worker   autofs_packet_expire_direct_t expire_direct;
107*8d67ca89SAndroid Build Coastguard Worker };
108*8d67ca89SAndroid Build Coastguard Worker enum {
109*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_EXPIRE_MULTI_CMD = 0x66,
110*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_PROTOSUBVER_CMD,
111*8d67ca89SAndroid Build Coastguard Worker   AUTOFS_IOC_ASKUMOUNT_CMD = 0x70,
112*8d67ca89SAndroid Build Coastguard Worker };
113*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_EXPIRE_MULTI _IOW(AUTOFS_IOCTL, AUTOFS_IOC_EXPIRE_MULTI_CMD, int)
114*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_PROTOSUBVER _IOR(AUTOFS_IOCTL, AUTOFS_IOC_PROTOSUBVER_CMD, int)
115*8d67ca89SAndroid Build Coastguard Worker #define AUTOFS_IOC_ASKUMOUNT _IOR(AUTOFS_IOCTL, AUTOFS_IOC_ASKUMOUNT_CMD, int)
116*8d67ca89SAndroid Build Coastguard Worker #endif
117