OpenIO SDS C API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups
Data Structures | Macros | Typedefs | Functions
sds.c File Reference
#include <core/oio_sds.h>
#include <string.h>
#include <errno.h>
#include <fcntl.h>
#include <unistd.h>
#include <sys/stat.h>
#include <json.h>
#include <curl/curl.h>
#include <curl/curlver.h>
#include <core/client_variables.h>
#include <metautils/lib/metautils.h>
#include "http_put.h"
#include "http_del.h"
#include "http_internals.h"
#include "internals.h"
Include dependency graph for sds.c:

Data Structures

struct  oio_sds_s
 
struct  chunk_position_s
 
struct  chunk_s
 
struct  metachunk_s
 
struct  _download_ctx_s
 
struct  oio_sds_ul_s
 

Macros

#define CURL_DO(Sds, Var, Action)
 
#define LAZYSET(R, V)   do { if (!R) R = g_strdup(V); } while (0)
 

Typedefs

typedef void oio_sds_chunk_reporter_f (gpointer data, struct chunk_s *chunk)
 

Functions

unsigned int oio_sds_version (void)
 
void oio_log_to_syslog (void)
 
void oio_log_to_stderr (void)
 
void oio_log_more (void)
 
void oio_log_nothing (void)
 
void oio_error_free (struct oio_error_s *e)
 
void oio_error_pfree (struct oio_error_s **pe)
 
int oio_error_code (const struct oio_error_s *e)
 
const char * oio_error_message (const struct oio_error_s *e)
 
struct oio_error_s * oio_sds_init (struct oio_sds_s **out, const char *ns)
 
void oio_sds_free (struct oio_sds_s *sds)
 
void oio_sds_pfree (struct oio_sds_s **psds)
 
int oio_sds_configure (struct oio_sds_s *sds, enum oio_sds_config_e what, void *pv, unsigned int vlen)
 
struct oio_error_s * oio_sds_create (struct oio_sds_s *sds, struct oio_url_s *url)
 
struct oio_error_s * oio_sds_download (struct oio_sds_s *sds, struct oio_sds_dl_src_s *dl, struct oio_sds_dl_dst_s *snk)
 
struct oio_error_s * oio_sds_download_to_file (struct oio_sds_s *sds, struct oio_url_s *url, const char *local)
 
struct oio_sds_ul_soio_sds_upload_init (struct oio_sds_s *sds, struct oio_sds_ul_dst_s *dst)
 
void oio_sds_upload_clean (struct oio_sds_ul_s *ul)
 
int oio_sds_upload_done (struct oio_sds_ul_s *ul)
 
int oio_sds_upload_greedy (struct oio_sds_ul_s *ul)
 
int oio_sds_upload_needs_ecd (struct oio_sds_ul_s *ul)
 
struct oio_error_s * oio_sds_upload_prepare (struct oio_sds_ul_s *ul, size_t size)
 
struct oio_error_s * oio_sds_upload_feed (struct oio_sds_ul_s *ul, const unsigned char *buf, size_t len)
 
struct oio_error_s * oio_sds_upload_step (struct oio_sds_ul_s *ul)
 
struct oio_error_s * oio_sds_upload_commit (struct oio_sds_ul_s *ul)
 
struct oio_error_s * oio_sds_upload_abort (struct oio_sds_ul_s *ul)
 
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)
 
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)
 
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)
 
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)
 
struct oio_error_s * oio_sds_get_usage (struct oio_sds_s *sds, struct oio_url_s *url, struct oio_sds_usage_s *out)
 
struct oio_error_s * oio_sds_truncate (struct oio_sds_s *sds, struct oio_url_s *url, size_t size)
 
struct oio_error_s * oio_sds_drain (struct oio_sds_s *sds, struct oio_url_s *url)
 
struct oio_error_s * oio_sds_delete (struct oio_sds_s *sds, struct oio_url_s *url)
 
struct oio_error_s * oio_sds_delete_container (struct oio_sds_s *sds, struct oio_url_s *url)
 
struct oio_error_s * oio_sds_show_content (struct oio_sds_s *sds, struct oio_url_s *url, void *cb_data, oio_sds_info_reporter_f cb_info, oio_sds_metachunk_reporter_f cb_metachunks, oio_sds_property_reporter_f cb_props)
 
struct oio_error_s * oio_sds_has (struct oio_sds_s *sds, struct oio_url_s *url, int *phas)
 
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)
 
struct oio_error_s * oio_sds_set_container_properties (struct oio_sds_s *sds, struct oio_url_s *url, const char *const *values)
 
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)
 
struct oio_error_s * oio_sds_set_content_properties (struct oio_sds_s *sds, struct oio_url_s *url, const char *const *values)
 

Macro Definition Documentation

#define CURL_DO (   Sds,
  Var,
  Action 
)
Value:
do { \
CURL *Var = _get_proxy_handle(Sds); \
Action; \
_release_proxy_handle(Sds,Var); \
} while (0)
#define LAZYSET (   R,
 
)    do { if (!R) R = g_strdup(V); } while (0)

Typedef Documentation

typedef void oio_sds_chunk_reporter_f(gpointer data, struct chunk_s *chunk)