+/*
+ * struct representing a document "tombstone" that's recorded
+ * when a thread manipulates files marked with a document-id.
+ * if the thread recreates the same item, this tombstone is
+ * used to preserve the document_id on the new file.
+ *
+ * It is a separate structure because of its size - we want to
+ * allocate it on demand instead of just stuffing it into the
+ * uthread structure.
+ */
+struct doc_tombstone {
+ struct vnode *t_lastop_parent;
+ struct vnode *t_lastop_item;
+ uint32_t t_lastop_parent_vid;
+ uint32_t t_lastop_item_vid;
+ uint64_t t_lastop_fileid;
+ uint64_t t_lastop_document_id;
+ unsigned char t_lastop_filename[NAME_MAX+1];
+};
+
+#endif /* !__LP64 || XNU_KERNEL_PRIVATE */
+
+#ifdef BSD_KERNEL_PRIVATE