linux-old/include/linux/auto_fs.h
<<
>>
Prefs
   1/* -*- linux-c -*- ------------------------------------------------------- *
   2 *   
   3 * linux/include/linux/auto_fs.h
   4 *
   5 *   Copyright 1997 Transmeta Corporation - All Rights Reserved
   6 *
   7 * This file is part of the Linux kernel and is made available under
   8 * the terms of the GNU General Public License, version 2, or at your
   9 * option, any later version, incorporated herein by reference.
  10 *
  11 * ----------------------------------------------------------------------- */
  12
  13
  14#ifndef _LINUX_AUTO_FS_H
  15#define _LINUX_AUTO_FS_H
  16
  17#ifdef __KERNEL__
  18#include <linux/version.h>
  19#include <linux/fs.h>
  20#include <linux/limits.h>
  21#include <asm/types.h>
  22#endif /* __KERNEL__ */
  23
  24#include <linux/ioctl.h>
  25
  26/* This file describes autofs v3 */
  27#define AUTOFS_PROTO_VERSION    3
  28
  29/* Range of protocol versions defined */
  30#define AUTOFS_MAX_PROTO_VERSION        AUTOFS_PROTO_VERSION
  31#define AUTOFS_MIN_PROTO_VERSION        AUTOFS_PROTO_VERSION
  32
  33/*
  34 * Architectures where both 32- and 64-bit binaries can be executed
  35 * on 64-bit kernels need this.  This keeps the structure format
  36 * uniform, and makes sure the wait_queue_token isn't too big to be
  37 * passed back down to the kernel.
  38 *
  39 * This assumes that on these architectures:
  40 * mode     32 bit    64 bit
  41 * -------------------------
  42 * int      32 bit    32 bit
  43 * long     32 bit    64 bit
  44 *
  45 * If so, 32-bit user-space code should be backwards compatible.
  46 */
  47
  48#if !defined(__alpha__) && !defined(__ia64__)   
  49typedef unsigned int autofs_wqt_t;
  50#else
  51typedef unsigned long autofs_wqt_t;
  52#endif
  53
  54/* Packet types */
  55#define autofs_ptype_missing    0       /* Missing entry (mount request) */
  56#define autofs_ptype_expire     1       /* Expire entry (umount request) */
  57
  58struct autofs_packet_hdr {
  59        int proto_version;              /* Protocol version */
  60        int type;                       /* Type of packet */
  61};
  62
  63struct autofs_packet_missing {
  64        struct autofs_packet_hdr hdr;
  65        autofs_wqt_t wait_queue_token;
  66        int len;
  67        char name[NAME_MAX+1];
  68};      
  69
  70/* v3 expire (via ioctl) */
  71struct autofs_packet_expire {
  72        struct autofs_packet_hdr hdr;
  73        int len;
  74        char name[NAME_MAX+1];
  75};
  76
  77#define AUTOFS_IOC_READY      _IO(0x93,0x60)
  78#define AUTOFS_IOC_FAIL       _IO(0x93,0x61)
  79#define AUTOFS_IOC_CATATONIC  _IO(0x93,0x62)
  80#define AUTOFS_IOC_PROTOVER   _IOR(0x93,0x63,int)
  81#define AUTOFS_IOC_SETTIMEOUT _IOWR(0x93,0x64,unsigned long)
  82#define AUTOFS_IOC_EXPIRE     _IOR(0x93,0x65,struct autofs_packet_expire)
  83
  84#endif /* _LINUX_AUTO_FS_H */
  85
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.