~ubuntu-branches/debian/wheezy/autofs/wheezy

« back to all changes in this revision

Viewing changes to include/linux/auto_fs.h

  • Committer: Bazaar Package Importer
  • Author(s): Steve Langasek
  • Date: 2008-03-08 01:36:09 UTC
  • mfrom: (1.1.3 upstream)
  • Revision ID: james.westby@ubuntu.com-20080308013609-cvs4f2ecoyoism02
Tags: 4.1.4+debian-2.1
* Non-maintainer upload.
* High-urgency upload for RC bugfix.
* Add -DLDAP_DEPRECATED to CFLAGS, to fix compatibility with OpenLDAP
  2.4 on 64-bit architectures.  Closes: #463419.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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(__sparc__) || defined(__mips__) || defined(__s390__) || defined(__powerpc__) || defined(__x86_64__)
 
49
typedef unsigned int autofs_wqt_t;
 
50
#else
 
51
typedef 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
 
 
58
struct autofs_packet_hdr {
 
59
        int proto_version;              /* Protocol version */
 
60
        int type;                       /* Type of packet */
 
61
};
 
62
 
 
63
struct 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) */
 
71
struct 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
#ifdef __KERNEL__
 
85
 
 
86
/* Init function */
 
87
int init_autofs_fs(void);
 
88
 
 
89
#endif /* __KERNEL__ */
 
90
 
 
91
#endif /* _LINUX_AUTO_FS_H */