#include <copyfile.h>
copyfile.h
version 0.1
typedefcopyfile_state_t
typedef struct _copyfile_state * copyfile_state_t
typedefcopyfile_flags_t
typedef uint32_t copyfile_flags_t
functioncopyfile
int copyfile( const char *__unsafe_indexable from, const char *__unsafe_indexable to, copyfile_state_t state, copyfile_flags_t flags )
functionfcopyfile
int fcopyfile(int from_fd, int to_fd, copyfile_state_t, copyfile_flags_t flags)
functioncopyfile_state_free
int copyfile_state_free(copyfile_state_t)
functioncopyfile_state_alloc
copyfile_state_t copyfile_state_alloc(void)
functioncopyfile_state_get
int copyfile_state_get(copyfile_state_t s, uint32_t flag, void * dst)
functioncopyfile_state_set
int copyfile_state_set(copyfile_state_t s, uint32_t flag, const void * src)
typedefcopyfile_callback_t
typedef int (*copyfile_callback_t)(int, int, copyfile_state_t, const char *__unsafe_indexable, const char *__unsafe_indexable, void *)
macroCOPYFILE_STATE_SRC_FD
#define COPYFILE_STATE_SRC_FD 1
macroCOPYFILE_STATE_SRC_FILENAME
#define COPYFILE_STATE_SRC_FILENAME 2
macroCOPYFILE_STATE_DST_FD
#define COPYFILE_STATE_DST_FD 3
macroCOPYFILE_STATE_DST_FILENAME
#define COPYFILE_STATE_DST_FILENAME 4
macroCOPYFILE_STATE_QUARANTINE
#define COPYFILE_STATE_QUARANTINE 5
macroCOPYFILE_STATE_STATUS_CB
#define COPYFILE_STATE_STATUS_CB 6
macroCOPYFILE_STATE_STATUS_CTX
#define COPYFILE_STATE_STATUS_CTX 7
macroCOPYFILE_STATE_COPIED
#define COPYFILE_STATE_COPIED 8
macroCOPYFILE_STATE_XATTRNAME
#define COPYFILE_STATE_XATTRNAME 9
macroCOPYFILE_STATE_WAS_CLONED
#define COPYFILE_STATE_WAS_CLONED 10
macroCOPYFILE_STATE_SRC_BSIZE
#define COPYFILE_STATE_SRC_BSIZE 11
macroCOPYFILE_STATE_DST_BSIZE
#define COPYFILE_STATE_DST_BSIZE 12
macroCOPYFILE_STATE_BSIZE
#define COPYFILE_STATE_BSIZE 13
macroCOPYFILE_STATE_FORBID_CROSS_MOUNT
#define COPYFILE_STATE_FORBID_CROSS_MOUNT 14
macroCOPYFILE_STATE_NOCPROTECT
#define COPYFILE_STATE_NOCPROTECT 15
macroCOPYFILE_STATE_PRESERVE_SUID
#define COPYFILE_STATE_PRESERVE_SUID 16
macroCOPYFILE_STATE_RECURSIVE_SRC_FTSENT
#define COPYFILE_STATE_RECURSIVE_SRC_FTSENT 17
macroCOPYFILE_STATE_FORBID_DST_EXISTING_SYMLINKS
#define COPYFILE_STATE_FORBID_DST_EXISTING_SYMLINKS 18
macroCOPYFILE_DISABLE_VAR
#define COPYFILE_DISABLE_VAR "COPYFILE_DISABLE"
macroCOPYFILE_ACL
#define COPYFILE_ACL (1<<0)
macroCOPYFILE_STAT
#define COPYFILE_STAT (1<<1)
macroCOPYFILE_XATTR
#define COPYFILE_XATTR (1<<2)
macroCOPYFILE_DATA
#define COPYFILE_DATA (1<<3)
macroCOPYFILE_SECURITY
#define COPYFILE_SECURITY (COPYFILE_STAT | COPYFILE_ACL)
macroCOPYFILE_METADATA
#define COPYFILE_METADATA (COPYFILE_SECURITY | COPYFILE_XATTR)
macroCOPYFILE_ALL
#define COPYFILE_ALL (COPYFILE_METADATA | COPYFILE_DATA)
macroCOPYFILE_NOCACHE
#define COPYFILE_NOCACHE (1<<14)
when using fcopyfile() force the fd to turn caching off
macroCOPYFILE_NOFOLLOW
#define COPYFILE_NOFOLLOW (COPYFILE_NOFOLLOW_SRC | COPYFILE_NOFOLLOW_DST)
macroCOPYFILE_PACK
#define COPYFILE_PACK (1<<22)
macroCOPYFILE_UNPACK
#define COPYFILE_UNPACK (1<<23)
macroCOPYFILE_CLONE
#define COPYFILE_CLONE (1<<24)
macroCOPYFILE_CLONE_FORCE
#define COPYFILE_CLONE_FORCE (1<<25)
macroCOPYFILE_RUN_IN_PLACE
#define COPYFILE_RUN_IN_PLACE (1<<26)
macroCOPYFILE_DATA_SPARSE
#define COPYFILE_DATA_SPARSE (1<<27)
macroCOPYFILE_PRESERVE_DST_TRACKED
#define COPYFILE_PRESERVE_DST_TRACKED (1<<28)
macroCOPYFILE_VERBOSE
#define COPYFILE_VERBOSE (1<<30)
macroCOPYFILE_RECURSE_ERROR
#define COPYFILE_RECURSE_ERROR 0
macroCOPYFILE_RECURSE_FILE
#define COPYFILE_RECURSE_FILE 1
macroCOPYFILE_RECURSE_DIR
#define COPYFILE_RECURSE_DIR 2
macroCOPYFILE_RECURSE_DIR_CLEANUP
#define COPYFILE_RECURSE_DIR_CLEANUP 3
macroCOPYFILE_COPY_DATA
#define COPYFILE_COPY_DATA 4
macroCOPYFILE_COPY_XATTR
#define COPYFILE_COPY_XATTR 5
macroCOPYFILE_START
#define COPYFILE_START 1
macroCOPYFILE_FINISH
#define COPYFILE_FINISH 2
macroCOPYFILE_ERR
#define COPYFILE_ERR 3
macroCOPYFILE_PROGRESS
#define COPYFILE_PROGRESS 4
macroCOPYFILE_CONTINUE
#define COPYFILE_CONTINUE 0
macroCOPYFILE_SKIP
#define COPYFILE_SKIP 1
macroCOPYFILE_QUIT
#define COPYFILE_QUIT 2