auto_dev-ioctl.h revision c0a0872d5c5a0e948c3ace0fb1578a64840ebc8e
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering/*
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * Copyright 2008 Red Hat, Inc. All rights reserved.
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * Copyright 2008 Ian Kent <raven@themaw.net>
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering *
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * This file is part of the Linux kernel and is made available under
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * the terms of the GNU General Public License, version 2, or at your
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers * option, any later version, incorporated herein by reference.
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#ifndef _LINUX_AUTO_DEV_IOCTL_H
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define _LINUX_AUTO_DEV_IOCTL_H
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#include <linux/auto_fs.h>
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#ifdef __KERNEL__
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#include <linux/string.h>
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#else
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#include <string.h>
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#endif /* __KERNEL__ */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEVICE_NAME "autofs"
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
a9cdc94f7ff40f22a3cf9472f612a80730a1b010Dave Reisner#define AUTOFS_DEV_IOCTL_VERSION_MAJOR 1
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_VERSION_MINOR 0
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEVID_LEN 16
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_SIZE sizeof(struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering/*
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * An ioctl interface for autofs mount point control.
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sieversstruct args_protover {
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers __u32 version;
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_protosubver {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 sub_version;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_openmount {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 devid;
0affed79d2e30013f07cb94e6f07e3fcb81c02faLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_ready {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 token;
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers};
7085053a437456ab87d726f3697002dd811fdf7aDaniel Wallace
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_fail {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 token;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __s32 status;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_setpipefd {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __s32 pipefd;
1b12a7b5896f94bdf33b3a6661ebabd761ea6adcHarald Hoyer};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_timeout {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u64 timeout;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_requester {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 uid;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 gid;
46e65dcc3a522b5e992e165b5e61d14254026859Lennart Poettering};
46e65dcc3a522b5e992e165b5e61d14254026859Lennart Poettering
46e65dcc3a522b5e992e165b5e61d14254026859Lennart Poetteringstruct args_expire {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 how;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_askumount {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 may_umount;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct args_ismountpoint {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering union {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering struct args_in {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 type;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering } in;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering struct args_out {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 devid;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 magic;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering } out;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering };
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering};
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering/*
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * All the ioctls use this structure.
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * When sending a path size must account for the total length
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * of the chunk of memory otherwise is is the size of the
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * structure.
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poetteringstruct autofs_dev_ioctl {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 ver_major;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 ver_minor;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __u32 size; /* total size of data passed in
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * including this struct */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering __s32 ioctlfd; /* automount command fd */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Command parameters */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering union {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering struct args_protover protover;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering struct args_protosubver protosubver;
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering struct args_openmount openmount;
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers struct args_ready ready;
b92bea5d2a9481de69bb627a7b442a9f58fca43dZbigniew Jędrzejewski-Szmek struct args_fail fail;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_setpipefd setpipefd;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_timeout timeout;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_requester requester;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_expire expire;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_askumount askumount;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers struct args_ismountpoint ismountpoint;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers };
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers char path[0];
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers};
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sieversstatic inline void init_autofs_dev_ioctl(struct autofs_dev_ioctl *in)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering{
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers memset(in, 0, sizeof(struct autofs_dev_ioctl));
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering in->ver_major = AUTOFS_DEV_IOCTL_VERSION_MAJOR;
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers in->ver_minor = AUTOFS_DEV_IOCTL_VERSION_MINOR;
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers in->size = sizeof(struct autofs_dev_ioctl);
ffc06c3513d9a0693c7f810d03b20705127ba55aKay Sievers in->ioctlfd = -1;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers return;
9f6eb1cd58f2ddf2eb6ba0e4de056e13d938af75Kay Sievers}
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers/*
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * If you change this make sure you make the corresponding change
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering * to autofs-dev-ioctl.c:lookup_ioctl()
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sieversenum {
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Get various version info */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_VERSION_CMD = 0x71,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_PROTOVER_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD,
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers /* Open mount ioctl fd */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_OPENMOUNT_CMD,
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Close mount ioctl fd */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Mount/expire status returns */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_READY_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_FAIL_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers /* Activate/deactivate autofs mount */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_SETPIPEFD_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_CATATONIC_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers /* Expiry timeout */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_TIMEOUT_CMD,
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Get mount last requesting uid and gid */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_REQUESTER_CMD,
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers /* Check for eligible expire candidates */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_EXPIRE_CMD,
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering /* Request busy status */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD,
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers /* Check if path is a mountpoint */
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD,
e1636421f46db6d06fbd028ef20a3113fa3e11f8Lennart Poettering};
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_IOCTL 0x93
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
4d7859d173282e16bb75254c2b4ec14a915ef30bKay Sievers#define AUTOFS_DEV_IOCTL_VERSION \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_VERSION_CMD, struct autofs_dev_ioctl)
17d33cecaa762f7e43200307328af5e9135e2091Giovanni Campagna
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_PROTOVER \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_PROTOVER_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_PROTOSUBVER \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_PROTOSUBVER_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_OPENMOUNT \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_OPENMOUNT_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_CLOSEMOUNT \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_CLOSEMOUNT_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_READY \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_READY_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_FAIL \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_FAIL_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_SETPIPEFD \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_SETPIPEFD_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_CATATONIC \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_CATATONIC_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_TIMEOUT \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_TIMEOUT_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_REQUESTER \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_REQUESTER_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_EXPIRE \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_EXPIRE_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
17d33cecaa762f7e43200307328af5e9135e2091Giovanni Campagna#define AUTOFS_DEV_IOCTL_ASKUMOUNT \
17d33cecaa762f7e43200307328af5e9135e2091Giovanni Campagna _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_ASKUMOUNT_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#define AUTOFS_DEV_IOCTL_ISMOUNTPOINT \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering _IOWR(AUTOFS_IOCTL, \
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering AUTOFS_DEV_IOCTL_ISMOUNTPOINT_CMD, struct autofs_dev_ioctl)
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering#endif /* _LINUX_AUTO_DEV_IOCTL_H */
2087a7aff26ea5d1bc2c7c29add3275328f36baaLennart Poettering