Linux kernel & device driver programming

Cross-Referenced Linux and Device Driver Code

[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ]
Version: [ 2.6.11.8 ] [ 2.6.25 ] [ 2.6.25.8 ] [ 2.6.31.13 ] Architecture: [ i386 ]
  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 */
 33 enum 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) */
 55 struct 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 
 62 union 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 */
 70 struct 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 
 83 typedef struct autofs_v5_packet autofs_packet_missing_indirect_t;
 84 typedef struct autofs_v5_packet autofs_packet_expire_indirect_t;
 85 typedef struct autofs_v5_packet autofs_packet_missing_direct_t;
 86 typedef struct autofs_v5_packet autofs_packet_expire_direct_t;
 87 
 88 union 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 
  This page was automatically generated by the LXR engine.