/*
- * Copyright (c) 2000-2011 Apple Inc. All rights reserved.
+ * Copyright (c) 2000-2014 Apple Inc. All rights reserved.
*
* @APPLE_OSREFERENCE_LICENSE_HEADER_START@
*
#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.
#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 */
* 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 */
} 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 */
};