]> CyberLeo.Net >> Repos - FreeBSD/releng/10.0.git/blob - sys/fs/fuse/fuse_param.h
- Copy stable/10 (r259064) to releng/10.0 as part of the
[FreeBSD/releng/10.0.git] / sys / fs / fuse / fuse_param.h
1 /*
2  * Copyright (c) 2007-2009 Google Inc. and Amit Singh
3  * All rights reserved.
4  * 
5  * Redistribution and use in source and binary forms, with or without
6  * modification, are permitted provided that the following conditions are
7  * met:
8  * 
9  * * Redistributions of source code must retain the above copyright
10  *   notice, this list of conditions and the following disclaimer.
11  * * Redistributions in binary form must reproduce the above
12  *   copyright notice, this list of conditions and the following disclaimer
13  *   in the documentation and/or other materials provided with the
14  *   distribution.
15  * * Neither the name of Google Inc. nor the names of its
16  *   contributors may be used to endorse or promote products derived from
17  *   this software without specific prior written permission.
18  * 
19  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
20  * "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
21  * LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
22  * A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
23  * OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
24  * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
25  * LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
26  * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
27  * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
28  * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
29  * OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
30  *
31  * $FreeBSD$ 
32  */
33
34 #ifndef _FUSE_PARAM_H_
35 #define _FUSE_PARAM_H_
36
37 /*
38  * This is the prefix ("fuse" by default) of the name of a FUSE device node
39  * in devfs. The suffix is the device number. "/dev/fuse0" is the first FUSE
40  * device by default. If you change the prefix from the default to something
41  * else, the user-space FUSE library will need to know about it too.
42  */
43 #define FUSE_DEVICE_BASENAME               "fuse"
44
45 /*
46  * This is the number of /dev/fuse<n> nodes we will create. <n> goes from
47  * 0 to (FUSE_NDEVICES - 1).
48  */
49 #define FUSE_NDEVICES                      16
50
51 /*
52  * This is the default block size of the virtual storage devices that are
53  * implicitly implemented by the FUSE kernel extension. This can be changed
54  * on a per-mount basis (there's one such virtual device for each mount).
55  */
56 #define FUSE_DEFAULT_BLOCKSIZE             4096
57
58 /*
59  * This is default I/O size used while accessing the virtual storage devices.
60  * This can be changed on a per-mount basis.
61  */
62 #define FUSE_DEFAULT_IOSIZE                4096
63
64 #ifdef KERNEL
65
66 /*
67  * This is the soft upper limit on the number of "request tickets" FUSE's
68  * user-kernel IPC layer can have for a given mount. This can be modified
69  * through the fuse.* sysctl interface.
70  */
71 #define FUSE_DEFAULT_MAX_FREE_TICKETS      1024
72
73 #define FUSE_DEFAULT_IOV_PERMANENT_BUFSIZE (1L << 19)
74 #define FUSE_DEFAULT_IOV_CREDIT            16
75
76 #endif
77
78 #define FUSE_LINK_MAX                      LINK_MAX
79
80 #endif /* _FUSE_PARAM_H_ */