/* automatically generated by rust-bindgen */

pub const __GNUC_VA_LIST: u32 = 1;
pub const _STDINT_H: u32 = 1;
pub const _FEATURES_H: u32 = 1;
pub const __USE_ANSI: u32 = 1;
pub const _BSD_SOURCE: u32 = 1;
pub const _SVID_SOURCE: u32 = 1;
pub const __USE_ISOC11: u32 = 1;
pub const __USE_ISOC99: u32 = 1;
pub const __USE_ISOC95: u32 = 1;
pub const _POSIX_SOURCE: u32 = 1;
pub const _POSIX_C_SOURCE: u32 = 200809;
pub const __USE_POSIX_IMPLICITLY: u32 = 1;
pub const __USE_POSIX: u32 = 1;
pub const __USE_POSIX2: u32 = 1;
pub const __USE_POSIX199309: u32 = 1;
pub const __USE_POSIX199506: u32 = 1;
pub const __USE_XOPEN2K: u32 = 1;
pub const __USE_XOPEN2K8: u32 = 1;
pub const _ATFILE_SOURCE: u32 = 1;
pub const __USE_MISC: u32 = 1;
pub const __USE_BSD: u32 = 1;
pub const __USE_SVID: u32 = 1;
pub const __USE_ATFILE: u32 = 1;
pub const __USE_FORTIFY_LEVEL: u32 = 0;
pub const _STDC_PREDEF_H: u32 = 1;
pub const __STDC_IEC_559__: u32 = 1;
pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
pub const __STDC_ISO_10646__: u32 = 201103;
pub const __STDC_NO_THREADS__: u32 = 1;
pub const __GNU_LIBRARY__: u32 = 6;
pub const __GLIBC__: u32 = 2;
pub const __GLIBC_MINOR__: u32 = 17;
pub const __GLIBC_HAVE_LONG_LONG: u32 = 1;
pub const _SYS_CDEFS_H: u32 = 1;
pub const __WORDSIZE: u32 = 64;
pub const _BITS_WCHAR_H: u32 = 1;
pub const INT8_MIN: i32 = -128;
pub const INT16_MIN: i32 = -32768;
pub const INT32_MIN: i32 = -2147483648;
pub const INT8_MAX: u32 = 127;
pub const INT16_MAX: u32 = 32767;
pub const INT32_MAX: u32 = 2147483647;
pub const UINT8_MAX: u32 = 255;
pub const UINT16_MAX: u32 = 65535;
pub const UINT32_MAX: u32 = 4294967295;
pub const INT_LEAST8_MIN: i32 = -128;
pub const INT_LEAST16_MIN: i32 = -32768;
pub const INT_LEAST32_MIN: i32 = -2147483648;
pub const INT_LEAST8_MAX: u32 = 127;
pub const INT_LEAST16_MAX: u32 = 32767;
pub const INT_LEAST32_MAX: u32 = 2147483647;
pub const UINT_LEAST8_MAX: u32 = 255;
pub const UINT_LEAST16_MAX: u32 = 65535;
pub const UINT_LEAST32_MAX: u32 = 4294967295;
pub const INT_FAST8_MIN: i32 = -128;
pub const INT_FAST16_MIN: i64 = -9223372036854775808;
pub const INT_FAST32_MIN: i64 = -9223372036854775808;
pub const INT_FAST8_MAX: u32 = 127;
pub const INT_FAST16_MAX: u64 = 9223372036854775807;
pub const INT_FAST32_MAX: u64 = 9223372036854775807;
pub const UINT_FAST8_MAX: u32 = 255;
pub const UINT_FAST16_MAX: i32 = -1;
pub const UINT_FAST32_MAX: i32 = -1;
pub const INTPTR_MIN: i64 = -9223372036854775808;
pub const INTPTR_MAX: u64 = 9223372036854775807;
pub const UINTPTR_MAX: i32 = -1;
pub const PTRDIFF_MIN: i64 = -9223372036854775808;
pub const PTRDIFF_MAX: u64 = 9223372036854775807;
pub const SIG_ATOMIC_MIN: i32 = -2147483648;
pub const SIG_ATOMIC_MAX: u32 = 2147483647;
pub const SIZE_MAX: i32 = -1;
pub const WINT_MIN: u32 = 0;
pub const WINT_MAX: u32 = 4294967295;
pub type va_list = __builtin_va_list;
pub type __gnuc_va_list = __builtin_va_list;
pub type wchar_t = libc::c_uint;
#[repr(C)]
#[repr(align(16))]
#[derive(Debug, Copy, Clone)]
pub struct max_align_t {
    pub __clang_max_align_nonce1: libc::c_longlong,
    pub __bindgen_padding_0: u64,
    pub __clang_max_align_nonce2: u128,
}
#[test]
fn bindgen_test_layout_max_align_t() {
    assert_eq!(
        ::std::mem::size_of::<max_align_t>(),
        32usize,
        concat!("Size of: ", stringify!(max_align_t))
    );
    assert_eq!(
        ::std::mem::align_of::<max_align_t>(),
        16usize,
        concat!("Alignment of ", stringify!(max_align_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce1 as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce1)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<max_align_t>())).__clang_max_align_nonce2 as *const _ as usize
        },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(max_align_t),
            "::",
            stringify!(__clang_max_align_nonce2)
        )
    );
}
pub type int_least8_t = libc::c_schar;
pub type int_least16_t = libc::c_short;
pub type int_least32_t = libc::c_int;
pub type int_least64_t = libc::c_long;
pub type uint_least8_t = libc::c_uchar;
pub type uint_least16_t = libc::c_ushort;
pub type uint_least32_t = libc::c_uint;
pub type uint_least64_t = libc::c_ulong;
pub type int_fast8_t = libc::c_schar;
pub type int_fast16_t = libc::c_long;
pub type int_fast32_t = libc::c_long;
pub type int_fast64_t = libc::c_long;
pub type uint_fast8_t = libc::c_uchar;
pub type uint_fast16_t = libc::c_ulong;
pub type uint_fast32_t = libc::c_ulong;
pub type uint_fast64_t = libc::c_ulong;
pub type intmax_t = libc::c_long;
pub type uintmax_t = libc::c_ulong;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_status_ptr_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_backup_engine_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_backup_engine_info_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_restore_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_lru_cache_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_cache_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_memory_allocator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compactionfilter_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compactionfiltercontext_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compactionfilterfactory_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_comparator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_env_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_fifo_compaction_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_filelock_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_filterpolicy_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_flushoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_iterator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_logger_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_mergeoperator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_column_family_descriptor {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compactoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_block_based_table_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_cuckoo_table_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_randomfile_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_readoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_seqfile_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_slicetransform_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_snapshot_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_writablefile_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_writebatch_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_writeoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_universal_compaction_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_livefiles_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_column_family_handle_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_envoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_sequential_file_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_ingestexternalfileoptions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_sstfilereader_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_sstfilewriter_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_externalsstfileinfo_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_ratelimiter_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_pinnableslice_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_user_collected_properties_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_user_collected_properties_iterator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_table_properties_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_table_properties_collection_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_table_properties_collection_iterator_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_table_properties_collector_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_table_properties_collector_factory_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_flushjobinfo_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compactionjobinfo_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_externalfileingestioninfo_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_eventlistener_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_keyversions_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_column_family_meta_data_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_level_meta_data_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_sst_file_meta_data_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_compaction_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_perf_context_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_iostats_context_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_writestallinfo_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_writestallcondition_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct crocksdb_map_property_t {
    _unused: [u8; 0],
}
pub const crocksdb_table_property_t_kDataSize: crocksdb_table_property_t = 1;
pub const crocksdb_table_property_t_kIndexSize: crocksdb_table_property_t = 2;
pub const crocksdb_table_property_t_kFilterSize: crocksdb_table_property_t = 3;
pub const crocksdb_table_property_t_kRawKeySize: crocksdb_table_property_t = 4;
pub const crocksdb_table_property_t_kRawValueSize: crocksdb_table_property_t = 5;
pub const crocksdb_table_property_t_kNumDataBlocks: crocksdb_table_property_t = 6;
pub const crocksdb_table_property_t_kNumEntries: crocksdb_table_property_t = 7;
pub const crocksdb_table_property_t_kFormatVersion: crocksdb_table_property_t = 8;
pub const crocksdb_table_property_t_kFixedKeyLen: crocksdb_table_property_t = 9;
pub const crocksdb_table_property_t_kColumnFamilyID: crocksdb_table_property_t = 10;
pub const crocksdb_table_property_t_kColumnFamilyName: crocksdb_table_property_t = 11;
pub const crocksdb_table_property_t_kFilterPolicyName: crocksdb_table_property_t = 12;
pub const crocksdb_table_property_t_kComparatorName: crocksdb_table_property_t = 13;
pub const crocksdb_table_property_t_kMergeOperatorName: crocksdb_table_property_t = 14;
pub const crocksdb_table_property_t_kPrefixExtractorName: crocksdb_table_property_t = 15;
pub const crocksdb_table_property_t_kPropertyCollectorsNames: crocksdb_table_property_t = 16;
pub const crocksdb_table_property_t_kCompressionName: crocksdb_table_property_t = 17;
pub type crocksdb_table_property_t = u32;
pub const crocksdb_ratelimiter_mode_t_kReadsOnly: crocksdb_ratelimiter_mode_t = 1;
pub const crocksdb_ratelimiter_mode_t_kWritesOnly: crocksdb_ratelimiter_mode_t = 2;
pub const crocksdb_ratelimiter_mode_t_kAllIo: crocksdb_ratelimiter_mode_t = 3;
pub type crocksdb_ratelimiter_mode_t = u32;
pub const crocksdb_backgrounderrorreason_t_kFlush: crocksdb_backgrounderrorreason_t = 1;
pub const crocksdb_backgrounderrorreason_t_kCompaction: crocksdb_backgrounderrorreason_t = 2;
pub const crocksdb_backgrounderrorreason_t_kWriteCallback: crocksdb_backgrounderrorreason_t = 3;
pub const crocksdb_backgrounderrorreason_t_kMemTable: crocksdb_backgrounderrorreason_t = 4;
pub type crocksdb_backgrounderrorreason_t = u32;
extern "C" {
    pub fn crocksdb_open(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_open_with_ttl(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        ttl: libc::c_int,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_open_for_read_only(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        error_if_log_file_exist: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_status_ptr_get_error(
        arg1: *mut crocksdb_status_ptr_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_backup_engine_open(
        options: *const crocksdb_options_t,
        path: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_backup_engine_t;
}
extern "C" {
    pub fn crocksdb_backup_engine_create_new_backup(
        be: *mut crocksdb_backup_engine_t,
        db: *mut crocksdb_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_backup_engine_purge_old_backups(
        be: *mut crocksdb_backup_engine_t,
        num_backups_to_keep: u32,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_restore_options_create() -> *mut crocksdb_restore_options_t;
}
extern "C" {
    pub fn crocksdb_restore_options_destroy(opt: *mut crocksdb_restore_options_t);
}
extern "C" {
    pub fn crocksdb_restore_options_set_keep_log_files(
        opt: *mut crocksdb_restore_options_t,
        v: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_backup_engine_restore_db_from_latest_backup(
        be: *mut crocksdb_backup_engine_t,
        db_dir: *const libc::c_char,
        wal_dir: *const libc::c_char,
        restore_options: *const crocksdb_restore_options_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_backup_engine_get_backup_info(
        be: *mut crocksdb_backup_engine_t,
    ) -> *const crocksdb_backup_engine_info_t;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_count(
        info: *const crocksdb_backup_engine_info_t,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_timestamp(
        info: *const crocksdb_backup_engine_info_t,
        index: libc::c_int,
    ) -> i64;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_backup_id(
        info: *const crocksdb_backup_engine_info_t,
        index: libc::c_int,
    ) -> u32;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_size(
        info: *const crocksdb_backup_engine_info_t,
        index: libc::c_int,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_number_files(
        info: *const crocksdb_backup_engine_info_t,
        index: libc::c_int,
    ) -> u32;
}
extern "C" {
    pub fn crocksdb_backup_engine_info_destroy(info: *const crocksdb_backup_engine_info_t);
}
extern "C" {
    pub fn crocksdb_backup_engine_close(be: *mut crocksdb_backup_engine_t);
}
extern "C" {
    pub fn crocksdb_open_column_families(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        num_column_families: libc::c_int,
        column_family_names: *mut *const libc::c_char,
        column_family_options: *mut *const crocksdb_options_t,
        column_family_handles: *mut *mut crocksdb_column_family_handle_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_open_column_families_with_ttl(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        num_column_families: libc::c_int,
        column_family_names: *mut *const libc::c_char,
        column_family_options: *mut *const crocksdb_options_t,
        ttl_array: *const i32,
        read_only: libc::c_uchar,
        column_family_handles: *mut *mut crocksdb_column_family_handle_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_open_for_read_only_column_families(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        num_column_families: libc::c_int,
        column_family_names: *mut *const libc::c_char,
        column_family_options: *mut *const crocksdb_options_t,
        column_family_handles: *mut *mut crocksdb_column_family_handle_t,
        error_if_log_file_exist: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn crocksdb_list_column_families(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        lencf: *mut usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_list_column_families_destroy(list: *mut *mut libc::c_char, len: usize);
}
extern "C" {
    pub fn crocksdb_create_column_family(
        db: *mut crocksdb_t,
        column_family_options: *const crocksdb_options_t,
        column_family_name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_column_family_handle_t;
}
extern "C" {
    pub fn crocksdb_drop_column_family(
        db: *mut crocksdb_t,
        handle: *mut crocksdb_column_family_handle_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_column_family_handle_id(arg1: *mut crocksdb_column_family_handle_t) -> u32;
}
extern "C" {
    pub fn crocksdb_column_family_handle_destroy(arg1: *mut crocksdb_column_family_handle_t);
}
extern "C" {
    pub fn crocksdb_close(db: *mut crocksdb_t);
}
extern "C" {
    pub fn crocksdb_pause_bg_work(db: *mut crocksdb_t);
}
extern "C" {
    pub fn crocksdb_continue_bg_work(db: *mut crocksdb_t);
}
extern "C" {
    pub fn crocksdb_put(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_put_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_single_delete(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_single_delete_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete_range_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        begin_key: *const libc::c_char,
        begin_keylen: usize,
        end_key: *const libc::c_char,
        end_keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_merge(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_merge_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_write(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        batch: *mut crocksdb_writebatch_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_write_multi_batch(
        db: *mut crocksdb_t,
        options: *const crocksdb_writeoptions_t,
        batches: *mut *mut crocksdb_writebatch_t,
        batch_size: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_get(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        vallen: *mut usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_get_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        vallen: *mut usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_multi_get(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        num_keys: usize,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        values_list: *mut *mut libc::c_char,
        values_list_sizes: *mut usize,
        errs: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_multi_get_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        column_families: *const *const crocksdb_column_family_handle_t,
        num_keys: usize,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        values_list: *mut *mut libc::c_char,
        values_list_sizes: *mut usize,
        errs: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_create_iterator(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
    ) -> *mut crocksdb_iterator_t;
}
extern "C" {
    pub fn crocksdb_create_iterator_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
    ) -> *mut crocksdb_iterator_t;
}
extern "C" {
    pub fn crocksdb_create_iterators(
        db: *mut crocksdb_t,
        opts: *mut crocksdb_readoptions_t,
        column_families: *mut *mut crocksdb_column_family_handle_t,
        iterators: *mut *mut crocksdb_iterator_t,
        size: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_create_snapshot(db: *mut crocksdb_t) -> *const crocksdb_snapshot_t;
}
extern "C" {
    pub fn crocksdb_release_snapshot(db: *mut crocksdb_t, snapshot: *const crocksdb_snapshot_t);
}
extern "C" {
    pub fn crocksdb_get_snapshot_sequence_number(snapshot: *const crocksdb_snapshot_t) -> u64;
}
extern "C" {
    pub fn crocksdb_create_map_property() -> *mut crocksdb_map_property_t;
}
extern "C" {
    pub fn crocksdb_destroy_map_property(info: *mut crocksdb_map_property_t);
}
extern "C" {
    pub fn crocksdb_get_map_property_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        property: *const libc::c_char,
        data: *mut crocksdb_map_property_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_map_property_value(
        info: *mut crocksdb_map_property_t,
        propname: *const libc::c_char,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_map_property_int_value(
        info: *mut crocksdb_map_property_t,
        propname: *const libc::c_char,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_property_value(
        db: *mut crocksdb_t,
        propname: *const libc::c_char,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_property_value_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        propname: *const libc::c_char,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_approximate_sizes(
        db: *mut crocksdb_t,
        num_ranges: libc::c_int,
        range_start_key: *const *const libc::c_char,
        range_start_key_len: *const usize,
        range_limit_key: *const *const libc::c_char,
        range_limit_key_len: *const usize,
        sizes: *mut u64,
    );
}
extern "C" {
    pub fn crocksdb_approximate_sizes_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        num_ranges: libc::c_int,
        range_start_key: *const *const libc::c_char,
        range_start_key_len: *const usize,
        range_limit_key: *const *const libc::c_char,
        range_limit_key_len: *const usize,
        sizes: *mut u64,
    );
}
extern "C" {
    pub fn crocksdb_approximate_memtable_stats(
        db: *const crocksdb_t,
        range_start_key: *const libc::c_char,
        range_start_key_len: usize,
        range_limit_key: *const libc::c_char,
        range_limit_key_len: usize,
        count: *mut u64,
        size: *mut u64,
    );
}
extern "C" {
    pub fn crocksdb_approximate_memtable_stats_cf(
        db: *const crocksdb_t,
        cf: *const crocksdb_column_family_handle_t,
        range_start_key: *const libc::c_char,
        range_start_key_len: usize,
        range_limit_key: *const libc::c_char,
        range_limit_key_len: usize,
        count: *mut u64,
        size: *mut u64,
    );
}
extern "C" {
    pub fn crocksdb_compact_range(
        db: *mut crocksdb_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_compact_range_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_compact_range_opt(
        db: *mut crocksdb_t,
        opt: *mut crocksdb_compactoptions_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_compact_range_cf_opt(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        opt: *mut crocksdb_compactoptions_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_delete_file(db: *mut crocksdb_t, name: *const libc::c_char);
}
extern "C" {
    pub fn crocksdb_livefiles(db: *mut crocksdb_t) -> *const crocksdb_livefiles_t;
}
extern "C" {
    pub fn crocksdb_flush(
        db: *mut crocksdb_t,
        options: *const crocksdb_flushoptions_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_flush_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        options: *const crocksdb_flushoptions_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_flush_wal(
        db: *mut crocksdb_t,
        sync: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sync_wal(db: *mut crocksdb_t, errptr: *mut *mut libc::c_char);
}
extern "C" {
    pub fn crocksdb_get_latest_sequence_number(db: *mut crocksdb_t) -> u64;
}
extern "C" {
    pub fn crocksdb_disable_file_deletions(db: *mut crocksdb_t, errptr: *mut *mut libc::c_char);
}
extern "C" {
    pub fn crocksdb_enable_file_deletions(
        db: *mut crocksdb_t,
        force: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_get_db_options(db: *mut crocksdb_t) -> *mut crocksdb_options_t;
}
extern "C" {
    pub fn crocksdb_set_db_options(
        db: *mut crocksdb_t,
        names: *mut *const libc::c_char,
        values: *mut *const libc::c_char,
        num_options: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_get_options_cf(
        db: *const crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
    ) -> *mut crocksdb_options_t;
}
extern "C" {
    pub fn crocksdb_set_options_cf(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        names: *mut *const libc::c_char,
        values: *mut *const libc::c_char,
        num_options: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_destroy_db(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_repair_db(
        options: *const crocksdb_options_t,
        name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_iter_destroy(arg1: *mut crocksdb_iterator_t);
}
extern "C" {
    pub fn crocksdb_iter_valid(arg1: *const crocksdb_iterator_t) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_iter_seek_to_first(arg1: *mut crocksdb_iterator_t);
}
extern "C" {
    pub fn crocksdb_iter_seek_to_last(arg1: *mut crocksdb_iterator_t);
}
extern "C" {
    pub fn crocksdb_iter_seek(arg1: *mut crocksdb_iterator_t, k: *const libc::c_char, klen: usize);
}
extern "C" {
    pub fn crocksdb_iter_seek_for_prev(
        arg1: *mut crocksdb_iterator_t,
        k: *const libc::c_char,
        klen: usize,
    );
}
extern "C" {
    pub fn crocksdb_iter_next(arg1: *mut crocksdb_iterator_t);
}
extern "C" {
    pub fn crocksdb_iter_prev(arg1: *mut crocksdb_iterator_t);
}
extern "C" {
    pub fn crocksdb_iter_key(
        arg1: *const crocksdb_iterator_t,
        klen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_iter_value(
        arg1: *const crocksdb_iterator_t,
        vlen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_iter_get_error(
        arg1: *const crocksdb_iterator_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_create() -> *mut crocksdb_writebatch_t;
}
extern "C" {
    pub fn crocksdb_writebatch_create_with_capacity(
        reserved_bytes: usize,
    ) -> *mut crocksdb_writebatch_t;
}
extern "C" {
    pub fn crocksdb_writebatch_create_from(
        rep: *const libc::c_char,
        size: usize,
    ) -> *mut crocksdb_writebatch_t;
}
extern "C" {
    pub fn crocksdb_writebatch_destroy(arg1: *mut crocksdb_writebatch_t);
}
extern "C" {
    pub fn crocksdb_writebatch_clear(arg1: *mut crocksdb_writebatch_t);
}
extern "C" {
    pub fn crocksdb_writebatch_count(arg1: *mut crocksdb_writebatch_t) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_writebatch_put(
        arg1: *mut crocksdb_writebatch_t,
        key: *const libc::c_char,
        klen: usize,
        val: *const libc::c_char,
        vlen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_put_cf(
        arg1: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        klen: usize,
        val: *const libc::c_char,
        vlen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_putv(
        b: *mut crocksdb_writebatch_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        num_values: libc::c_int,
        values_list: *const *const libc::c_char,
        values_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_putv_cf(
        b: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        num_values: libc::c_int,
        values_list: *const *const libc::c_char,
        values_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_merge(
        arg1: *mut crocksdb_writebatch_t,
        key: *const libc::c_char,
        klen: usize,
        val: *const libc::c_char,
        vlen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_merge_cf(
        arg1: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        klen: usize,
        val: *const libc::c_char,
        vlen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_mergev(
        b: *mut crocksdb_writebatch_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        num_values: libc::c_int,
        values_list: *const *const libc::c_char,
        values_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_mergev_cf(
        b: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
        num_values: libc::c_int,
        values_list: *const *const libc::c_char,
        values_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete(
        arg1: *mut crocksdb_writebatch_t,
        key: *const libc::c_char,
        klen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete_cf(
        arg1: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        klen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_single_delete(
        arg1: *mut crocksdb_writebatch_t,
        key: *const libc::c_char,
        klen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_single_delete_cf(
        arg1: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        klen: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_deletev(
        b: *mut crocksdb_writebatch_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_deletev_cf(
        b: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        num_keys: libc::c_int,
        keys_list: *const *const libc::c_char,
        keys_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete_range(
        b: *mut crocksdb_writebatch_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        end_key: *const libc::c_char,
        end_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete_range_cf(
        b: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        end_key: *const libc::c_char,
        end_key_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete_rangev(
        b: *mut crocksdb_writebatch_t,
        num_keys: libc::c_int,
        start_keys_list: *const *const libc::c_char,
        start_keys_list_sizes: *const usize,
        end_keys_list: *const *const libc::c_char,
        end_keys_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_delete_rangev_cf(
        b: *mut crocksdb_writebatch_t,
        column_family: *mut crocksdb_column_family_handle_t,
        num_keys: libc::c_int,
        start_keys_list: *const *const libc::c_char,
        start_keys_list_sizes: *const usize,
        end_keys_list: *const *const libc::c_char,
        end_keys_list_sizes: *const usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_put_log_data(
        arg1: *mut crocksdb_writebatch_t,
        blob: *const libc::c_char,
        len: usize,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_iterate(
        arg1: *mut crocksdb_writebatch_t,
        state: *mut libc::c_void,
        put: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                k: *const libc::c_char,
                klen: usize,
                v: *const libc::c_char,
                vlen: usize,
            ),
        >,
        deleted: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void, k: *const libc::c_char, klen: usize),
        >,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_data(
        arg1: *mut crocksdb_writebatch_t,
        size: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_writebatch_set_save_point(arg1: *mut crocksdb_writebatch_t);
}
extern "C" {
    pub fn crocksdb_writebatch_pop_save_point(
        arg1: *mut crocksdb_writebatch_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_writebatch_rollback_to_save_point(
        arg1: *mut crocksdb_writebatch_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_create() -> *mut crocksdb_block_based_table_options_t;
}
extern "C" {
    pub fn crocksdb_block_based_options_destroy(options: *mut crocksdb_block_based_table_options_t);
}
extern "C" {
    pub fn crocksdb_block_based_options_set_metadata_block_size(
        options: *mut crocksdb_block_based_table_options_t,
        block_size: usize,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_block_size(
        options: *mut crocksdb_block_based_table_options_t,
        block_size: usize,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_block_size_deviation(
        options: *mut crocksdb_block_based_table_options_t,
        block_size_deviation: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_block_restart_interval(
        options: *mut crocksdb_block_based_table_options_t,
        block_restart_interval: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_filter_policy(
        options: *mut crocksdb_block_based_table_options_t,
        filter_policy: *mut crocksdb_filterpolicy_t,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_no_block_cache(
        options: *mut crocksdb_block_based_table_options_t,
        no_block_cache: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_block_cache(
        options: *mut crocksdb_block_based_table_options_t,
        block_cache: *mut crocksdb_cache_t,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_block_cache_compressed(
        options: *mut crocksdb_block_based_table_options_t,
        block_cache_compressed: *mut crocksdb_cache_t,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_whole_key_filtering(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_format_version(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_int,
    );
}
pub const crocksdb_block_based_table_index_type_binary_search: _bindgen_ty_1 = 0;
pub const crocksdb_block_based_table_index_type_hash_search: _bindgen_ty_1 = 1;
pub const crocksdb_block_based_table_index_type_two_level_index_search: _bindgen_ty_1 = 2;
pub type _bindgen_ty_1 = u32;
extern "C" {
    pub fn crocksdb_block_based_options_set_index_type(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_hash_index_allow_collision(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_partition_filters(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_cache_index_and_filter_blocks(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_pin_top_level_index_and_filter(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_cache_index_and_filter_blocks_with_high_priority(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_block_based_options_set_read_amp_bytes_per_bit(
        arg1: *mut crocksdb_block_based_table_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_block_based_table_factory(
        opt: *mut crocksdb_options_t,
        table_options: *mut crocksdb_block_based_table_options_t,
    );
}
extern "C" {
    pub fn crocksdb_options_get_block_cache_usage(opt: *mut crocksdb_options_t) -> usize;
}
extern "C" {
    pub fn crocksdb_options_set_block_cache_capacity(
        opt: *mut crocksdb_options_t,
        capacity: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_options_get_block_cache_capacity(opt: *mut crocksdb_options_t) -> usize;
}
extern "C" {
    pub fn crocksdb_flushjobinfo_cf_name(
        arg1: *const crocksdb_flushjobinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_flushjobinfo_file_path(
        arg1: *const crocksdb_flushjobinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_flushjobinfo_table_properties(
        arg1: *const crocksdb_flushjobinfo_t,
    ) -> *const crocksdb_table_properties_t;
}
extern "C" {
    pub fn crocksdb_flushjobinfo_triggered_writes_slowdown(
        arg1: *const crocksdb_flushjobinfo_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_flushjobinfo_triggered_writes_stop(
        arg1: *const crocksdb_flushjobinfo_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_status(
        info: *const crocksdb_compactionjobinfo_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_cf_name(
        arg1: *const crocksdb_compactionjobinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_input_files_count(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_input_file_at(
        arg1: *const crocksdb_compactionjobinfo_t,
        pos: usize,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_output_files_count(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_output_file_at(
        arg1: *const crocksdb_compactionjobinfo_t,
        pos: usize,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_table_properties(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> *const crocksdb_table_properties_collection_t;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_elapsed_micros(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_num_corrupt_keys(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_output_level(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_input_records(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_output_records(
        arg1: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_total_input_bytes(
        info: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_compactionjobinfo_total_output_bytes(
        info: *const crocksdb_compactionjobinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_externalfileingestioninfo_cf_name(
        arg1: *const crocksdb_externalfileingestioninfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_externalfileingestioninfo_internal_file_path(
        arg1: *const crocksdb_externalfileingestioninfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_externalfileingestioninfo_table_properties(
        arg1: *const crocksdb_externalfileingestioninfo_t,
    ) -> *const crocksdb_table_properties_t;
}
extern "C" {
    pub fn crocksdb_writestallinfo_cf_name(
        arg1: *const crocksdb_writestallinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_writestallinfo_cur(
        arg1: *const crocksdb_writestallinfo_t,
    ) -> *const crocksdb_writestallcondition_t;
}
extern "C" {
    pub fn crocksdb_writestallinfo_prev(
        arg1: *const crocksdb_writestallinfo_t,
    ) -> *const crocksdb_writestallcondition_t;
}
pub type on_flush_completed_cb = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut libc::c_void,
        arg2: *mut crocksdb_t,
        arg3: *const crocksdb_flushjobinfo_t,
    ),
>;
pub type on_compaction_completed_cb = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut libc::c_void,
        arg2: *mut crocksdb_t,
        arg3: *const crocksdb_compactionjobinfo_t,
    ),
>;
pub type on_external_file_ingested_cb = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut libc::c_void,
        arg2: *mut crocksdb_t,
        arg3: *const crocksdb_externalfileingestioninfo_t,
    ),
>;
pub type on_background_error_cb = ::std::option::Option<
    unsafe extern "C" fn(
        arg1: *mut libc::c_void,
        arg2: crocksdb_backgrounderrorreason_t,
        arg3: *mut crocksdb_status_ptr_t,
    ),
>;
pub type on_stall_conditions_changed_cb = ::std::option::Option<
    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const crocksdb_writestallinfo_t),
>;
extern "C" {
    pub fn crocksdb_eventlistener_create(
        state_: *mut libc::c_void,
        destructor_: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        on_flush_completed: on_flush_completed_cb,
        on_compaction_completed: on_compaction_completed_cb,
        on_external_file_ingested: on_external_file_ingested_cb,
        on_background_error: on_background_error_cb,
        on_stall_conditions_changed: on_stall_conditions_changed_cb,
    ) -> *mut crocksdb_eventlistener_t;
}
extern "C" {
    pub fn crocksdb_eventlistener_destroy(arg1: *mut crocksdb_eventlistener_t);
}
extern "C" {
    pub fn crocksdb_options_add_eventlistener(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_eventlistener_t,
    );
}
extern "C" {
    pub fn crocksdb_cuckoo_options_create() -> *mut crocksdb_cuckoo_table_options_t;
}
extern "C" {
    pub fn crocksdb_cuckoo_options_destroy(options: *mut crocksdb_cuckoo_table_options_t);
}
extern "C" {
    pub fn crocksdb_cuckoo_options_set_hash_ratio(
        options: *mut crocksdb_cuckoo_table_options_t,
        v: f64,
    );
}
extern "C" {
    pub fn crocksdb_cuckoo_options_set_max_search_depth(
        options: *mut crocksdb_cuckoo_table_options_t,
        v: u32,
    );
}
extern "C" {
    pub fn crocksdb_cuckoo_options_set_cuckoo_block_size(
        options: *mut crocksdb_cuckoo_table_options_t,
        v: u32,
    );
}
extern "C" {
    pub fn crocksdb_cuckoo_options_set_identity_as_first_hash(
        options: *mut crocksdb_cuckoo_table_options_t,
        v: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_cuckoo_options_set_use_module_hash(
        options: *mut crocksdb_cuckoo_table_options_t,
        v: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_cuckoo_table_factory(
        opt: *mut crocksdb_options_t,
        table_options: *mut crocksdb_cuckoo_table_options_t,
    );
}
extern "C" {
    pub fn crocksdb_options_create() -> *mut crocksdb_options_t;
}
extern "C" {
    pub fn crocksdb_options_copy(arg1: *const crocksdb_options_t) -> *mut crocksdb_options_t;
}
extern "C" {
    pub fn crocksdb_options_destroy(arg1: *mut crocksdb_options_t);
}
extern "C" {
    pub fn crocksdb_column_family_descriptor_destroy(
        cf_desc: *mut crocksdb_column_family_descriptor,
    );
}
extern "C" {
    pub fn crocksdb_name_from_column_family_descriptor(
        cf_desc: *const crocksdb_column_family_descriptor,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_options_from_column_family_descriptor(
        cf_desc: *const crocksdb_column_family_descriptor,
    ) -> *mut crocksdb_options_t;
}
extern "C" {
    pub fn crocksdb_options_increase_parallelism(
        opt: *mut crocksdb_options_t,
        total_threads: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_optimize_for_point_lookup(
        opt: *mut crocksdb_options_t,
        block_cache_size_mb: u64,
    );
}
extern "C" {
    pub fn crocksdb_options_optimize_level_style_compaction(
        opt: *mut crocksdb_options_t,
        memtable_memory_budget: u64,
    );
}
extern "C" {
    pub fn crocksdb_options_optimize_universal_style_compaction(
        opt: *mut crocksdb_options_t,
        memtable_memory_budget: u64,
    );
}
extern "C" {
    pub fn crocksdb_options_set_compaction_filter(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_compactionfilter_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_compaction_filter_factory(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_compactionfilterfactory_t,
    );
}
extern "C" {
    pub fn crocksdb_options_compaction_readahead_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_comparator(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_comparator_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_merge_operator(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_mergeoperator_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_compression_per_level(
        opt: *mut crocksdb_options_t,
        level_values: *mut libc::c_int,
        num_levels: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_get_compression_level_number(opt: *mut crocksdb_options_t) -> usize;
}
extern "C" {
    pub fn crocksdb_options_get_compression_per_level(
        opt: *mut crocksdb_options_t,
        level_values: *mut libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_set_bottommost_compression(opt: *mut crocksdb_options_t, c: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_set_create_if_missing(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_create_missing_column_families(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_error_if_exists(arg1: *mut crocksdb_options_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_options_set_paranoid_checks(arg1: *mut crocksdb_options_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_options_set_env(arg1: *mut crocksdb_options_t, arg2: *mut crocksdb_env_t);
}
extern "C" {
    pub fn crocksdb_options_set_info_log(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_logger_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_info_log_level(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_set_write_buffer_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_db_write_buffer_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_max_open_files(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_set_max_total_wal_size(opt: *mut crocksdb_options_t, n: u64);
}
extern "C" {
    pub fn crocksdb_options_set_compression_options(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
        arg3: libc::c_int,
        arg4: libc::c_int,
        arg5: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_use_direct_reads(opt: *mut crocksdb_options_t, v: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_options_set_use_direct_io_for_flush_and_compaction(
        opt: *mut crocksdb_options_t,
        v: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_prefix_extractor(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_slicetransform_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_memtable_insert_with_hint_prefix_extractor(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_slicetransform_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_num_levels(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_get_num_levels(arg1: *mut crocksdb_options_t) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_options_set_level0_file_num_compaction_trigger(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_level0_slowdown_writes_trigger(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_get_level0_slowdown_writes_trigger(
        arg1: *mut crocksdb_options_t,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_options_set_level0_stop_writes_trigger(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_get_level0_stop_writes_trigger(
        arg1: *mut crocksdb_options_t,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_options_set_target_file_size_base(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_get_target_file_size_base(arg1: *const crocksdb_options_t) -> u64;
}
extern "C" {
    pub fn crocksdb_options_set_target_file_size_multiplier(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_bytes_for_level_base(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_optimize_filters_for_hits(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_level_compaction_dynamic_level_bytes(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_get_level_compaction_dynamic_level_bytes(
        options: *const crocksdb_options_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_options_set_max_bytes_for_level_multiplier(
        arg1: *mut crocksdb_options_t,
        arg2: f64,
    );
}
extern "C" {
    pub fn crocksdb_options_get_max_bytes_for_level_multiplier(
        arg1: *mut crocksdb_options_t,
    ) -> f64;
}
extern "C" {
    pub fn crocksdb_options_set_max_bytes_for_level_multiplier_additional(
        arg1: *mut crocksdb_options_t,
        level_values: *mut libc::c_int,
        num_levels: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_enable_statistics(arg1: *mut crocksdb_options_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_options_reset_statistics(arg1: *mut crocksdb_options_t);
}
extern "C" {
    pub fn crocksdb_load_latest_options(
        dbpath: *const libc::c_char,
        env: *mut crocksdb_env_t,
        db_options: *mut crocksdb_options_t,
        cf_descs: *mut *mut *mut crocksdb_column_family_descriptor,
        cf_descs_len: *mut usize,
        ignore_unknown_options: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_options_statistics_get_string(
        opt: *mut crocksdb_options_t,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_options_statistics_get_ticker_count(
        opt: *mut crocksdb_options_t,
        ticker_type: u32,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_options_statistics_get_and_reset_ticker_count(
        opt: *mut crocksdb_options_t,
        ticker_type: u32,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_options_statistics_get_histogram_string(
        opt: *mut crocksdb_options_t,
        type_: u32,
    ) -> *mut libc::c_char;
}
extern "C" {
    pub fn crocksdb_options_statistics_get_histogram(
        opt: *mut crocksdb_options_t,
        type_: u32,
        median: *mut f64,
        percentile95: *mut f64,
        percentile99: *mut f64,
        average: *mut f64,
        standard_deviation: *mut f64,
        max: *mut f64,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_options_set_max_write_buffer_number(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_min_write_buffer_number_to_merge(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_write_buffer_number_to_maintain(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_background_jobs(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_get_max_background_jobs(arg1: *const crocksdb_options_t)
        -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_options_set_max_log_file_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_log_file_time_to_roll(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_keep_log_file_num(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_recycle_log_file_num(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_soft_rate_limit(arg1: *mut crocksdb_options_t, arg2: f64);
}
extern "C" {
    pub fn crocksdb_options_set_hard_rate_limit(arg1: *mut crocksdb_options_t, arg2: f64);
}
extern "C" {
    pub fn crocksdb_options_set_soft_pending_compaction_bytes_limit(
        opt: *mut crocksdb_options_t,
        v: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_get_soft_pending_compaction_bytes_limit(
        opt: *mut crocksdb_options_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_options_set_hard_pending_compaction_bytes_limit(
        opt: *mut crocksdb_options_t,
        v: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_get_hard_pending_compaction_bytes_limit(
        opt: *mut crocksdb_options_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_options_set_rate_limit_delay_max_milliseconds(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uint,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_manifest_file_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_table_cache_numshardbits(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_writable_file_max_buffer_size(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_arena_block_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_use_fsync(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_set_db_paths(
        arg1: *mut crocksdb_options_t,
        arg2: *const *const libc::c_char,
        arg3: *const usize,
        arg4: *const u64,
        arg5: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_get_db_paths_num(arg1: *mut crocksdb_options_t) -> usize;
}
extern "C" {
    pub fn crocksdb_options_get_db_path(
        arg1: *mut crocksdb_options_t,
        index: usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_options_get_path_target_size(
        arg1: *mut crocksdb_options_t,
        index: usize,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_options_set_db_log_dir(
        arg1: *mut crocksdb_options_t,
        arg2: *const libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_options_set_wal_dir(arg1: *mut crocksdb_options_t, arg2: *const libc::c_char);
}
extern "C" {
    pub fn crocksdb_options_set_wal_ttl_seconds(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_wal_size_limit_mb(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_manifest_preallocation_size(
        arg1: *mut crocksdb_options_t,
        arg2: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_set_allow_mmap_reads(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_allow_mmap_writes(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_is_fd_close_on_exec(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_skip_log_error_on_recovery(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_stats_dump_period_sec(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uint,
    );
}
extern "C" {
    pub fn crocksdb_options_set_advise_random_on_open(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_access_hint_on_compaction_start(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_use_adaptive_mutex(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_bytes_per_sync(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_enable_pipelined_write(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_enable_multi_batch_write(
        opt: *mut crocksdb_options_t,
        v: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_unordered_write(arg1: *mut crocksdb_options_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_options_set_allow_concurrent_memtable_write(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_manual_wal_flush(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_enable_write_thread_adaptive_yield(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_sequential_skip_in_iterations(
        arg1: *mut crocksdb_options_t,
        arg2: u64,
    );
}
extern "C" {
    pub fn crocksdb_options_set_disable_auto_compactions(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_get_disable_auto_compactions(
        arg1: *const crocksdb_options_t,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_options_set_delete_obsolete_files_period_micros(
        arg1: *mut crocksdb_options_t,
        arg2: u64,
    );
}
extern "C" {
    pub fn crocksdb_options_prepare_for_bulk_load(arg1: *mut crocksdb_options_t);
}
extern "C" {
    pub fn crocksdb_options_get_memtable_factory_name(
        opt: *mut crocksdb_options_t,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_options_set_memtable_vector_rep(arg1: *mut crocksdb_options_t);
}
extern "C" {
    pub fn crocksdb_options_set_memtable_prefix_bloom_size_ratio(
        arg1: *mut crocksdb_options_t,
        arg2: f64,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_compaction_bytes(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_hash_skip_list_rep(
        arg1: *mut crocksdb_options_t,
        arg2: usize,
        arg3: i32,
        arg4: i32,
    );
}
extern "C" {
    pub fn crocksdb_options_set_hash_link_list_rep(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_doubly_skip_list_rep(opt: *mut crocksdb_options_t);
}
extern "C" {
    pub fn crocksdb_options_set_plain_table_factory(
        arg1: *mut crocksdb_options_t,
        arg2: u32,
        arg3: libc::c_int,
        arg4: f64,
        arg5: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_set_min_level_to_compress(
        opt: *mut crocksdb_options_t,
        level: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_memtable_huge_page_size(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_max_successive_merges(arg1: *mut crocksdb_options_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_options_set_bloom_locality(arg1: *mut crocksdb_options_t, arg2: u32);
}
extern "C" {
    pub fn crocksdb_options_set_inplace_update_support(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_inplace_update_num_locks(
        arg1: *mut crocksdb_options_t,
        arg2: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_set_report_bg_io_stats(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_options_set_compaction_readahead_size(
        arg1: *mut crocksdb_options_t,
        arg2: usize,
    );
}
extern "C" {
    pub fn crocksdb_options_set_max_subcompactions(arg1: *mut crocksdb_options_t, arg2: u32);
}
extern "C" {
    pub fn crocksdb_options_set_wal_bytes_per_sync(arg1: *mut crocksdb_options_t, arg2: u64);
}
pub const crocksdb_tolerate_corrupted_tail_records_recovery: _bindgen_ty_2 = 0;
pub const crocksdb_absolute_consistency_recovery: _bindgen_ty_2 = 1;
pub const crocksdb_point_in_time_recovery: _bindgen_ty_2 = 2;
pub const crocksdb_skip_any_corrupted_records_recovery: _bindgen_ty_2 = 3;
pub type _bindgen_ty_2 = u32;
extern "C" {
    pub fn crocksdb_options_set_wal_recovery_mode(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
pub const crocksdb_no_compression: _bindgen_ty_3 = 0;
pub const crocksdb_snappy_compression: _bindgen_ty_3 = 1;
pub const crocksdb_zlib_compression: _bindgen_ty_3 = 2;
pub const crocksdb_bz2_compression: _bindgen_ty_3 = 3;
pub const crocksdb_lz4_compression: _bindgen_ty_3 = 4;
pub const crocksdb_lz4hc_compression: _bindgen_ty_3 = 5;
pub type _bindgen_ty_3 = u32;
extern "C" {
    pub fn crocksdb_options_set_compression(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_get_compression(arg1: *mut crocksdb_options_t) -> libc::c_int;
}
pub const crocksdb_level_compaction: _bindgen_ty_4 = 0;
pub const crocksdb_universal_compaction: _bindgen_ty_4 = 1;
pub const crocksdb_fifo_compaction: _bindgen_ty_4 = 2;
pub type _bindgen_ty_4 = u32;
extern "C" {
    pub fn crocksdb_options_set_compaction_style(arg1: *mut crocksdb_options_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_options_set_universal_compaction_options(
        arg1: *mut crocksdb_options_t,
        arg2: *mut crocksdb_universal_compaction_options_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_fifo_compaction_options(
        opt: *mut crocksdb_options_t,
        fifo: *mut crocksdb_fifo_compaction_options_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_ratelimiter(
        opt: *mut crocksdb_options_t,
        limiter: *mut crocksdb_ratelimiter_t,
    );
}
extern "C" {
    pub fn crocksdb_options_set_vector_memtable_factory(
        opt: *mut crocksdb_options_t,
        reserved_bytes: u64,
    );
}
pub const compaction_by_compensated_size: _bindgen_ty_5 = 0;
pub const compaction_by_oldest_largestseq_first: _bindgen_ty_5 = 1;
pub const compaction_by_oldest_smallest_seq_first: _bindgen_ty_5 = 2;
pub const compaction_by_min_overlapping_ratio: _bindgen_ty_5 = 3;
pub type _bindgen_ty_5 = u32;
extern "C" {
    pub fn crocksdb_options_set_compaction_priority(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_options_set_delayed_write_rate(arg1: *mut crocksdb_options_t, arg2: u64);
}
extern "C" {
    pub fn crocksdb_options_set_force_consistency_checks(
        arg1: *mut crocksdb_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ratelimiter_create(
        rate_bytes_per_sec: i64,
        refill_period_us: i64,
        fairness: i32,
    ) -> *mut crocksdb_ratelimiter_t;
}
extern "C" {
    pub fn crocksdb_ratelimiter_create_with_auto_tuned(
        rate_bytes_per_sec: i64,
        refill_period_us: i64,
        fairness: i32,
        mode: crocksdb_ratelimiter_mode_t,
        auto_tuned: libc::c_uchar,
    ) -> *mut crocksdb_ratelimiter_t;
}
extern "C" {
    pub fn crocksdb_ratelimiter_destroy(arg1: *mut crocksdb_ratelimiter_t);
}
extern "C" {
    pub fn crocksdb_ratelimiter_set_bytes_per_second(
        limiter: *mut crocksdb_ratelimiter_t,
        rate_bytes_per_sec: i64,
    );
}
extern "C" {
    pub fn crocksdb_ratelimiter_get_singleburst_bytes(limiter: *mut crocksdb_ratelimiter_t) -> i64;
}
pub const env_io_priority_low: _bindgen_ty_6 = 0;
pub const env_io_priority_high: _bindgen_ty_6 = 1;
pub const env_io_priority_total: _bindgen_ty_6 = 2;
pub type _bindgen_ty_6 = u32;
extern "C" {
    pub fn crocksdb_ratelimiter_request(
        limiter: *mut crocksdb_ratelimiter_t,
        bytes: i64,
        pri: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ratelimiter_get_total_bytes_through(
        limiter: *mut crocksdb_ratelimiter_t,
        pri: libc::c_uchar,
    ) -> i64;
}
extern "C" {
    pub fn crocksdb_ratelimiter_get_bytes_per_second(limiter: *mut crocksdb_ratelimiter_t) -> i64;
}
extern "C" {
    pub fn crocksdb_ratelimiter_get_total_requests(
        limiter: *mut crocksdb_ratelimiter_t,
        pri: libc::c_uchar,
    ) -> i64;
}
extern "C" {
    pub fn crocksdb_compactionfilter_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        filter: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                level: libc::c_int,
                key: *const libc::c_char,
                key_length: usize,
                existing_value: *const libc::c_char,
                value_length: usize,
                new_value: *mut *mut libc::c_char,
                new_value_length: *mut usize,
                value_changed: *mut libc::c_uchar,
            ) -> libc::c_uchar,
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_compactionfilter_t;
}
extern "C" {
    pub fn crocksdb_compactionfilter_set_ignore_snapshots(
        arg1: *mut crocksdb_compactionfilter_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_compactionfilter_destroy(arg1: *mut crocksdb_compactionfilter_t);
}
extern "C" {
    pub fn crocksdb_compactionfiltercontext_is_full_compaction(
        context: *mut crocksdb_compactionfiltercontext_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_compactionfiltercontext_is_manual_compaction(
        context: *mut crocksdb_compactionfiltercontext_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_compactionfilterfactory_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        create_compaction_filter: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                context: *mut crocksdb_compactionfiltercontext_t,
            ) -> *mut crocksdb_compactionfilter_t,
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_compactionfilterfactory_t;
}
extern "C" {
    pub fn crocksdb_compactionfilterfactory_destroy(arg1: *mut crocksdb_compactionfilterfactory_t);
}
extern "C" {
    pub fn crocksdb_comparator_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        compare: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                a: *const libc::c_char,
                alen: usize,
                b: *const libc::c_char,
                blen: usize,
            ) -> libc::c_int,
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_comparator_t;
}
extern "C" {
    pub fn crocksdb_comparator_destroy(arg1: *mut crocksdb_comparator_t);
}
extern "C" {
    pub fn crocksdb_filterpolicy_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        create_filter: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key_array: *const *const libc::c_char,
                key_length_array: *const usize,
                num_keys: libc::c_int,
                filter_length: *mut usize,
            ) -> *mut libc::c_char,
        >,
        key_may_match: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                length: usize,
                filter: *const libc::c_char,
                filter_length: usize,
            ) -> libc::c_uchar,
        >,
        delete_filter: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                filter: *const libc::c_char,
                filter_length: usize,
            ),
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_filterpolicy_t;
}
extern "C" {
    pub fn crocksdb_filterpolicy_destroy(arg1: *mut crocksdb_filterpolicy_t);
}
extern "C" {
    pub fn crocksdb_filterpolicy_create_bloom(
        bits_per_key: libc::c_int,
    ) -> *mut crocksdb_filterpolicy_t;
}
extern "C" {
    pub fn crocksdb_filterpolicy_create_bloom_full(
        bits_per_key: libc::c_int,
    ) -> *mut crocksdb_filterpolicy_t;
}
extern "C" {
    pub fn crocksdb_mergeoperator_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        full_merge: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                key_length: usize,
                existing_value: *const libc::c_char,
                existing_value_length: usize,
                operands_list: *const *const libc::c_char,
                operands_list_length: *const usize,
                num_operands: libc::c_int,
                success: *mut libc::c_uchar,
                new_value_length: *mut usize,
            ) -> *mut libc::c_char,
        >,
        partial_merge: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                key_length: usize,
                operands_list: *const *const libc::c_char,
                operands_list_length: *const usize,
                num_operands: libc::c_int,
                success: *mut libc::c_uchar,
                new_value_length: *mut usize,
            ) -> *mut libc::c_char,
        >,
        delete_value: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                value: *const libc::c_char,
                value_length: usize,
            ),
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_mergeoperator_t;
}
extern "C" {
    pub fn crocksdb_mergeoperator_destroy(arg1: *mut crocksdb_mergeoperator_t);
}
extern "C" {
    pub fn crocksdb_readoptions_create() -> *mut crocksdb_readoptions_t;
}
extern "C" {
    pub fn crocksdb_readoptions_destroy(arg1: *mut crocksdb_readoptions_t);
}
extern "C" {
    pub fn crocksdb_readoptions_set_verify_checksums(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_fill_cache(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_snapshot(
        arg1: *mut crocksdb_readoptions_t,
        arg2: *const crocksdb_snapshot_t,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_iterate_lower_bound(
        arg1: *mut crocksdb_readoptions_t,
        key: *const libc::c_char,
        keylen: usize,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_iterate_upper_bound(
        arg1: *mut crocksdb_readoptions_t,
        key: *const libc::c_char,
        keylen: usize,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_read_tier(arg1: *mut crocksdb_readoptions_t, arg2: libc::c_int);
}
extern "C" {
    pub fn crocksdb_readoptions_set_tailing(arg1: *mut crocksdb_readoptions_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_readoptions_set_managed(arg1: *mut crocksdb_readoptions_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_readoptions_set_readahead_size(arg1: *mut crocksdb_readoptions_t, arg2: usize);
}
extern "C" {
    pub fn crocksdb_readoptions_set_max_skippable_internal_keys(
        arg1: *mut crocksdb_readoptions_t,
        arg2: u64,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_total_order_seek(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_prefix_same_as_start(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_pin_data(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_background_purge_on_iterator_cleanup(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_ignore_range_deletions(
        arg1: *mut crocksdb_readoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_readoptions_set_table_filter(
        arg1: *mut crocksdb_readoptions_t,
        arg2: *mut libc::c_void,
        table_filter: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                arg2: *const crocksdb_table_properties_t,
            ) -> libc::c_int,
        >,
        destory: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
    );
}
extern "C" {
    pub fn crocksdb_writeoptions_create() -> *mut crocksdb_writeoptions_t;
}
extern "C" {
    pub fn crocksdb_writeoptions_destroy(arg1: *mut crocksdb_writeoptions_t);
}
extern "C" {
    pub fn crocksdb_writeoptions_set_sync(arg1: *mut crocksdb_writeoptions_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_writeoptions_disable_wal(
        opt: *mut crocksdb_writeoptions_t,
        disable: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_writeoptions_set_ignore_missing_column_families(
        arg1: *mut crocksdb_writeoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_writeoptions_set_no_slowdown(
        arg1: *mut crocksdb_writeoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_writeoptions_set_low_pri(
        arg1: *mut crocksdb_writeoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_create() -> *mut crocksdb_compactoptions_t;
}
extern "C" {
    pub fn crocksdb_compactoptions_destroy(arg1: *mut crocksdb_compactoptions_t);
}
extern "C" {
    pub fn crocksdb_compactoptions_set_exclusive_manual_compaction(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_set_change_level(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_set_target_level(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_set_target_path_id(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_set_max_subcompactions(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_compactoptions_set_bottommost_level_compaction(
        arg1: *mut crocksdb_compactoptions_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_flushoptions_create() -> *mut crocksdb_flushoptions_t;
}
extern "C" {
    pub fn crocksdb_flushoptions_destroy(arg1: *mut crocksdb_flushoptions_t);
}
extern "C" {
    pub fn crocksdb_flushoptions_set_wait(arg1: *mut crocksdb_flushoptions_t, arg2: libc::c_uchar);
}
extern "C" {
    pub fn crocksdb_flushoptions_set_allow_write_stall(
        arg1: *mut crocksdb_flushoptions_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_jemalloc_nodump_allocator_create(
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_memory_allocator_t;
}
extern "C" {
    pub fn crocksdb_memory_allocator_destroy(arg1: *mut crocksdb_memory_allocator_t);
}
extern "C" {
    pub fn crocksdb_lru_cache_options_create() -> *mut crocksdb_lru_cache_options_t;
}
extern "C" {
    pub fn crocksdb_lru_cache_options_destroy(arg1: *mut crocksdb_lru_cache_options_t);
}
extern "C" {
    pub fn crocksdb_lru_cache_options_set_capacity(
        arg1: *mut crocksdb_lru_cache_options_t,
        arg2: usize,
    );
}
extern "C" {
    pub fn crocksdb_lru_cache_options_set_num_shard_bits(
        arg1: *mut crocksdb_lru_cache_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_lru_cache_options_set_strict_capacity_limit(
        arg1: *mut crocksdb_lru_cache_options_t,
        arg2: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_lru_cache_options_set_high_pri_pool_ratio(
        arg1: *mut crocksdb_lru_cache_options_t,
        arg2: f64,
    );
}
extern "C" {
    pub fn crocksdb_lru_cache_options_set_memory_allocator(
        arg1: *mut crocksdb_lru_cache_options_t,
        arg2: *mut crocksdb_memory_allocator_t,
    );
}
extern "C" {
    pub fn crocksdb_cache_create_lru(
        arg1: *mut crocksdb_lru_cache_options_t,
    ) -> *mut crocksdb_cache_t;
}
extern "C" {
    pub fn crocksdb_cache_destroy(cache: *mut crocksdb_cache_t);
}
extern "C" {
    pub fn crocksdb_cache_set_capacity(cache: *mut crocksdb_cache_t, capacity: usize);
}
extern "C" {
    pub fn crocksdb_default_env_create() -> *mut crocksdb_env_t;
}
extern "C" {
    pub fn crocksdb_mem_env_create() -> *mut crocksdb_env_t;
}
extern "C" {
    pub fn crocksdb_ctr_encrypted_env_create(
        base_env: *mut crocksdb_env_t,
        ciphertext: *const libc::c_char,
        ciphertext_len: usize,
    ) -> *mut crocksdb_env_t;
}
extern "C" {
    pub fn crocksdb_env_set_background_threads(env: *mut crocksdb_env_t, n: libc::c_int);
}
extern "C" {
    pub fn crocksdb_env_set_high_priority_background_threads(
        env: *mut crocksdb_env_t,
        n: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_env_join_all_threads(env: *mut crocksdb_env_t);
}
extern "C" {
    pub fn crocksdb_env_file_exists(
        env: *mut crocksdb_env_t,
        path: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_env_delete_file(
        env: *mut crocksdb_env_t,
        path: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_env_destroy(arg1: *mut crocksdb_env_t);
}
extern "C" {
    pub fn crocksdb_envoptions_create() -> *mut crocksdb_envoptions_t;
}
extern "C" {
    pub fn crocksdb_envoptions_destroy(opt: *mut crocksdb_envoptions_t);
}
extern "C" {
    pub fn crocksdb_sequential_file_create(
        env: *mut crocksdb_env_t,
        path: *const libc::c_char,
        opts: *const crocksdb_envoptions_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_sequential_file_t;
}
extern "C" {
    pub fn crocksdb_sequential_file_read(
        arg1: *mut crocksdb_sequential_file_t,
        n: usize,
        buf: *mut libc::c_char,
        errptr: *mut *mut libc::c_char,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_sequential_file_skip(
        arg1: *mut crocksdb_sequential_file_t,
        n: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sequential_file_destroy(arg1: *mut crocksdb_sequential_file_t);
}
extern "C" {
    pub fn crocksdb_sstfilereader_create(
        io_options: *const crocksdb_options_t,
    ) -> *mut crocksdb_sstfilereader_t;
}
extern "C" {
    pub fn crocksdb_sstfilereader_open(
        reader: *mut crocksdb_sstfilereader_t,
        name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilereader_new_iterator(
        reader: *mut crocksdb_sstfilereader_t,
        options: *const crocksdb_readoptions_t,
    ) -> *mut crocksdb_iterator_t;
}
extern "C" {
    pub fn crocksdb_sstfilereader_read_table_properties(
        reader: *const crocksdb_sstfilereader_t,
        ctx: *mut libc::c_void,
        cb: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const crocksdb_table_properties_t),
        >,
    );
}
extern "C" {
    pub fn crocksdb_sstfilereader_verify_checksum(
        reader: *mut crocksdb_sstfilereader_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilereader_destroy(reader: *mut crocksdb_sstfilereader_t);
}
extern "C" {
    pub fn crocksdb_sstfilewriter_create(
        env: *const crocksdb_envoptions_t,
        io_options: *const crocksdb_options_t,
    ) -> *mut crocksdb_sstfilewriter_t;
}
extern "C" {
    pub fn crocksdb_sstfilewriter_create_cf(
        env: *const crocksdb_envoptions_t,
        io_options: *const crocksdb_options_t,
        column_family: *mut crocksdb_column_family_handle_t,
    ) -> *mut crocksdb_sstfilewriter_t;
}
extern "C" {
    pub fn crocksdb_sstfilewriter_open(
        writer: *mut crocksdb_sstfilewriter_t,
        name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_put(
        writer: *mut crocksdb_sstfilewriter_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_merge(
        writer: *mut crocksdb_sstfilewriter_t,
        key: *const libc::c_char,
        keylen: usize,
        val: *const libc::c_char,
        vallen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_delete(
        writer: *mut crocksdb_sstfilewriter_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_delete_range(
        writer: *mut crocksdb_sstfilewriter_t,
        begin_key: *const libc::c_char,
        begin_keylen: usize,
        end_key: *const libc::c_char,
        end_keylen: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_finish(
        writer: *mut crocksdb_sstfilewriter_t,
        info: *mut crocksdb_externalsstfileinfo_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_sstfilewriter_file_size(writer: *mut crocksdb_sstfilewriter_t) -> u64;
}
extern "C" {
    pub fn crocksdb_sstfilewriter_destroy(writer: *mut crocksdb_sstfilewriter_t);
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_create() -> *mut crocksdb_externalsstfileinfo_t;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_destroy(arg1: *mut crocksdb_externalsstfileinfo_t);
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_file_path(
        arg1: *mut crocksdb_externalsstfileinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_smallest_key(
        arg1: *mut crocksdb_externalsstfileinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_largest_key(
        arg1: *mut crocksdb_externalsstfileinfo_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_sequence_number(
        arg1: *mut crocksdb_externalsstfileinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_file_size(arg1: *mut crocksdb_externalsstfileinfo_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_externalsstfileinfo_num_entries(
        arg1: *mut crocksdb_externalsstfileinfo_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_create() -> *mut crocksdb_ingestexternalfileoptions_t;
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_set_move_files(
        opt: *mut crocksdb_ingestexternalfileoptions_t,
        move_files: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_set_snapshot_consistency(
        opt: *mut crocksdb_ingestexternalfileoptions_t,
        snapshot_consistency: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_set_allow_global_seqno(
        opt: *mut crocksdb_ingestexternalfileoptions_t,
        allow_global_seqno: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_set_allow_blocking_flush(
        opt: *mut crocksdb_ingestexternalfileoptions_t,
        allow_blocking_flush: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_ingestexternalfileoptions_destroy(
        opt: *mut crocksdb_ingestexternalfileoptions_t,
    );
}
extern "C" {
    pub fn crocksdb_ingest_external_file(
        db: *mut crocksdb_t,
        file_list: *const *const libc::c_char,
        list_len: usize,
        opt: *const crocksdb_ingestexternalfileoptions_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_ingest_external_file_cf(
        db: *mut crocksdb_t,
        handle: *mut crocksdb_column_family_handle_t,
        file_list: *const *const libc::c_char,
        list_len: usize,
        opt: *const crocksdb_ingestexternalfileoptions_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_ingest_external_file_optimized(
        db: *mut crocksdb_t,
        handle: *mut crocksdb_column_family_handle_t,
        file_list: *const *const libc::c_char,
        list_len: usize,
        opt: *const crocksdb_ingestexternalfileoptions_t,
        errptr: *mut *mut libc::c_char,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_slicetransform_create(
        state: *mut libc::c_void,
        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        transform: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                length: usize,
                dst_length: *mut usize,
            ) -> *mut libc::c_char,
        >,
        in_domain: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                length: usize,
            ) -> libc::c_uchar,
        >,
        in_range: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                length: usize,
            ) -> libc::c_uchar,
        >,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
    ) -> *mut crocksdb_slicetransform_t;
}
extern "C" {
    pub fn crocksdb_slicetransform_create_fixed_prefix(
        arg1: usize,
    ) -> *mut crocksdb_slicetransform_t;
}
extern "C" {
    pub fn crocksdb_slicetransform_create_noop() -> *mut crocksdb_slicetransform_t;
}
extern "C" {
    pub fn crocksdb_slicetransform_destroy(arg1: *mut crocksdb_slicetransform_t);
}
pub const crocksdb_similar_size_compaction_stop_style: _bindgen_ty_7 = 0;
pub const crocksdb_total_size_compaction_stop_style: _bindgen_ty_7 = 1;
pub type _bindgen_ty_7 = u32;
extern "C" {
    pub fn crocksdb_universal_compaction_options_create(
    ) -> *mut crocksdb_universal_compaction_options_t;
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_size_ratio(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_min_merge_width(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_max_merge_width(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_max_size_amplification_percent(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_compression_size_percent(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_set_stop_style(
        arg1: *mut crocksdb_universal_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_universal_compaction_options_destroy(
        arg1: *mut crocksdb_universal_compaction_options_t,
    );
}
extern "C" {
    pub fn crocksdb_fifo_compaction_options_create() -> *mut crocksdb_fifo_compaction_options_t;
}
extern "C" {
    pub fn crocksdb_fifo_compaction_options_set_max_table_files_size(
        fifo_opts: *mut crocksdb_fifo_compaction_options_t,
        size: u64,
    );
}
extern "C" {
    pub fn crocksdb_fifo_compaction_options_set_allow_compaction(
        fifo_opts: *mut crocksdb_fifo_compaction_options_t,
        allow_compaction: libc::c_uchar,
    );
}
extern "C" {
    pub fn crocksdb_fifo_compaction_options_destroy(
        fifo_opts: *mut crocksdb_fifo_compaction_options_t,
    );
}
extern "C" {
    pub fn crocksdb_livefiles_count(arg1: *const crocksdb_livefiles_t) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_livefiles_name(
        arg1: *const crocksdb_livefiles_t,
        index: libc::c_int,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_livefiles_level(
        arg1: *const crocksdb_livefiles_t,
        index: libc::c_int,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_livefiles_size(arg1: *const crocksdb_livefiles_t, index: libc::c_int) -> usize;
}
extern "C" {
    pub fn crocksdb_livefiles_smallestkey(
        arg1: *const crocksdb_livefiles_t,
        index: libc::c_int,
        size: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_livefiles_largestkey(
        arg1: *const crocksdb_livefiles_t,
        index: libc::c_int,
        size: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_livefiles_destroy(arg1: *const crocksdb_livefiles_t);
}
extern "C" {
    pub fn crocksdb_get_options_from_string(
        base_options: *const crocksdb_options_t,
        opts_str: *const libc::c_char,
        new_options: *mut crocksdb_options_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete_files_in_range(
        db: *mut crocksdb_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete_files_in_range_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_delete_files_in_ranges_cf(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        start_keys: *const *const libc::c_char,
        start_keys_lens: *const usize,
        limit_keys: *const *const libc::c_char,
        limit_keys_lens: *const usize,
        num_ranges: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_free(ptr: *mut libc::c_void);
}
extern "C" {
    pub fn crocksdb_create_log_from_options(
        path: *const libc::c_char,
        opts: *mut crocksdb_options_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_logger_t;
}
extern "C" {
    pub fn crocksdb_log_destroy(arg1: *mut crocksdb_logger_t);
}
extern "C" {
    pub fn crocksdb_get_pinned(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_pinnableslice_t;
}
extern "C" {
    pub fn crocksdb_get_pinned_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
        key: *const libc::c_char,
        keylen: usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_pinnableslice_t;
}
extern "C" {
    pub fn crocksdb_pinnableslice_destroy(v: *mut crocksdb_pinnableslice_t);
}
extern "C" {
    pub fn crocksdb_pinnableslice_value(
        t: *const crocksdb_pinnableslice_t,
        vlen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_get_supported_compression_number() -> usize;
}
extern "C" {
    pub fn crocksdb_get_supported_compression(arg1: *mut libc::c_int, arg2: usize);
}
extern "C" {
    pub fn crocksdb_table_properties_get_u64(
        arg1: *const crocksdb_table_properties_t,
        prop: crocksdb_table_property_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_table_properties_get_str(
        arg1: *const crocksdb_table_properties_t,
        prop: crocksdb_table_property_t,
        slen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_table_properties_get_user_properties(
        arg1: *const crocksdb_table_properties_t,
    ) -> *const crocksdb_user_collected_properties_t;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_get(
        props: *const crocksdb_user_collected_properties_t,
        key: *const libc::c_char,
        klen: usize,
        vlen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_len(
        arg1: *const crocksdb_user_collected_properties_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_add(
        arg1: *mut crocksdb_user_collected_properties_t,
        key: *const libc::c_char,
        key_len: usize,
        value: *const libc::c_char,
        value_len: usize,
    );
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_create(
        arg1: *const crocksdb_user_collected_properties_t,
    ) -> *mut crocksdb_user_collected_properties_iterator_t;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_destroy(
        arg1: *mut crocksdb_user_collected_properties_iterator_t,
    );
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_valid(
        arg1: *const crocksdb_user_collected_properties_iterator_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_next(
        arg1: *mut crocksdb_user_collected_properties_iterator_t,
    );
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_key(
        arg1: *const crocksdb_user_collected_properties_iterator_t,
        klen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_user_collected_properties_iter_value(
        arg1: *const crocksdb_user_collected_properties_iterator_t,
        vlen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_table_properties_collection_len(
        arg1: *const crocksdb_table_properties_collection_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_table_properties_collection_destroy(
        arg1: *mut crocksdb_table_properties_collection_t,
    );
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_create(
        arg1: *const crocksdb_table_properties_collection_t,
    ) -> *mut crocksdb_table_properties_collection_iterator_t;
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_destroy(
        arg1: *mut crocksdb_table_properties_collection_iterator_t,
    );
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_valid(
        arg1: *const crocksdb_table_properties_collection_iterator_t,
    ) -> libc::c_uchar;
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_next(
        arg1: *mut crocksdb_table_properties_collection_iterator_t,
    );
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_key(
        arg1: *const crocksdb_table_properties_collection_iterator_t,
        klen: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_table_properties_collection_iter_value(
        arg1: *const crocksdb_table_properties_collection_iterator_t,
    ) -> *const crocksdb_table_properties_t;
}
extern "C" {
    pub fn crocksdb_table_properties_collector_create(
        state: *mut libc::c_void,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
        destruct: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        add: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                key: *const libc::c_char,
                key_len: usize,
                value: *const libc::c_char,
                value_len: usize,
                entry_type: libc::c_int,
                seq: u64,
                file_size: u64,
            ),
        >,
        finish: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                props: *mut crocksdb_user_collected_properties_t,
            ),
        >,
    ) -> *mut crocksdb_table_properties_collector_t;
}
extern "C" {
    pub fn crocksdb_table_properties_collector_destroy(
        arg1: *mut crocksdb_table_properties_collector_t,
    );
}
extern "C" {
    pub fn crocksdb_table_properties_collector_factory_create(
        state: *mut libc::c_void,
        name: ::std::option::Option<
            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
        >,
        destruct: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
        create_table_properties_collector: ::std::option::Option<
            unsafe extern "C" fn(
                arg1: *mut libc::c_void,
                cf: u32,
            ) -> *mut crocksdb_table_properties_collector_t,
        >,
    ) -> *mut crocksdb_table_properties_collector_factory_t;
}
extern "C" {
    pub fn crocksdb_table_properties_collector_factory_destroy(
        arg1: *mut crocksdb_table_properties_collector_factory_t,
    );
}
extern "C" {
    pub fn crocksdb_options_add_table_properties_collector_factory(
        opt: *mut crocksdb_options_t,
        f: *mut crocksdb_table_properties_collector_factory_t,
    );
}
extern "C" {
    pub fn crocksdb_get_properties_of_all_tables(
        db: *mut crocksdb_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_table_properties_collection_t;
}
extern "C" {
    pub fn crocksdb_get_properties_of_all_tables_cf(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_table_properties_collection_t;
}
extern "C" {
    pub fn crocksdb_get_properties_of_tables_in_range(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        num_ranges: libc::c_int,
        start_keys: *const *const libc::c_char,
        start_keys_lens: *const usize,
        limit_keys: *const *const libc::c_char,
        limit_keys_lens: *const usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_table_properties_collection_t;
}
extern "C" {
    pub fn crocksdb_keyversions_destroy(kvs: *mut crocksdb_keyversions_t);
}
extern "C" {
    pub fn crocksdb_get_all_key_versions(
        db: *mut crocksdb_t,
        begin_key: *const libc::c_char,
        begin_keylen: usize,
        end_key: *const libc::c_char,
        end_keylen: usize,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_keyversions_t;
}
extern "C" {
    pub fn crocksdb_keyversions_count(kvs: *const crocksdb_keyversions_t) -> usize;
}
extern "C" {
    pub fn crocksdb_keyversions_key(
        kvs: *const crocksdb_keyversions_t,
        index: libc::c_int,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_keyversions_value(
        kvs: *const crocksdb_keyversions_t,
        index: libc::c_int,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_keyversions_seq(kvs: *const crocksdb_keyversions_t, index: libc::c_int) -> u64;
}
extern "C" {
    pub fn crocksdb_keyversions_type(
        kvs: *const crocksdb_keyversions_t,
        index: libc::c_int,
    ) -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_set_external_sst_file_global_seq_no(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        file: *const libc::c_char,
        seq_no: u64,
        errptr: *mut *mut libc::c_char,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_get_column_family_meta_data(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        arg1: *mut crocksdb_column_family_meta_data_t,
    );
}
extern "C" {
    pub fn crocksdb_column_family_meta_data_create() -> *mut crocksdb_column_family_meta_data_t;
}
extern "C" {
    pub fn crocksdb_column_family_meta_data_destroy(arg1: *mut crocksdb_column_family_meta_data_t);
}
extern "C" {
    pub fn crocksdb_column_family_meta_data_level_count(
        arg1: *const crocksdb_column_family_meta_data_t,
    ) -> usize;
}
extern "C" {
    pub fn crocksdb_column_family_meta_data_level_data(
        arg1: *const crocksdb_column_family_meta_data_t,
        n: usize,
    ) -> *const crocksdb_level_meta_data_t;
}
extern "C" {
    pub fn crocksdb_level_meta_data_file_count(arg1: *const crocksdb_level_meta_data_t) -> usize;
}
extern "C" {
    pub fn crocksdb_level_meta_data_file_data(
        arg1: *const crocksdb_level_meta_data_t,
        n: usize,
    ) -> *const crocksdb_sst_file_meta_data_t;
}
extern "C" {
    pub fn crocksdb_sst_file_meta_data_size(arg1: *const crocksdb_sst_file_meta_data_t) -> usize;
}
extern "C" {
    pub fn crocksdb_sst_file_meta_data_name(
        arg1: *const crocksdb_sst_file_meta_data_t,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_sst_file_meta_data_smallestkey(
        arg1: *const crocksdb_sst_file_meta_data_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_sst_file_meta_data_largestkey(
        arg1: *const crocksdb_sst_file_meta_data_t,
        arg2: *mut usize,
    ) -> *const libc::c_char;
}
extern "C" {
    pub fn crocksdb_compaction_options_create() -> *mut crocksdb_compaction_options_t;
}
extern "C" {
    pub fn crocksdb_compaction_options_destroy(arg1: *mut crocksdb_compaction_options_t);
}
extern "C" {
    pub fn crocksdb_compaction_options_set_compression(
        arg1: *mut crocksdb_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_compaction_options_set_output_file_size_limit(
        arg1: *mut crocksdb_compaction_options_t,
        arg2: usize,
    );
}
extern "C" {
    pub fn crocksdb_compaction_options_set_max_subcompactions(
        arg1: *mut crocksdb_compaction_options_t,
        arg2: libc::c_int,
    );
}
extern "C" {
    pub fn crocksdb_compact_files_cf(
        arg1: *mut crocksdb_t,
        arg2: *mut crocksdb_column_family_handle_t,
        arg3: *mut crocksdb_compaction_options_t,
        input_file_names: *mut *const libc::c_char,
        input_file_count: usize,
        output_level: libc::c_int,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn crocksdb_get_perf_level() -> libc::c_int;
}
extern "C" {
    pub fn crocksdb_set_perf_level(level: libc::c_int);
}
extern "C" {
    pub fn crocksdb_get_perf_context() -> *mut crocksdb_perf_context_t;
}
extern "C" {
    pub fn crocksdb_perf_context_reset(arg1: *mut crocksdb_perf_context_t);
}
extern "C" {
    pub fn crocksdb_perf_context_user_key_comparison_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_cache_hit_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_read_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_read_byte(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_read_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_checksum_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_decompress_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_read_bytes(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_multiget_read_bytes(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_iter_read_bytes(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_internal_key_skipped_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_internal_delete_skipped_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_internal_recent_skipped_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_internal_merge_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_snapshot_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_from_memtable_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_from_memtable_count(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_post_process_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_get_from_output_files_time(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_on_memtable_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_on_memtable_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_next_on_memtable_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_prev_on_memtable_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_child_seek_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_child_seek_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_min_heap_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_max_heap_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_seek_internal_seek_time(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_find_next_user_entry_time(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_wal_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_memtable_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_delay_time(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_pre_and_post_process_time(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_db_mutex_lock_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_thread_wait_nanos(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_write_scheduling_flushes_compactions_time(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_db_condition_wait_nanos(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_merge_operator_time_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_read_index_block_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_read_filter_block_nanos(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_new_table_block_iter_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_new_table_iterator_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_block_seek_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_find_table_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_bloom_memtable_hit_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_bloom_memtable_miss_count(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_bloom_sst_hit_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_bloom_sst_miss_count(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_sequential_file_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_random_access_file_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_writable_file_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_reuse_writable_file_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_random_rw_file_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_directory_nanos(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_file_exists_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_get_children_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_get_children_file_attributes_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_delete_file_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_create_dir_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_create_dir_if_missing_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_delete_dir_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_get_file_size_nanos(arg1: *mut crocksdb_perf_context_t)
        -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_get_file_modification_time_nanos(
        arg1: *mut crocksdb_perf_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_rename_file_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_link_file_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_lock_file_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_unlock_file_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_perf_context_env_new_logger_nanos(arg1: *mut crocksdb_perf_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_get_iostats_context() -> *mut crocksdb_iostats_context_t;
}
extern "C" {
    pub fn crocksdb_iostats_context_reset(arg1: *mut crocksdb_iostats_context_t);
}
extern "C" {
    pub fn crocksdb_iostats_context_bytes_written(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_bytes_read(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_open_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_allocate_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_write_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_read_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_range_sync_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_fsync_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_prepare_write_nanos(
        arg1: *mut crocksdb_iostats_context_t,
    ) -> u64;
}
extern "C" {
    pub fn crocksdb_iostats_context_logger_nanos(arg1: *mut crocksdb_iostats_context_t) -> u64;
}
extern "C" {
    pub fn crocksdb_run_ldb_tool(
        argc: libc::c_int,
        argv: *mut *mut libc::c_char,
        opts: *const crocksdb_options_t,
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ctitandb_blob_index_t {
    pub file_number: u64,
    pub blob_offset: u64,
    pub blob_size: u64,
}
#[test]
fn bindgen_test_layout_ctitandb_blob_index_t() {
    assert_eq!(
        ::std::mem::size_of::<ctitandb_blob_index_t>(),
        24usize,
        concat!("Size of: ", stringify!(ctitandb_blob_index_t))
    );
    assert_eq!(
        ::std::mem::align_of::<ctitandb_blob_index_t>(),
        8usize,
        concat!("Alignment of ", stringify!(ctitandb_blob_index_t))
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctitandb_blob_index_t>())).file_number as *const _ as usize
        },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(ctitandb_blob_index_t),
            "::",
            stringify!(file_number)
        )
    );
    assert_eq!(
        unsafe {
            &(*(::std::ptr::null::<ctitandb_blob_index_t>())).blob_offset as *const _ as usize
        },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(ctitandb_blob_index_t),
            "::",
            stringify!(blob_offset)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<ctitandb_blob_index_t>())).blob_size as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(ctitandb_blob_index_t),
            "::",
            stringify!(blob_size)
        )
    );
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ctitandb_options_t {
    _unused: [u8; 0],
}
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct ctitandb_readoptions_t {
    _unused: [u8; 0],
}
extern "C" {
    pub fn ctitandb_open_column_families(
        name: *const libc::c_char,
        options: *const crocksdb_options_t,
        tdb_options: *const ctitandb_options_t,
        num_column_families: libc::c_int,
        column_family_names: *mut *const libc::c_char,
        column_family_options: *mut *const crocksdb_options_t,
        titan_column_family_options: *mut *const ctitandb_options_t,
        column_family_handles: *mut *mut crocksdb_column_family_handle_t,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_t;
}
extern "C" {
    pub fn ctitandb_create_column_family(
        db: *mut crocksdb_t,
        column_family_options: *const crocksdb_options_t,
        titan_column_family_options: *const ctitandb_options_t,
        column_family_name: *const libc::c_char,
        errptr: *mut *mut libc::c_char,
    ) -> *mut crocksdb_column_family_handle_t;
}
extern "C" {
    pub fn ctitandb_options_create() -> *mut ctitandb_options_t;
}
extern "C" {
    pub fn ctitandb_options_destroy(arg1: *mut ctitandb_options_t);
}
extern "C" {
    pub fn ctitandb_options_copy(arg1: *mut ctitandb_options_t) -> *mut ctitandb_options_t;
}
extern "C" {
    pub fn ctitandb_get_titan_options_cf(
        db: *const crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
    ) -> *mut ctitandb_options_t;
}
extern "C" {
    pub fn ctitandb_options_dirname(arg1: *mut ctitandb_options_t) -> *const libc::c_char;
}
extern "C" {
    pub fn ctitandb_options_set_dirname(arg1: *mut ctitandb_options_t, name: *const libc::c_char);
}
extern "C" {
    pub fn ctitandb_options_min_blob_size(arg1: *mut ctitandb_options_t) -> u64;
}
extern "C" {
    pub fn ctitandb_options_set_min_blob_size(arg1: *mut ctitandb_options_t, size: u64);
}
extern "C" {
    pub fn ctitandb_options_blob_file_compression(arg1: *mut ctitandb_options_t) -> libc::c_int;
}
extern "C" {
    pub fn ctitandb_options_set_blob_file_compression(
        arg1: *mut ctitandb_options_t,
        type_: libc::c_int,
    );
}
extern "C" {
    pub fn ctitandb_decode_blob_index(
        value: *const libc::c_char,
        value_size: usize,
        index: *mut ctitandb_blob_index_t,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn ctitandb_encode_blob_index(
        index: *const ctitandb_blob_index_t,
        value: *mut *mut libc::c_char,
        value_size: *mut usize,
    );
}
extern "C" {
    pub fn ctitandb_options_set_disable_background_gc(
        options: *mut ctitandb_options_t,
        disable: libc::c_uchar,
    );
}
extern "C" {
    pub fn ctitandb_options_set_level_merge(
        options: *mut ctitandb_options_t,
        enable: libc::c_uchar,
    );
}
extern "C" {
    pub fn ctitandb_options_set_range_merge(
        options: *mut ctitandb_options_t,
        enable: libc::c_uchar,
    );
}
extern "C" {
    pub fn ctitandb_options_set_max_sorted_runs(
        options: *mut ctitandb_options_t,
        size: libc::c_int,
    );
}
extern "C" {
    pub fn ctitandb_options_set_max_gc_batch_size(options: *mut ctitandb_options_t, size: u64);
}
extern "C" {
    pub fn ctitandb_options_set_min_gc_batch_size(options: *mut ctitandb_options_t, size: u64);
}
extern "C" {
    pub fn ctitandb_options_set_blob_file_discardable_ratio(
        options: *mut ctitandb_options_t,
        ratio: f64,
    );
}
extern "C" {
    pub fn ctitandb_options_set_sample_file_size_ratio(
        options: *mut ctitandb_options_t,
        ratio: f64,
    );
}
extern "C" {
    pub fn ctitandb_options_set_merge_small_file_threshold(
        options: *mut ctitandb_options_t,
        size: u64,
    );
}
extern "C" {
    pub fn ctitandb_options_set_max_background_gc(options: *mut ctitandb_options_t, size: i32);
}
extern "C" {
    pub fn ctitandb_options_set_purge_obsolete_files_period_sec(
        options: *mut ctitandb_options_t,
        period: libc::c_uint,
    );
}
extern "C" {
    pub fn ctitandb_options_set_blob_cache(
        options: *mut ctitandb_options_t,
        cache: *mut crocksdb_cache_t,
    );
}
extern "C" {
    pub fn ctitandb_options_get_blob_cache_usage(opt: *mut ctitandb_options_t) -> usize;
}
extern "C" {
    pub fn ctitandb_options_set_blob_cache_capacity(
        opt: *mut ctitandb_options_t,
        capacity: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn ctitandb_options_get_blob_cache_capacity(opt: *mut ctitandb_options_t) -> usize;
}
extern "C" {
    pub fn ctitandb_options_set_discardable_ratio(options: *mut ctitandb_options_t, ratio: f64);
}
extern "C" {
    pub fn ctitandb_options_set_sample_ratio(options: *mut ctitandb_options_t, ratio: f64);
}
extern "C" {
    pub fn ctitandb_options_set_blob_run_mode(options: *mut ctitandb_options_t, mode: libc::c_int);
}
extern "C" {
    pub fn ctitandb_readoptions_create() -> *mut ctitandb_readoptions_t;
}
extern "C" {
    pub fn ctitandb_readoptions_destroy(opts: *mut ctitandb_readoptions_t);
}
extern "C" {
    pub fn ctitandb_readoptions_key_only(opts: *mut ctitandb_readoptions_t) -> libc::c_uchar;
}
extern "C" {
    pub fn ctitandb_readoptions_set_key_only(opts: *mut ctitandb_readoptions_t, v: libc::c_uchar);
}
extern "C" {
    pub fn ctitandb_create_iterator(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        titan_options: *const ctitandb_readoptions_t,
    ) -> *mut crocksdb_iterator_t;
}
extern "C" {
    pub fn ctitandb_create_iterator_cf(
        db: *mut crocksdb_t,
        options: *const crocksdb_readoptions_t,
        titan_options: *const ctitandb_readoptions_t,
        column_family: *mut crocksdb_column_family_handle_t,
    ) -> *mut crocksdb_iterator_t;
}
extern "C" {
    pub fn ctitandb_create_iterators(
        db: *mut crocksdb_t,
        options: *mut crocksdb_readoptions_t,
        titan_options: *mut ctitandb_readoptions_t,
        column_families: *mut *mut crocksdb_column_family_handle_t,
        iterators: *mut *mut crocksdb_iterator_t,
        size: usize,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn ctitandb_delete_files_in_range(
        db: *mut crocksdb_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn ctitandb_delete_files_in_range_cf(
        db: *mut crocksdb_t,
        column_family: *mut crocksdb_column_family_handle_t,
        start_key: *const libc::c_char,
        start_key_len: usize,
        limit_key: *const libc::c_char,
        limit_key_len: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
extern "C" {
    pub fn ctitandb_delete_files_in_ranges_cf(
        db: *mut crocksdb_t,
        cf: *mut crocksdb_column_family_handle_t,
        start_keys: *const *const libc::c_char,
        start_keys_lens: *const usize,
        limit_keys: *const *const libc::c_char,
        limit_keys_lens: *const usize,
        num_ranges: usize,
        include_end: libc::c_uchar,
        errptr: *mut *mut libc::c_char,
    );
}
pub type __builtin_va_list = __va_list;
#[repr(C)]
#[derive(Debug, Copy, Clone)]
pub struct __va_list {
    pub __stack: *mut libc::c_void,
    pub __gr_top: *mut libc::c_void,
    pub __vr_top: *mut libc::c_void,
    pub __gr_offs: libc::c_int,
    pub __vr_offs: libc::c_int,
}
#[test]
fn bindgen_test_layout___va_list() {
    assert_eq!(
        ::std::mem::size_of::<__va_list>(),
        32usize,
        concat!("Size of: ", stringify!(__va_list))
    );
    assert_eq!(
        ::std::mem::align_of::<__va_list>(),
        8usize,
        concat!("Alignment of ", stringify!(__va_list))
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list>())).__stack as *const _ as usize },
        0usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list),
            "::",
            stringify!(__stack)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_top as *const _ as usize },
        8usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list),
            "::",
            stringify!(__gr_top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_top as *const _ as usize },
        16usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list),
            "::",
            stringify!(__vr_top)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list>())).__gr_offs as *const _ as usize },
        24usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list),
            "::",
            stringify!(__gr_offs)
        )
    );
    assert_eq!(
        unsafe { &(*(::std::ptr::null::<__va_list>())).__vr_offs as *const _ as usize },
        28usize,
        concat!(
            "Offset of field: ",
            stringify!(__va_list),
            "::",
            stringify!(__vr_offs)
        )
    );
}
