129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			129 lines
		
	
	
		
			4.4 KiB
		
	
	
	
		
			C
		
	
	
	
/****************************************************************************
 | 
						|
 ****************************************************************************
 | 
						|
 ***
 | 
						|
 ***   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
 |