Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
freebsd
GitHub Repository: freebsd/freebsd-src
Path: blob/main/sys/fs/autofs/autofs_ioctl.h
39483 views
1
/*-
2
* SPDX-License-Identifier: BSD-2-Clause
3
*
4
* Copyright (c) 2013 The FreeBSD Foundation
5
*
6
* This software was developed by Edward Tomasz Napierala under sponsorship
7
* from the FreeBSD Foundation.
8
*
9
* Redistribution and use in source and binary forms, with or without
10
* modification, are permitted provided that the following conditions
11
* are met:
12
* 1. Redistributions of source code must retain the above copyright
13
* notice, this list of conditions and the following disclaimer.
14
* 2. Redistributions in binary form must reproduce the above copyright
15
* notice, this list of conditions and the following disclaimer in the
16
* documentation and/or other materials provided with the distribution.
17
*
18
* THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
19
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
20
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
21
* ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE
22
* FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
23
* DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
24
* OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
25
* HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
26
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
27
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
28
* SUCH DAMAGE.
29
*/
30
31
#ifndef AUTOFS_IOCTL_H
32
#define AUTOFS_IOCTL_H
33
34
#define AUTOFS_PATH "/dev/autofs"
35
36
struct autofs_daemon_request {
37
/*
38
* Request identifier.
39
*/
40
int adr_id;
41
42
/*
43
* The "from" field, containing map name. For example,
44
* when accessing '/net/192.168.1.3/tank/vm/', that would
45
* be '-hosts'.
46
*/
47
char adr_from[MAXPATHLEN];
48
49
/*
50
* Full path to the node being looked up; for requests that result
51
* in actual mount it is the full mount path.
52
*/
53
char adr_path[MAXPATHLEN];
54
55
/*
56
* Prefix, which is basically the mountpoint from auto_master(5).
57
* In example above that would be "/net"; for direct maps it is "/".
58
*/
59
char adr_prefix[MAXPATHLEN];
60
61
/*
62
* Map key, also used as command argument for dynamic maps; in example
63
* above that would be '192.168.1.3'.
64
*/
65
char adr_key[MAXPATHLEN];
66
67
/*
68
* Mount options from auto_master(5).
69
*/
70
char adr_options[MAXPATHLEN];
71
};
72
73
/*
74
* Compatibility with 10.1-RELEASE automountd(8).
75
*/
76
struct autofs_daemon_done_101 {
77
/*
78
* Identifier, copied from adr_id.
79
*/
80
int add_id;
81
82
/*
83
* Error number, possibly returned to userland.
84
*/
85
int add_error;
86
};
87
88
struct autofs_daemon_done {
89
/*
90
* Identifier, copied from adr_id.
91
*/
92
int add_id;
93
94
/*
95
* Set to 1 if the map may contain wildcard entries;
96
* otherwise autofs will do negative caching.
97
*/
98
int add_wildcards;
99
100
/*
101
* Error number, possibly returned to userland.
102
*/
103
int add_error;
104
105
/*
106
* Reserved for future use.
107
*/
108
int add_spare[7];
109
};
110
111
#define AUTOFSREQUEST _IOR('I', 0x01, struct autofs_daemon_request)
112
#define AUTOFSDONE101 _IOW('I', 0x02, struct autofs_daemon_done_101)
113
#define AUTOFSDONE _IOW('I', 0x03, struct autofs_daemon_done)
114
115
#endif /* !AUTOFS_IOCTL_H */
116
117