You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
129 lines
4.4 KiB
129 lines
4.4 KiB
/****************************************************************************
|
|
****************************************************************************
|
|
***
|
|
*** This header was automatically generated from a Linux kernel header
|
|
*** of the same name, to make information necessary for userspace to
|
|
*** call into the kernel available to libc. It contains only constants,
|
|
*** structures, and macros generated from the original header, and thus,
|
|
*** contains no copyrightable information.
|
|
***
|
|
*** To edit the content of this header, modify the corresponding
|
|
*** source file (e.g. under external/kernel-headers/original/) then
|
|
*** run bionic/libc/kernel/tools/update_all.py
|
|
***
|
|
*** Any manual change here will be lost the next time this script will
|
|
*** be run. You've been warned!
|
|
***
|
|
****************************************************************************
|
|
****************************************************************************/
|
|
#ifndef _UAPI_LINUX_AUTO_FS_H
|
|
#define _UAPI_LINUX_AUTO_FS_H
|
|
#include <linux/types.h>
|
|
#include <linux/limits.h>
|
|
#include <sys/ioctl.h>
|
|
#define AUTOFS_PROTO_VERSION 5
|
|
#define AUTOFS_MIN_PROTO_VERSION 3
|
|
#define AUTOFS_MAX_PROTO_VERSION 5
|
|
#define AUTOFS_PROTO_SUBVERSION 5
|
|
#if defined(__ia64__) || defined(__alpha__)
|
|
typedef unsigned long autofs_wqt_t;
|
|
#else
|
|
typedef unsigned int autofs_wqt_t;
|
|
#endif
|
|
#define autofs_ptype_missing 0
|
|
#define autofs_ptype_expire 1
|
|
struct autofs_packet_hdr {
|
|
int proto_version;
|
|
int type;
|
|
};
|
|
struct autofs_packet_missing {
|
|
struct autofs_packet_hdr hdr;
|
|
autofs_wqt_t wait_queue_token;
|
|
int len;
|
|
char name[NAME_MAX + 1];
|
|
};
|
|
struct autofs_packet_expire {
|
|
struct autofs_packet_hdr hdr;
|
|
int len;
|
|
char name[NAME_MAX + 1];
|
|
};
|
|
#define AUTOFS_IOCTL 0x93
|
|
enum {
|
|
AUTOFS_IOC_READY_CMD = 0x60,
|
|
AUTOFS_IOC_FAIL_CMD,
|
|
AUTOFS_IOC_CATATONIC_CMD,
|
|
AUTOFS_IOC_PROTOVER_CMD,
|
|
AUTOFS_IOC_SETTIMEOUT_CMD,
|
|
AUTOFS_IOC_EXPIRE_CMD,
|
|
};
|
|
#define AUTOFS_IOC_READY _IO(AUTOFS_IOCTL, AUTOFS_IOC_READY_CMD)
|
|
#define AUTOFS_IOC_FAIL _IO(AUTOFS_IOCTL, AUTOFS_IOC_FAIL_CMD)
|
|
#define AUTOFS_IOC_CATATONIC _IO(AUTOFS_IOCTL, AUTOFS_IOC_CATATONIC_CMD)
|
|
#define AUTOFS_IOC_PROTOVER _IOR(AUTOFS_IOCTL, AUTOFS_IOC_PROTOVER_CMD, int)
|
|
#define AUTOFS_IOC_SETTIMEOUT32 _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, compat_ulong_t)
|
|
#define AUTOFS_IOC_SETTIMEOUT _IOWR(AUTOFS_IOCTL, AUTOFS_IOC_SETTIMEOUT_CMD, unsigned long)
|
|
#define AUTOFS_IOC_EXPIRE _IOR(AUTOFS_IOCTL, AUTOFS_IOC_EXPIRE_CMD, struct autofs_packet_expire)
|
|
#define AUTOFS_EXP_NORMAL 0x00
|
|
#define AUTOFS_EXP_IMMEDIATE 0x01
|
|
#define AUTOFS_EXP_LEAVES 0x02
|
|
#define AUTOFS_EXP_FORCED 0x04
|
|
#define AUTOFS_TYPE_ANY 0U
|
|
#define AUTOFS_TYPE_INDIRECT 1U
|
|
#define AUTOFS_TYPE_DIRECT 2U
|
|
#define AUTOFS_TYPE_OFFSET 4U
|
|
enum autofs_notify {
|
|
NFY_NONE,
|
|
NFY_MOUNT,
|
|
NFY_EXPIRE
|
|
};
|
|
#define autofs_ptype_expire_multi 2
|
|
#define autofs_ptype_missing_indirect 3
|
|
#define autofs_ptype_expire_indirect 4
|
|
#define autofs_ptype_missing_direct 5
|
|
#define autofs_ptype_expire_direct 6
|
|
struct autofs_packet_expire_multi {
|
|
struct autofs_packet_hdr hdr;
|
|
autofs_wqt_t wait_queue_token;
|
|
int len;
|
|
char name[NAME_MAX + 1];
|
|
};
|
|
union autofs_packet_union {
|
|
struct autofs_packet_hdr hdr;
|
|
struct autofs_packet_missing missing;
|
|
struct autofs_packet_expire expire;
|
|
struct autofs_packet_expire_multi expire_multi;
|
|
};
|
|
struct autofs_v5_packet {
|
|
struct autofs_packet_hdr hdr;
|
|
autofs_wqt_t wait_queue_token;
|
|
__u32 dev;
|
|
__u64 ino;
|
|
__u32 uid;
|
|
__u32 gid;
|
|
__u32 pid;
|
|
__u32 tgid;
|
|
__u32 len;
|
|
char name[NAME_MAX + 1];
|
|
};
|
|
typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
|
|
typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
|
|
typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
|
|
typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
|
|
union autofs_v5_packet_union {
|
|
struct autofs_packet_hdr hdr;
|
|
struct autofs_v5_packet v5_packet;
|
|
autofs_packet_missing_indirect_t missing_indirect;
|
|
autofs_packet_expire_indirect_t expire_indirect;
|
|
autofs_packet_missing_direct_t missing_direct;
|
|
autofs_packet_expire_direct_t expire_direct;
|
|
};
|
|
enum {
|
|
AUTOFS_IOC_EXPIRE_MULTI_CMD = 0x66,
|
|
AUTOFS_IOC_PROTOSUBVER_CMD,
|
|
AUTOFS_IOC_ASKUMOUNT_CMD = 0x70,
|
|
};
|
|
#define AUTOFS_IOC_EXPIRE_MULTI _IOW(AUTOFS_IOCTL, AUTOFS_IOC_EXPIRE_MULTI_CMD, int)
|
|
#define AUTOFS_IOC_PROTOSUBVER _IOR(AUTOFS_IOCTL, AUTOFS_IOC_PROTOSUBVER_CMD, int)
|
|
#define AUTOFS_IOC_ASKUMOUNT _IOR(AUTOFS_IOCTL, AUTOFS_IOC_ASKUMOUNT_CMD, int)
|
|
#endif
|