xref: /aosp_15_r20/build/make/tools/libhost/include/host/CopyFile.h (revision 9e94795a3d4ef5c1d47486f9a02bb378756cea8a)
1*9e94795aSAndroid Build Coastguard Worker #ifndef _HOST_COPYFILE_H
2*9e94795aSAndroid Build Coastguard Worker #define _HOST_COPYFILE_H
3*9e94795aSAndroid Build Coastguard Worker 
4*9e94795aSAndroid Build Coastguard Worker #include <stdbool.h>
5*9e94795aSAndroid Build Coastguard Worker #include <sys/stat.h>
6*9e94795aSAndroid Build Coastguard Worker 
7*9e94795aSAndroid Build Coastguard Worker #if __cplusplus
8*9e94795aSAndroid Build Coastguard Worker extern "C" {
9*9e94795aSAndroid Build Coastguard Worker #endif
10*9e94795aSAndroid Build Coastguard Worker 
11*9e94795aSAndroid Build Coastguard Worker // command line options
12*9e94795aSAndroid Build Coastguard Worker enum {
13*9e94795aSAndroid Build Coastguard Worker     COPY_NO_DEREFERENCE = 0x00010000, // copy symlink link instead of target
14*9e94795aSAndroid Build Coastguard Worker     COPY_TRY_EXE        = 0x00020000, // on Win32, try adding '.exe' to filename
15*9e94795aSAndroid Build Coastguard Worker     COPY_FORCE          = 0x00040000, // override access permissions
16*9e94795aSAndroid Build Coastguard Worker     COPY_PERMISSIONS    = 0x00080000, // preserve mode, ownership, timestamps
17*9e94795aSAndroid Build Coastguard Worker     COPY_TIMESTAMPS     = 0x00100000, // preserve mode, ownership, timestamps
18*9e94795aSAndroid Build Coastguard Worker     COPY_RECURSIVE      = 0x00200000, // copy directories
19*9e94795aSAndroid Build Coastguard Worker     COPY_UPDATE_ONLY    = 0x00400000, // only copy if source file is newer
20*9e94795aSAndroid Build Coastguard Worker     COPY_VERBOSE_MASK   = 0x000000ff  // talk lots
21*9e94795aSAndroid Build Coastguard Worker };
22*9e94795aSAndroid Build Coastguard Worker 
23*9e94795aSAndroid Build Coastguard Worker int copyFile(const char* src, const char* dst, unsigned int options);
24*9e94795aSAndroid Build Coastguard Worker 
25*9e94795aSAndroid Build Coastguard Worker #if __cplusplus
26*9e94795aSAndroid Build Coastguard Worker } // extern "C"
27*9e94795aSAndroid Build Coastguard Worker #endif
28*9e94795aSAndroid Build Coastguard Worker 
29*9e94795aSAndroid Build Coastguard Worker #endif // _HOST_COPYFILE_H
30*9e94795aSAndroid Build Coastguard Worker 
31