19 #ifndef OIO_SDS__sdk__oio_sds_h
20 #define OIO_SDS__sdk__oio_sds_h 1
32 #define OIO_SDS_VERSION 20180716
102 const char *key,
const char *value);
111 unsigned int seq,
size_t offset,
size_t length);
157 #ifdef OIO_SDS_VERSION
215 void *pv,
unsigned int vlen);
356 #define OIO_SDS_UPLOAD_DST_INIT {NULL, 0, 0, 0, 0, NULL, NULL, 0, 0, 0}
371 const unsigned char *buf,
size_t len);
396 #define OIO_SDS_UL__ERROR ((size_t)-2)
397 #define OIO_SDS_UL__DONE ((size_t)-1)
398 #define OIO_SDS_UL__NODATA ((size_t)0)
421 #define OIO_SDS_UPLOAD_SRC_INIT {.type=0, .data={ .hook={.cb=NULL, .ctx=NULL, .size=0}}}
431 size_t off,
size_t len);
559 typedef void (*
on_element_f) (
void *ctx,
const char *key,
const char *value);
567 struct oio_url_s *url,
const char *
const *val);
575 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:2589
int meta_pos
Definition: oio_sds.h:345
unsigned char flag_allversions
Definition: oio_sds.h:456
const char *const * properties
Definition: oio_sds.h:342
int(* on_item)(void *ctx, const struct oio_sds_list_item_s *item)
Definition: oio_sds.h:477
void(* oio_sds_info_reporter_f)(void *cb_data, enum oio_sds_content_key_e key, const char *value)
Definition: oio_sds.h:95
void oio_log_to_syslog(void)
Definition: sds.c:407
Definition: oio_sds.h:239
oio_sds_config_e
Definition: oio_sds.h:44
Definition: oio_sds.h:270
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:2123
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:2597
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:2048
struct oio_sds_dl_dst_s::@0::@2 buffer
int oio_sds_upload_greedy(struct oio_sds_ul_s *ul)
Definition: sds.c:1353
struct oio_sds_dl_dst_s::@0::@1 file
size_t out_count
Definition: oio_sds.h:487
int oio_error_code(const struct oio_error_s *e)
Definition: sds.c:452
struct oio_error_s * oio_sds_delete(struct oio_sds_s *sds, struct oio_url_s *u)
Definition: sds.c:2444
unsigned char flag_properties
Definition: oio_sds.h:457
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:2081
oio_sds_dl_dst_type_e
Definition: oio_sds.h:236
size_t size
Definition: oio_sds.h:464
unsigned int partial
Definition: oio_sds.h:329
struct oio_sds_ul_dst_s * dst
Definition: sds.c:1185
int out_truncated
Definition: oio_sds.h:491
struct oio_error_s * oio_sds_create(struct oio_sds_s *sds, struct oio_url_s *url)
Definition: sds.c:562
size_t out_size
Definition: oio_sds.h:246
void oio_error_free(struct oio_error_s *e)
Definition: sds.c:437
void * ctx
Definition: oio_sds.h:260
const char * name
Definition: oio_sds.h:462
const char * marker
Definition: oio_sds.h:446
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:2575
void oio_sds_upload_clean(struct oio_sds_ul_s *ul)
Definition: sds.c:1308
Definition: oio_sds.h:404
size_t size
Definition: oio_sds.h:416
size_t chunk_size
Definition: oio_sds.h:353
Definition: oio_sds.h:243
const char * content_id
Definition: oio_sds.h:338
unsigned int autocreate
Definition: oio_sds.h:321
size_t max_items
Definition: oio_sds.h:450
size_t offset
Definition: oio_sds.h:349
void * ctx
Definition: oio_sds.h:415
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:2366
size_t length
Definition: oio_sds.h:256
Definition: oio_sds.h:511
oio_sds_dl_hook_f cb
Definition: oio_sds.h:259
char delimiter
Definition: oio_sds.h:453
size_t version
Definition: oio_sds.h:465
void oio_error_pfree(struct oio_error_s **pe)
Definition: sds.c:444
const char * oio_error_message(const struct oio_error_s *e)
Definition: sds.c:459
struct oio_sds_ul_src_s::@4::@5 hook
enum oio_sds_ul_src_type_e type
Definition: oio_sds.h:410
size_t offset
Definition: oio_sds.h:272
Definition: oio_sds.h:238
struct oio_error_s * oio_sds_upload_commit(struct oio_sds_ul_s *ul)
Definition: sds.c:1867
struct oio_url_s * url
Definition: oio_sds.h:278
void oio_sds_pfree(struct oio_sds_s **psds)
Definition: sds.c:509
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:1136
size_t quota_bytes
Definition: oio_sds.h:517
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:1156
const char *const * properties
Definition: oio_sds.h:467
struct oio_error_s * oio_sds_init(struct oio_sds_s **out, const char *ns)
Definition: sds.c:468
const char * hash
Definition: oio_sds.h:463
struct oio_sds_ul_s * oio_sds_upload_init(struct oio_sds_s *sds, struct oio_sds_ul_dst_s *dst)
Definition: sds.c:1253
struct oio_url_s * url
Definition: oio_sds.h:444
Definition: oio_sds.h:460
size_t(* oio_sds_ul_hook_f)(void *, unsigned char *p, size_t s)
Definition: oio_sds.h:400
Definition: oio_sds.h:316
void(* on_element_f)(void *ctx, const char *key, const char *value)
Definition: oio_sds.h:559
int(* oio_sds_dl_hook_f)(void *, const unsigned char *, size_t)
Definition: oio_sds.h:234
void oio_sds_free(struct oio_sds_s *sds)
Definition: sds.c:495
volatile int oio_sds_default_autocreate
const char * path
Definition: oio_sds.h:252
unsigned char flag_nodeleted
Definition: oio_sds.h:455
oio_sds_content_key_e
Definition: oio_sds.h:72
void oio_log_more(void)
Definition: sds.c:421
void(* oio_sds_property_reporter_f)(void *cb_data, const char *key, const char *value)
Definition: oio_sds.h:101
enum oio_sds_dl_dst_type_e type
Definition: oio_sds.h:248
struct oio_error_s * oio_sds_delete_container(struct oio_sds_s *sds, struct oio_url_s *url)
Definition: sds.c:2457
int(* on_bound)(void *ctx, const char *next_marker)
Definition: oio_sds.h:484
const char * prefix
Definition: oio_sds.h:445
size_t out_size
Definition: oio_sds.h:332
unsigned int oio_sds_version(void)
Definition: sds.c:63
unsigned char * ptr
Definition: oio_sds.h:255
size_t used_bytes
Definition: oio_sds.h:514
struct oio_error_s * oio_sds_upload_abort(struct oio_sds_ul_s *ul)
Definition: sds.c:1922
int oio_sds_configure(struct oio_sds_s *sds, enum oio_sds_config_e what, void *pv, unsigned int vlen)
Definition: sds.c:517
struct oio_error_s * oio_sds_has(struct oio_sds_s *sds, struct oio_url_s *url, int *phas)
Definition: sds.c:2520
struct oio_error_s * oio_sds_upload_prepare(struct oio_sds_ul_s *ul, size_t size)
Definition: sds.c:1366
size_t size
Definition: oio_sds.h:273
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:2283
struct oio_sds_s * sds
Definition: sds.c:1184
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:2470
Definition: oio_sds.h:240
void(* oio_sds_metachunk_reporter_f)(void *cb_data, unsigned int seq, size_t offset, size_t length)
Definition: oio_sds.h:110
unsigned int append
Definition: oio_sds.h:325
void oio_log_nothing(void)
Definition: sds.c:428
int used_objects
Definition: oio_sds.h:520
int oio_sds_upload_needs_ecd(struct oio_sds_ul_s *ul)
Definition: sds.c:1360
int oio_sds_upload_done(struct oio_sds_ul_s *ul)
Definition: sds.c:1342
oio_sds_ul_src_type_e
Definition: oio_sds.h:402
int(* on_prefix)(void *ctx, const char *prefix)
Definition: oio_sds.h:480
struct oio_error_s * oio_sds_drain(struct oio_sds_s *sds, struct oio_url_s *u)
Definition: sds.c:2432
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:2420
void oio_log_to_stderr(void)
Definition: sds.c:414
Definition: oio_sds.h:442
struct oio_url_s * url
Definition: oio_sds.h:318
oio_sds_ul_hook_f cb
Definition: oio_sds.h:414
struct oio_error_s * oio_sds_upload_step(struct oio_sds_ul_s *ul)
Definition: sds.c:1724
struct oio_error_s * oio_sds_upload_feed(struct oio_sds_ul_s *ul, const unsigned char *buf, size_t len)
Definition: sds.c:1515
void * ctx
Definition: oio_sds.h:474
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:2567
Definition: oio_sds.h:276
Definition: oio_sds.h:470
struct oio_sds_dl_range_s ** ranges
Definition: oio_sds.h:283
const char * end
Definition: oio_sds.h:447
Definition: oio_sds.h:408
union oio_sds_dl_dst_s::@0 data