533:5b9f20aa88c2 | 534:9a4857d6444e |
---|---|
47 #define SYNC_CMD_RESTORE 8 | 47 #define SYNC_CMD_RESTORE 8 |
48 | 48 |
49 #define DEFAULT_TAG_XATTR "tags" | 49 #define DEFAULT_TAG_XATTR "tags" |
50 #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" | 50 #define MACOS_TAG_XATTR "com.apple.metadata:_kMDItemUserTags" |
51 | 51 |
52 typedef struct TagConfig TagConfig; | 52 typedef struct TagConfig TagConfig; |
53 typedef struct Versioning Versioning; | 53 typedef struct Versioning Versioning; |
54 typedef struct SplitConfig SplitConfig; | |
54 | 55 |
55 typedef struct SyncDirectory { | 56 typedef struct SyncDirectory { |
56 char *name; | 57 char *name; |
57 char *path; | 58 char *path; |
58 char *trash; | 59 char *trash; |
62 TagConfig *tagconfig; | 63 TagConfig *tagconfig; |
63 Versioning *versioning; | 64 Versioning *versioning; |
64 UcxList *include; | 65 UcxList *include; |
65 UcxList *exclude; | 66 UcxList *exclude; |
66 UcxList *tagfilter; | 67 UcxList *tagfilter; |
68 UcxList *splitconfig; | |
67 uint32_t metadata; | 69 uint32_t metadata; |
68 int max_retry; | 70 int max_retry; |
69 int allow_cmd; | 71 int allow_cmd; |
70 time_t lock_timeout; | 72 time_t lock_timeout; |
71 bool backuppull; | 73 bool backuppull; |
72 bool lockpull; | 74 bool lockpull; |
73 bool lockpush; | 75 bool lockpush; |
74 uint32_t db_settings; | 76 uint32_t db_settings; |
75 } SyncDirectory; | 77 } SyncDirectory; |
76 | 78 |
79 struct SplitConfig { | |
80 /* | |
81 * path regex pattern or NULL | |
82 */ | |
83 char *pattern; | |
84 | |
85 /* | |
86 * minimum file size for activating file splitting | |
87 * a value of -1 means no size restriction | |
88 */ | |
89 int64_t minsize; | |
90 | |
91 /* | |
92 * split files into blocks with this size | |
93 */ | |
94 size_t blocksize; | |
95 }; | |
77 | 96 |
78 enum TagFormat { | 97 enum TagFormat { |
79 TAG_FORMAT_TEXT = 0, | 98 TAG_FORMAT_TEXT = 0, |
80 TAG_FORMAT_CSV, | 99 TAG_FORMAT_CSV, |
81 TAG_FORMAT_XML, | 100 TAG_FORMAT_XML, |