dav/sync.h

Sat, 25 Jul 2020 11:16:31 +0200

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Sat, 25 Jul 2020 11:16:31 +0200
changeset 723
5ca174b3247a
parent 679
0d352b79363a
child 724
9c2f0072abed
permissions
-rw-r--r--

add dav-sync outgoing command

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>
47
fbbbeed4ba8f added push command for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 46
diff changeset
34 #include <ucx/list.h>
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
35
330
54819e984a19 adds dav get option to keep existing files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 302
diff changeset
36 #include <pthread.h>
54819e984a19 adds dav get option to keep existing files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 302
diff changeset
37
399
a985a587787f fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 395
diff changeset
38 #include "scfg.h"
a985a587787f fixes header include order (dav-sync)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 395
diff changeset
39 #include "config.h"
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40 #include "sopt.h"
608
3e4c0285a868 fix build on windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 580
diff changeset
41 #include "system.h"
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
43 #include "version.h"
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
44
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
45 #ifdef _WIN32
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
46 // TODO: thread includes
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
47 #else
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
48 #include <pthread.h>
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
49 #endif /* _WIN32 */
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
50
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51 #ifdef __cplusplus
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
52 extern "C" {
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
53 #endif
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
54
53
ddc4efc9b0f8 added usage info and some options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 52
diff changeset
55 #define STDIN_BUF_SIZE 2048
491
fdc2fb090cc7 adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 490
diff changeset
56
fdc2fb090cc7 adds versioning support for dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 490
diff changeset
57 #define VERSION_PATH_PROPERTY "version-collection"
302
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
58
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
59 typedef struct SyncFile {
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
60 SyncDirectory *dir;
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
61 char *path;
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
62 } SyncFile;
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
63
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
64 typedef struct MetadataHashes {
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
65 char *tags;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
66 char *tags_remote;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
67 char *xattr;
663
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
68 DavBool update_tags;
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
69 DavBool update_tags_remote;
888aa263c0f1 fix some xattr sync bugs
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 639
diff changeset
70 DavBool update_xattr;
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
71 } MetadataHashes;
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
72
567
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
73 typedef struct MovedFile {
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
74 DavResource *resource;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
75 LocalResource *content;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
76 DavBool copy;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
77 } MovedFile;
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
78
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
79 enum RemoteChangeType {
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
80 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
81 REMOTE_CHANGE_MODIFIED,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
82 REMOTE_CHANGE_NEW,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
83 REMOTE_CHANGE_DELETED,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
84 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
85 REMOTE_CHANGE_METADATA,
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
86 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
87 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
88 };
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
89 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
90
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
91 typedef struct RemoteChange {
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
92 DavResource *resource;
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
93 RemoteChangeType type;
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
94 } RemoteChange;
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
95
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
96 void print_usage(char *cmd);
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
97
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);
395763c0ee69 adds SIGINT handler to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 299
diff changeset
100
444
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
101 void res2map(DavResource *root, UcxMap *map);
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
102
723
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
103 int cmd_pull(CmdArgs *args, DavBool incoming);
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
104 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
105 int cmd_restore(CmdArgs *args);
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
106
723
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
107 void print_outgoing(
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
108 UcxList *ls_new,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
109 UcxList *ls_modified,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
110 UcxList *ls_conflict,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
111 UcxList *ls_update,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
112 UcxList *ls_delete,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
113 UcxList *ls_move,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
114 UcxList *ls_copy,
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
115 UcxList *ls_mkcol);
5ca174b3247a add dav-sync outgoing command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 679
diff changeset
116
503
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
117 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
118 CmdArgs *a,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
119 DavResource *res,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
120 SyncDirectory *dir,
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
121 SyncDatabase *db);
f84e64afee61 dav-sync pull refactoring: create list of changes before sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 492
diff changeset
122
608
3e4c0285a868 fix build on windows
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 580
diff changeset
123 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
124 int sync_move_resource(
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
125 CmdArgs *a,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
126 SyncDirectory *dir,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
127 DavResource *res,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
128 LocalResource *content,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
129 DavBool copy,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
130 SyncDatabase *db,
b0ce8b27978b implement copy/move for dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 563
diff changeset
131 int *counter);
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
132 int sync_get_resource(
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
133 CmdArgs *a,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
134 SyncDirectory *dir,
533
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
135 const char *path,
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
136 DavResource *res,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
137 SyncDatabase *db,
679
0d352b79363a fix some versioning related bugs and add tests
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 672
diff changeset
138 DavBool update_local,
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
139 int *counter);
613
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
140 int sync_get_collection(
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
141 CmdArgs *a,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
142 SyncDirectory *dir,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
143 DavResource *res,
f6072141f5ee fix directories not stored in db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 611
diff changeset
144 SyncDatabase *db);
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
145 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
146 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
147 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
148 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
149 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
150
49
c5759ac76c1b dav-sync detects locally removed files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 47
diff changeset
151 UcxList* local_scan(SyncDirectory *dir, SyncDatabase *db);
53
ddc4efc9b0f8 added usage info and some options
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 52
diff changeset
152 UcxList* read_changes(SyncDirectory *dir, SyncDatabase *db);
573
b8f798d240ab change local_resource_new signature
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 569
diff changeset
153 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
154 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
155 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
156 SyncDirectory *dir,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
157 SyncDatabase *db,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
158 LocalResource *res,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
159 UcxMap *svrres,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
160 DavBool restore_deleted,
761dc4867208 adds dav-sync options for restoring deleted or modified files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 400
diff changeset
161 DavBool restore_modified);
220
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
162 int remote_resource_is_changed(
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
163 DavSession *sn,
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
164 SyncDirectory *dir,
f1b3873a6525 added conflict detection to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 218
diff changeset
165 SyncDatabase *db,
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
166 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
167 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
168 DavBool *equal);
614
e72d2b99b0f6 fix xattr not synced for new files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 613
diff changeset
169 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
170
06f9fddc82a1 don't store weak etag in LocalResource
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 614
diff changeset
171 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
172
611
a7c48e0dca88 implement links on Windows (shelllink)
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 608
diff changeset
173 char* resource_local_path(DavResource *res);
47
fbbbeed4ba8f added push command for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 46
diff changeset
174
536
877f7c4a203b adds file splitting feature to dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 533
diff changeset
175 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
176
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
177 int resource_pathlen_cmp(LocalResource *res1, LocalResource *res2, void *n);
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
178
533
5b9f20aa88c2 adds option to restore previous file versions
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 529
diff changeset
179 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
180 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
181
144
c2c02c9b3be4 dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 75
diff changeset
182 int sync_set_status(DavResource *res, char *status);
c2c02c9b3be4 dav-sync detects broken uploads
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 75
diff changeset
183 int sync_remove_status(DavResource *res);
367
4a6a59f89f9f adds dav-sync config for autodetecting tag changes
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 364
diff changeset
184 UcxBuffer* sync_get_file_tag_data(SyncDirectory *dir, LocalResource *res);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
185 UcxList* sync_get_file_tags(SyncDirectory *dir, LocalResource *res, DavBool *changed, char **newhash);
379
cdaf5a3d3a50 fixes tag syncing
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 377
diff changeset
186 int sync_tags_equal(UcxList *tags1, UcxList *tags2);
526
e3c0440bd599 adds metadata support to dav-sync pull
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 525
diff changeset
187 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
188 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
189 int sync_store_tags(SyncDirectory *dir, const char *path, LocalResource *local, DavResource *res);
372
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
190 int sync_store_tags_local(SyncDirectory *dir, LocalResource *local, const char *path, UcxList *tags);
192
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
191 int sync_put_resource(
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
192 SyncDirectory *dir,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
193 DavResource *res,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
194 LocalResource *local,
d10194a51304 dav-sync prints a small report after successful sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 190
diff changeset
195 int *counter);
190
a76e43d89f55 dav-sync can create and delete empty directories now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 185
diff changeset
196 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
197 int sync_move_remote_resource(
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
198 SyncDirectory *dir,
569
cafdc13b6820 remove dead db entry when files are moved
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 567
diff changeset
199 SyncDatabase *db,
552
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
200 DavResource *origin,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
201 LocalResource *local,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
202 DavBool copy,
e1a12762bf0a improve copy/move stability and db update
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 544
diff changeset
203 int *counter);
492
7bde663719dc Adds dav-sync option for enabling versioning
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 491
diff changeset
204 int sync_delete_remote_resource(SyncDirectory *dir, DavSession *sn, LocalResource *res, int *counter, UcxList **cols);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
205 MetadataHashes sync_set_metadata_properties(
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
206 SyncDirectory *dir,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
207 DavSession *sn,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
208 DavResource *res,
672
4bfe452a2665 fix dav-sync copy with enabled metadata sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 663
diff changeset
209 LocalResource *local,
4bfe452a2665 fix dav-sync copy with enabled metadata sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 663
diff changeset
210 DavBool force);
525
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
211 int sync_update_metadata(
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
212 SyncDirectory *dir,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
213 DavSession *sn,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
214 DavResource *res,
26a1d5b9d9d2 improves metadata support in dav-sync push
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 523
diff changeset
215 LocalResource *local);
47
fbbbeed4ba8f added push command for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 46
diff changeset
216
544
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
217 void update_parts(LocalResource *local, UcxList *updates, uint64_t numparts);
9e85e1ec1155 adds semi functional download of splitted files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 542
diff changeset
218
218
5f1f7602cf77 automatically remove deleted conflict files from the db
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 217
diff changeset
219 void remove_deleted_conflicts(SyncDirectory *dir, SyncDatabase *db);
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
220
563
3dffe58a573f adds list-conflicts command to dav-sync
Mike Becker <universe@uap-core.de>
parents: 558
diff changeset
221 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
222 int cmd_resolve_conflicts(CmdArgs *args);
12bad63cf5a8 added resolve-conflicts and delete-conflicts commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 216
diff changeset
223 int cmd_delete_conflicts(CmdArgs *args);
12bad63cf5a8 added resolve-conflicts and delete-conflicts commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 216
diff changeset
224
529
dc3f82b04733 adds list-versions command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 527
diff changeset
225 int cmd_list_versions(CmdArgs *args);
dc3f82b04733 adds list-versions command
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 527
diff changeset
226
204
4f0207044837 added trash-info and empty-trash commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 200
diff changeset
227 int cmd_trash_info(CmdArgs *args);
4f0207044837 added trash-info and empty-trash commands
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 200
diff changeset
228 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
229
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
230 int cmd_add_tag(CmdArgs *args);
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
231 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
232 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
233 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
234 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
235
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
236 /*
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
237 * 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
238 *
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
239 * returns 0 or error code:
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
240 * 1: file not found
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
241 * 2: file permission error
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
242 * 3: stat error
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
243 * 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
244 * 5: file is in multiple syncdirs
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
245 * 6: syncdir not found
2e15ff88a0ab adds tag management commands to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 369
diff changeset
246 */
527
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
247 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
248 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
249
d0e37224eba1 adds possibility to restore specific files
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 526
diff changeset
250 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
251
200
cc474cf2c2f5 added add-directory command to dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 192
diff changeset
252 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
253 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
254 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
255
296
bb49953b1cf8 dav-sync writes the locktoken to a file now
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 256
diff changeset
256 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
257
542
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
258 /*
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
259 * 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
260 * 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
261 */
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
262 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
263
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
264 /*
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
265 * 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
266 * 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
267 *
060a8cda7f62 adds wrapper functions for setting/getting the content hash
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 536
diff changeset
268 * 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
269 */
558
1a9e6a5c1e79 fixes several signedness issues
Mike Becker <universe@uap-core.de>
parents: 552
diff changeset
270 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
271
46
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
272 #ifdef __cplusplus
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
273 }
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
274 #endif
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
275
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
276 #endif /* SYNC_H */
0542668d0f26 added new sync tool
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
277

mercurial