blob: 89cc04ac8b20aedbea9e9c6cb83dd727fc4f6784 [file] [log] [blame]
Elliott Hughes180edef2023-11-02 00:08:05 +00001/*
2 * This file is auto-generated. Modifications will be lost.
3 *
4 * See https://android.googlesource.com/platform/bionic/+/master/libc/kernel/
5 * for more information.
6 */
Christopher Ferris6a9755d2017-01-13 14:09:31 -08007#ifndef _UAPI_LINUX_AUTO_DEV_IOCTL_H
8#define _UAPI_LINUX_AUTO_DEV_IOCTL_H
9#include <linux/auto_fs.h>
10#include <linux/string.h>
Christopher Ferris6a9755d2017-01-13 14:09:31 -080011#define AUTOFS_DEVICE_NAME "autofs"
12#define AUTOFS_DEV_IOCTL_VERSION_MAJOR 1
Christopher Ferris1308ad32017-11-14 17:32:13 -080013#define AUTOFS_DEV_IOCTL_VERSION_MINOR 1
Christopher Ferris6a9755d2017-01-13 14:09:31 -080014#define AUTOFS_DEV_IOCTL_SIZE sizeof(struct autofs_dev_ioctl)
Christopher Ferris6a9755d2017-01-13 14:09:31 -080015struct args_protover {
16 __u32 version;
17};
18struct args_protosubver {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080019 __u32 sub_version;
20};
21struct args_openmount {
22 __u32 devid;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080023};
24struct args_ready {
25 __u32 token;
26};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080027struct args_fail {
28 __u32 token;
29 __s32 status;
30};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080031struct args_setpipefd {
32 __s32 pipefd;
33};
34struct args_timeout {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080035 __u64 timeout;
36};
37struct args_requester {
38 __u32 uid;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080039 __u32 gid;
40};
41struct args_expire {
42 __u32 how;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080043};
44struct args_askumount {
45 __u32 may_umount;
46};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080047struct args_ismountpoint {
48 union {
49 struct args_in {
50 __u32 type;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080051 } in;
52 struct args_out {
53 __u32 devid;
54 __u32 magic;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080055 } out;
56 };
57};
58struct autofs_dev_ioctl {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080059 __u32 ver_major;
60 __u32 ver_minor;
61 __u32 size;
62 __s32 ioctlfd;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080063 union {
64 struct args_protover protover;
65 struct args_protosubver protosubver;
66 struct args_openmount openmount;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080067 struct args_ready ready;
68 struct args_fail fail;
69 struct args_setpipefd setpipefd;
70 struct args_timeout timeout;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080071 struct args_requester requester;
72 struct args_expire expire;
73 struct args_askumount askumount;
74 struct args_ismountpoint ismountpoint;
Christopher Ferris6a9755d2017-01-13 14:09:31 -080075 };
Christopher Ferris8666d042023-09-06 14:55:31 -070076 char path[];
Christopher Ferris6a9755d2017-01-13 14:09:31 -080077};
78enum {
Christopher Ferris6a9755d2017-01-13 14:09:31 -080079 AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71,
80 AUTOFS_DEV_IOCTL_PROTOVER_CMD,
81 AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD,
82 AUTOFS_DEV_IOCTL_OPENMOUNT_CMD,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080083 AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD,
84 AUTOFS_DEV_IOCTL_READY_CMD,
85 AUTOFS_DEV_IOCTL_FAIL_CMD,
86 AUTOFS_DEV_IOCTL_SETPIPEFD_CMD,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080087 AUTOFS_DEV_IOCTL_CATATONIC_CMD,
88 AUTOFS_DEV_IOCTL_TIMEOUT_CMD,
89 AUTOFS_DEV_IOCTL_REQUESTER_CMD,
90 AUTOFS_DEV_IOCTL_EXPIRE_CMD,
Christopher Ferris6a9755d2017-01-13 14:09:31 -080091 AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD,
92 AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD,
93};
Christopher Ferris6a9755d2017-01-13 14:09:31 -080094#define AUTOFS_DEV_IOCTL_VERSION _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_VERSION_CMD, struct autofs_dev_ioctl)
95#define AUTOFS_DEV_IOCTL_PROTOVER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_PROTOVER_CMD, struct autofs_dev_ioctl)
96#define AUTOFS_DEV_IOCTL_PROTOSUBVER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, struct autofs_dev_ioctl)
97#define AUTOFS_DEV_IOCTL_OPENMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, struct autofs_dev_ioctl)
Christopher Ferris6a9755d2017-01-13 14:09:31 -080098#define AUTOFS_DEV_IOCTL_CLOSEMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, struct autofs_dev_ioctl)
99#define AUTOFS_DEV_IOCTL_READY _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_READY_CMD, struct autofs_dev_ioctl)
100#define AUTOFS_DEV_IOCTL_FAIL _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_FAIL_CMD, struct autofs_dev_ioctl)
101#define AUTOFS_DEV_IOCTL_SETPIPEFD _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, struct autofs_dev_ioctl)
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800102#define AUTOFS_DEV_IOCTL_CATATONIC _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_CATATONIC_CMD, struct autofs_dev_ioctl)
103#define AUTOFS_DEV_IOCTL_TIMEOUT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_TIMEOUT_CMD, struct autofs_dev_ioctl)
104#define AUTOFS_DEV_IOCTL_REQUESTER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_REQUESTER_CMD, struct autofs_dev_ioctl)
105#define AUTOFS_DEV_IOCTL_EXPIRE _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_EXPIRE_CMD, struct autofs_dev_ioctl)
Christopher Ferris6a9755d2017-01-13 14:09:31 -0800106#define AUTOFS_DEV_IOCTL_ASKUMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, struct autofs_dev_ioctl)
107#define AUTOFS_DEV_IOCTL_ISMOUNTPOINT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, struct autofs_dev_ioctl)
108#endif