]> git.saurik.com Git - apple/copyfile.git/blobdiff - copyfile.h
copyfile-146.50.5.tar.gz
[apple/copyfile.git] / copyfile.h
index 4029d217bf6e08fb7f0822ba66a7ee0b0625dca3..efea9dd5445ea19f607ac038067d2b7cc1815627 100644 (file)
 #define _COPYFILE_H_
 
 /*
- * this is an API to faciliatate copying of files and their
- * associated metadata.  There are several open source projects that
- * need modifications to support preserving extended attributes and
- * acls and this API collapses several hundred lines of modifications
- * into one or two calls.
- *
- * This implementation is incomplete and the interface may change in a 
- * future release.
+ * This API facilitates the copying of files and their associated
+ * metadata.  There are several open source projects that need
+ * modifications to support preserving extended attributes and ACLs
+ * and this API collapses several hundred lines of modifications into
+ * one or two calls.
  */
 
 /* private */
@@ -76,6 +73,8 @@ typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *, con
 #define        COPYFILE_STATE_STATUS_CTX       7
 #define        COPYFILE_STATE_COPIED           8
 #define        COPYFILE_STATE_XATTRNAME        9
+#define        COPYFILE_STATE_WAS_CLONED       10
+
 
 #define        COPYFILE_DISABLE_VAR    "COPYFILE_DISABLE"
 
@@ -102,6 +101,13 @@ typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *, con
 #define COPYFILE_PACK          (1<<22)
 #define COPYFILE_UNPACK                (1<<23)
 
+#define COPYFILE_CLONE         (1<<24)
+#define COPYFILE_CLONE_FORCE   (1<<25)
+
+#define COPYFILE_RUN_IN_PLACE  (1<<26)
+
+#define COPYFILE_DATA_SPARSE   (1<<27)
+
 #define COPYFILE_VERBOSE       (1<<30)
 
 #define        COPYFILE_RECURSE_ERROR  0