"Fossies" - the Fresh Open Source Software Archive

Member "ntfs-3g_ntfsprogs-2017.3.23/include/ntfs-3g/param.h" (23 Mar 2017, 5057 Bytes) of package /linux/misc/ntfs-3g_ntfsprogs-2017.3.23.tgz:


As a special service "Fossies" has tried to format the requested source page into HTML format using (guessed) C and C++ source code syntax highlighting (style: standard) with prefixed line numbers and code folding option. Alternatively you can here view or download the uninterpreted source code file. For more information about "param.h" see the Fossies "Dox" file reference documentation and the latest Fossies "Diffs" side-by-side code changes report: 3g_ntfsprogs-2016.2.22_vs_3g_ntfsprogs-2017.3.23.

    1 /*
    2  * param.h - Parameter values for ntfs-3g
    3  *
    4  * Copyright (c) 2009-2010 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 1
   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  *      Parameters for default options
   55  */
   56 
   57 #define DEFAULT_DMTIME 60 /* default 1mn for delay_mtime */
   58 
   59 /*
   60  *      Use of big write buffers
   61  *
   62  *  With small volumes, the cluster allocator may fail to allocate
   63  *  enough clusters when the volume is nearly full. At most a run
   64  *  can be allocated per bitmap chunk. So, there is a danger when the
   65  *  number of chunks (capacity/(32768*clsiz)) is less than the number
   66  *  of clusters in the biggest write buffer (131072/clsiz). Hence
   67  *  a safe minimal capacity is 4GB
   68  */
   69 
   70 #define SAFE_CAPACITY_FOR_BIG_WRITES 0x100000000LL
   71 
   72 /*
   73  *      Parameters for runlists
   74  */
   75 
   76     /* only update the final extent of a runlist when appending data */
   77 #define PARTIAL_RUNLIST_UPDATING 1
   78 
   79 /*
   80  *      Parameters for upper-case table
   81  */
   82 
   83     /* Create upper-case tables as defined by Windows 6.1 (Win7) */
   84 #define UPCASE_MAJOR 6
   85 #define UPCASE_MINOR 1
   86 
   87 /*
   88  *      Parameters for user and xattr mappings
   89  */
   90 
   91 #define XATTRMAPPINGFILE ".NTFS-3G/XattrMapping" /* default mapping file */
   92 
   93 /*
   94  *      Parameters for path canonicalization
   95  */
   96 
   97 #define MAPPERNAMELTH 256
   98 
   99 /*
  100  *      Permission checking modes for high level and low level
  101  *
  102  *  The choices for high and low lowel are independent, they have
  103  *  no effect on the library
  104  *
  105  *  Stick to the recommended values unless you understand the consequences
  106  *  on protection and performances. Use of cacheing is good for
  107  *  performances, but bad on security with internal fuse or external
  108  *  fuse older than 2.8
  109  *
  110  *  On Linux, cacheing is discouraged for the high level interface
  111  *  in order to get proper support of hard links. As a consequence,
  112  *  having access control in the file system leads to fewer requests
  113  *  to the file system and fewer context switches.
  114  *
  115  *  Possible values for high level :
  116  *      1 : no cache, kernel control (recommended)
  117  *      4 : no cache, file system control
  118  *      6 : kernel/fuse cache, file system control (OpenIndiana only)
  119  *      7 : no cache, kernel control for ACLs
  120  *
  121  *  Possible values for low level :
  122  *      2 : no cache, kernel control
  123  *      3 : use kernel/fuse cache, kernel control  (recommended)
  124  *      5 : no cache, file system control
  125  *      6 : kernel/fuse cache, file system control (OpenIndiana only)
  126  *      8 : no cache, kernel control for ACLs
  127  *      9 : kernel/fuse cache, kernel control for ACLs (target)
  128  *
  129  *  Use of options 7, 8 and 9 requires a fuse module upgrade
  130  *  When Posix ACLs are selected in the configure options, a value
  131  *  of 6 is added in the mount report.
  132  */
  133 
  134 #if defined(__sun) && defined(__SVR4)
  135 /*
  136  *  Access control by kernel is not implemented on OpenIndiana,
  137  *  however care is taken of cacheing hard-linked files.
  138  */
  139 #define HPERMSCONFIG 6
  140 #define LPERMSCONFIG 6
  141 #else /* defined(__sun) && defined(__SVR4) */
  142 /*
  143  *  Cacheing by kernel is buggy on Linux when access control is done
  144  *  by the file system, and also when using hard-linked files on
  145  *  the fuse high level interface.
  146  */
  147 #define HPERMSCONFIG 1
  148 #define LPERMSCONFIG 3 /* Use 9 when ACLs are supported by fuse kernel */
  149 #endif /* defined(__sun) && defined(__SVR4) */
  150 
  151 #endif /* defined _NTFS_PARAM_H */