38 #endif |
38 #endif |
39 |
39 |
40 #define FINFO_DATE 1 |
40 #define FINFO_DATE 1 |
41 #define FINFO_OWNER 2 |
41 #define FINFO_OWNER 2 |
42 #define FINFO_MODE 4 |
42 #define FINFO_MODE 4 |
|
43 #define FINFO_XATTR 8 |
|
44 |
|
45 typedef struct XAttributes { |
|
46 size_t nattr; |
|
47 char **names; |
|
48 sstr_t *values; |
|
49 char *hash; |
|
50 } XAttributes; |
43 |
51 |
44 uint32_t parse_finfo(const char *str); |
52 uint32_t parse_finfo(const char *str); |
45 |
53 |
46 int resource_set_finfo(const char *path, DavResource *res, uint32_t finfo); |
54 int resource_set_finfo(const char *path, DavResource *res, uint32_t finfo); |
47 int resource_set_finfo_s(struct stat *s, DavResource *res, uint32_t finfo); |
55 int resource_set_finfo_s(struct stat *s, DavResource *res, uint32_t finfo); |
48 |
56 |
|
57 XAttributes* file_get_attributes(const char *path); |
|
58 int resource_set_xattr(DavResource *res, XAttributes *xattr); |
|
59 void xattributes_free(XAttributes *xattr); |
49 |
60 |
50 #ifdef __cplusplus |
61 #ifdef __cplusplus |
51 } |
62 } |
52 #endif |
63 #endif |
53 |
64 |