Where Online Learning is simpler!
The C and C++ Include Header Files
/usr/include/linux/auto_dev-ioctl.h
$ cat -n /usr/include/linux/auto_dev-ioctl.h 1 /* SPDX-License-Identifier: GPL-2.0+ WITH Linux-syscall-note */ 2 /* 3 * Copyright 2008 Red Hat, Inc. All rights reserved. 4 * Copyright 2008 Ian Kent
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_DEV_IOCTL_H 12 #define _LINUX_AUTO_DEV_IOCTL_H 13 14 #include
15 #include
16 17 #define AUTOFS_DEVICE_NAME "autofs" 18 19 #define AUTOFS_DEV_IOCTL_VERSION_MAJOR 1 20 #define AUTOFS_DEV_IOCTL_VERSION_MINOR 1 21 22 #define AUTOFS_DEV_IOCTL_SIZE sizeof(struct autofs_dev_ioctl) 23 24 /* 25 * An ioctl interface for autofs mount point control. 26 */ 27 28 struct args_protover { 29 __u32 version; 30 }; 31 32 struct args_protosubver { 33 __u32 sub_version; 34 }; 35 36 struct args_openmount { 37 __u32 devid; 38 }; 39 40 struct args_ready { 41 __u32 token; 42 }; 43 44 struct args_fail { 45 __u32 token; 46 __s32 status; 47 }; 48 49 struct args_setpipefd { 50 __s32 pipefd; 51 }; 52 53 struct args_timeout { 54 __u64 timeout; 55 }; 56 57 struct args_requester { 58 __u32 uid; 59 __u32 gid; 60 }; 61 62 struct args_expire { 63 __u32 how; 64 }; 65 66 struct args_askumount { 67 __u32 may_umount; 68 }; 69 70 struct args_ismountpoint { 71 union { 72 struct args_in { 73 __u32 type; 74 } in; 75 struct args_out { 76 __u32 devid; 77 __u32 magic; 78 } out; 79 }; 80 }; 81 82 /* 83 * All the ioctls use this structure. 84 * When sending a path size must account for the total length 85 * of the chunk of memory otherwise it is the size of the 86 * structure. 87 */ 88 89 struct autofs_dev_ioctl { 90 __u32 ver_major; 91 __u32 ver_minor; 92 __u32 size; /* total size of data passed in 93 * including this struct */ 94 __s32 ioctlfd; /* automount command fd */ 95 96 /* Command parameters */ 97 98 union { 99 struct args_protover protover; 100 struct args_protosubver protosubver; 101 struct args_openmount openmount; 102 struct args_ready ready; 103 struct args_fail fail; 104 struct args_setpipefd setpipefd; 105 struct args_timeout timeout; 106 struct args_requester requester; 107 struct args_expire expire; 108 struct args_askumount askumount; 109 struct args_ismountpoint ismountpoint; 110 }; 111 112 char path[]; 113 }; 114 115 static __inline__ void init_autofs_dev_ioctl(struct autofs_dev_ioctl *in) 116 { 117 memset(in, 0, AUTOFS_DEV_IOCTL_SIZE); 118 in->ver_major = AUTOFS_DEV_IOCTL_VERSION_MAJOR; 119 in->ver_minor = AUTOFS_DEV_IOCTL_VERSION_MINOR; 120 in->size = AUTOFS_DEV_IOCTL_SIZE; 121 in->ioctlfd = -1; 122 } 123 124 enum { 125 /* Get various version info */ 126 AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71, 127 AUTOFS_DEV_IOCTL_PROTOVER_CMD, 128 AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, 129 130 /* Open mount ioctl fd */ 131 AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, 132 133 /* Close mount ioctl fd */ 134 AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, 135 136 /* Mount/expire status returns */ 137 AUTOFS_DEV_IOCTL_READY_CMD, 138 AUTOFS_DEV_IOCTL_FAIL_CMD, 139 140 /* Activate/deactivate autofs mount */ 141 AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, 142 AUTOFS_DEV_IOCTL_CATATONIC_CMD, 143 144 /* Expiry timeout */ 145 AUTOFS_DEV_IOCTL_TIMEOUT_CMD, 146 147 /* Get mount last requesting uid and gid */ 148 AUTOFS_DEV_IOCTL_REQUESTER_CMD, 149 150 /* Check for eligible expire candidates */ 151 AUTOFS_DEV_IOCTL_EXPIRE_CMD, 152 153 /* Request busy status */ 154 AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, 155 156 /* Check if path is a mountpoint */ 157 AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, 158 }; 159 160 #define AUTOFS_DEV_IOCTL_VERSION \ 161 _IOWR(AUTOFS_IOCTL, \ 162 AUTOFS_DEV_IOCTL_VERSION_CMD, struct autofs_dev_ioctl) 163 164 #define AUTOFS_DEV_IOCTL_PROTOVER \ 165 _IOWR(AUTOFS_IOCTL, \ 166 AUTOFS_DEV_IOCTL_PROTOVER_CMD, struct autofs_dev_ioctl) 167 168 #define AUTOFS_DEV_IOCTL_PROTOSUBVER \ 169 _IOWR(AUTOFS_IOCTL, \ 170 AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, struct autofs_dev_ioctl) 171 172 #define AUTOFS_DEV_IOCTL_OPENMOUNT \ 173 _IOWR(AUTOFS_IOCTL, \ 174 AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, struct autofs_dev_ioctl) 175 176 #define AUTOFS_DEV_IOCTL_CLOSEMOUNT \ 177 _IOWR(AUTOFS_IOCTL, \ 178 AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, struct autofs_dev_ioctl) 179 180 #define AUTOFS_DEV_IOCTL_READY \ 181 _IOWR(AUTOFS_IOCTL, \ 182 AUTOFS_DEV_IOCTL_READY_CMD, struct autofs_dev_ioctl) 183 184 #define AUTOFS_DEV_IOCTL_FAIL \ 185 _IOWR(AUTOFS_IOCTL, \ 186 AUTOFS_DEV_IOCTL_FAIL_CMD, struct autofs_dev_ioctl) 187 188 #define AUTOFS_DEV_IOCTL_SETPIPEFD \ 189 _IOWR(AUTOFS_IOCTL, \ 190 AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, struct autofs_dev_ioctl) 191 192 #define AUTOFS_DEV_IOCTL_CATATONIC \ 193 _IOWR(AUTOFS_IOCTL, \ 194 AUTOFS_DEV_IOCTL_CATATONIC_CMD, struct autofs_dev_ioctl) 195 196 #define AUTOFS_DEV_IOCTL_TIMEOUT \ 197 _IOWR(AUTOFS_IOCTL, \ 198 AUTOFS_DEV_IOCTL_TIMEOUT_CMD, struct autofs_dev_ioctl) 199 200 #define AUTOFS_DEV_IOCTL_REQUESTER \ 201 _IOWR(AUTOFS_IOCTL, \ 202 AUTOFS_DEV_IOCTL_REQUESTER_CMD, struct autofs_dev_ioctl) 203 204 #define AUTOFS_DEV_IOCTL_EXPIRE \ 205 _IOWR(AUTOFS_IOCTL, \ 206 AUTOFS_DEV_IOCTL_EXPIRE_CMD, struct autofs_dev_ioctl) 207 208 #define AUTOFS_DEV_IOCTL_ASKUMOUNT \ 209 _IOWR(AUTOFS_IOCTL, \ 210 AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, struct autofs_dev_ioctl) 211 212 #define AUTOFS_DEV_IOCTL_ISMOUNTPOINT \ 213 _IOWR(AUTOFS_IOCTL, \ 214 AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, struct autofs_dev_ioctl) 215 216 #endif /* _LINUX_AUTO_DEV_IOCTL_H */
Contact us
|
About us
|
Term of use
|
Copyright © 2000-2025 MyWebUniversity.com ™