hyperdex 1.0.0

Rust binding for HyperDex, the next-generation distributed key-value store
use hyperdex::*;
use hyperdex_client::*;
use libc::*;
use std::ptr::null;

/* automatically generated by rust-bindgen */

pub enum Struct_hyperdex_ds_arena { }
pub enum Struct_hyperdex_ds_list { }
pub enum Struct_hyperdex_ds_set { }
pub enum Struct_hyperdex_ds_map { }
#[repr(C)]
pub struct Struct_hyperdex_ds_iterator {
    pub datatype: Enum_hyperdatatype,
    pub value: *const ::libc::c_char,
    pub value_end: *const ::libc::c_char,
    pub progress: *const ::libc::c_char,
}
impl Struct_hyperdex_ds_iterator {
    pub fn new() -> Struct_hyperdex_ds_iterator {
        Struct_hyperdex_ds_iterator {
            datatype: 0,
            value: null(),
            value_end: null(),
            progress: null(),
        }
    }
}
pub type Enum_hyperdex_ds_returncode = ::libc::c_uint;
pub static HYPERDEX_DS_SUCCESS: ::libc::c_uint = 0;
pub static HYPERDEX_DS_NOMEM: ::libc::c_uint = 1;
pub static HYPERDEX_DS_MIXED_TYPES: ::libc::c_uint = 2;
pub static HYPERDEX_DS_WRONG_STATE: ::libc::c_uint = 3;
pub static HYPERDEX_DS_STRING_TOO_LONG: ::libc::c_uint = 4;
extern "C" {
    pub fn hyperdex_ds_arena_create() -> *mut Struct_hyperdex_ds_arena;
    pub fn hyperdex_ds_arena_destroy(arena: *mut Struct_hyperdex_ds_arena);
    pub fn hyperdex_ds_malloc(arena: *mut Struct_hyperdex_ds_arena,
                              sz: size_t) -> *mut ::libc::c_void;
    pub fn hyperdex_ds_allocate_attribute(arena:
                                              *mut Struct_hyperdex_ds_arena,
                                          sz: size_t) ->
     *mut Struct_hyperdex_client_attribute;
    pub fn hyperdex_ds_allocate_attribute_check(arena:
                                                    *mut Struct_hyperdex_ds_arena,
                                                sz: size_t) ->
     *mut Struct_hyperdex_client_attribute_check;
    pub fn hyperdex_ds_allocate_map_attribute(arena:
                                                  *mut Struct_hyperdex_ds_arena,
                                              sz: size_t) ->
     *mut Struct_hyperdex_client_map_attribute;
    pub fn hyperdex_ds_pack_int(num: int64_t, buf: *mut ::libc::c_char);
    pub fn hyperdex_ds_unpack_int(buf: *const ::libc::c_char, buf_sz: size_t,
                                  num: *mut int64_t) -> ::libc::c_int;
    pub fn hyperdex_ds_pack_float(num: ::libc::c_double,
                                  buf: *mut ::libc::c_char);
    pub fn hyperdex_ds_unpack_float(buf: *const ::libc::c_char,
                                    buf_sz: size_t,
                                    num: *mut ::libc::c_double) ->
     ::libc::c_int;
    pub fn hyperdex_ds_copy_string(arena: *mut Struct_hyperdex_ds_arena,
                                   str: *const ::libc::c_char, str_sz: size_t,
                                   status: *mut Enum_hyperdex_ds_returncode,
                                   value: *mut *const ::libc::c_char,
                                   value_sz: *mut size_t) -> ::libc::c_int;
    pub fn hyperdex_ds_copy_int(arena: *mut Struct_hyperdex_ds_arena,
                                num: int64_t,
                                status: *mut Enum_hyperdex_ds_returncode,
                                value: *mut *const ::libc::c_char,
                                value_sz: *mut size_t) -> ::libc::c_int;
    pub fn hyperdex_ds_copy_float(arena: *mut Struct_hyperdex_ds_arena,
                                  num: ::libc::c_double,
                                  status: *mut Enum_hyperdex_ds_returncode,
                                  value: *mut *const ::libc::c_char,
                                  value_sz: *mut size_t) -> ::libc::c_int;
    pub fn hyperdex_ds_allocate_list(arena: *mut Struct_hyperdex_ds_arena) ->
     *mut Struct_hyperdex_ds_list;
    pub fn hyperdex_ds_list_append_string(list: *mut Struct_hyperdex_ds_list,
                                          str: *const ::libc::c_char,
                                          str_sz: size_t,
                                          status:
                                              *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_list_append_int(list: *mut Struct_hyperdex_ds_list,
                                       num: int64_t,
                                       status:
                                           *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_list_append_float(list: *mut Struct_hyperdex_ds_list,
                                         num: ::libc::c_double,
                                         status:
                                             *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_list_finalize(list: *mut Struct_hyperdex_ds_list,
                                     status: *mut Enum_hyperdex_ds_returncode,
                                     value: *mut *const ::libc::c_char,
                                     value_sz: *mut size_t,
                                     datatype: *mut Enum_hyperdatatype) ->
     ::libc::c_int;
    pub fn hyperdex_ds_allocate_set(arena: *mut Struct_hyperdex_ds_arena) ->
     *mut Struct_hyperdex_ds_set;
    pub fn hyperdex_ds_set_insert_string(set: *mut Struct_hyperdex_ds_set,
                                         str: *const ::libc::c_char,
                                         str_sz: size_t,
                                         status:
                                             *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_set_insert_int(set: *mut Struct_hyperdex_ds_set,
                                      num: int64_t,
                                      status:
                                          *mut Enum_hyperdex_ds_returncode) ->
     ::libc::c_int;
    pub fn hyperdex_ds_set_insert_float(set: *mut Struct_hyperdex_ds_set,
                                        num: ::libc::c_double,
                                        status:
                                            *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_set_finalize(arg1: *mut Struct_hyperdex_ds_set,
                                    status: *mut Enum_hyperdex_ds_returncode,
                                    value: *mut *const ::libc::c_char,
                                    value_sz: *mut size_t,
                                    datatype: *mut Enum_hyperdatatype) ->
     ::libc::c_int;
    pub fn hyperdex_ds_allocate_map(arena: *mut Struct_hyperdex_ds_arena) ->
     *mut Struct_hyperdex_ds_map;
    pub fn hyperdex_ds_map_insert_key_string(map: *mut Struct_hyperdex_ds_map,
                                             str: *const ::libc::c_char,
                                             str_sz: size_t,
                                             status:
                                                 *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_insert_val_string(map: *mut Struct_hyperdex_ds_map,
                                             str: *const ::libc::c_char,
                                             str_sz: size_t,
                                             status:
                                                 *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_insert_key_int(map: *mut Struct_hyperdex_ds_map,
                                          num: int64_t,
                                          status:
                                              *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_insert_val_int(map: *mut Struct_hyperdex_ds_map,
                                          num: int64_t,
                                          status:
                                              *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_insert_key_float(map: *mut Struct_hyperdex_ds_map,
                                            num: ::libc::c_double,
                                            status:
                                                *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_insert_val_float(map: *mut Struct_hyperdex_ds_map,
                                            num: ::libc::c_double,
                                            status:
                                                *mut Enum_hyperdex_ds_returncode)
     -> ::libc::c_int;
    pub fn hyperdex_ds_map_finalize(arg1: *mut Struct_hyperdex_ds_map,
                                    status: *mut Enum_hyperdex_ds_returncode,
                                    value: *mut *const ::libc::c_char,
                                    value_sz: *mut size_t,
                                    datatype: *mut Enum_hyperdatatype) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterator_init(iter: *mut Struct_hyperdex_ds_iterator,
                                     datatype: Enum_hyperdatatype,
                                     value: *const ::libc::c_char,
                                     value_sz: size_t);
    pub fn hyperdex_ds_iterate_list_string_next(iter:
                                                    *mut Struct_hyperdex_ds_iterator,
                                                str:
                                                    *mut *const ::libc::c_char,
                                                str_sz: *mut size_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_list_int_next(iter:
                                                 *mut Struct_hyperdex_ds_iterator,
                                             num: *mut int64_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_list_float_next(iter:
                                                   *mut Struct_hyperdex_ds_iterator,
                                               num: *mut ::libc::c_double) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_set_string_next(iter:
                                                   *mut Struct_hyperdex_ds_iterator,
                                               str:
                                                   *mut *const ::libc::c_char,
                                               str_sz: *mut size_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_set_int_next(iter:
                                                *mut Struct_hyperdex_ds_iterator,
                                            num: *mut int64_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_set_float_next(iter:
                                                  *mut Struct_hyperdex_ds_iterator,
                                              num: *mut ::libc::c_double) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_string_string_next(iter:
                                                          *mut Struct_hyperdex_ds_iterator,
                                                      key:
                                                          *mut *const ::libc::c_char,
                                                      key_sz: *mut size_t,
                                                      val:
                                                          *mut *const ::libc::c_char,
                                                      val_sz: *mut size_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_string_int_next(iter:
                                                       *mut Struct_hyperdex_ds_iterator,
                                                   key:
                                                       *mut *const ::libc::c_char,
                                                   key_sz: *mut size_t,
                                                   val: *mut int64_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_string_float_next(iter:
                                                         *mut Struct_hyperdex_ds_iterator,
                                                     key:
                                                         *mut *const ::libc::c_char,
                                                     key_sz: *mut size_t,
                                                     val:
                                                         *mut ::libc::c_double)
     -> ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_int_string_next(iter:
                                                       *mut Struct_hyperdex_ds_iterator,
                                                   key: *mut int64_t,
                                                   val:
                                                       *mut *const ::libc::c_char,
                                                   val_sz: *mut size_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_int_int_next(iter:
                                                    *mut Struct_hyperdex_ds_iterator,
                                                key: *mut int64_t,
                                                val: *mut int64_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_int_float_next(iter:
                                                      *mut Struct_hyperdex_ds_iterator,
                                                  key: *mut int64_t,
                                                  val: *mut ::libc::c_double)
     -> ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_float_string_next(iter:
                                                         *mut Struct_hyperdex_ds_iterator,
                                                     key:
                                                         *mut ::libc::c_double,
                                                     val:
                                                         *mut *const ::libc::c_char,
                                                     val_sz: *mut size_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_float_int_next(iter:
                                                      *mut Struct_hyperdex_ds_iterator,
                                                  key: *mut ::libc::c_double,
                                                  val: *mut int64_t) ->
     ::libc::c_int;
    pub fn hyperdex_ds_iterate_map_float_float_next(iter:
                                                        *mut Struct_hyperdex_ds_iterator,
                                                    key:
                                                        *mut ::libc::c_double,
                                                    val:
                                                        *mut ::libc::c_double)
     -> ::libc::c_int;
}