linux/include/linux/auto_fs4.h
<<
>>
Prefs
   1/* -*- c -*-
   2 * linux/include/linux/auto_fs4.h
   3 *
   4 * Copyright 1999-2000 Jeremy Fitzhardinge <jeremy@goop.org>
   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_FS4_H
  12#define _LINUX_AUTO_FS4_H
  13
  14/* Include common v3 definitions */
  15#include <linux/auto_fs.h>
  16
  17/* autofs v4 definitions */
  18#undef AUTOFS_PROTO_VERSION
  19#undef AUTOFS_MIN_PROTO_VERSION
  20#undef AUTOFS_MAX_PROTO_VERSION
  21
  22#define AUTOFS_PROTO_VERSION            5
  23#define AUTOFS_MIN_PROTO_VERSION        3
  24#define AUTOFS_MAX_PROTO_VERSION        5
  25
  26#define AUTOFS_PROTO_SUBVERSION         0
  27
  28/* Mask for expire behaviour */
  29#define AUTOFS_EXP_IMMEDIATE            1
  30#define AUTOFS_EXP_LEAVES               2
  31
  32/* Daemon notification packet types */
  33enum autofs_notify {
  34        NFY_NONE,
  35        NFY_MOUNT,
  36        NFY_EXPIRE
  37};
  38
  39/* Kernel protocol version 4 packet types */
  40
  41/* Expire entry (umount request) */
  42#define autofs_ptype_expire_multi       2
  43
  44/* Kernel protocol version 5 packet types */
  45
  46/* Indirect mount missing and expire requests. */
  47#define autofs_ptype_missing_indirect   3
  48#define autofs_ptype_expire_indirect    4
  49
  50/* Direct mount missing and expire requests */
  51#define autofs_ptype_missing_direct     5
  52#define autofs_ptype_expire_direct      6
  53
  54/* v4 multi expire (via pipe) */
  55struct autofs_packet_expire_multi {
  56        struct autofs_packet_hdr hdr;
  57        autofs_wqt_t wait_queue_token;
  58        int len;
  59        char name[NAME_MAX+1];
  60};
  61
  62union autofs_packet_union {
  63        struct autofs_packet_hdr hdr;
  64        struct autofs_packet_missing missing;
  65        struct autofs_packet_expire expire;
  66        struct autofs_packet_expire_multi expire_multi;
  67};
  68
  69/* autofs v5 common packet struct */
  70struct autofs_v5_packet {
  71        struct autofs_packet_hdr hdr;
  72        autofs_wqt_t wait_queue_token;
  73        __u32 dev;
  74        __u64 ino;
  75        __u32 uid;
  76        __u32 gid;
  77        __u32 pid;
  78        __u32 tgid;
  79        __u32 len;
  80        char name[NAME_MAX+1];
  81};
  82
  83typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
  84typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
  85typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
  86typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
  87
  88union autofs_v5_packet_union {
  89        struct autofs_packet_hdr hdr;
  90        struct autofs_v5_packet v5_packet;
  91        autofs_packet_missing_indirect_t missing_indirect;
  92        autofs_packet_expire_indirect_t expire_indirect;
  93        autofs_packet_missing_direct_t missing_direct;
  94        autofs_packet_expire_direct_t expire_direct;
  95};
  96
  97#define AUTOFS_IOC_EXPIRE_MULTI         _IOW(0x93,0x66,int)
  98#define AUTOFS_IOC_EXPIRE_INDIRECT      AUTOFS_IOC_EXPIRE_MULTI
  99#define AUTOFS_IOC_EXPIRE_DIRECT        AUTOFS_IOC_EXPIRE_MULTI
 100#define AUTOFS_IOC_PROTOSUBVER          _IOR(0x93,0x67,int)
 101#define AUTOFS_IOC_ASKREGHOST           _IOR(0x93,0x68,int)
 102#define AUTOFS_IOC_TOGGLEREGHOST        _IOR(0x93,0x69,int)
 103#define AUTOFS_IOC_ASKUMOUNT            _IOR(0x93,0x70,int)
 104
 105
 106#endif /* _LINUX_AUTO_FS4_H */
 107
lxr.linux.no kindly hosted by Redpill Linpro AS, provider of Linux consulting and operations services since 1995.