19 #ifndef OIO_SDS__sdk__oio_sds_h
20 #define OIO_SDS__sdk__oio_sds_h 1
32 #define OIO_SDS_VERSION 20180716
103 const char *key,
const char *value);
112 unsigned int seq,
size_t offset,
size_t length);
158 #ifdef OIO_SDS_VERSION
216 void *pv,
unsigned int vlen);
357 #define OIO_SDS_UPLOAD_DST_INIT {NULL, 0, 0, 0, 0, NULL, NULL, 0, 0, 0}
372 const unsigned char *buf,
size_t len);
397 #define OIO_SDS_UL__ERROR ((size_t)-2)
398 #define OIO_SDS_UL__DONE ((size_t)-1)
399 #define OIO_SDS_UL__NODATA ((size_t)0)
422 #define OIO_SDS_UPLOAD_SRC_INIT {.type=0, .data={ .hook={.cb=NULL, .ctx=NULL, .size=0}}}
432 size_t off,
size_t len);
560 typedef void (*
on_element_f) (
void *ctx,
const char *key,
const char *value);
568 struct oio_url_s *url,
const char *
const *val);
576 struct oio_url_s *url,
const char *
const *val);
struct oio_error_s * oio_sds_get_content_properties(struct oio_sds_s *sds, struct oio_url_s *url, on_element_f fct, void *ctx)
Definition: sds.c:2455
int meta_pos
Definition: oio_sds.h:346
unsigned char flag_allversions
Definition: oio_sds.h:457
const char *const * properties
Definition: oio_sds.h:343
int(* on_item)(void *ctx, const struct oio_sds_list_item_s *item)
Definition: oio_sds.h:478
void(* oio_sds_info_reporter_f)(void *cb_data, enum oio_sds_content_key_e key, const char *value)
Definition: oio_sds.h:96
void oio_log_to_syslog(void)
Definition: sds.c:352
Definition: oio_sds.h:240
oio_sds_config_e
Definition: oio_sds.h:44
Definition: oio_sds.h:271
struct oio_error_s * oio_sds_upload_from_buffer(struct oio_sds_s *sds, struct oio_sds_ul_dst_s *dst, void *base, size_t len)
Definition: sds.c:1989
struct oio_error_s * oio_sds_set_content_properties(struct oio_sds_s *sds, struct oio_url_s *url, const char *const *val)
Definition: sds.c:2463
struct oio_error_s * oio_sds_upload(struct oio_sds_s *sds, struct oio_sds_ul_src_s *src, struct oio_sds_ul_dst_s *dst)
Definition: sds.c:1914
struct oio_sds_dl_dst_s::@0::@2 buffer
int oio_sds_upload_greedy(struct oio_sds_ul_s *ul)
Definition: sds.c:1255
struct oio_sds_dl_dst_s::@0::@1 file
size_t out_count
Definition: oio_sds.h:488
int oio_error_code(const struct oio_error_s *e)
Definition: sds.c:397
struct oio_error_s * oio_sds_delete(struct oio_sds_s *sds, struct oio_url_s *u)
Definition: sds.c:2310
unsigned char flag_properties
Definition: oio_sds.h:458
struct oio_error_s * oio_sds_upload_from_file(struct oio_sds_s *sds, struct oio_sds_ul_dst_s *dst, const char *local, size_t off, size_t len)
Definition: sds.c:1947
oio_sds_dl_dst_type_e
Definition: oio_sds.h:237
size_t size
Definition: oio_sds.h:465
unsigned int partial
Definition: oio_sds.h:330
struct oio_sds_ul_dst_s * dst
Definition: sds.c:1128
int out_truncated
Definition: oio_sds.h:492
struct oio_error_s * oio_sds_create(struct oio_sds_s *sds, struct oio_url_s *url)
Definition: sds.c:507
size_t out_size
Definition: oio_sds.h:247
void oio_error_free(struct oio_error_s *e)
Definition: sds.c:382
void * ctx
Definition: oio_sds.h:261
const char * name
Definition: oio_sds.h:463
const char * marker
Definition: oio_sds.h:447
struct oio_error_s * oio_sds_set_container_properties(struct oio_sds_s *sds, struct oio_url_s *url, const char *const *val)
Definition: sds.c:2441
void oio_sds_upload_clean(struct oio_sds_ul_s *ul)
Definition: sds.c:1215
Definition: oio_sds.h:405
size_t size
Definition: oio_sds.h:417
size_t chunk_size
Definition: oio_sds.h:354
Definition: oio_sds.h:244
const char * content_id
Definition: oio_sds.h:339
unsigned int autocreate
Definition: oio_sds.h:322
size_t max_items
Definition: oio_sds.h:451
size_t offset
Definition: oio_sds.h:350
void * ctx
Definition: oio_sds.h:416
struct oio_error_s * oio_sds_get_usage(struct oio_sds_s *sds, struct oio_url_s *u, struct oio_sds_usage_s *out)
Definition: sds.c:2232
size_t length
Definition: oio_sds.h:257
Definition: oio_sds.h:512
oio_sds_dl_hook_f cb
Definition: oio_sds.h:260
char delimiter
Definition: oio_sds.h:454
size_t version
Definition: oio_sds.h:466
void oio_error_pfree(struct oio_error_s **pe)
Definition: sds.c:389
const char * oio_error_message(const struct oio_error_s *e)
Definition: sds.c:404
struct oio_sds_ul_src_s::@4::@5 hook
enum oio_sds_ul_src_type_e type
Definition: oio_sds.h:411
size_t offset
Definition: oio_sds.h:273
Definition: oio_sds.h:239
struct oio_error_s * oio_sds_upload_commit(struct oio_sds_ul_s *ul)
Definition: sds.c:1746
struct oio_url_s * url
Definition: oio_sds.h:279
void oio_sds_pfree(struct oio_sds_s **psds)
Definition: sds.c:454
struct oio_error_s * oio_sds_download(struct oio_sds_s *sds, struct oio_sds_dl_src_s *src, struct oio_sds_dl_dst_s *dst)
Definition: sds.c:1081
size_t quota_bytes
Definition: oio_sds.h:518
struct oio_error_s * oio_sds_download_to_file(struct oio_sds_s *sds, struct oio_url_s *u, const char *local)
Definition: sds.c:1101
const char *const * properties
Definition: oio_sds.h:468
struct oio_error_s * oio_sds_init(struct oio_sds_s **out, const char *ns)
Definition: sds.c:413
const char * hash
Definition: oio_sds.h:464
struct oio_sds_ul_s * oio_sds_upload_init(struct oio_sds_s *sds, struct oio_sds_ul_dst_s *dst)
Definition: sds.c:1179
struct oio_url_s * url
Definition: oio_sds.h:445
Definition: oio_sds.h:461
size_t(* oio_sds_ul_hook_f)(void *, unsigned char *p, size_t s)
Definition: oio_sds.h:401
Definition: oio_sds.h:317
void(* on_element_f)(void *ctx, const char *key, const char *value)
Definition: oio_sds.h:560
int(* oio_sds_dl_hook_f)(void *, const unsigned char *, size_t)
Definition: oio_sds.h:235
void oio_sds_free(struct oio_sds_s *sds)
Definition: sds.c:440
volatile int oio_sds_default_autocreate
const char * path
Definition: oio_sds.h:253
unsigned char flag_nodeleted
Definition: oio_sds.h:456
oio_sds_content_key_e
Definition: oio_sds.h:73
void oio_log_more(void)
Definition: sds.c:366
void(* oio_sds_property_reporter_f)(void *cb_data, const char *key, const char *value)
Definition: oio_sds.h:102
enum oio_sds_dl_dst_type_e type
Definition: oio_sds.h:249
struct oio_error_s * oio_sds_delete_container(struct oio_sds_s *sds, struct oio_url_s *url)
Definition: sds.c:2323
int(* on_bound)(void *ctx, const char *next_marker)
Definition: oio_sds.h:485
const char * prefix
Definition: oio_sds.h:446
size_t out_size
Definition: oio_sds.h:333
unsigned int oio_sds_version(void)
Definition: sds.c:63
unsigned char * ptr
Definition: oio_sds.h:256
size_t used_bytes
Definition: oio_sds.h:515
struct oio_error_s * oio_sds_upload_abort(struct oio_sds_ul_s *ul)
Definition: sds.c:1788
int oio_sds_configure(struct oio_sds_s *sds, enum oio_sds_config_e what, void *pv, unsigned int vlen)
Definition: sds.c:462
struct oio_error_s * oio_sds_has(struct oio_sds_s *sds, struct oio_url_s *url, int *phas)
Definition: sds.c:2386
struct oio_error_s * oio_sds_upload_prepare(struct oio_sds_ul_s *ul, size_t size)
Definition: sds.c:1268
size_t size
Definition: oio_sds.h:274
struct oio_error_s * oio_sds_list(struct oio_sds_s *sds, struct oio_sds_list_param_s *param, struct oio_sds_list_listener_s *listener)
Definition: sds.c:2149
struct oio_sds_s * sds
Definition: sds.c:1127
struct oio_error_s * oio_sds_show_content(struct oio_sds_s *sds, struct oio_url_s *u, void *cb_data, oio_sds_info_reporter_f cb_info, oio_sds_metachunk_reporter_f cb_metachunks, oio_sds_property_reporter_f cb_props)
Definition: sds.c:2336
Definition: oio_sds.h:241
void(* oio_sds_metachunk_reporter_f)(void *cb_data, unsigned int seq, size_t offset, size_t length)
Definition: oio_sds.h:111
unsigned int append
Definition: oio_sds.h:326
void oio_log_nothing(void)
Definition: sds.c:373
int used_objects
Definition: oio_sds.h:521
int oio_sds_upload_needs_ecd(struct oio_sds_ul_s *ul)
Definition: sds.c:1262
int oio_sds_upload_done(struct oio_sds_ul_s *ul)
Definition: sds.c:1244
oio_sds_ul_src_type_e
Definition: oio_sds.h:403
int(* on_prefix)(void *ctx, const char *prefix)
Definition: oio_sds.h:481
struct oio_error_s * oio_sds_drain(struct oio_sds_s *sds, struct oio_url_s *u)
Definition: sds.c:2298
struct oio_sds_dl_dst_s::@0::@3 hook
struct oio_error_s * oio_sds_truncate(struct oio_sds_s *sds, struct oio_url_s *u, size_t size)
Definition: sds.c:2286
void oio_log_to_stderr(void)
Definition: sds.c:359
Definition: oio_sds.h:443
struct oio_url_s * url
Definition: oio_sds.h:319
oio_sds_ul_hook_f cb
Definition: oio_sds.h:415
struct oio_error_s * oio_sds_upload_step(struct oio_sds_ul_s *ul)
Definition: sds.c:1603
struct oio_error_s * oio_sds_upload_feed(struct oio_sds_ul_s *ul, const unsigned char *buf, size_t len)
Definition: sds.c:1392
void * ctx
Definition: oio_sds.h:475
union oio_sds_ul_src_s::@4 data
struct oio_error_s * oio_sds_get_container_properties(struct oio_sds_s *sds, struct oio_url_s *url, on_element_f fct, void *ctx)
Definition: sds.c:2433
Definition: oio_sds.h:277
Definition: oio_sds.h:471
struct oio_sds_dl_range_s ** ranges
Definition: oio_sds.h:284
const char * end
Definition: oio_sds.h:448
Definition: oio_sds.h:409
union oio_sds_dl_dst_s::@0 data