dav/sync.h

Thu, 14 Sep 2023 18:11:50 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Thu, 14 Sep 2023 18:11:50 +0200
changeset 789
378b5ab86f77
parent 780
cd1c869720e0
permissions
-rw-r--r--

add new build system for windows

46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 *
542
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
4 * Copyright 2019 Olaf Wintermann. All rights reserved.
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 *
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 *
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 *
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 *
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
25 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 */
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 #ifndef SYNC_H
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30 #define SYNC_H
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 #include <curl/curl.h>
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33 #include <libidav/webdav.h>
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
34 #include <cx/list.h>
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
35 #include <cx/hash_map.h>
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36
399
a985a587787f fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 395
diff changeset
37 #include "scfg.h"
a985a587787f fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 395
diff changeset
38 #include "config.h"
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39 #include "sopt.h"
608
3e4c0285a868 fix build on windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 580
diff changeset
40 #include "system.h"
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
42 #include "version.h"
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
43
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
44 #ifdef _WIN32
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
45 // TODO: thread includes
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
46 #else
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
47 #include <pthread.h>
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
48 #endif /* _WIN32 */
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
49
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
50 #ifdef __cplusplus
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51 extern "C" {
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
52 #endif
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
53
53
ddc4efc9b0f8 added usage info and some options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 52
diff changeset
54 #define STDIN_BUF_SIZE 2048
491
fdc2fb090cc7 adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 490
diff changeset
55
fdc2fb090cc7 adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 490
diff changeset
56 #define VERSION_PATH_PROPERTY "version-collection"
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
57
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
58 typedef struct SyncFile {
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
59 SyncDirectory *dir;
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
60 char *path;
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
61 } SyncFile;
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
62
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
63 typedef struct MetadataHashes {
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
64 char *tags;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
65 char *tags_remote;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
66 char *xattr;
663
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
67 DavBool update_tags;
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
68 DavBool update_tags_remote;
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
69 DavBool update_xattr;
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
70 } MetadataHashes;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
71
567
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
72 typedef struct MovedFile {
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
73 DavResource *resource;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
74 LocalResource *content;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
75 DavBool copy;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
76 } MovedFile;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
77
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
78 enum RemoteChangeType {
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
79 REMOTE_NO_CHANGE = 0,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
80 REMOTE_CHANGE_MODIFIED,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
81 REMOTE_CHANGE_NEW,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
82 REMOTE_CHANGE_DELETED,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
83 REMOTE_CHANGE_CONFLICT_LOCAL_MODIFIED,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
84 REMOTE_CHANGE_METADATA,
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
85 REMOTE_CHANGE_MKDIR,
580
caf23cf7f96d separate link changes from normal changes and create links after downloads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 573
diff changeset
86 REMOTE_CHANGE_LINK
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
87 };
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
88 typedef enum RemoteChangeType RemoteChangeType;
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
89
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
90 typedef struct RemoteChange {
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
91 DavResource *resource;
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
92 RemoteChangeType type;
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
93 } RemoteChange;
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
94
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
95 void print_usage(char *cmd);
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
96
789
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
97 #ifndef _WIN32
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
98 pthread_t start_sighandler(pthread_mutex_t *mutex) ;
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
99 void stop_sighandler(pthread_mutex_t *mutex, pthread_t tid);
789
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
100 #else
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
101 // TODO: just dummies at the moment
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
102 int start_sighandler(int* mutex);
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
103 int stop_sighandler(int* mutex, int tid);
378b5ab86f77 add new build system for windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 780
diff changeset
104 #endif
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
105
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
106 void res2map(DavResource *root, CxMap *map);
444
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
107
723
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
108 int cmd_pull(CmdArgs *args, DavBool incoming);
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
109 int cmd_push(CmdArgs *args, DavBool outgoing, DavBool archive);
490
d94c4fd35c21 adds dav-sync restore command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 460
diff changeset
110 int cmd_restore(CmdArgs *args);
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
111
780
cd1c869720e0 remove loglevel parameter from log_printf
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 779
diff changeset
112 void log_printf(const char *fmt, ...);
779
a0e02b70dad1 add log_printf function
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 747
diff changeset
113
723
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
114 void print_outgoing(
724
9c2f0072abed sort files in outgoing cmd
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 723
diff changeset
115 CmdArgs *args,
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
116 CxList *ls_new,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
117 CxList *ls_modified,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
118 CxList *ls_conflict,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
119 CxList *ls_update,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
120 CxList *ls_delete,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
121 CxList *ls_move,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
122 CxList *ls_copy,
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
123 CxList *ls_mkcol);
723
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
124
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
125 RemoteChangeType resource_get_remote_change(
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
126 CmdArgs *a,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
127 DavResource *res,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
128 SyncDirectory *dir,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
129 SyncDatabase *db);
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
130
608
3e4c0285a868 fix build on windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 580
diff changeset
131 void sync_set_metadata_from_stat(LocalResource *local, SYS_STAT *s);
567
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
132 int sync_move_resource(
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
133 CmdArgs *a,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
134 SyncDirectory *dir,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
135 DavResource *res,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
136 LocalResource *content,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
137 DavBool copy,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
138 SyncDatabase *db,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
139 int *counter);
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
140 int sync_get_resource(
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
141 CmdArgs *a,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
142 SyncDirectory *dir,
533
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
143 const char *path,
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
144 DavResource *res,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
145 SyncDatabase *db,
679
0d352b79363a fix some versioning related bugs and add tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 672
diff changeset
146 DavBool update_local,
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
147 int *counter);
613
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
148 int sync_get_collection(
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
149 CmdArgs *a,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
150 SyncDirectory *dir,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
151 DavResource *res,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
152 SyncDatabase *db);
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
153 int sync_remove_local_resource(SyncDirectory *dir, LocalResource *res);
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
154 int sync_remove_local_directory(SyncDirectory *dir, LocalResource *res);
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
155 void rename_conflict_file(SyncDirectory *dir, SyncDatabase *db, char *path, DavBool copy);
145
82475dc12dd4 improved dav-sync data-loss prevention
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 144
diff changeset
156 char* create_tmp_download_path(char *path);
65
d4077e8175f3 added optional trash for deleted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 64
diff changeset
157 void move_to_trash(SyncDirectory *dir, char *path);
533
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
158
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
159 CxList* local_scan(SyncDirectory *dir, SyncDatabase *db);
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
160 CxList* read_changes(SyncDirectory *dir, SyncDatabase *db);
573
b8f798d240ab change local_resource_new signature
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 569
diff changeset
161 LocalResource* local_resource_new(SyncDirectory *dir, SyncDatabase *db, char *path);
611
a7c48e0dca88 implement links on Windows (shelllink)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 608
diff changeset
162 char* local_resource_path(LocalResource *res);
444
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
163 int local_resource_is_changed(
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
164 SyncDirectory *dir,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
165 SyncDatabase *db,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
166 LocalResource *res,
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
167 CxMap *svrres,
444
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
168 DavBool restore_deleted,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
169 DavBool restore_modified);
220
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
170 int remote_resource_is_changed(
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
171 DavSession *sn,
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
172 SyncDirectory *dir,
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
173 SyncDatabase *db,
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
174 DavResource *remote,
639
928a77ebe0b9 fix that file uploads are tried, when the content on the server is equal to the local file content (with enabled hashing)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 621
diff changeset
175 LocalResource *res,
928a77ebe0b9 fix that file uploads are tried, when the content on the server is equal to the local file content (with enabled hashing)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 621
diff changeset
176 DavBool *equal);
614
e72d2b99b0f6 fix xattr not synced for new files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 613
diff changeset
177 int local_resource_load_metadata(SyncDirectory *dir, LocalResource *res);
621
06f9fddc82a1 don't store weak etag in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 614
diff changeset
178
06f9fddc82a1 don't store weak etag in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 614
diff changeset
179 void local_resource_set_etag(LocalResource *local, const char *etag);
06f9fddc82a1 don't store weak etag in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 614
diff changeset
180
611
a7c48e0dca88 implement links on Windows (shelllink)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 608
diff changeset
181 char* resource_local_path(DavResource *res);
47
fbbbeed4ba8f added push command for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 46
diff changeset
182
536
877f7c4a203b adds file splitting feature to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 533
diff changeset
183 size_t resource_get_blocksize(SyncDirectory *dir, LocalResource *local, DavResource *res, off_t filesize);
877f7c4a203b adds file splitting feature to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 533
diff changeset
184
460
22522ff52a62 adds check to make sure dav-sync doesn't delete collections when children are modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 444
diff changeset
185 int resource_pathlen_cmp(LocalResource *res1, LocalResource *res2, void *n);
725
de3b2bb46492 fix outgoing list sort
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 724
diff changeset
186 int resource_path_cmp(LocalResource *res1, LocalResource *res2, void *n);
460
22522ff52a62 adds check to make sure dav-sync doesn't delete collections when children are modified
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 444
diff changeset
187
533
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
188 DavResource *versioning_simple_find(DavResource *res, const char *version);
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
189 DavResource *versioning_deltav_find(DavResource *res, const char *version);
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
190
144
c2c02c9b3be4 dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 75
diff changeset
191 int sync_set_status(DavResource *res, char *status);
c2c02c9b3be4 dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 75
diff changeset
192 int sync_remove_status(DavResource *res);
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
193 CxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res);
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
194 CxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed, char **newhash);
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
195 int sync_tags_equal(CxList *tags1, CxList *tags2);
526
e3c0440bd599 adds metadata support to dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 525
diff changeset
196 int sync_store_metadata(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
e3c0440bd599 adds metadata support to dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 525
diff changeset
197 int sync_store_xattr(SyncDirectory *dir, const char *path, XAttributes *xattr);
361
b6f2462ee055 adds xattr lib and tag support
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 330
diff changeset
198 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
199 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, CxList *tags);
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
200 int sync_put_resource(
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
201 SyncDirectory *dir,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
202 DavResource *res,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
203 LocalResource *local,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
204 int *counter);
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
205 int sync_mkdir(SyncDirectory *dir, DavResource *res, LocalResource *local);
552
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
206 int sync_move_remote_resource(
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
207 SyncDirectory *dir,
569
cafdc13b6820 remove dead db entry when files are moved
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 567
diff changeset
208 SyncDatabase *db,
552
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
209 DavResource *origin,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
210 LocalResource *local,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
211 DavBool copy,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
212 int *counter);
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
213 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, CxList *cols);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
214 MetadataHashes sync_set_metadata_properties(
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
215 SyncDirectory *dir,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
216 DavSession *sn,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
217 DavResource *res,
672
4bfe452a2665 fix dav-sync copy with enabled metadata sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 663
diff changeset
218 LocalResource *local,
4bfe452a2665 fix dav-sync copy with enabled metadata sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 663
diff changeset
219 DavBool force);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
220 int sync_update_metadata(
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
221 SyncDirectory *dir,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
222 DavSession *sn,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
223 DavResource *res,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
224 LocalResource *local);
47
fbbbeed4ba8f added push command for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 46
diff changeset
225
747
efbd59642577 ucx 3 update, basic dav commands work, most stuff is still broken
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 725
diff changeset
226 void update_parts(LocalResource *local, CxList *updates, uint64_t numparts);
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
227
218
5f1f7602cf77 automatically remove deleted conflict files from the db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 217
diff changeset
228 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db);
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
229
563
3dffe58a573f adds list-conflicts command to dav-sync
Mike Becker <universe@uap-core.de>
parents: 558
diff changeset
230 int cmd_list_conflicts(CmdArgs *args);
217
12bad63cf5a8 added resolve-conflicts and delete-conflicts commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 216
diff changeset
231 int cmd_resolve_conflicts(CmdArgs *args);
12bad63cf5a8 added resolve-conflicts and delete-conflicts commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 216
diff changeset
232 int cmd_delete_conflicts(CmdArgs *args);
12bad63cf5a8 added resolve-conflicts and delete-conflicts commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 216
diff changeset
233
529
dc3f82b04733 adds list-versions command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 527
diff changeset
234 int cmd_list_versions(CmdArgs *args);
dc3f82b04733 adds list-versions command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 527
diff changeset
235
204
4f0207044837 added trash-info and empty-trash commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 200
diff changeset
236 int cmd_trash_info(CmdArgs *args);
4f0207044837 added trash-info and empty-trash commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 200
diff changeset
237 int cmd_empty_trash(CmdArgs *args);
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
238
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
239 int cmd_add_tag(CmdArgs *args);
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
240 int cmd_remove_tag(CmdArgs *args);
380
8a0c727aa409 adds tag filter for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 379
diff changeset
241 int cmd_set_tags(CmdArgs *args);
377
d6d7c16dd066 adds list-tags command to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 372
diff changeset
242 int cmd_list_tags(CmdArgs *args);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
243 int cmd_tagop(CmdArgs *args, int cmd);
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
244
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
245 /*
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
246 * gets the syncdir and resource path for a given file path
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
247 *
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
248 * returns 0 or error code:
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
249 * 1: file not found
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
250 * 2: file permission error
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
251 * 3: stat error
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
252 * 4: file is not in any syncdir
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
253 * 5: file is in multiple syncdirs
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
254 * 6: syncdir not found
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
255 */
527
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
256 int sync_get_file(CmdArgs *args, const char *path, SyncFile *f, DavBool dostat);
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
257 void sync_print_get_file_err(const char *path, int err);
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
258
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
259 int isfileindir(SyncDirectory *dir, const char *path, SyncFile *f);
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
260
200
cc474cf2c2f5 added add-directory command to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 192
diff changeset
261 int cmd_add_directory(CmdArgs *args);
256
54433cb371df implements check-repositories command for dav-sync
Mike Becker <universe@uap-core.de>
parents: 252
diff changeset
262 int cmd_list_dirs();
252
6b8e287269fc improves config error reporting and adds check (check-config) command + dav-sync no longer aborts on missing sync.xml
Mike Becker <universe@uap-core.de>
parents: 220
diff changeset
263 int cmd_check_repositories();
6b8e287269fc improves config error reporting and adds check (check-config) command + dav-sync no longer aborts on missing sync.xml
Mike Becker <universe@uap-core.de>
parents: 220
diff changeset
264
296
bb49953b1cf8 dav-sync writes the locktoken to a file now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 256
diff changeset
265 char* create_locktoken_file(const char *syncdirname, const char *locktoken);
bb49953b1cf8 dav-sync writes the locktoken to a file now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 256
diff changeset
266
542
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
267 /*
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
268 * if encryption is enabled, the crypto-hash is returned as hex string
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
269 * otherwise the content-hash is returned
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
270 */
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
271 char* sync_get_content_hash(DavResource *res);
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
272
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
273 /*
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
274 * if encryption is enabled, sets the crypto-hash property
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
275 * otherwise it sets the content-hash property
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
276 *
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
277 * hashdata must be raw sha256 data and 32 bytes long
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
278 */
558
1a9e6a5c1e79 fixes several signedness issues
Mike Becker <universe@uap-core.de>
parents: 552
diff changeset
279 void sync_set_content_hash(DavResource *res, const unsigned char *hashdata);
542
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
280
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
281 #ifdef __cplusplus
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
282 }
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
283 #endif
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
284
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
285 #endif /* SYNC_H */
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
286

mercurial