X-Git-Url: https://git.saurik.com/apple/copyfile.git/blobdiff_plain/057451129e3c282d58950c12d8391a5516dabffe..659640e4eb4c4d74a1ac49f001c306d34c892759:/copyfile.h?ds=inline diff --git a/copyfile.h b/copyfile.h index 8a0c6ad..0cb493b 100644 --- a/copyfile.h +++ b/copyfile.h @@ -65,11 +65,16 @@ copyfile_state_t copyfile_state_alloc(void); int copyfile_state_get(copyfile_state_t s, uint32_t flag, void * dst); int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src); +typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *, const char *, void *); + #define COPYFILE_STATE_SRC_FD 1 #define COPYFILE_STATE_SRC_FILENAME 2 #define COPYFILE_STATE_DST_FD 3 #define COPYFILE_STATE_DST_FILENAME 4 #define COPYFILE_STATE_QUARANTINE 5 +#define COPYFILE_STATE_STATUS_CB 6 +#define COPYFILE_STATE_STATUS_CTX 7 +#define COPYFILE_STATE_COPIED 8 #define COPYFILE_DISABLE_VAR "COPYFILE_DISABLE" @@ -84,6 +89,7 @@ int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src); #define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR) #define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA) +#define COPYFILE_RECURSIVE (1<<15) /* Descend into hierarchies */ #define COPYFILE_CHECK (1<<16) /* return flags for xattr or acls if set */ #define COPYFILE_EXCL (1<<17) /* fail if destination exists */ #define COPYFILE_NOFOLLOW_SRC (1<<18) /* don't follow if source is a symlink */ @@ -97,6 +103,21 @@ int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src); #define COPYFILE_VERBOSE (1<<30) +#define COPYFILE_RECURSE_ERROR 0 +#define COPYFILE_RECURSE_FILE 1 +#define COPYFILE_RECURSE_DIR 2 +#define COPYFILE_RECURSE_DIR_CLEANUP 3 +#define COPYFILE_COPY_DATA 4 + +#define COPYFILE_START 1 +#define COPYFILE_FINISH 2 +#define COPYFILE_ERR 3 +#define COPYFILE_PROGRESS 4 + +#define COPYFILE_CONTINUE 0 +#define COPYFILE_SKIP 1 +#define COPYFILE_QUIT 2 + __END_DECLS #endif /* _COPYFILE_H_ */