]> git.saurik.com Git - apple/xnu.git/blobdiff - bsd/sys/namei.h
xnu-3247.1.106.tar.gz
[apple/xnu.git] / bsd / sys / namei.h
index 9ea13c01e008eaab699e8ba0a30e1c56ccd6eff9..57b577d902114fe5765bdf05b7f3375434fc9259 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000-2011 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2014 Apple Inc. All rights reserved.
  *
  * @APPLE_OSREFERENCE_LICENSE_HEADER_START@
  * 
@@ -147,7 +147,6 @@ struct nameidata {
 #define        NOFOLLOW        0x00000000 /* do not follow symbolic links (pseudo) */
 /* public FOLLOW       0x00000040    see vnode.h */
 #define        SHAREDLEAF      0x00000080 /* OK to have shared leaf lock */
-/* public NOTRIGGER    0x10000000    see vnode.h */
 #define        MODMASK         0x100000fc /* mask of operational modifiers */
 /*
  * Namei parameter descriptors.
@@ -180,7 +179,11 @@ struct nameidata {
 #define CN_WANTSRSRCFORK 0x04000000
 #define CN_ALLOWRSRCFORK 0x08000000
 #endif
-/* public NOTRIGGER            0x10000000    see vnode.h */
+#if CONFIG_SECLUDED_RENAME
+#ifdef BSD_KERNEL_PRIVATE
+#define CN_SECLUDE_RENAME 0x10000000 /*rename iff ¬(hard-linked ∨ opened ∨ mmaped)*/
+#endif
+#endif
 #define CN_NBMOUNTLOOK 0x20000000 /* do not block for cross mount lookups */
 #ifdef BSD_KERNEL_PRIVATE
 #define CN_SKIPNAMECACHE       0x40000000      /* skip cache during lookup(), allow FS to handle all components */
@@ -231,9 +234,6 @@ struct nameidata {
  * This structure describes the elements in the cache of recent
  * names looked up by namei.
  */
-
-#define NCHASHMASK     0x7fffffff
-
 struct namecache {
        TAILQ_ENTRY(namecache)  nc_entry;       /* chain of all entries */
        LIST_ENTRY(namecache)   nc_hash;        /* hash chain */
@@ -244,8 +244,7 @@ struct      namecache {
        } nc_un;
        vnode_t                 nc_dvp;         /* vnode of parent of name */
        vnode_t                 nc_vp;          /* vnode the name refers to */
-        unsigned int           nc_whiteout:1,  /* name has whiteout applied */
-                               nc_hashval:31;  /* hashval of stringname */
+        unsigned int           nc_hashval;     /* hashval of stringname */
        const char              *nc_name;       /* pointer to segment name in string cache */
 };