Home | History | Annotate | Download | only in linux
      1 /****************************************************************************
      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_DEV_IOCTL_H
     20 #define _UAPI_LINUX_AUTO_DEV_IOCTL_H
     21 #include <linux/auto_fs.h>
     22 #include <linux/string.h>
     23 #define AUTOFS_DEVICE_NAME "autofs"
     24 #define AUTOFS_DEV_IOCTL_VERSION_MAJOR 1
     25 #define AUTOFS_DEV_IOCTL_VERSION_MINOR 1
     26 #define AUTOFS_DEV_IOCTL_SIZE sizeof(struct autofs_dev_ioctl)
     27 struct args_protover {
     28   __u32 version;
     29 };
     30 struct args_protosubver {
     31   __u32 sub_version;
     32 };
     33 struct args_openmount {
     34   __u32 devid;
     35 };
     36 struct args_ready {
     37   __u32 token;
     38 };
     39 struct args_fail {
     40   __u32 token;
     41   __s32 status;
     42 };
     43 struct args_setpipefd {
     44   __s32 pipefd;
     45 };
     46 struct args_timeout {
     47   __u64 timeout;
     48 };
     49 struct args_requester {
     50   __u32 uid;
     51   __u32 gid;
     52 };
     53 struct args_expire {
     54   __u32 how;
     55 };
     56 struct args_askumount {
     57   __u32 may_umount;
     58 };
     59 struct args_ismountpoint {
     60   union {
     61     struct args_in {
     62       __u32 type;
     63     } in;
     64     struct args_out {
     65       __u32 devid;
     66       __u32 magic;
     67     } out;
     68   };
     69 };
     70 struct autofs_dev_ioctl {
     71   __u32 ver_major;
     72   __u32 ver_minor;
     73   __u32 size;
     74   __s32 ioctlfd;
     75   union {
     76     struct args_protover protover;
     77     struct args_protosubver protosubver;
     78     struct args_openmount openmount;
     79     struct args_ready ready;
     80     struct args_fail fail;
     81     struct args_setpipefd setpipefd;
     82     struct args_timeout timeout;
     83     struct args_requester requester;
     84     struct args_expire expire;
     85     struct args_askumount askumount;
     86     struct args_ismountpoint ismountpoint;
     87   };
     88   char path[0];
     89 };
     90 enum {
     91   AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71,
     92   AUTOFS_DEV_IOCTL_PROTOVER_CMD,
     93   AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD,
     94   AUTOFS_DEV_IOCTL_OPENMOUNT_CMD,
     95   AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD,
     96   AUTOFS_DEV_IOCTL_READY_CMD,
     97   AUTOFS_DEV_IOCTL_FAIL_CMD,
     98   AUTOFS_DEV_IOCTL_SETPIPEFD_CMD,
     99   AUTOFS_DEV_IOCTL_CATATONIC_CMD,
    100   AUTOFS_DEV_IOCTL_TIMEOUT_CMD,
    101   AUTOFS_DEV_IOCTL_REQUESTER_CMD,
    102   AUTOFS_DEV_IOCTL_EXPIRE_CMD,
    103   AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD,
    104   AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD,
    105 };
    106 #define AUTOFS_DEV_IOCTL_VERSION _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_VERSION_CMD, struct autofs_dev_ioctl)
    107 #define AUTOFS_DEV_IOCTL_PROTOVER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_PROTOVER_CMD, struct autofs_dev_ioctl)
    108 #define AUTOFS_DEV_IOCTL_PROTOSUBVER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, struct autofs_dev_ioctl)
    109 #define AUTOFS_DEV_IOCTL_OPENMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, struct autofs_dev_ioctl)
    110 #define AUTOFS_DEV_IOCTL_CLOSEMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, struct autofs_dev_ioctl)
    111 #define AUTOFS_DEV_IOCTL_READY _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_READY_CMD, struct autofs_dev_ioctl)
    112 #define AUTOFS_DEV_IOCTL_FAIL _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_FAIL_CMD, struct autofs_dev_ioctl)
    113 #define AUTOFS_DEV_IOCTL_SETPIPEFD _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, struct autofs_dev_ioctl)
    114 #define AUTOFS_DEV_IOCTL_CATATONIC _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_CATATONIC_CMD, struct autofs_dev_ioctl)
    115 #define AUTOFS_DEV_IOCTL_TIMEOUT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_TIMEOUT_CMD, struct autofs_dev_ioctl)
    116 #define AUTOFS_DEV_IOCTL_REQUESTER _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_REQUESTER_CMD, struct autofs_dev_ioctl)
    117 #define AUTOFS_DEV_IOCTL_EXPIRE _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_EXPIRE_CMD, struct autofs_dev_ioctl)
    118 #define AUTOFS_DEV_IOCTL_ASKUMOUNT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, struct autofs_dev_ioctl)
    119 #define AUTOFS_DEV_IOCTL_ISMOUNTPOINT _IOWR(AUTOFS_IOCTL, AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, struct autofs_dev_ioctl)
    120 #endif
    121