X-Git-Url: https://git.saurik.com/apple/copyfile.git/blobdiff_plain/3f81d1c47321267dea83d8aeda8d3e9cbf343274..937356ff807fe25e0d85d70c3cbba86240340294:/copyfile.h diff --git a/copyfile.h b/copyfile.h index 4029d21..efea9dd 100644 --- a/copyfile.h +++ b/copyfile.h @@ -24,14 +24,11 @@ #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