dav/finfo.h

Wed, 13 Mar 2019 18:43:30 +0100

author
Olaf Wintermann <olaf.wintermann@gmail.com>
date
Wed, 13 Mar 2019 18:43:30 +0100
changeset 522
46f96dcd6eab
parent 520
da2b0cc44e4f
child 526
e3c0440bd599
permissions
-rw-r--r--

adds metadata config element for dav-sync

517
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
1 /*
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
2 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS HEADER.
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
3 *
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
4 * Copyright 2019 Olaf Wintermann. All rights reserved.
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
5 *
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
6 * Redistribution and use in source and binary forms, with or without
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
7 * modification, are permitted provided that the following conditions are met:
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
8 *
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
9 * 1. Redistributions of source code must retain the above copyright
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
10 * notice, this list of conditions and the following disclaimer.
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
11 *
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
12 * 2. Redistributions in binary form must reproduce the above copyright
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
13 * notice, this list of conditions and the following disclaimer in the
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
14 * documentation and/or other materials provided with the distribution.
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
15 *
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
16 * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
17 * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
18 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
19 * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
20 * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
21 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
22 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
23 * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
24 * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
8531b63accae adds option to store a file info property
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
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
26 * POSSIBILITY OF SUCH DAMAGE.
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
27 */
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
28
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
29 #ifndef FINFO_H
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
30 #define FINFO_H
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
31
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
32 #include <libidav/webdav.h>
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
33 #include <inttypes.h>
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
34 #include <sys/stat.h>
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
35
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
36 #ifdef __cplusplus
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
37 extern "C" {
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
38 #endif
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
39
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
40 #define FINFO_DATE 1
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
41 #define FINFO_OWNER 2
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
42 #define FINFO_MODE 4
520
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
43 #define FINFO_XATTR 8
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
44
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
45 typedef struct XAttributes {
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
46 size_t nattr;
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
47 char **names;
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
48 sstr_t *values;
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
49 char *hash;
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
50 } XAttributes;
517
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
51
522
46f96dcd6eab adds metadata config element for dav-sync
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 520
diff changeset
52 uint32_t parse_finfo(const char *str, char **unknown);
517
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
53
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
54 int resource_set_finfo(const char *path, DavResource *res, uint32_t finfo);
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
55 int resource_set_finfo_s(struct stat *s, DavResource *res, uint32_t finfo);
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
56
520
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
57 XAttributes* file_get_attributes(const char *path);
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
58 int resource_set_xattr(DavResource *res, XAttributes *xattr);
da2b0cc44e4f adds xml attribute support and xattr property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents: 517
diff changeset
59 void xattributes_free(XAttributes *xattr);
517
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
60
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
61 #ifdef __cplusplus
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
62 }
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
63 #endif
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
64
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
65 #endif /* FINFO_H */
8531b63accae adds option to store a file info property
Olaf Wintermann <olaf.wintermann@gmail.com>
parents:
diff changeset
66

mercurial