xref: /haiku/src/add-ons/kernel/file_systems/ntfs/libntfs/param.h (revision 1c09002cbee8e797a0f8bbfc5678dfadd39ee1a7)
1 /*
2  * param.h - Parameter values for ntfs-3g
3  *
4  * Copyright (c) 2009      Jean-Pierre Andre
5  *
6  * This program/include file is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License as published
8  * by the Free Software Foundation; either version 2 of the License, or
9  * (at your option) any later version.
10  *
11  * This program/include file is distributed in the hope that it will be
12  * useful, but WITHOUT ANY WARRANTY; without even the implied warranty
13  * of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14  * GNU General Public License for more details.
15  *
16  * You should have received a copy of the GNU General Public License
17  * along with this program (in the main directory of the NTFS-3G
18  * distribution in the file COPYING); if not, write to the Free Software
19  * Foundation,Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
20  */
21 
22 #ifndef _NTFS_PARAM_H
23 #define _NTFS_PARAM_H
24 
25 #define CACHE_INODE_SIZE 32	/* inode cache, zero or >= 3 and not too big */
26 #define CACHE_NIDATA_SIZE 64	/* idata cache, zero or >= 3 and not too big */
27 #define CACHE_LOOKUP_SIZE 64	/* lookup cache, zero or >= 3 and not too big */
28 #define CACHE_SECURID_SIZE 16    /* securid cache, zero or >= 3 and not too big */
29 #define CACHE_LEGACY_SIZE 8    /* legacy cache size, zero or >= 3 and not too big */
30 
31 #define FORCE_FORMAT_v1x 0	/* Insert security data as in NTFS v1.x */
32 #define OWNERFROMACL 1		/* Get the owner from ACL (not Windows owner) */
33 
34 		/* default security sub-authorities */
35 enum {
36 	DEFSECAUTH1 = -1153374643, /* 3141592653 */
37 	DEFSECAUTH2 = 589793238,
38 	DEFSECAUTH3 = 462843383,
39 	DEFSECBASE = 10000
40 };
41 
42 /*
43  *		Parameters for compression
44  */
45 
46 	/* default option for compression */
47 #define DEFAULT_COMPRESSION FALSE
48 	/* (log2 of) number of clusters in a compression block for new files */
49 #define STANDARD_COMPRESSION_UNIT 4
50 	/* maximum cluster size for allowing compression for new files */
51 #define MAX_COMPRESSION_CLUSTER_SIZE 4096
52 
53 /*
54  *		Permission checking modes for high level and low level
55  *
56  *	The choices for high and low lowel are independent, they have
57  *	no effect on the library
58  *
59  *	Stick to the recommended values unless you understand the consequences
60  *	on protection and performances. Use of cacheing is good for
61  *	performances, but bad on security.
62  *
63  *	Possible values for high level :
64  *		1 : no cache, kernel control (recommended)
65  *		4 : no cache, file system control
66  *		7 : no cache, kernel control for ACLs
67  *
68  *	Possible values for low level :
69  *		2 : no cache, kernel control
70  *		3 : use kernel/fuse cache, kernel control
71  *		5 : no cache, file system control (recommended)
72  *		8 : no cache, kernel control for ACLs
73  *
74  *	Use of options 7 and 8 requires a patch to fuse
75  *	When Posix ACLs are selected in the configure options, a value
76  *	of 6 is added in the mount report.
77  */
78 
79 #define HPERMSCONFIG 1
80 #define LPERMSCONFIG 5
81 
82 #endif /* defined _NTFS_PARAM_H */
83