Skip to main content

librocksdb_sys/mnt/build/debug/build/librocksdb-sys-10484102f2ed1917/out/
bindings.rs

1/* automatically generated by rust-bindgen 0.72.1 */
2
3pub const __bool_true_false_are_defined: u32 = 1;
4pub const true_: u32 = 1;
5pub const false_: u32 = 0;
6pub const _STDINT_H: u32 = 1;
7pub const _FEATURES_H: u32 = 1;
8pub const _DEFAULT_SOURCE: u32 = 1;
9pub const __GLIBC_USE_ISOC2X: u32 = 0;
10pub const __USE_ISOC11: u32 = 1;
11pub const __USE_ISOC99: u32 = 1;
12pub const __USE_ISOC95: u32 = 1;
13pub const __USE_POSIX_IMPLICITLY: u32 = 1;
14pub const _POSIX_SOURCE: u32 = 1;
15pub const _POSIX_C_SOURCE: u32 = 200809;
16pub const __USE_POSIX: u32 = 1;
17pub const __USE_POSIX2: u32 = 1;
18pub const __USE_POSIX199309: u32 = 1;
19pub const __USE_POSIX199506: u32 = 1;
20pub const __USE_XOPEN2K: u32 = 1;
21pub const __USE_XOPEN2K8: u32 = 1;
22pub const _ATFILE_SOURCE: u32 = 1;
23pub const __WORDSIZE: u32 = 64;
24pub const __WORDSIZE_TIME64_COMPAT32: u32 = 1;
25pub const __SYSCALL_WORDSIZE: u32 = 64;
26pub const __TIMESIZE: u32 = 64;
27pub const __USE_MISC: u32 = 1;
28pub const __USE_ATFILE: u32 = 1;
29pub const __USE_FORTIFY_LEVEL: u32 = 0;
30pub const __GLIBC_USE_DEPRECATED_GETS: u32 = 0;
31pub const __GLIBC_USE_DEPRECATED_SCANF: u32 = 0;
32pub const __GLIBC_USE_C2X_STRTOL: u32 = 0;
33pub const _STDC_PREDEF_H: u32 = 1;
34pub const __STDC_IEC_559__: u32 = 1;
35pub const __STDC_IEC_60559_BFP__: u32 = 201404;
36pub const __STDC_IEC_559_COMPLEX__: u32 = 1;
37pub const __STDC_IEC_60559_COMPLEX__: u32 = 201404;
38pub const __STDC_ISO_10646__: u32 = 201706;
39pub const __GNU_LIBRARY__: u32 = 6;
40pub const __GLIBC__: u32 = 2;
41pub const __GLIBC_MINOR__: u32 = 39;
42pub const _SYS_CDEFS_H: u32 = 1;
43pub const __glibc_c99_flexarr_available: u32 = 1;
44pub const __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI: u32 = 0;
45pub const __HAVE_GENERIC_SELECTION: u32 = 1;
46pub const __GLIBC_USE_LIB_EXT2: u32 = 0;
47pub const __GLIBC_USE_IEC_60559_BFP_EXT: u32 = 0;
48pub const __GLIBC_USE_IEC_60559_BFP_EXT_C2X: u32 = 0;
49pub const __GLIBC_USE_IEC_60559_EXT: u32 = 0;
50pub const __GLIBC_USE_IEC_60559_FUNCS_EXT: u32 = 0;
51pub const __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X: u32 = 0;
52pub const __GLIBC_USE_IEC_60559_TYPES_EXT: u32 = 0;
53pub const _BITS_TYPES_H: u32 = 1;
54pub const _BITS_TYPESIZES_H: u32 = 1;
55pub const __OFF_T_MATCHES_OFF64_T: u32 = 1;
56pub const __INO_T_MATCHES_INO64_T: u32 = 1;
57pub const __RLIM_T_MATCHES_RLIM64_T: u32 = 1;
58pub const __STATFS_MATCHES_STATFS64: u32 = 1;
59pub const __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64: u32 = 1;
60pub const __FD_SETSIZE: u32 = 1024;
61pub const _BITS_TIME64_H: u32 = 1;
62pub const _BITS_WCHAR_H: u32 = 1;
63pub const _BITS_STDINT_INTN_H: u32 = 1;
64pub const _BITS_STDINT_UINTN_H: u32 = 1;
65pub const _BITS_STDINT_LEAST_H: u32 = 1;
66pub const INT8_MIN: i32 = -128;
67pub const INT16_MIN: i32 = -32768;
68pub const INT32_MIN: i32 = -2147483648;
69pub const INT8_MAX: u32 = 127;
70pub const INT16_MAX: u32 = 32767;
71pub const INT32_MAX: u32 = 2147483647;
72pub const UINT8_MAX: u32 = 255;
73pub const UINT16_MAX: u32 = 65535;
74pub const UINT32_MAX: u32 = 4294967295;
75pub const INT_LEAST8_MIN: i32 = -128;
76pub const INT_LEAST16_MIN: i32 = -32768;
77pub const INT_LEAST32_MIN: i32 = -2147483648;
78pub const INT_LEAST8_MAX: u32 = 127;
79pub const INT_LEAST16_MAX: u32 = 32767;
80pub const INT_LEAST32_MAX: u32 = 2147483647;
81pub const UINT_LEAST8_MAX: u32 = 255;
82pub const UINT_LEAST16_MAX: u32 = 65535;
83pub const UINT_LEAST32_MAX: u32 = 4294967295;
84pub const INT_FAST8_MIN: i32 = -128;
85pub const INT_FAST16_MIN: i64 = -9223372036854775808;
86pub const INT_FAST32_MIN: i64 = -9223372036854775808;
87pub const INT_FAST8_MAX: u32 = 127;
88pub const INT_FAST16_MAX: u64 = 9223372036854775807;
89pub const INT_FAST32_MAX: u64 = 9223372036854775807;
90pub const UINT_FAST8_MAX: u32 = 255;
91pub const UINT_FAST16_MAX: i32 = -1;
92pub const UINT_FAST32_MAX: i32 = -1;
93pub const INTPTR_MIN: i64 = -9223372036854775808;
94pub const INTPTR_MAX: u64 = 9223372036854775807;
95pub const UINTPTR_MAX: i32 = -1;
96pub const PTRDIFF_MIN: i64 = -9223372036854775808;
97pub const PTRDIFF_MAX: u64 = 9223372036854775807;
98pub const SIG_ATOMIC_MIN: i32 = -2147483648;
99pub const SIG_ATOMIC_MAX: u32 = 2147483647;
100pub const SIZE_MAX: i32 = -1;
101pub const WINT_MIN: u32 = 0;
102pub const WINT_MAX: u32 = 4294967295;
103pub type wchar_t = libc::c_int;
104pub type __u_char = libc::c_uchar;
105pub type __u_short = libc::c_ushort;
106pub type __u_int = libc::c_uint;
107pub type __u_long = libc::c_ulong;
108pub type __int8_t = libc::c_schar;
109pub type __uint8_t = libc::c_uchar;
110pub type __int16_t = libc::c_short;
111pub type __uint16_t = libc::c_ushort;
112pub type __int32_t = libc::c_int;
113pub type __uint32_t = libc::c_uint;
114pub type __int64_t = libc::c_long;
115pub type __uint64_t = libc::c_ulong;
116pub type __int_least8_t = __int8_t;
117pub type __uint_least8_t = __uint8_t;
118pub type __int_least16_t = __int16_t;
119pub type __uint_least16_t = __uint16_t;
120pub type __int_least32_t = __int32_t;
121pub type __uint_least32_t = __uint32_t;
122pub type __int_least64_t = __int64_t;
123pub type __uint_least64_t = __uint64_t;
124pub type __quad_t = libc::c_long;
125pub type __u_quad_t = libc::c_ulong;
126pub type __intmax_t = libc::c_long;
127pub type __uintmax_t = libc::c_ulong;
128pub type __dev_t = libc::c_ulong;
129pub type __uid_t = libc::c_uint;
130pub type __gid_t = libc::c_uint;
131pub type __ino_t = libc::c_ulong;
132pub type __ino64_t = libc::c_ulong;
133pub type __mode_t = libc::c_uint;
134pub type __nlink_t = libc::c_ulong;
135pub type __off_t = libc::c_long;
136pub type __off64_t = libc::c_long;
137pub type __pid_t = libc::c_int;
138#[repr(C)]
139#[derive(Copy, Clone)]
140pub struct __fsid_t {
141    pub __val: [libc::c_int; 2usize],
142}
143#[allow(clippy::unnecessary_operation, clippy::identity_op)]
144const _: () = {
145    ["Size of __fsid_t"][::std::mem::size_of::<__fsid_t>() - 8usize];
146    ["Alignment of __fsid_t"][::std::mem::align_of::<__fsid_t>() - 4usize];
147    ["Offset of field: __fsid_t::__val"][::std::mem::offset_of!(__fsid_t, __val) - 0usize];
148};
149pub type __clock_t = libc::c_long;
150pub type __rlim_t = libc::c_ulong;
151pub type __rlim64_t = libc::c_ulong;
152pub type __id_t = libc::c_uint;
153pub type __time_t = libc::c_long;
154pub type __useconds_t = libc::c_uint;
155pub type __suseconds_t = libc::c_long;
156pub type __suseconds64_t = libc::c_long;
157pub type __daddr_t = libc::c_int;
158pub type __key_t = libc::c_int;
159pub type __clockid_t = libc::c_int;
160pub type __timer_t = *mut libc::c_void;
161pub type __blksize_t = libc::c_long;
162pub type __blkcnt_t = libc::c_long;
163pub type __blkcnt64_t = libc::c_long;
164pub type __fsblkcnt_t = libc::c_ulong;
165pub type __fsblkcnt64_t = libc::c_ulong;
166pub type __fsfilcnt_t = libc::c_ulong;
167pub type __fsfilcnt64_t = libc::c_ulong;
168pub type __fsword_t = libc::c_long;
169pub type __ssize_t = libc::c_long;
170pub type __syscall_slong_t = libc::c_long;
171pub type __syscall_ulong_t = libc::c_ulong;
172pub type __loff_t = __off64_t;
173pub type __caddr_t = *mut libc::c_char;
174pub type __intptr_t = libc::c_long;
175pub type __socklen_t = libc::c_uint;
176pub type __sig_atomic_t = libc::c_int;
177pub type int_least8_t = __int_least8_t;
178pub type int_least16_t = __int_least16_t;
179pub type int_least32_t = __int_least32_t;
180pub type int_least64_t = __int_least64_t;
181pub type uint_least8_t = __uint_least8_t;
182pub type uint_least16_t = __uint_least16_t;
183pub type uint_least32_t = __uint_least32_t;
184pub type uint_least64_t = __uint_least64_t;
185pub type int_fast8_t = libc::c_schar;
186pub type int_fast16_t = libc::c_long;
187pub type int_fast32_t = libc::c_long;
188pub type int_fast64_t = libc::c_long;
189pub type uint_fast8_t = libc::c_uchar;
190pub type uint_fast16_t = libc::c_ulong;
191pub type uint_fast32_t = libc::c_ulong;
192pub type uint_fast64_t = libc::c_ulong;
193pub type intmax_t = __intmax_t;
194pub type uintmax_t = __uintmax_t;
195#[repr(C)]
196#[derive(Copy, Clone)]
197pub struct rocksdb_t {
198    _unused: [u8; 0],
199}
200#[repr(C)]
201#[derive(Copy, Clone)]
202pub struct rocksdb_status_ptr_t {
203    _unused: [u8; 0],
204}
205#[repr(C)]
206#[derive(Copy, Clone)]
207pub struct rocksdb_backup_engine_t {
208    _unused: [u8; 0],
209}
210#[repr(C)]
211#[derive(Copy, Clone)]
212pub struct rocksdb_backup_engine_info_t {
213    _unused: [u8; 0],
214}
215#[repr(C)]
216#[derive(Copy, Clone)]
217pub struct rocksdb_backup_engine_options_t {
218    _unused: [u8; 0],
219}
220#[repr(C)]
221#[derive(Copy, Clone)]
222pub struct rocksdb_restore_options_t {
223    _unused: [u8; 0],
224}
225#[repr(C)]
226#[derive(Copy, Clone)]
227pub struct rocksdb_memory_allocator_t {
228    _unused: [u8; 0],
229}
230#[repr(C)]
231#[derive(Copy, Clone)]
232pub struct rocksdb_lru_cache_options_t {
233    _unused: [u8; 0],
234}
235#[repr(C)]
236#[derive(Copy, Clone)]
237pub struct rocksdb_hyper_clock_cache_options_t {
238    _unused: [u8; 0],
239}
240#[repr(C)]
241#[derive(Copy, Clone)]
242pub struct rocksdb_cache_t {
243    _unused: [u8; 0],
244}
245#[repr(C)]
246#[derive(Copy, Clone)]
247pub struct rocksdb_write_buffer_manager_t {
248    _unused: [u8; 0],
249}
250#[repr(C)]
251#[derive(Copy, Clone)]
252pub struct rocksdb_sst_file_manager_t {
253    _unused: [u8; 0],
254}
255#[repr(C)]
256#[derive(Copy, Clone)]
257pub struct rocksdb_compactionfilter_t {
258    _unused: [u8; 0],
259}
260#[repr(C)]
261#[derive(Copy, Clone)]
262pub struct rocksdb_compactionfiltercontext_t {
263    _unused: [u8; 0],
264}
265#[repr(C)]
266#[derive(Copy, Clone)]
267pub struct rocksdb_compactionfilterfactory_t {
268    _unused: [u8; 0],
269}
270#[repr(C)]
271#[derive(Copy, Clone)]
272pub struct rocksdb_comparator_t {
273    _unused: [u8; 0],
274}
275#[repr(C)]
276#[derive(Copy, Clone)]
277pub struct rocksdb_dbpath_t {
278    _unused: [u8; 0],
279}
280#[repr(C)]
281#[derive(Copy, Clone)]
282pub struct rocksdb_env_t {
283    _unused: [u8; 0],
284}
285#[repr(C)]
286#[derive(Copy, Clone)]
287pub struct rocksdb_fifo_compaction_options_t {
288    _unused: [u8; 0],
289}
290#[repr(C)]
291#[derive(Copy, Clone)]
292pub struct rocksdb_filelock_t {
293    _unused: [u8; 0],
294}
295#[repr(C)]
296#[derive(Copy, Clone)]
297pub struct rocksdb_filterpolicy_t {
298    _unused: [u8; 0],
299}
300#[repr(C)]
301#[derive(Copy, Clone)]
302pub struct rocksdb_flushoptions_t {
303    _unused: [u8; 0],
304}
305#[repr(C)]
306#[derive(Copy, Clone)]
307pub struct rocksdb_iterator_t {
308    _unused: [u8; 0],
309}
310#[repr(C)]
311#[derive(Copy, Clone)]
312pub struct rocksdb_logger_t {
313    _unused: [u8; 0],
314}
315#[repr(C)]
316#[derive(Copy, Clone)]
317pub struct rocksdb_mergeoperator_t {
318    _unused: [u8; 0],
319}
320#[repr(C)]
321#[derive(Copy, Clone)]
322pub struct rocksdb_options_t {
323    _unused: [u8; 0],
324}
325#[repr(C)]
326#[derive(Copy, Clone)]
327pub struct rocksdb_compactoptions_t {
328    _unused: [u8; 0],
329}
330#[repr(C)]
331#[derive(Copy, Clone)]
332pub struct rocksdb_block_based_table_options_t {
333    _unused: [u8; 0],
334}
335#[repr(C)]
336#[derive(Copy, Clone)]
337pub struct rocksdb_cuckoo_table_options_t {
338    _unused: [u8; 0],
339}
340#[repr(C)]
341#[derive(Copy, Clone)]
342pub struct rocksdb_randomfile_t {
343    _unused: [u8; 0],
344}
345#[repr(C)]
346#[derive(Copy, Clone)]
347pub struct rocksdb_readoptions_t {
348    _unused: [u8; 0],
349}
350#[repr(C)]
351#[derive(Copy, Clone)]
352pub struct rocksdb_seqfile_t {
353    _unused: [u8; 0],
354}
355#[repr(C)]
356#[derive(Copy, Clone)]
357pub struct rocksdb_slicetransform_t {
358    _unused: [u8; 0],
359}
360#[repr(C)]
361#[derive(Copy, Clone)]
362pub struct rocksdb_snapshot_t {
363    _unused: [u8; 0],
364}
365#[repr(C)]
366#[derive(Copy, Clone)]
367pub struct rocksdb_writablefile_t {
368    _unused: [u8; 0],
369}
370#[repr(C)]
371#[derive(Copy, Clone)]
372pub struct rocksdb_writebatch_t {
373    _unused: [u8; 0],
374}
375#[repr(C)]
376#[derive(Copy, Clone)]
377pub struct rocksdb_writebatch_wi_t {
378    _unused: [u8; 0],
379}
380#[repr(C)]
381#[derive(Copy, Clone)]
382pub struct rocksdb_writeoptions_t {
383    _unused: [u8; 0],
384}
385#[repr(C)]
386#[derive(Copy, Clone)]
387pub struct rocksdb_universal_compaction_options_t {
388    _unused: [u8; 0],
389}
390#[repr(C)]
391#[derive(Copy, Clone)]
392pub struct rocksdb_livefiles_t {
393    _unused: [u8; 0],
394}
395#[repr(C)]
396#[derive(Copy, Clone)]
397pub struct rocksdb_column_family_handle_t {
398    _unused: [u8; 0],
399}
400#[repr(C)]
401#[derive(Copy, Clone)]
402pub struct rocksdb_column_family_metadata_t {
403    _unused: [u8; 0],
404}
405#[repr(C)]
406#[derive(Copy, Clone)]
407pub struct rocksdb_level_metadata_t {
408    _unused: [u8; 0],
409}
410#[repr(C)]
411#[derive(Copy, Clone)]
412pub struct rocksdb_sst_file_metadata_t {
413    _unused: [u8; 0],
414}
415#[repr(C)]
416#[derive(Copy, Clone)]
417pub struct rocksdb_envoptions_t {
418    _unused: [u8; 0],
419}
420#[repr(C)]
421#[derive(Copy, Clone)]
422pub struct rocksdb_ingestexternalfileoptions_t {
423    _unused: [u8; 0],
424}
425#[repr(C)]
426#[derive(Copy, Clone)]
427pub struct rocksdb_sstfilewriter_t {
428    _unused: [u8; 0],
429}
430#[repr(C)]
431#[derive(Copy, Clone)]
432pub struct rocksdb_ratelimiter_t {
433    _unused: [u8; 0],
434}
435#[repr(C)]
436#[derive(Copy, Clone)]
437pub struct rocksdb_perfcontext_t {
438    _unused: [u8; 0],
439}
440#[repr(C)]
441#[derive(Copy, Clone)]
442pub struct rocksdb_pinnableslice_t {
443    _unused: [u8; 0],
444}
445#[repr(C)]
446#[derive(Copy, Clone)]
447pub struct rocksdb_transactiondb_options_t {
448    _unused: [u8; 0],
449}
450#[repr(C)]
451#[derive(Copy, Clone)]
452pub struct rocksdb_transactiondb_t {
453    _unused: [u8; 0],
454}
455#[repr(C)]
456#[derive(Copy, Clone)]
457pub struct rocksdb_transaction_options_t {
458    _unused: [u8; 0],
459}
460#[repr(C)]
461#[derive(Copy, Clone)]
462pub struct rocksdb_optimistictransactiondb_t {
463    _unused: [u8; 0],
464}
465#[repr(C)]
466#[derive(Copy, Clone)]
467pub struct rocksdb_optimistictransaction_options_t {
468    _unused: [u8; 0],
469}
470#[repr(C)]
471#[derive(Copy, Clone)]
472pub struct rocksdb_transaction_t {
473    _unused: [u8; 0],
474}
475#[repr(C)]
476#[derive(Copy, Clone)]
477pub struct rocksdb_checkpoint_t {
478    _unused: [u8; 0],
479}
480#[repr(C)]
481#[derive(Copy, Clone)]
482pub struct rocksdb_wal_iterator_t {
483    _unused: [u8; 0],
484}
485#[repr(C)]
486#[derive(Copy, Clone)]
487pub struct rocksdb_wal_readoptions_t {
488    _unused: [u8; 0],
489}
490#[repr(C)]
491#[derive(Copy, Clone)]
492pub struct rocksdb_memory_consumers_t {
493    _unused: [u8; 0],
494}
495#[repr(C)]
496#[derive(Copy, Clone)]
497pub struct rocksdb_memory_usage_t {
498    _unused: [u8; 0],
499}
500#[repr(C)]
501#[derive(Copy, Clone)]
502pub struct rocksdb_statistics_histogram_data_t {
503    _unused: [u8; 0],
504}
505#[repr(C)]
506#[derive(Copy, Clone)]
507pub struct rocksdb_wait_for_compact_options_t {
508    _unused: [u8; 0],
509}
510#[repr(C)]
511#[derive(Copy, Clone)]
512pub struct rocksdb_flushjobinfo_t {
513    _unused: [u8; 0],
514}
515#[repr(C)]
516#[derive(Copy, Clone)]
517pub struct rocksdb_compactionjobinfo_t {
518    _unused: [u8; 0],
519}
520#[repr(C)]
521#[derive(Copy, Clone)]
522pub struct rocksdb_subcompactionjobinfo_t {
523    _unused: [u8; 0],
524}
525#[repr(C)]
526#[derive(Copy, Clone)]
527pub struct rocksdb_externalfileingestioninfo_t {
528    _unused: [u8; 0],
529}
530#[repr(C)]
531#[derive(Copy, Clone)]
532pub struct rocksdb_eventlistener_t {
533    _unused: [u8; 0],
534}
535#[repr(C)]
536#[derive(Copy, Clone)]
537pub struct rocksdb_writestallinfo_t {
538    _unused: [u8; 0],
539}
540#[repr(C)]
541#[derive(Copy, Clone)]
542pub struct rocksdb_writestallcondition_t {
543    _unused: [u8; 0],
544}
545#[repr(C)]
546#[derive(Copy, Clone)]
547pub struct rocksdb_memtableinfo_t {
548    _unused: [u8; 0],
549}
550unsafe extern "C" {
551    pub fn rocksdb_open(
552        options: *const rocksdb_options_t,
553        name: *const libc::c_char,
554        errptr: *mut *mut libc::c_char,
555    ) -> *mut rocksdb_t;
556}
557unsafe extern "C" {
558    pub fn rocksdb_open_with_ttl(
559        options: *const rocksdb_options_t,
560        name: *const libc::c_char,
561        ttl: libc::c_int,
562        errptr: *mut *mut libc::c_char,
563    ) -> *mut rocksdb_t;
564}
565unsafe extern "C" {
566    pub fn rocksdb_open_for_read_only(
567        options: *const rocksdb_options_t,
568        name: *const libc::c_char,
569        error_if_wal_file_exists: libc::c_uchar,
570        errptr: *mut *mut libc::c_char,
571    ) -> *mut rocksdb_t;
572}
573unsafe extern "C" {
574    pub fn rocksdb_open_as_secondary(
575        options: *const rocksdb_options_t,
576        name: *const libc::c_char,
577        secondary_path: *const libc::c_char,
578        errptr: *mut *mut libc::c_char,
579    ) -> *mut rocksdb_t;
580}
581unsafe extern "C" {
582    pub fn rocksdb_backup_engine_open(
583        options: *const rocksdb_options_t,
584        path: *const libc::c_char,
585        errptr: *mut *mut libc::c_char,
586    ) -> *mut rocksdb_backup_engine_t;
587}
588unsafe extern "C" {
589    pub fn rocksdb_backup_engine_open_opts(
590        options: *const rocksdb_backup_engine_options_t,
591        env: *mut rocksdb_env_t,
592        errptr: *mut *mut libc::c_char,
593    ) -> *mut rocksdb_backup_engine_t;
594}
595unsafe extern "C" {
596    pub fn rocksdb_backup_engine_create_new_backup(
597        be: *mut rocksdb_backup_engine_t,
598        db: *mut rocksdb_t,
599        errptr: *mut *mut libc::c_char,
600    );
601}
602unsafe extern "C" {
603    pub fn rocksdb_backup_engine_create_new_backup_flush(
604        be: *mut rocksdb_backup_engine_t,
605        db: *mut rocksdb_t,
606        flush_before_backup: libc::c_uchar,
607        errptr: *mut *mut libc::c_char,
608    );
609}
610unsafe extern "C" {
611    pub fn rocksdb_backup_engine_purge_old_backups(
612        be: *mut rocksdb_backup_engine_t,
613        num_backups_to_keep: u32,
614        errptr: *mut *mut libc::c_char,
615    );
616}
617unsafe extern "C" {
618    pub fn rocksdb_restore_options_create() -> *mut rocksdb_restore_options_t;
619}
620unsafe extern "C" {
621    pub fn rocksdb_restore_options_destroy(opt: *mut rocksdb_restore_options_t);
622}
623unsafe extern "C" {
624    pub fn rocksdb_restore_options_set_keep_log_files(
625        opt: *mut rocksdb_restore_options_t,
626        v: libc::c_int,
627    );
628}
629unsafe extern "C" {
630    pub fn rocksdb_backup_engine_verify_backup(
631        be: *mut rocksdb_backup_engine_t,
632        backup_id: u32,
633        errptr: *mut *mut libc::c_char,
634    );
635}
636unsafe extern "C" {
637    pub fn rocksdb_backup_engine_restore_db_from_latest_backup(
638        be: *mut rocksdb_backup_engine_t,
639        db_dir: *const libc::c_char,
640        wal_dir: *const libc::c_char,
641        restore_options: *const rocksdb_restore_options_t,
642        errptr: *mut *mut libc::c_char,
643    );
644}
645unsafe extern "C" {
646    pub fn rocksdb_backup_engine_restore_db_from_backup(
647        be: *mut rocksdb_backup_engine_t,
648        db_dir: *const libc::c_char,
649        wal_dir: *const libc::c_char,
650        restore_options: *const rocksdb_restore_options_t,
651        backup_id: u32,
652        errptr: *mut *mut libc::c_char,
653    );
654}
655unsafe extern "C" {
656    pub fn rocksdb_backup_engine_get_backup_info(
657        be: *mut rocksdb_backup_engine_t,
658    ) -> *const rocksdb_backup_engine_info_t;
659}
660unsafe extern "C" {
661    pub fn rocksdb_backup_engine_info_count(
662        info: *const rocksdb_backup_engine_info_t,
663    ) -> libc::c_int;
664}
665unsafe extern "C" {
666    pub fn rocksdb_backup_engine_info_timestamp(
667        info: *const rocksdb_backup_engine_info_t,
668        index: libc::c_int,
669    ) -> i64;
670}
671unsafe extern "C" {
672    pub fn rocksdb_backup_engine_info_backup_id(
673        info: *const rocksdb_backup_engine_info_t,
674        index: libc::c_int,
675    ) -> u32;
676}
677unsafe extern "C" {
678    pub fn rocksdb_backup_engine_info_size(
679        info: *const rocksdb_backup_engine_info_t,
680        index: libc::c_int,
681    ) -> u64;
682}
683unsafe extern "C" {
684    pub fn rocksdb_backup_engine_info_number_files(
685        info: *const rocksdb_backup_engine_info_t,
686        index: libc::c_int,
687    ) -> u32;
688}
689unsafe extern "C" {
690    pub fn rocksdb_backup_engine_info_destroy(info: *const rocksdb_backup_engine_info_t);
691}
692unsafe extern "C" {
693    pub fn rocksdb_backup_engine_close(be: *mut rocksdb_backup_engine_t);
694}
695unsafe extern "C" {
696    pub fn rocksdb_put_with_ts(
697        db: *mut rocksdb_t,
698        options: *const rocksdb_writeoptions_t,
699        key: *const libc::c_char,
700        keylen: usize,
701        ts: *const libc::c_char,
702        tslen: usize,
703        val: *const libc::c_char,
704        vallen: usize,
705        errptr: *mut *mut libc::c_char,
706    );
707}
708unsafe extern "C" {
709    pub fn rocksdb_put_cf_with_ts(
710        db: *mut rocksdb_t,
711        options: *const rocksdb_writeoptions_t,
712        column_family: *mut rocksdb_column_family_handle_t,
713        key: *const libc::c_char,
714        keylen: usize,
715        ts: *const libc::c_char,
716        tslen: usize,
717        val: *const libc::c_char,
718        vallen: usize,
719        errptr: *mut *mut libc::c_char,
720    );
721}
722unsafe extern "C" {
723    pub fn rocksdb_delete_with_ts(
724        db: *mut rocksdb_t,
725        options: *const rocksdb_writeoptions_t,
726        key: *const libc::c_char,
727        keylen: usize,
728        ts: *const libc::c_char,
729        tslen: usize,
730        errptr: *mut *mut libc::c_char,
731    );
732}
733unsafe extern "C" {
734    pub fn rocksdb_delete_cf_with_ts(
735        db: *mut rocksdb_t,
736        options: *const rocksdb_writeoptions_t,
737        column_family: *mut rocksdb_column_family_handle_t,
738        key: *const libc::c_char,
739        keylen: usize,
740        ts: *const libc::c_char,
741        tslen: usize,
742        errptr: *mut *mut libc::c_char,
743    );
744}
745unsafe extern "C" {
746    pub fn rocksdb_singledelete(
747        db: *mut rocksdb_t,
748        options: *const rocksdb_writeoptions_t,
749        key: *const libc::c_char,
750        keylen: usize,
751        errptr: *mut *mut libc::c_char,
752    );
753}
754unsafe extern "C" {
755    pub fn rocksdb_singledelete_cf(
756        db: *mut rocksdb_t,
757        options: *const rocksdb_writeoptions_t,
758        column_family: *mut rocksdb_column_family_handle_t,
759        key: *const libc::c_char,
760        keylen: usize,
761        errptr: *mut *mut libc::c_char,
762    );
763}
764unsafe extern "C" {
765    pub fn rocksdb_singledelete_with_ts(
766        db: *mut rocksdb_t,
767        options: *const rocksdb_writeoptions_t,
768        key: *const libc::c_char,
769        keylen: usize,
770        ts: *const libc::c_char,
771        tslen: usize,
772        errptr: *mut *mut libc::c_char,
773    );
774}
775unsafe extern "C" {
776    pub fn rocksdb_singledelete_cf_with_ts(
777        db: *mut rocksdb_t,
778        options: *const rocksdb_writeoptions_t,
779        column_family: *mut rocksdb_column_family_handle_t,
780        key: *const libc::c_char,
781        keylen: usize,
782        ts: *const libc::c_char,
783        tslen: usize,
784        errptr: *mut *mut libc::c_char,
785    );
786}
787unsafe extern "C" {
788    pub fn rocksdb_increase_full_history_ts_low(
789        db: *mut rocksdb_t,
790        column_family: *mut rocksdb_column_family_handle_t,
791        ts_low: *const libc::c_char,
792        ts_lowlen: usize,
793        errptr: *mut *mut libc::c_char,
794    );
795}
796unsafe extern "C" {
797    pub fn rocksdb_get_full_history_ts_low(
798        db: *mut rocksdb_t,
799        column_family: *mut rocksdb_column_family_handle_t,
800        ts_lowlen: *mut usize,
801        errptr: *mut *mut libc::c_char,
802    ) -> *mut libc::c_char;
803}
804unsafe extern "C" {
805    pub fn rocksdb_backup_engine_options_create(
806        backup_dir: *const libc::c_char,
807    ) -> *mut rocksdb_backup_engine_options_t;
808}
809unsafe extern "C" {
810    pub fn rocksdb_backup_engine_options_set_backup_dir(
811        options: *mut rocksdb_backup_engine_options_t,
812        backup_dir: *const libc::c_char,
813    );
814}
815unsafe extern "C" {
816    pub fn rocksdb_backup_engine_options_set_env(
817        options: *mut rocksdb_backup_engine_options_t,
818        env: *mut rocksdb_env_t,
819    );
820}
821unsafe extern "C" {
822    pub fn rocksdb_backup_engine_options_set_share_table_files(
823        options: *mut rocksdb_backup_engine_options_t,
824        val: libc::c_uchar,
825    );
826}
827unsafe extern "C" {
828    pub fn rocksdb_backup_engine_options_get_share_table_files(
829        options: *mut rocksdb_backup_engine_options_t,
830    ) -> libc::c_uchar;
831}
832unsafe extern "C" {
833    pub fn rocksdb_backup_engine_options_set_sync(
834        options: *mut rocksdb_backup_engine_options_t,
835        val: libc::c_uchar,
836    );
837}
838unsafe extern "C" {
839    pub fn rocksdb_backup_engine_options_get_sync(
840        options: *mut rocksdb_backup_engine_options_t,
841    ) -> libc::c_uchar;
842}
843unsafe extern "C" {
844    pub fn rocksdb_backup_engine_options_set_destroy_old_data(
845        options: *mut rocksdb_backup_engine_options_t,
846        val: libc::c_uchar,
847    );
848}
849unsafe extern "C" {
850    pub fn rocksdb_backup_engine_options_get_destroy_old_data(
851        options: *mut rocksdb_backup_engine_options_t,
852    ) -> libc::c_uchar;
853}
854unsafe extern "C" {
855    pub fn rocksdb_backup_engine_options_set_backup_log_files(
856        options: *mut rocksdb_backup_engine_options_t,
857        val: libc::c_uchar,
858    );
859}
860unsafe extern "C" {
861    pub fn rocksdb_backup_engine_options_get_backup_log_files(
862        options: *mut rocksdb_backup_engine_options_t,
863    ) -> libc::c_uchar;
864}
865unsafe extern "C" {
866    pub fn rocksdb_backup_engine_options_set_backup_rate_limit(
867        options: *mut rocksdb_backup_engine_options_t,
868        limit: u64,
869    );
870}
871unsafe extern "C" {
872    pub fn rocksdb_backup_engine_options_get_backup_rate_limit(
873        options: *mut rocksdb_backup_engine_options_t,
874    ) -> u64;
875}
876unsafe extern "C" {
877    pub fn rocksdb_backup_engine_options_set_restore_rate_limit(
878        options: *mut rocksdb_backup_engine_options_t,
879        limit: u64,
880    );
881}
882unsafe extern "C" {
883    pub fn rocksdb_backup_engine_options_get_restore_rate_limit(
884        options: *mut rocksdb_backup_engine_options_t,
885    ) -> u64;
886}
887unsafe extern "C" {
888    pub fn rocksdb_backup_engine_options_set_max_background_operations(
889        options: *mut rocksdb_backup_engine_options_t,
890        val: libc::c_int,
891    );
892}
893unsafe extern "C" {
894    pub fn rocksdb_backup_engine_options_get_max_background_operations(
895        options: *mut rocksdb_backup_engine_options_t,
896    ) -> libc::c_int;
897}
898unsafe extern "C" {
899    pub fn rocksdb_backup_engine_options_set_callback_trigger_interval_size(
900        options: *mut rocksdb_backup_engine_options_t,
901        size: u64,
902    );
903}
904unsafe extern "C" {
905    pub fn rocksdb_backup_engine_options_get_callback_trigger_interval_size(
906        options: *mut rocksdb_backup_engine_options_t,
907    ) -> u64;
908}
909unsafe extern "C" {
910    pub fn rocksdb_backup_engine_options_set_max_valid_backups_to_open(
911        options: *mut rocksdb_backup_engine_options_t,
912        val: libc::c_int,
913    );
914}
915unsafe extern "C" {
916    pub fn rocksdb_backup_engine_options_get_max_valid_backups_to_open(
917        options: *mut rocksdb_backup_engine_options_t,
918    ) -> libc::c_int;
919}
920unsafe extern "C" {
921    pub fn rocksdb_backup_engine_options_set_share_files_with_checksum_naming(
922        options: *mut rocksdb_backup_engine_options_t,
923        val: libc::c_int,
924    );
925}
926unsafe extern "C" {
927    pub fn rocksdb_backup_engine_options_get_share_files_with_checksum_naming(
928        options: *mut rocksdb_backup_engine_options_t,
929    ) -> libc::c_int;
930}
931unsafe extern "C" {
932    pub fn rocksdb_backup_engine_options_destroy(arg1: *mut rocksdb_backup_engine_options_t);
933}
934unsafe extern "C" {
935    pub fn rocksdb_checkpoint_object_create(
936        db: *mut rocksdb_t,
937        errptr: *mut *mut libc::c_char,
938    ) -> *mut rocksdb_checkpoint_t;
939}
940unsafe extern "C" {
941    pub fn rocksdb_checkpoint_create(
942        checkpoint: *mut rocksdb_checkpoint_t,
943        checkpoint_dir: *const libc::c_char,
944        log_size_for_flush: u64,
945        errptr: *mut *mut libc::c_char,
946    );
947}
948unsafe extern "C" {
949    pub fn rocksdb_checkpoint_object_destroy(checkpoint: *mut rocksdb_checkpoint_t);
950}
951unsafe extern "C" {
952    pub fn rocksdb_open_and_trim_history(
953        options: *const rocksdb_options_t,
954        name: *const libc::c_char,
955        num_column_families: libc::c_int,
956        column_family_names: *const *const libc::c_char,
957        column_family_options: *const *const rocksdb_options_t,
958        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
959        trim_ts: *mut libc::c_char,
960        trim_tslen: usize,
961        errptr: *mut *mut libc::c_char,
962    ) -> *mut rocksdb_t;
963}
964unsafe extern "C" {
965    pub fn rocksdb_open_column_families(
966        options: *const rocksdb_options_t,
967        name: *const libc::c_char,
968        num_column_families: libc::c_int,
969        column_family_names: *const *const libc::c_char,
970        column_family_options: *const *const rocksdb_options_t,
971        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
972        errptr: *mut *mut libc::c_char,
973    ) -> *mut rocksdb_t;
974}
975unsafe extern "C" {
976    pub fn rocksdb_open_column_families_with_ttl(
977        options: *const rocksdb_options_t,
978        name: *const libc::c_char,
979        num_column_families: libc::c_int,
980        column_family_names: *const *const libc::c_char,
981        column_family_options: *const *const rocksdb_options_t,
982        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
983        ttls: *const libc::c_int,
984        errptr: *mut *mut libc::c_char,
985    ) -> *mut rocksdb_t;
986}
987unsafe extern "C" {
988    pub fn rocksdb_open_for_read_only_column_families(
989        options: *const rocksdb_options_t,
990        name: *const libc::c_char,
991        num_column_families: libc::c_int,
992        column_family_names: *const *const libc::c_char,
993        column_family_options: *const *const rocksdb_options_t,
994        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
995        error_if_wal_file_exists: libc::c_uchar,
996        errptr: *mut *mut libc::c_char,
997    ) -> *mut rocksdb_t;
998}
999unsafe extern "C" {
1000    pub fn rocksdb_open_as_secondary_column_families(
1001        options: *const rocksdb_options_t,
1002        name: *const libc::c_char,
1003        secondary_path: *const libc::c_char,
1004        num_column_families: libc::c_int,
1005        column_family_names: *const *const libc::c_char,
1006        column_family_options: *const *const rocksdb_options_t,
1007        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
1008        errptr: *mut *mut libc::c_char,
1009    ) -> *mut rocksdb_t;
1010}
1011unsafe extern "C" {
1012    pub fn rocksdb_list_column_families(
1013        options: *const rocksdb_options_t,
1014        name: *const libc::c_char,
1015        lencf: *mut usize,
1016        errptr: *mut *mut libc::c_char,
1017    ) -> *mut *mut libc::c_char;
1018}
1019unsafe extern "C" {
1020    pub fn rocksdb_list_column_families_destroy(list: *mut *mut libc::c_char, len: usize);
1021}
1022unsafe extern "C" {
1023    pub fn rocksdb_create_column_family(
1024        db: *mut rocksdb_t,
1025        column_family_options: *const rocksdb_options_t,
1026        column_family_name: *const libc::c_char,
1027        errptr: *mut *mut libc::c_char,
1028    ) -> *mut rocksdb_column_family_handle_t;
1029}
1030unsafe extern "C" {
1031    pub fn rocksdb_create_column_families(
1032        db: *mut rocksdb_t,
1033        column_family_options: *const rocksdb_options_t,
1034        num_column_families: libc::c_int,
1035        column_family_names: *const *const libc::c_char,
1036        lencfs: *mut usize,
1037        errptr: *mut *mut libc::c_char,
1038    ) -> *mut *mut rocksdb_column_family_handle_t;
1039}
1040unsafe extern "C" {
1041    pub fn rocksdb_create_column_families_destroy(list: *mut *mut rocksdb_column_family_handle_t);
1042}
1043unsafe extern "C" {
1044    pub fn rocksdb_create_column_family_with_ttl(
1045        db: *mut rocksdb_t,
1046        column_family_options: *const rocksdb_options_t,
1047        column_family_name: *const libc::c_char,
1048        ttl: libc::c_int,
1049        errptr: *mut *mut libc::c_char,
1050    ) -> *mut rocksdb_column_family_handle_t;
1051}
1052unsafe extern "C" {
1053    pub fn rocksdb_drop_column_family(
1054        db: *mut rocksdb_t,
1055        handle: *mut rocksdb_column_family_handle_t,
1056        errptr: *mut *mut libc::c_char,
1057    );
1058}
1059unsafe extern "C" {
1060    pub fn rocksdb_get_default_column_family_handle(
1061        db: *mut rocksdb_t,
1062    ) -> *mut rocksdb_column_family_handle_t;
1063}
1064unsafe extern "C" {
1065    pub fn rocksdb_column_family_handle_destroy(arg1: *mut rocksdb_column_family_handle_t);
1066}
1067unsafe extern "C" {
1068    pub fn rocksdb_column_family_handle_get_id(handle: *mut rocksdb_column_family_handle_t) -> u32;
1069}
1070unsafe extern "C" {
1071    pub fn rocksdb_column_family_handle_get_name(
1072        handle: *mut rocksdb_column_family_handle_t,
1073        name_len: *mut usize,
1074    ) -> *mut libc::c_char;
1075}
1076unsafe extern "C" {
1077    pub fn rocksdb_close(db: *mut rocksdb_t);
1078}
1079unsafe extern "C" {
1080    pub fn rocksdb_put(
1081        db: *mut rocksdb_t,
1082        options: *const rocksdb_writeoptions_t,
1083        key: *const libc::c_char,
1084        keylen: usize,
1085        val: *const libc::c_char,
1086        vallen: usize,
1087        errptr: *mut *mut libc::c_char,
1088    );
1089}
1090unsafe extern "C" {
1091    pub fn rocksdb_put_cf(
1092        db: *mut rocksdb_t,
1093        options: *const rocksdb_writeoptions_t,
1094        column_family: *mut rocksdb_column_family_handle_t,
1095        key: *const libc::c_char,
1096        keylen: usize,
1097        val: *const libc::c_char,
1098        vallen: usize,
1099        errptr: *mut *mut libc::c_char,
1100    );
1101}
1102unsafe extern "C" {
1103    pub fn rocksdb_delete(
1104        db: *mut rocksdb_t,
1105        options: *const rocksdb_writeoptions_t,
1106        key: *const libc::c_char,
1107        keylen: usize,
1108        errptr: *mut *mut libc::c_char,
1109    );
1110}
1111unsafe extern "C" {
1112    pub fn rocksdb_delete_cf(
1113        db: *mut rocksdb_t,
1114        options: *const rocksdb_writeoptions_t,
1115        column_family: *mut rocksdb_column_family_handle_t,
1116        key: *const libc::c_char,
1117        keylen: usize,
1118        errptr: *mut *mut libc::c_char,
1119    );
1120}
1121unsafe extern "C" {
1122    pub fn rocksdb_delete_range_cf(
1123        db: *mut rocksdb_t,
1124        options: *const rocksdb_writeoptions_t,
1125        column_family: *mut rocksdb_column_family_handle_t,
1126        start_key: *const libc::c_char,
1127        start_key_len: usize,
1128        end_key: *const libc::c_char,
1129        end_key_len: usize,
1130        errptr: *mut *mut libc::c_char,
1131    );
1132}
1133unsafe extern "C" {
1134    pub fn rocksdb_merge(
1135        db: *mut rocksdb_t,
1136        options: *const rocksdb_writeoptions_t,
1137        key: *const libc::c_char,
1138        keylen: usize,
1139        val: *const libc::c_char,
1140        vallen: usize,
1141        errptr: *mut *mut libc::c_char,
1142    );
1143}
1144unsafe extern "C" {
1145    pub fn rocksdb_merge_cf(
1146        db: *mut rocksdb_t,
1147        options: *const rocksdb_writeoptions_t,
1148        column_family: *mut rocksdb_column_family_handle_t,
1149        key: *const libc::c_char,
1150        keylen: usize,
1151        val: *const libc::c_char,
1152        vallen: usize,
1153        errptr: *mut *mut libc::c_char,
1154    );
1155}
1156unsafe extern "C" {
1157    pub fn rocksdb_write(
1158        db: *mut rocksdb_t,
1159        options: *const rocksdb_writeoptions_t,
1160        batch: *mut rocksdb_writebatch_t,
1161        errptr: *mut *mut libc::c_char,
1162    );
1163}
1164unsafe extern "C" {
1165    pub fn rocksdb_get(
1166        db: *mut rocksdb_t,
1167        options: *const rocksdb_readoptions_t,
1168        key: *const libc::c_char,
1169        keylen: usize,
1170        vallen: *mut usize,
1171        errptr: *mut *mut libc::c_char,
1172    ) -> *mut libc::c_char;
1173}
1174unsafe extern "C" {
1175    pub fn rocksdb_get_with_ts(
1176        db: *mut rocksdb_t,
1177        options: *const rocksdb_readoptions_t,
1178        key: *const libc::c_char,
1179        keylen: usize,
1180        vallen: *mut usize,
1181        ts: *mut *mut libc::c_char,
1182        tslen: *mut usize,
1183        errptr: *mut *mut libc::c_char,
1184    ) -> *mut libc::c_char;
1185}
1186unsafe extern "C" {
1187    pub fn rocksdb_get_cf(
1188        db: *mut rocksdb_t,
1189        options: *const rocksdb_readoptions_t,
1190        column_family: *mut rocksdb_column_family_handle_t,
1191        key: *const libc::c_char,
1192        keylen: usize,
1193        vallen: *mut usize,
1194        errptr: *mut *mut libc::c_char,
1195    ) -> *mut libc::c_char;
1196}
1197unsafe extern "C" {
1198    pub fn rocksdb_get_cf_with_ts(
1199        db: *mut rocksdb_t,
1200        options: *const rocksdb_readoptions_t,
1201        column_family: *mut rocksdb_column_family_handle_t,
1202        key: *const libc::c_char,
1203        keylen: usize,
1204        vallen: *mut usize,
1205        ts: *mut *mut libc::c_char,
1206        tslen: *mut usize,
1207        errptr: *mut *mut libc::c_char,
1208    ) -> *mut libc::c_char;
1209}
1210unsafe extern "C" {
1211    #[doc = " Returns a malloc() buffer with the DB identity, assigning the length to\n *id_len. Returns NULL if an error occurred."]
1212    pub fn rocksdb_get_db_identity(db: *mut rocksdb_t, id_len: *mut usize) -> *mut libc::c_char;
1213}
1214unsafe extern "C" {
1215    pub fn rocksdb_multi_get(
1216        db: *mut rocksdb_t,
1217        options: *const rocksdb_readoptions_t,
1218        num_keys: usize,
1219        keys_list: *const *const libc::c_char,
1220        keys_list_sizes: *const usize,
1221        values_list: *mut *mut libc::c_char,
1222        values_list_sizes: *mut usize,
1223        errs: *mut *mut libc::c_char,
1224    );
1225}
1226unsafe extern "C" {
1227    pub fn rocksdb_multi_get_with_ts(
1228        db: *mut rocksdb_t,
1229        options: *const rocksdb_readoptions_t,
1230        num_keys: usize,
1231        keys_list: *const *const libc::c_char,
1232        keys_list_sizes: *const usize,
1233        values_list: *mut *mut libc::c_char,
1234        values_list_sizes: *mut usize,
1235        timestamp_list: *mut *mut libc::c_char,
1236        timestamp_list_sizes: *mut usize,
1237        errs: *mut *mut libc::c_char,
1238    );
1239}
1240unsafe extern "C" {
1241    pub fn rocksdb_multi_get_cf(
1242        db: *mut rocksdb_t,
1243        options: *const rocksdb_readoptions_t,
1244        column_families: *const *const rocksdb_column_family_handle_t,
1245        num_keys: usize,
1246        keys_list: *const *const libc::c_char,
1247        keys_list_sizes: *const usize,
1248        values_list: *mut *mut libc::c_char,
1249        values_list_sizes: *mut usize,
1250        errs: *mut *mut libc::c_char,
1251    );
1252}
1253unsafe extern "C" {
1254    pub fn rocksdb_multi_get_cf_with_ts(
1255        db: *mut rocksdb_t,
1256        options: *const rocksdb_readoptions_t,
1257        column_families: *const *const rocksdb_column_family_handle_t,
1258        num_keys: usize,
1259        keys_list: *const *const libc::c_char,
1260        keys_list_sizes: *const usize,
1261        values_list: *mut *mut libc::c_char,
1262        values_list_sizes: *mut usize,
1263        timestamps_list: *mut *mut libc::c_char,
1264        timestamps_list_sizes: *mut usize,
1265        errs: *mut *mut libc::c_char,
1266    );
1267}
1268unsafe extern "C" {
1269    pub fn rocksdb_batched_multi_get_cf(
1270        db: *mut rocksdb_t,
1271        options: *const rocksdb_readoptions_t,
1272        column_family: *mut rocksdb_column_family_handle_t,
1273        num_keys: usize,
1274        keys_list: *const *const libc::c_char,
1275        keys_list_sizes: *const usize,
1276        values: *mut *mut rocksdb_pinnableslice_t,
1277        errs: *mut *mut libc::c_char,
1278        sorted_input: bool,
1279    );
1280}
1281unsafe extern "C" {
1282    pub fn rocksdb_key_may_exist(
1283        db: *mut rocksdb_t,
1284        options: *const rocksdb_readoptions_t,
1285        key: *const libc::c_char,
1286        key_len: usize,
1287        value: *mut *mut libc::c_char,
1288        val_len: *mut usize,
1289        timestamp: *const libc::c_char,
1290        timestamp_len: usize,
1291        value_found: *mut libc::c_uchar,
1292    ) -> libc::c_uchar;
1293}
1294unsafe extern "C" {
1295    pub fn rocksdb_key_may_exist_cf(
1296        db: *mut rocksdb_t,
1297        options: *const rocksdb_readoptions_t,
1298        column_family: *mut rocksdb_column_family_handle_t,
1299        key: *const libc::c_char,
1300        key_len: usize,
1301        value: *mut *mut libc::c_char,
1302        val_len: *mut usize,
1303        timestamp: *const libc::c_char,
1304        timestamp_len: usize,
1305        value_found: *mut libc::c_uchar,
1306    ) -> libc::c_uchar;
1307}
1308unsafe extern "C" {
1309    pub fn rocksdb_create_iterator(
1310        db: *mut rocksdb_t,
1311        options: *const rocksdb_readoptions_t,
1312    ) -> *mut rocksdb_iterator_t;
1313}
1314unsafe extern "C" {
1315    pub fn rocksdb_get_updates_since(
1316        db: *mut rocksdb_t,
1317        seq_number: u64,
1318        options: *const rocksdb_wal_readoptions_t,
1319        errptr: *mut *mut libc::c_char,
1320    ) -> *mut rocksdb_wal_iterator_t;
1321}
1322unsafe extern "C" {
1323    pub fn rocksdb_create_iterator_cf(
1324        db: *mut rocksdb_t,
1325        options: *const rocksdb_readoptions_t,
1326        column_family: *mut rocksdb_column_family_handle_t,
1327    ) -> *mut rocksdb_iterator_t;
1328}
1329unsafe extern "C" {
1330    pub fn rocksdb_create_iterators(
1331        db: *mut rocksdb_t,
1332        opts: *mut rocksdb_readoptions_t,
1333        column_families: *mut *mut rocksdb_column_family_handle_t,
1334        iterators: *mut *mut rocksdb_iterator_t,
1335        size: usize,
1336        errptr: *mut *mut libc::c_char,
1337    );
1338}
1339unsafe extern "C" {
1340    pub fn rocksdb_create_snapshot(db: *mut rocksdb_t) -> *const rocksdb_snapshot_t;
1341}
1342unsafe extern "C" {
1343    pub fn rocksdb_release_snapshot(db: *mut rocksdb_t, snapshot: *const rocksdb_snapshot_t);
1344}
1345unsafe extern "C" {
1346    pub fn rocksdb_snapshot_get_sequence_number(snapshot: *const rocksdb_snapshot_t) -> u64;
1347}
1348unsafe extern "C" {
1349    pub fn rocksdb_property_value(
1350        db: *mut rocksdb_t,
1351        propname: *const libc::c_char,
1352    ) -> *mut libc::c_char;
1353}
1354unsafe extern "C" {
1355    pub fn rocksdb_property_int(
1356        db: *mut rocksdb_t,
1357        propname: *const libc::c_char,
1358        out_val: *mut u64,
1359    ) -> libc::c_int;
1360}
1361unsafe extern "C" {
1362    pub fn rocksdb_property_int_cf(
1363        db: *mut rocksdb_t,
1364        column_family: *mut rocksdb_column_family_handle_t,
1365        propname: *const libc::c_char,
1366        out_val: *mut u64,
1367    ) -> libc::c_int;
1368}
1369unsafe extern "C" {
1370    pub fn rocksdb_property_value_cf(
1371        db: *mut rocksdb_t,
1372        column_family: *mut rocksdb_column_family_handle_t,
1373        propname: *const libc::c_char,
1374    ) -> *mut libc::c_char;
1375}
1376unsafe extern "C" {
1377    pub fn rocksdb_approximate_sizes(
1378        db: *mut rocksdb_t,
1379        num_ranges: libc::c_int,
1380        range_start_key: *const *const libc::c_char,
1381        range_start_key_len: *const usize,
1382        range_limit_key: *const *const libc::c_char,
1383        range_limit_key_len: *const usize,
1384        sizes: *mut u64,
1385        errptr: *mut *mut libc::c_char,
1386    );
1387}
1388unsafe extern "C" {
1389    pub fn rocksdb_approximate_sizes_cf(
1390        db: *mut rocksdb_t,
1391        column_family: *mut rocksdb_column_family_handle_t,
1392        num_ranges: libc::c_int,
1393        range_start_key: *const *const libc::c_char,
1394        range_start_key_len: *const usize,
1395        range_limit_key: *const *const libc::c_char,
1396        range_limit_key_len: *const usize,
1397        sizes: *mut u64,
1398        errptr: *mut *mut libc::c_char,
1399    );
1400}
1401pub const rocksdb_size_approximation_flags_none: _bindgen_ty_1 = 0;
1402pub const rocksdb_size_approximation_flags_include_memtable: _bindgen_ty_1 = 1;
1403pub const rocksdb_size_approximation_flags_include_files: _bindgen_ty_1 = 2;
1404pub type _bindgen_ty_1 = libc::c_uint;
1405unsafe extern "C" {
1406    pub fn rocksdb_approximate_sizes_cf_with_flags(
1407        db: *mut rocksdb_t,
1408        column_family: *mut rocksdb_column_family_handle_t,
1409        num_ranges: libc::c_int,
1410        range_start_key: *const *const libc::c_char,
1411        range_start_key_len: *const usize,
1412        range_limit_key: *const *const libc::c_char,
1413        range_limit_key_len: *const usize,
1414        include_flags: u8,
1415        sizes: *mut u64,
1416        errptr: *mut *mut libc::c_char,
1417    );
1418}
1419unsafe extern "C" {
1420    pub fn rocksdb_compact_range(
1421        db: *mut rocksdb_t,
1422        start_key: *const libc::c_char,
1423        start_key_len: usize,
1424        limit_key: *const libc::c_char,
1425        limit_key_len: usize,
1426    );
1427}
1428unsafe extern "C" {
1429    pub fn rocksdb_compact_range_cf(
1430        db: *mut rocksdb_t,
1431        column_family: *mut rocksdb_column_family_handle_t,
1432        start_key: *const libc::c_char,
1433        start_key_len: usize,
1434        limit_key: *const libc::c_char,
1435        limit_key_len: usize,
1436    );
1437}
1438unsafe extern "C" {
1439    pub fn rocksdb_suggest_compact_range(
1440        db: *mut rocksdb_t,
1441        start_key: *const libc::c_char,
1442        start_key_len: usize,
1443        limit_key: *const libc::c_char,
1444        limit_key_len: usize,
1445        errptr: *mut *mut libc::c_char,
1446    );
1447}
1448unsafe extern "C" {
1449    pub fn rocksdb_suggest_compact_range_cf(
1450        db: *mut rocksdb_t,
1451        column_family: *mut rocksdb_column_family_handle_t,
1452        start_key: *const libc::c_char,
1453        start_key_len: usize,
1454        limit_key: *const libc::c_char,
1455        limit_key_len: usize,
1456        errptr: *mut *mut libc::c_char,
1457    );
1458}
1459unsafe extern "C" {
1460    pub fn rocksdb_compact_range_opt(
1461        db: *mut rocksdb_t,
1462        opt: *mut rocksdb_compactoptions_t,
1463        start_key: *const libc::c_char,
1464        start_key_len: usize,
1465        limit_key: *const libc::c_char,
1466        limit_key_len: usize,
1467    );
1468}
1469unsafe extern "C" {
1470    pub fn rocksdb_compact_range_cf_opt(
1471        db: *mut rocksdb_t,
1472        column_family: *mut rocksdb_column_family_handle_t,
1473        opt: *mut rocksdb_compactoptions_t,
1474        start_key: *const libc::c_char,
1475        start_key_len: usize,
1476        limit_key: *const libc::c_char,
1477        limit_key_len: usize,
1478    );
1479}
1480unsafe extern "C" {
1481    pub fn rocksdb_livefiles(db: *mut rocksdb_t) -> *const rocksdb_livefiles_t;
1482}
1483unsafe extern "C" {
1484    pub fn rocksdb_flush(
1485        db: *mut rocksdb_t,
1486        options: *const rocksdb_flushoptions_t,
1487        errptr: *mut *mut libc::c_char,
1488    );
1489}
1490unsafe extern "C" {
1491    pub fn rocksdb_flush_cf(
1492        db: *mut rocksdb_t,
1493        options: *const rocksdb_flushoptions_t,
1494        column_family: *mut rocksdb_column_family_handle_t,
1495        errptr: *mut *mut libc::c_char,
1496    );
1497}
1498unsafe extern "C" {
1499    pub fn rocksdb_flush_cfs(
1500        db: *mut rocksdb_t,
1501        options: *const rocksdb_flushoptions_t,
1502        column_family: *mut *mut rocksdb_column_family_handle_t,
1503        num_column_families: libc::c_int,
1504        errptr: *mut *mut libc::c_char,
1505    );
1506}
1507unsafe extern "C" {
1508    pub fn rocksdb_flush_wal(
1509        db: *mut rocksdb_t,
1510        sync: libc::c_uchar,
1511        errptr: *mut *mut libc::c_char,
1512    );
1513}
1514unsafe extern "C" {
1515    pub fn rocksdb_disable_file_deletions(db: *mut rocksdb_t, errptr: *mut *mut libc::c_char);
1516}
1517unsafe extern "C" {
1518    pub fn rocksdb_enable_file_deletions(db: *mut rocksdb_t, errptr: *mut *mut libc::c_char);
1519}
1520unsafe extern "C" {
1521    pub fn rocksdb_destroy_db(
1522        options: *const rocksdb_options_t,
1523        name: *const libc::c_char,
1524        errptr: *mut *mut libc::c_char,
1525    );
1526}
1527unsafe extern "C" {
1528    pub fn rocksdb_repair_db(
1529        options: *const rocksdb_options_t,
1530        name: *const libc::c_char,
1531        errptr: *mut *mut libc::c_char,
1532    );
1533}
1534unsafe extern "C" {
1535    pub fn rocksdb_iter_destroy(arg1: *mut rocksdb_iterator_t);
1536}
1537unsafe extern "C" {
1538    pub fn rocksdb_iter_valid(arg1: *const rocksdb_iterator_t) -> libc::c_uchar;
1539}
1540unsafe extern "C" {
1541    pub fn rocksdb_iter_seek_to_first(arg1: *mut rocksdb_iterator_t);
1542}
1543unsafe extern "C" {
1544    pub fn rocksdb_iter_seek_to_last(arg1: *mut rocksdb_iterator_t);
1545}
1546unsafe extern "C" {
1547    pub fn rocksdb_iter_seek(arg1: *mut rocksdb_iterator_t, k: *const libc::c_char, klen: usize);
1548}
1549unsafe extern "C" {
1550    pub fn rocksdb_iter_seek_for_prev(
1551        arg1: *mut rocksdb_iterator_t,
1552        k: *const libc::c_char,
1553        klen: usize,
1554    );
1555}
1556unsafe extern "C" {
1557    pub fn rocksdb_iter_next(arg1: *mut rocksdb_iterator_t);
1558}
1559unsafe extern "C" {
1560    pub fn rocksdb_iter_prev(arg1: *mut rocksdb_iterator_t);
1561}
1562unsafe extern "C" {
1563    pub fn rocksdb_iter_key(
1564        arg1: *const rocksdb_iterator_t,
1565        klen: *mut usize,
1566    ) -> *const libc::c_char;
1567}
1568unsafe extern "C" {
1569    pub fn rocksdb_iter_value(
1570        arg1: *const rocksdb_iterator_t,
1571        vlen: *mut usize,
1572    ) -> *const libc::c_char;
1573}
1574unsafe extern "C" {
1575    pub fn rocksdb_iter_timestamp(
1576        arg1: *const rocksdb_iterator_t,
1577        tslen: *mut usize,
1578    ) -> *const libc::c_char;
1579}
1580unsafe extern "C" {
1581    pub fn rocksdb_iter_get_error(arg1: *const rocksdb_iterator_t, errptr: *mut *mut libc::c_char);
1582}
1583unsafe extern "C" {
1584    pub fn rocksdb_iter_refresh(iter: *const rocksdb_iterator_t, errptr: *mut *mut libc::c_char);
1585}
1586unsafe extern "C" {
1587    pub fn rocksdb_wal_iter_next(iter: *mut rocksdb_wal_iterator_t);
1588}
1589unsafe extern "C" {
1590    pub fn rocksdb_wal_iter_valid(arg1: *const rocksdb_wal_iterator_t) -> libc::c_uchar;
1591}
1592unsafe extern "C" {
1593    pub fn rocksdb_wal_iter_status(
1594        iter: *const rocksdb_wal_iterator_t,
1595        errptr: *mut *mut libc::c_char,
1596    );
1597}
1598unsafe extern "C" {
1599    pub fn rocksdb_wal_iter_get_batch(
1600        iter: *const rocksdb_wal_iterator_t,
1601        seq: *mut u64,
1602    ) -> *mut rocksdb_writebatch_t;
1603}
1604unsafe extern "C" {
1605    pub fn rocksdb_get_latest_sequence_number(db: *mut rocksdb_t) -> u64;
1606}
1607unsafe extern "C" {
1608    pub fn rocksdb_wal_iter_destroy(iter: *const rocksdb_wal_iterator_t);
1609}
1610unsafe extern "C" {
1611    pub fn rocksdb_writebatch_create() -> *mut rocksdb_writebatch_t;
1612}
1613unsafe extern "C" {
1614    pub fn rocksdb_writebatch_create_from(
1615        rep: *const libc::c_char,
1616        size: usize,
1617    ) -> *mut rocksdb_writebatch_t;
1618}
1619unsafe extern "C" {
1620    pub fn rocksdb_writebatch_create_with_params(
1621        reserved_bytes: usize,
1622        max_bytes: usize,
1623        protection_bytes_per_key: usize,
1624        default_cf_ts_sz: usize,
1625    ) -> *mut rocksdb_writebatch_t;
1626}
1627unsafe extern "C" {
1628    pub fn rocksdb_writebatch_destroy(arg1: *mut rocksdb_writebatch_t);
1629}
1630unsafe extern "C" {
1631    pub fn rocksdb_writebatch_clear(arg1: *mut rocksdb_writebatch_t);
1632}
1633unsafe extern "C" {
1634    pub fn rocksdb_writebatch_count(arg1: *mut rocksdb_writebatch_t) -> libc::c_int;
1635}
1636unsafe extern "C" {
1637    pub fn rocksdb_writebatch_put(
1638        arg1: *mut rocksdb_writebatch_t,
1639        key: *const libc::c_char,
1640        klen: usize,
1641        val: *const libc::c_char,
1642        vlen: usize,
1643    );
1644}
1645unsafe extern "C" {
1646    pub fn rocksdb_writebatch_put_cf(
1647        arg1: *mut rocksdb_writebatch_t,
1648        column_family: *mut rocksdb_column_family_handle_t,
1649        key: *const libc::c_char,
1650        klen: usize,
1651        val: *const libc::c_char,
1652        vlen: usize,
1653    );
1654}
1655unsafe extern "C" {
1656    pub fn rocksdb_writebatch_put_cf_with_ts(
1657        arg1: *mut rocksdb_writebatch_t,
1658        column_family: *mut rocksdb_column_family_handle_t,
1659        key: *const libc::c_char,
1660        klen: usize,
1661        ts: *const libc::c_char,
1662        tslen: usize,
1663        val: *const libc::c_char,
1664        vlen: usize,
1665    );
1666}
1667unsafe extern "C" {
1668    pub fn rocksdb_writebatch_putv(
1669        b: *mut rocksdb_writebatch_t,
1670        num_keys: libc::c_int,
1671        keys_list: *const *const libc::c_char,
1672        keys_list_sizes: *const usize,
1673        num_values: libc::c_int,
1674        values_list: *const *const libc::c_char,
1675        values_list_sizes: *const usize,
1676    );
1677}
1678unsafe extern "C" {
1679    pub fn rocksdb_writebatch_putv_cf(
1680        b: *mut rocksdb_writebatch_t,
1681        column_family: *mut rocksdb_column_family_handle_t,
1682        num_keys: libc::c_int,
1683        keys_list: *const *const libc::c_char,
1684        keys_list_sizes: *const usize,
1685        num_values: libc::c_int,
1686        values_list: *const *const libc::c_char,
1687        values_list_sizes: *const usize,
1688    );
1689}
1690unsafe extern "C" {
1691    pub fn rocksdb_writebatch_merge(
1692        arg1: *mut rocksdb_writebatch_t,
1693        key: *const libc::c_char,
1694        klen: usize,
1695        val: *const libc::c_char,
1696        vlen: usize,
1697    );
1698}
1699unsafe extern "C" {
1700    pub fn rocksdb_writebatch_merge_cf(
1701        arg1: *mut rocksdb_writebatch_t,
1702        column_family: *mut rocksdb_column_family_handle_t,
1703        key: *const libc::c_char,
1704        klen: usize,
1705        val: *const libc::c_char,
1706        vlen: usize,
1707    );
1708}
1709unsafe extern "C" {
1710    pub fn rocksdb_writebatch_mergev(
1711        b: *mut rocksdb_writebatch_t,
1712        num_keys: libc::c_int,
1713        keys_list: *const *const libc::c_char,
1714        keys_list_sizes: *const usize,
1715        num_values: libc::c_int,
1716        values_list: *const *const libc::c_char,
1717        values_list_sizes: *const usize,
1718    );
1719}
1720unsafe extern "C" {
1721    pub fn rocksdb_writebatch_mergev_cf(
1722        b: *mut rocksdb_writebatch_t,
1723        column_family: *mut rocksdb_column_family_handle_t,
1724        num_keys: libc::c_int,
1725        keys_list: *const *const libc::c_char,
1726        keys_list_sizes: *const usize,
1727        num_values: libc::c_int,
1728        values_list: *const *const libc::c_char,
1729        values_list_sizes: *const usize,
1730    );
1731}
1732unsafe extern "C" {
1733    pub fn rocksdb_writebatch_delete(
1734        arg1: *mut rocksdb_writebatch_t,
1735        key: *const libc::c_char,
1736        klen: usize,
1737    );
1738}
1739unsafe extern "C" {
1740    pub fn rocksdb_writebatch_singledelete(
1741        b: *mut rocksdb_writebatch_t,
1742        key: *const libc::c_char,
1743        klen: usize,
1744    );
1745}
1746unsafe extern "C" {
1747    pub fn rocksdb_writebatch_delete_cf(
1748        arg1: *mut rocksdb_writebatch_t,
1749        column_family: *mut rocksdb_column_family_handle_t,
1750        key: *const libc::c_char,
1751        klen: usize,
1752    );
1753}
1754unsafe extern "C" {
1755    pub fn rocksdb_writebatch_delete_cf_with_ts(
1756        arg1: *mut rocksdb_writebatch_t,
1757        column_family: *mut rocksdb_column_family_handle_t,
1758        key: *const libc::c_char,
1759        klen: usize,
1760        ts: *const libc::c_char,
1761        tslen: usize,
1762    );
1763}
1764unsafe extern "C" {
1765    pub fn rocksdb_writebatch_singledelete_cf(
1766        b: *mut rocksdb_writebatch_t,
1767        column_family: *mut rocksdb_column_family_handle_t,
1768        key: *const libc::c_char,
1769        klen: usize,
1770    );
1771}
1772unsafe extern "C" {
1773    pub fn rocksdb_writebatch_singledelete_cf_with_ts(
1774        b: *mut rocksdb_writebatch_t,
1775        column_family: *mut rocksdb_column_family_handle_t,
1776        key: *const libc::c_char,
1777        klen: usize,
1778        ts: *const libc::c_char,
1779        tslen: usize,
1780    );
1781}
1782unsafe extern "C" {
1783    pub fn rocksdb_writebatch_deletev(
1784        b: *mut rocksdb_writebatch_t,
1785        num_keys: libc::c_int,
1786        keys_list: *const *const libc::c_char,
1787        keys_list_sizes: *const usize,
1788    );
1789}
1790unsafe extern "C" {
1791    pub fn rocksdb_writebatch_deletev_cf(
1792        b: *mut rocksdb_writebatch_t,
1793        column_family: *mut rocksdb_column_family_handle_t,
1794        num_keys: libc::c_int,
1795        keys_list: *const *const libc::c_char,
1796        keys_list_sizes: *const usize,
1797    );
1798}
1799unsafe extern "C" {
1800    pub fn rocksdb_writebatch_delete_range(
1801        b: *mut rocksdb_writebatch_t,
1802        start_key: *const libc::c_char,
1803        start_key_len: usize,
1804        end_key: *const libc::c_char,
1805        end_key_len: usize,
1806    );
1807}
1808unsafe extern "C" {
1809    pub fn rocksdb_writebatch_delete_range_cf(
1810        b: *mut rocksdb_writebatch_t,
1811        column_family: *mut rocksdb_column_family_handle_t,
1812        start_key: *const libc::c_char,
1813        start_key_len: usize,
1814        end_key: *const libc::c_char,
1815        end_key_len: usize,
1816    );
1817}
1818unsafe extern "C" {
1819    pub fn rocksdb_writebatch_delete_rangev(
1820        b: *mut rocksdb_writebatch_t,
1821        num_keys: libc::c_int,
1822        start_keys_list: *const *const libc::c_char,
1823        start_keys_list_sizes: *const usize,
1824        end_keys_list: *const *const libc::c_char,
1825        end_keys_list_sizes: *const usize,
1826    );
1827}
1828unsafe extern "C" {
1829    pub fn rocksdb_writebatch_delete_rangev_cf(
1830        b: *mut rocksdb_writebatch_t,
1831        column_family: *mut rocksdb_column_family_handle_t,
1832        num_keys: libc::c_int,
1833        start_keys_list: *const *const libc::c_char,
1834        start_keys_list_sizes: *const usize,
1835        end_keys_list: *const *const libc::c_char,
1836        end_keys_list_sizes: *const usize,
1837    );
1838}
1839unsafe extern "C" {
1840    pub fn rocksdb_writebatch_put_log_data(
1841        arg1: *mut rocksdb_writebatch_t,
1842        blob: *const libc::c_char,
1843        len: usize,
1844    );
1845}
1846unsafe extern "C" {
1847    pub fn rocksdb_writebatch_iterate(
1848        arg1: *mut rocksdb_writebatch_t,
1849        state: *mut libc::c_void,
1850        put: ::std::option::Option<
1851            unsafe extern "C" fn(
1852                arg1: *mut libc::c_void,
1853                k: *const libc::c_char,
1854                klen: usize,
1855                v: *const libc::c_char,
1856                vlen: usize,
1857            ),
1858        >,
1859        deleted: ::std::option::Option<
1860            unsafe extern "C" fn(arg1: *mut libc::c_void, k: *const libc::c_char, klen: usize),
1861        >,
1862    );
1863}
1864unsafe extern "C" {
1865    pub fn rocksdb_writebatch_iterate_cf(
1866        arg1: *mut rocksdb_writebatch_t,
1867        state: *mut libc::c_void,
1868        put_cf: ::std::option::Option<
1869            unsafe extern "C" fn(
1870                arg1: *mut libc::c_void,
1871                cfid: u32,
1872                k: *const libc::c_char,
1873                klen: usize,
1874                v: *const libc::c_char,
1875                vlen: usize,
1876            ),
1877        >,
1878        deleted_cf: ::std::option::Option<
1879            unsafe extern "C" fn(
1880                arg1: *mut libc::c_void,
1881                cfid: u32,
1882                k: *const libc::c_char,
1883                klen: usize,
1884            ),
1885        >,
1886        merge_cf: ::std::option::Option<
1887            unsafe extern "C" fn(
1888                arg1: *mut libc::c_void,
1889                cfid: u32,
1890                k: *const libc::c_char,
1891                klen: usize,
1892                v: *const libc::c_char,
1893                vlen: usize,
1894            ),
1895        >,
1896    );
1897}
1898unsafe extern "C" {
1899    pub fn rocksdb_writebatch_data(
1900        arg1: *mut rocksdb_writebatch_t,
1901        size: *mut usize,
1902    ) -> *const libc::c_char;
1903}
1904unsafe extern "C" {
1905    pub fn rocksdb_writebatch_set_save_point(arg1: *mut rocksdb_writebatch_t);
1906}
1907unsafe extern "C" {
1908    pub fn rocksdb_writebatch_rollback_to_save_point(
1909        arg1: *mut rocksdb_writebatch_t,
1910        errptr: *mut *mut libc::c_char,
1911    );
1912}
1913unsafe extern "C" {
1914    pub fn rocksdb_writebatch_pop_save_point(
1915        arg1: *mut rocksdb_writebatch_t,
1916        errptr: *mut *mut libc::c_char,
1917    );
1918}
1919unsafe extern "C" {
1920    pub fn rocksdb_writebatch_update_timestamps(
1921        wb: *mut rocksdb_writebatch_t,
1922        ts: *const libc::c_char,
1923        tslen: usize,
1924        state: *mut libc::c_void,
1925        get_ts_size: ::std::option::Option<
1926            unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: u32) -> usize,
1927        >,
1928        errptr: *mut *mut libc::c_char,
1929    );
1930}
1931unsafe extern "C" {
1932    pub fn rocksdb_writebatch_wi_create(
1933        reserved_bytes: usize,
1934        overwrite_keys: libc::c_uchar,
1935    ) -> *mut rocksdb_writebatch_wi_t;
1936}
1937unsafe extern "C" {
1938    pub fn rocksdb_writebatch_wi_create_from(
1939        rep: *const libc::c_char,
1940        size: usize,
1941    ) -> *mut rocksdb_writebatch_wi_t;
1942}
1943unsafe extern "C" {
1944    pub fn rocksdb_writebatch_wi_create_with_params(
1945        backup_index_comparator: *mut rocksdb_comparator_t,
1946        reserved_bytes: usize,
1947        overwrite_key: libc::c_uchar,
1948        max_bytes: usize,
1949        protection_bytes_per_key: usize,
1950    ) -> *mut rocksdb_writebatch_wi_t;
1951}
1952unsafe extern "C" {
1953    pub fn rocksdb_writebatch_wi_destroy(arg1: *mut rocksdb_writebatch_wi_t);
1954}
1955unsafe extern "C" {
1956    pub fn rocksdb_writebatch_wi_clear(arg1: *mut rocksdb_writebatch_wi_t);
1957}
1958unsafe extern "C" {
1959    pub fn rocksdb_writebatch_wi_count(b: *mut rocksdb_writebatch_wi_t) -> libc::c_int;
1960}
1961unsafe extern "C" {
1962    pub fn rocksdb_writebatch_wi_put(
1963        arg1: *mut rocksdb_writebatch_wi_t,
1964        key: *const libc::c_char,
1965        klen: usize,
1966        val: *const libc::c_char,
1967        vlen: usize,
1968    );
1969}
1970unsafe extern "C" {
1971    pub fn rocksdb_writebatch_wi_put_cf(
1972        arg1: *mut rocksdb_writebatch_wi_t,
1973        column_family: *mut rocksdb_column_family_handle_t,
1974        key: *const libc::c_char,
1975        klen: usize,
1976        val: *const libc::c_char,
1977        vlen: usize,
1978    );
1979}
1980unsafe extern "C" {
1981    pub fn rocksdb_writebatch_wi_putv(
1982        b: *mut rocksdb_writebatch_wi_t,
1983        num_keys: libc::c_int,
1984        keys_list: *const *const libc::c_char,
1985        keys_list_sizes: *const usize,
1986        num_values: libc::c_int,
1987        values_list: *const *const libc::c_char,
1988        values_list_sizes: *const usize,
1989    );
1990}
1991unsafe extern "C" {
1992    pub fn rocksdb_writebatch_wi_putv_cf(
1993        b: *mut rocksdb_writebatch_wi_t,
1994        column_family: *mut rocksdb_column_family_handle_t,
1995        num_keys: libc::c_int,
1996        keys_list: *const *const libc::c_char,
1997        keys_list_sizes: *const usize,
1998        num_values: libc::c_int,
1999        values_list: *const *const libc::c_char,
2000        values_list_sizes: *const usize,
2001    );
2002}
2003unsafe extern "C" {
2004    pub fn rocksdb_writebatch_wi_merge(
2005        arg1: *mut rocksdb_writebatch_wi_t,
2006        key: *const libc::c_char,
2007        klen: usize,
2008        val: *const libc::c_char,
2009        vlen: usize,
2010    );
2011}
2012unsafe extern "C" {
2013    pub fn rocksdb_writebatch_wi_merge_cf(
2014        arg1: *mut rocksdb_writebatch_wi_t,
2015        column_family: *mut rocksdb_column_family_handle_t,
2016        key: *const libc::c_char,
2017        klen: usize,
2018        val: *const libc::c_char,
2019        vlen: usize,
2020    );
2021}
2022unsafe extern "C" {
2023    pub fn rocksdb_writebatch_wi_mergev(
2024        b: *mut rocksdb_writebatch_wi_t,
2025        num_keys: libc::c_int,
2026        keys_list: *const *const libc::c_char,
2027        keys_list_sizes: *const usize,
2028        num_values: libc::c_int,
2029        values_list: *const *const libc::c_char,
2030        values_list_sizes: *const usize,
2031    );
2032}
2033unsafe extern "C" {
2034    pub fn rocksdb_writebatch_wi_mergev_cf(
2035        b: *mut rocksdb_writebatch_wi_t,
2036        column_family: *mut rocksdb_column_family_handle_t,
2037        num_keys: libc::c_int,
2038        keys_list: *const *const libc::c_char,
2039        keys_list_sizes: *const usize,
2040        num_values: libc::c_int,
2041        values_list: *const *const libc::c_char,
2042        values_list_sizes: *const usize,
2043    );
2044}
2045unsafe extern "C" {
2046    pub fn rocksdb_writebatch_wi_delete(
2047        arg1: *mut rocksdb_writebatch_wi_t,
2048        key: *const libc::c_char,
2049        klen: usize,
2050    );
2051}
2052unsafe extern "C" {
2053    pub fn rocksdb_writebatch_wi_singledelete(
2054        arg1: *mut rocksdb_writebatch_wi_t,
2055        key: *const libc::c_char,
2056        klen: usize,
2057    );
2058}
2059unsafe extern "C" {
2060    pub fn rocksdb_writebatch_wi_delete_cf(
2061        arg1: *mut rocksdb_writebatch_wi_t,
2062        column_family: *mut rocksdb_column_family_handle_t,
2063        key: *const libc::c_char,
2064        klen: usize,
2065    );
2066}
2067unsafe extern "C" {
2068    pub fn rocksdb_writebatch_wi_singledelete_cf(
2069        arg1: *mut rocksdb_writebatch_wi_t,
2070        column_family: *mut rocksdb_column_family_handle_t,
2071        key: *const libc::c_char,
2072        klen: usize,
2073    );
2074}
2075unsafe extern "C" {
2076    pub fn rocksdb_writebatch_wi_deletev(
2077        b: *mut rocksdb_writebatch_wi_t,
2078        num_keys: libc::c_int,
2079        keys_list: *const *const libc::c_char,
2080        keys_list_sizes: *const usize,
2081    );
2082}
2083unsafe extern "C" {
2084    pub fn rocksdb_writebatch_wi_deletev_cf(
2085        b: *mut rocksdb_writebatch_wi_t,
2086        column_family: *mut rocksdb_column_family_handle_t,
2087        num_keys: libc::c_int,
2088        keys_list: *const *const libc::c_char,
2089        keys_list_sizes: *const usize,
2090    );
2091}
2092unsafe extern "C" {
2093    pub fn rocksdb_writebatch_wi_delete_range(
2094        b: *mut rocksdb_writebatch_wi_t,
2095        start_key: *const libc::c_char,
2096        start_key_len: usize,
2097        end_key: *const libc::c_char,
2098        end_key_len: usize,
2099    );
2100}
2101unsafe extern "C" {
2102    pub fn rocksdb_writebatch_wi_delete_range_cf(
2103        b: *mut rocksdb_writebatch_wi_t,
2104        column_family: *mut rocksdb_column_family_handle_t,
2105        start_key: *const libc::c_char,
2106        start_key_len: usize,
2107        end_key: *const libc::c_char,
2108        end_key_len: usize,
2109    );
2110}
2111unsafe extern "C" {
2112    pub fn rocksdb_writebatch_wi_delete_rangev(
2113        b: *mut rocksdb_writebatch_wi_t,
2114        num_keys: libc::c_int,
2115        start_keys_list: *const *const libc::c_char,
2116        start_keys_list_sizes: *const usize,
2117        end_keys_list: *const *const libc::c_char,
2118        end_keys_list_sizes: *const usize,
2119    );
2120}
2121unsafe extern "C" {
2122    pub fn rocksdb_writebatch_wi_delete_rangev_cf(
2123        b: *mut rocksdb_writebatch_wi_t,
2124        column_family: *mut rocksdb_column_family_handle_t,
2125        num_keys: libc::c_int,
2126        start_keys_list: *const *const libc::c_char,
2127        start_keys_list_sizes: *const usize,
2128        end_keys_list: *const *const libc::c_char,
2129        end_keys_list_sizes: *const usize,
2130    );
2131}
2132unsafe extern "C" {
2133    pub fn rocksdb_writebatch_wi_put_log_data(
2134        arg1: *mut rocksdb_writebatch_wi_t,
2135        blob: *const libc::c_char,
2136        len: usize,
2137    );
2138}
2139unsafe extern "C" {
2140    pub fn rocksdb_writebatch_wi_iterate(
2141        b: *mut rocksdb_writebatch_wi_t,
2142        state: *mut libc::c_void,
2143        put: ::std::option::Option<
2144            unsafe extern "C" fn(
2145                arg1: *mut libc::c_void,
2146                k: *const libc::c_char,
2147                klen: usize,
2148                v: *const libc::c_char,
2149                vlen: usize,
2150            ),
2151        >,
2152        deleted: ::std::option::Option<
2153            unsafe extern "C" fn(arg1: *mut libc::c_void, k: *const libc::c_char, klen: usize),
2154        >,
2155    );
2156}
2157unsafe extern "C" {
2158    pub fn rocksdb_writebatch_wi_data(
2159        b: *mut rocksdb_writebatch_wi_t,
2160        size: *mut usize,
2161    ) -> *const libc::c_char;
2162}
2163unsafe extern "C" {
2164    pub fn rocksdb_writebatch_wi_set_save_point(arg1: *mut rocksdb_writebatch_wi_t);
2165}
2166unsafe extern "C" {
2167    pub fn rocksdb_writebatch_wi_rollback_to_save_point(
2168        arg1: *mut rocksdb_writebatch_wi_t,
2169        errptr: *mut *mut libc::c_char,
2170    );
2171}
2172unsafe extern "C" {
2173    pub fn rocksdb_writebatch_wi_get_from_batch(
2174        wbwi: *mut rocksdb_writebatch_wi_t,
2175        options: *const rocksdb_options_t,
2176        key: *const libc::c_char,
2177        keylen: usize,
2178        vallen: *mut usize,
2179        errptr: *mut *mut libc::c_char,
2180    ) -> *mut libc::c_char;
2181}
2182unsafe extern "C" {
2183    pub fn rocksdb_writebatch_wi_get_from_batch_cf(
2184        wbwi: *mut rocksdb_writebatch_wi_t,
2185        options: *const rocksdb_options_t,
2186        column_family: *mut rocksdb_column_family_handle_t,
2187        key: *const libc::c_char,
2188        keylen: usize,
2189        vallen: *mut usize,
2190        errptr: *mut *mut libc::c_char,
2191    ) -> *mut libc::c_char;
2192}
2193unsafe extern "C" {
2194    pub fn rocksdb_writebatch_wi_get_from_batch_and_db(
2195        wbwi: *mut rocksdb_writebatch_wi_t,
2196        db: *mut rocksdb_t,
2197        options: *const rocksdb_readoptions_t,
2198        key: *const libc::c_char,
2199        keylen: usize,
2200        vallen: *mut usize,
2201        errptr: *mut *mut libc::c_char,
2202    ) -> *mut libc::c_char;
2203}
2204unsafe extern "C" {
2205    pub fn rocksdb_writebatch_wi_get_pinned_from_batch_and_db(
2206        wbwi: *mut rocksdb_writebatch_wi_t,
2207        db: *mut rocksdb_t,
2208        options: *const rocksdb_readoptions_t,
2209        key: *const libc::c_char,
2210        keylen: usize,
2211        errptr: *mut *mut libc::c_char,
2212    ) -> *mut rocksdb_pinnableslice_t;
2213}
2214unsafe extern "C" {
2215    pub fn rocksdb_writebatch_wi_get_from_batch_and_db_cf(
2216        wbwi: *mut rocksdb_writebatch_wi_t,
2217        db: *mut rocksdb_t,
2218        options: *const rocksdb_readoptions_t,
2219        column_family: *mut rocksdb_column_family_handle_t,
2220        key: *const libc::c_char,
2221        keylen: usize,
2222        vallen: *mut usize,
2223        errptr: *mut *mut libc::c_char,
2224    ) -> *mut libc::c_char;
2225}
2226unsafe extern "C" {
2227    pub fn rocksdb_writebatch_wi_get_pinned_from_batch_and_db_cf(
2228        wbwi: *mut rocksdb_writebatch_wi_t,
2229        db: *mut rocksdb_t,
2230        options: *const rocksdb_readoptions_t,
2231        column_family: *mut rocksdb_column_family_handle_t,
2232        key: *const libc::c_char,
2233        keylen: usize,
2234        errptr: *mut *mut libc::c_char,
2235    ) -> *mut rocksdb_pinnableslice_t;
2236}
2237unsafe extern "C" {
2238    pub fn rocksdb_write_writebatch_wi(
2239        db: *mut rocksdb_t,
2240        options: *const rocksdb_writeoptions_t,
2241        wbwi: *mut rocksdb_writebatch_wi_t,
2242        errptr: *mut *mut libc::c_char,
2243    );
2244}
2245unsafe extern "C" {
2246    pub fn rocksdb_writebatch_wi_create_iterator_with_base(
2247        wbwi: *mut rocksdb_writebatch_wi_t,
2248        base_iterator: *mut rocksdb_iterator_t,
2249    ) -> *mut rocksdb_iterator_t;
2250}
2251unsafe extern "C" {
2252    pub fn rocksdb_writebatch_wi_create_iterator_with_base_readopts(
2253        wbwi: *mut rocksdb_writebatch_wi_t,
2254        base_iterator: *mut rocksdb_iterator_t,
2255        options: *const rocksdb_readoptions_t,
2256    ) -> *mut rocksdb_iterator_t;
2257}
2258unsafe extern "C" {
2259    pub fn rocksdb_writebatch_wi_create_iterator_with_base_cf(
2260        wbwi: *mut rocksdb_writebatch_wi_t,
2261        base_iterator: *mut rocksdb_iterator_t,
2262        cf: *mut rocksdb_column_family_handle_t,
2263    ) -> *mut rocksdb_iterator_t;
2264}
2265unsafe extern "C" {
2266    pub fn rocksdb_writebatch_wi_create_iterator_with_base_cf_readopts(
2267        wbwi: *mut rocksdb_writebatch_wi_t,
2268        base_iterator: *mut rocksdb_iterator_t,
2269        cf: *mut rocksdb_column_family_handle_t,
2270        options: *const rocksdb_readoptions_t,
2271    ) -> *mut rocksdb_iterator_t;
2272}
2273unsafe extern "C" {
2274    pub fn rocksdb_writebatch_wi_update_timestamps(
2275        wbwi: *mut rocksdb_writebatch_wi_t,
2276        ts: *const libc::c_char,
2277        tslen: usize,
2278        state: *mut libc::c_void,
2279        get_ts_size: ::std::option::Option<
2280            unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: u32) -> usize,
2281        >,
2282        errptr: *mut *mut libc::c_char,
2283    );
2284}
2285unsafe extern "C" {
2286    pub fn rocksdb_load_latest_options(
2287        db_path: *const libc::c_char,
2288        env: *mut rocksdb_env_t,
2289        ignore_unknown_options: bool,
2290        cache: *mut rocksdb_cache_t,
2291        db_options: *mut *mut rocksdb_options_t,
2292        num_column_families: *mut usize,
2293        column_family_names: *mut *mut *mut libc::c_char,
2294        column_family_options: *mut *mut *mut rocksdb_options_t,
2295        errptr: *mut *mut libc::c_char,
2296    );
2297}
2298unsafe extern "C" {
2299    pub fn rocksdb_load_latest_options_destroy(
2300        db_options: *mut rocksdb_options_t,
2301        list_column_family_names: *mut *mut libc::c_char,
2302        list_column_family_options: *mut *mut rocksdb_options_t,
2303        len: usize,
2304    );
2305}
2306unsafe extern "C" {
2307    pub fn rocksdb_block_based_options_create() -> *mut rocksdb_block_based_table_options_t;
2308}
2309unsafe extern "C" {
2310    pub fn rocksdb_block_based_options_destroy(options: *mut rocksdb_block_based_table_options_t);
2311}
2312unsafe extern "C" {
2313    pub fn rocksdb_block_based_options_set_checksum(
2314        arg1: *mut rocksdb_block_based_table_options_t,
2315        arg2: libc::c_char,
2316    );
2317}
2318unsafe extern "C" {
2319    pub fn rocksdb_block_based_options_set_block_size(
2320        options: *mut rocksdb_block_based_table_options_t,
2321        block_size: usize,
2322    );
2323}
2324unsafe extern "C" {
2325    pub fn rocksdb_block_based_options_set_block_size_deviation(
2326        options: *mut rocksdb_block_based_table_options_t,
2327        block_size_deviation: libc::c_int,
2328    );
2329}
2330unsafe extern "C" {
2331    pub fn rocksdb_block_based_options_set_block_restart_interval(
2332        options: *mut rocksdb_block_based_table_options_t,
2333        block_restart_interval: libc::c_int,
2334    );
2335}
2336unsafe extern "C" {
2337    pub fn rocksdb_block_based_options_set_index_block_restart_interval(
2338        options: *mut rocksdb_block_based_table_options_t,
2339        index_block_restart_interval: libc::c_int,
2340    );
2341}
2342unsafe extern "C" {
2343    pub fn rocksdb_block_based_options_set_metadata_block_size(
2344        options: *mut rocksdb_block_based_table_options_t,
2345        metadata_block_size: u64,
2346    );
2347}
2348unsafe extern "C" {
2349    pub fn rocksdb_block_based_options_set_partition_filters(
2350        options: *mut rocksdb_block_based_table_options_t,
2351        partition_filters: libc::c_uchar,
2352    );
2353}
2354unsafe extern "C" {
2355    pub fn rocksdb_block_based_options_set_optimize_filters_for_memory(
2356        options: *mut rocksdb_block_based_table_options_t,
2357        optimize_filters_for_memory: libc::c_uchar,
2358    );
2359}
2360unsafe extern "C" {
2361    pub fn rocksdb_block_based_options_set_use_delta_encoding(
2362        options: *mut rocksdb_block_based_table_options_t,
2363        use_delta_encoding: libc::c_uchar,
2364    );
2365}
2366unsafe extern "C" {
2367    pub fn rocksdb_block_based_options_set_filter_policy(
2368        options: *mut rocksdb_block_based_table_options_t,
2369        filter_policy: *mut rocksdb_filterpolicy_t,
2370    );
2371}
2372unsafe extern "C" {
2373    pub fn rocksdb_block_based_options_set_no_block_cache(
2374        options: *mut rocksdb_block_based_table_options_t,
2375        no_block_cache: libc::c_uchar,
2376    );
2377}
2378unsafe extern "C" {
2379    pub fn rocksdb_block_based_options_set_block_cache(
2380        options: *mut rocksdb_block_based_table_options_t,
2381        block_cache: *mut rocksdb_cache_t,
2382    );
2383}
2384unsafe extern "C" {
2385    pub fn rocksdb_block_based_options_set_whole_key_filtering(
2386        arg1: *mut rocksdb_block_based_table_options_t,
2387        arg2: libc::c_uchar,
2388    );
2389}
2390unsafe extern "C" {
2391    pub fn rocksdb_block_based_options_set_format_version(
2392        arg1: *mut rocksdb_block_based_table_options_t,
2393        arg2: libc::c_int,
2394    );
2395}
2396pub const rocksdb_block_based_table_index_type_binary_search: _bindgen_ty_2 = 0;
2397pub const rocksdb_block_based_table_index_type_hash_search: _bindgen_ty_2 = 1;
2398pub const rocksdb_block_based_table_index_type_two_level_index_search: _bindgen_ty_2 = 2;
2399pub type _bindgen_ty_2 = libc::c_uint;
2400unsafe extern "C" {
2401    pub fn rocksdb_block_based_options_set_index_type(
2402        arg1: *mut rocksdb_block_based_table_options_t,
2403        arg2: libc::c_int,
2404    );
2405}
2406pub const rocksdb_block_based_table_data_block_index_type_binary_search: _bindgen_ty_3 = 0;
2407pub const rocksdb_block_based_table_data_block_index_type_binary_search_and_hash: _bindgen_ty_3 = 1;
2408pub type _bindgen_ty_3 = libc::c_uint;
2409unsafe extern "C" {
2410    pub fn rocksdb_block_based_options_set_data_block_index_type(
2411        arg1: *mut rocksdb_block_based_table_options_t,
2412        arg2: libc::c_int,
2413    );
2414}
2415unsafe extern "C" {
2416    pub fn rocksdb_block_based_options_set_data_block_hash_ratio(
2417        options: *mut rocksdb_block_based_table_options_t,
2418        v: f64,
2419    );
2420}
2421unsafe extern "C" {
2422    pub fn rocksdb_block_based_options_set_cache_index_and_filter_blocks(
2423        arg1: *mut rocksdb_block_based_table_options_t,
2424        arg2: libc::c_uchar,
2425    );
2426}
2427unsafe extern "C" {
2428    pub fn rocksdb_block_based_options_set_cache_index_and_filter_blocks_with_high_priority(
2429        arg1: *mut rocksdb_block_based_table_options_t,
2430        arg2: libc::c_uchar,
2431    );
2432}
2433unsafe extern "C" {
2434    pub fn rocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache(
2435        arg1: *mut rocksdb_block_based_table_options_t,
2436        arg2: libc::c_uchar,
2437    );
2438}
2439unsafe extern "C" {
2440    pub fn rocksdb_block_based_options_set_pin_top_level_index_and_filter(
2441        arg1: *mut rocksdb_block_based_table_options_t,
2442        arg2: libc::c_uchar,
2443    );
2444}
2445unsafe extern "C" {
2446    pub fn rocksdb_options_set_block_based_table_factory(
2447        opt: *mut rocksdb_options_t,
2448        table_options: *mut rocksdb_block_based_table_options_t,
2449    );
2450}
2451pub const rocksdb_block_based_k_fallback_pinning_tier: _bindgen_ty_4 = 0;
2452pub const rocksdb_block_based_k_none_pinning_tier: _bindgen_ty_4 = 1;
2453pub const rocksdb_block_based_k_flush_and_similar_pinning_tier: _bindgen_ty_4 = 2;
2454pub const rocksdb_block_based_k_all_pinning_tier: _bindgen_ty_4 = 3;
2455pub type _bindgen_ty_4 = libc::c_uint;
2456unsafe extern "C" {
2457    pub fn rocksdb_block_based_options_set_top_level_index_pinning_tier(
2458        arg1: *mut rocksdb_block_based_table_options_t,
2459        arg2: libc::c_int,
2460    );
2461}
2462unsafe extern "C" {
2463    pub fn rocksdb_block_based_options_set_partition_pinning_tier(
2464        arg1: *mut rocksdb_block_based_table_options_t,
2465        arg2: libc::c_int,
2466    );
2467}
2468unsafe extern "C" {
2469    pub fn rocksdb_block_based_options_set_unpartitioned_pinning_tier(
2470        arg1: *mut rocksdb_block_based_table_options_t,
2471        arg2: libc::c_int,
2472    );
2473}
2474unsafe extern "C" {
2475    pub fn rocksdb_options_set_write_buffer_manager(
2476        opt: *mut rocksdb_options_t,
2477        wbm: *mut rocksdb_write_buffer_manager_t,
2478    );
2479}
2480unsafe extern "C" {
2481    pub fn rocksdb_flushjobinfo_cf_name(
2482        arg1: *const rocksdb_flushjobinfo_t,
2483        arg2: *mut usize,
2484    ) -> *const libc::c_char;
2485}
2486unsafe extern "C" {
2487    pub fn rocksdb_flushjobinfo_file_path(
2488        arg1: *const rocksdb_flushjobinfo_t,
2489        arg2: *mut usize,
2490    ) -> *const libc::c_char;
2491}
2492unsafe extern "C" {
2493    pub fn rocksdb_flushjobinfo_triggered_writes_slowdown(
2494        arg1: *const rocksdb_flushjobinfo_t,
2495    ) -> libc::c_uchar;
2496}
2497unsafe extern "C" {
2498    pub fn rocksdb_flushjobinfo_triggered_writes_stop(
2499        arg1: *const rocksdb_flushjobinfo_t,
2500    ) -> libc::c_uchar;
2501}
2502unsafe extern "C" {
2503    pub fn rocksdb_flushjobinfo_largest_seqno(arg1: *const rocksdb_flushjobinfo_t) -> u64;
2504}
2505unsafe extern "C" {
2506    pub fn rocksdb_flushjobinfo_smallest_seqno(arg1: *const rocksdb_flushjobinfo_t) -> u64;
2507}
2508unsafe extern "C" {
2509    pub fn rocksdb_reset_status(status_ptr: *mut rocksdb_status_ptr_t);
2510}
2511unsafe extern "C" {
2512    pub fn rocksdb_compactionjobinfo_status(
2513        info: *const rocksdb_compactionjobinfo_t,
2514        errptr: *mut *mut libc::c_char,
2515    );
2516}
2517unsafe extern "C" {
2518    pub fn rocksdb_compactionjobinfo_cf_name(
2519        arg1: *const rocksdb_compactionjobinfo_t,
2520        arg2: *mut usize,
2521    ) -> *const libc::c_char;
2522}
2523unsafe extern "C" {
2524    pub fn rocksdb_compactionjobinfo_input_files_count(
2525        arg1: *const rocksdb_compactionjobinfo_t,
2526    ) -> usize;
2527}
2528unsafe extern "C" {
2529    pub fn rocksdb_compactionjobinfo_input_file_at(
2530        arg1: *const rocksdb_compactionjobinfo_t,
2531        pos: usize,
2532        arg2: *mut usize,
2533    ) -> *const libc::c_char;
2534}
2535unsafe extern "C" {
2536    pub fn rocksdb_compactionjobinfo_output_files_count(
2537        arg1: *const rocksdb_compactionjobinfo_t,
2538    ) -> usize;
2539}
2540unsafe extern "C" {
2541    pub fn rocksdb_compactionjobinfo_output_file_at(
2542        arg1: *const rocksdb_compactionjobinfo_t,
2543        pos: usize,
2544        arg2: *mut usize,
2545    ) -> *const libc::c_char;
2546}
2547unsafe extern "C" {
2548    pub fn rocksdb_compactionjobinfo_elapsed_micros(
2549        arg1: *const rocksdb_compactionjobinfo_t,
2550    ) -> u64;
2551}
2552unsafe extern "C" {
2553    pub fn rocksdb_compactionjobinfo_num_corrupt_keys(
2554        arg1: *const rocksdb_compactionjobinfo_t,
2555    ) -> u64;
2556}
2557unsafe extern "C" {
2558    pub fn rocksdb_compactionjobinfo_base_input_level(
2559        arg1: *const rocksdb_compactionjobinfo_t,
2560    ) -> libc::c_int;
2561}
2562unsafe extern "C" {
2563    pub fn rocksdb_compactionjobinfo_output_level(
2564        arg1: *const rocksdb_compactionjobinfo_t,
2565    ) -> libc::c_int;
2566}
2567unsafe extern "C" {
2568    pub fn rocksdb_compactionjobinfo_input_records(arg1: *const rocksdb_compactionjobinfo_t)
2569    -> u64;
2570}
2571unsafe extern "C" {
2572    pub fn rocksdb_compactionjobinfo_output_records(
2573        arg1: *const rocksdb_compactionjobinfo_t,
2574    ) -> u64;
2575}
2576unsafe extern "C" {
2577    pub fn rocksdb_compactionjobinfo_total_input_bytes(
2578        arg1: *const rocksdb_compactionjobinfo_t,
2579    ) -> u64;
2580}
2581unsafe extern "C" {
2582    pub fn rocksdb_compactionjobinfo_total_output_bytes(
2583        arg1: *const rocksdb_compactionjobinfo_t,
2584    ) -> u64;
2585}
2586unsafe extern "C" {
2587    pub fn rocksdb_compactionjobinfo_compaction_reason(
2588        info: *const rocksdb_compactionjobinfo_t,
2589    ) -> u32;
2590}
2591unsafe extern "C" {
2592    pub fn rocksdb_compactionjobinfo_num_input_files(
2593        info: *const rocksdb_compactionjobinfo_t,
2594    ) -> usize;
2595}
2596unsafe extern "C" {
2597    pub fn rocksdb_compactionjobinfo_num_input_files_at_output_level(
2598        info: *const rocksdb_compactionjobinfo_t,
2599    ) -> usize;
2600}
2601unsafe extern "C" {
2602    pub fn rocksdb_subcompactionjobinfo_status(
2603        arg1: *const rocksdb_subcompactionjobinfo_t,
2604        arg2: *mut *mut libc::c_char,
2605    );
2606}
2607unsafe extern "C" {
2608    pub fn rocksdb_subcompactionjobinfo_cf_name(
2609        arg1: *const rocksdb_subcompactionjobinfo_t,
2610        arg2: *mut usize,
2611    ) -> *const libc::c_char;
2612}
2613unsafe extern "C" {
2614    pub fn rocksdb_subcompactionjobinfo_thread_id(
2615        arg1: *const rocksdb_subcompactionjobinfo_t,
2616    ) -> u64;
2617}
2618unsafe extern "C" {
2619    pub fn rocksdb_subcompactionjobinfo_base_input_level(
2620        arg1: *const rocksdb_subcompactionjobinfo_t,
2621    ) -> libc::c_int;
2622}
2623unsafe extern "C" {
2624    pub fn rocksdb_subcompactionjobinfo_output_level(
2625        arg1: *const rocksdb_subcompactionjobinfo_t,
2626    ) -> libc::c_int;
2627}
2628unsafe extern "C" {
2629    pub fn rocksdb_externalfileingestioninfo_cf_name(
2630        arg1: *const rocksdb_externalfileingestioninfo_t,
2631        arg2: *mut usize,
2632    ) -> *const libc::c_char;
2633}
2634unsafe extern "C" {
2635    pub fn rocksdb_externalfileingestioninfo_internal_file_path(
2636        arg1: *const rocksdb_externalfileingestioninfo_t,
2637        arg2: *mut usize,
2638    ) -> *const libc::c_char;
2639}
2640unsafe extern "C" {
2641    pub fn rocksdb_writestallinfo_cf_name(
2642        arg1: *const rocksdb_writestallinfo_t,
2643        arg2: *mut usize,
2644    ) -> *const libc::c_char;
2645}
2646unsafe extern "C" {
2647    pub fn rocksdb_writestallinfo_cur(
2648        arg1: *const rocksdb_writestallinfo_t,
2649    ) -> *const rocksdb_writestallcondition_t;
2650}
2651unsafe extern "C" {
2652    pub fn rocksdb_writestallinfo_prev(
2653        arg1: *const rocksdb_writestallinfo_t,
2654    ) -> *const rocksdb_writestallcondition_t;
2655}
2656unsafe extern "C" {
2657    pub fn rocksdb_memtableinfo_cf_name(
2658        arg1: *const rocksdb_memtableinfo_t,
2659        arg2: *mut usize,
2660    ) -> *const libc::c_char;
2661}
2662unsafe extern "C" {
2663    pub fn rocksdb_memtableinfo_first_seqno(arg1: *const rocksdb_memtableinfo_t) -> u64;
2664}
2665unsafe extern "C" {
2666    pub fn rocksdb_memtableinfo_earliest_seqno(arg1: *const rocksdb_memtableinfo_t) -> u64;
2667}
2668unsafe extern "C" {
2669    pub fn rocksdb_memtableinfo_num_entries(arg1: *const rocksdb_memtableinfo_t) -> u64;
2670}
2671unsafe extern "C" {
2672    pub fn rocksdb_memtableinfo_num_deletes(arg1: *const rocksdb_memtableinfo_t) -> u64;
2673}
2674pub type on_flush_begin_cb = ::std::option::Option<
2675    unsafe extern "C" fn(
2676        arg1: *mut libc::c_void,
2677        arg2: *mut rocksdb_t,
2678        arg3: *const rocksdb_flushjobinfo_t,
2679    ),
2680>;
2681pub type on_flush_completed_cb = ::std::option::Option<
2682    unsafe extern "C" fn(
2683        arg1: *mut libc::c_void,
2684        arg2: *mut rocksdb_t,
2685        arg3: *const rocksdb_flushjobinfo_t,
2686    ),
2687>;
2688pub type on_compaction_begin_cb = ::std::option::Option<
2689    unsafe extern "C" fn(
2690        arg1: *mut libc::c_void,
2691        arg2: *mut rocksdb_t,
2692        arg3: *const rocksdb_compactionjobinfo_t,
2693    ),
2694>;
2695pub type on_compaction_completed_cb = ::std::option::Option<
2696    unsafe extern "C" fn(
2697        arg1: *mut libc::c_void,
2698        arg2: *mut rocksdb_t,
2699        arg3: *const rocksdb_compactionjobinfo_t,
2700    ),
2701>;
2702pub type on_subcompaction_begin_cb = ::std::option::Option<
2703    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const rocksdb_subcompactionjobinfo_t),
2704>;
2705pub type on_subcompaction_completed_cb = ::std::option::Option<
2706    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const rocksdb_subcompactionjobinfo_t),
2707>;
2708pub type on_external_file_ingested_cb = ::std::option::Option<
2709    unsafe extern "C" fn(
2710        arg1: *mut libc::c_void,
2711        arg2: *mut rocksdb_t,
2712        arg3: *const rocksdb_externalfileingestioninfo_t,
2713    ),
2714>;
2715pub type on_background_error_cb = ::std::option::Option<
2716    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: u32, arg3: *mut rocksdb_status_ptr_t),
2717>;
2718pub type on_stall_conditions_changed_cb = ::std::option::Option<
2719    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const rocksdb_writestallinfo_t),
2720>;
2721pub type rocksdb_logger_logv_cb = ::std::option::Option<
2722    unsafe extern "C" fn(arg1: *mut libc::c_void, log_level: u32, arg2: *const libc::c_char),
2723>;
2724pub type on_memtable_sealed_cb = ::std::option::Option<
2725    unsafe extern "C" fn(arg1: *mut libc::c_void, arg2: *const rocksdb_memtableinfo_t),
2726>;
2727unsafe extern "C" {
2728    pub fn rocksdb_eventlistener_create(
2729        state_: *mut libc::c_void,
2730        destructor_: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
2731        on_flush_begin: on_flush_begin_cb,
2732        on_flush_completed: on_flush_completed_cb,
2733        on_compaction_begin: on_compaction_begin_cb,
2734        on_compaction_completed: on_compaction_completed_cb,
2735        on_subcompaction_begin: on_subcompaction_begin_cb,
2736        on_subcompaction_completed: on_subcompaction_completed_cb,
2737        on_external_file_ingested: on_external_file_ingested_cb,
2738        on_background_error: on_background_error_cb,
2739        on_stall_conditions_changed: on_stall_conditions_changed_cb,
2740        on_memtable_sealed: on_memtable_sealed_cb,
2741    ) -> *mut rocksdb_eventlistener_t;
2742}
2743unsafe extern "C" {
2744    pub fn rocksdb_eventlistener_destroy(arg1: *mut rocksdb_eventlistener_t);
2745}
2746unsafe extern "C" {
2747    pub fn rocksdb_options_add_eventlistener(
2748        arg1: *mut rocksdb_options_t,
2749        arg2: *mut rocksdb_eventlistener_t,
2750    );
2751}
2752unsafe extern "C" {
2753    pub fn rocksdb_cuckoo_options_create() -> *mut rocksdb_cuckoo_table_options_t;
2754}
2755unsafe extern "C" {
2756    pub fn rocksdb_cuckoo_options_destroy(options: *mut rocksdb_cuckoo_table_options_t);
2757}
2758unsafe extern "C" {
2759    pub fn rocksdb_cuckoo_options_set_hash_ratio(
2760        options: *mut rocksdb_cuckoo_table_options_t,
2761        v: f64,
2762    );
2763}
2764unsafe extern "C" {
2765    pub fn rocksdb_cuckoo_options_set_max_search_depth(
2766        options: *mut rocksdb_cuckoo_table_options_t,
2767        v: u32,
2768    );
2769}
2770unsafe extern "C" {
2771    pub fn rocksdb_cuckoo_options_set_cuckoo_block_size(
2772        options: *mut rocksdb_cuckoo_table_options_t,
2773        v: u32,
2774    );
2775}
2776unsafe extern "C" {
2777    pub fn rocksdb_cuckoo_options_set_identity_as_first_hash(
2778        options: *mut rocksdb_cuckoo_table_options_t,
2779        v: libc::c_uchar,
2780    );
2781}
2782unsafe extern "C" {
2783    pub fn rocksdb_cuckoo_options_set_use_module_hash(
2784        options: *mut rocksdb_cuckoo_table_options_t,
2785        v: libc::c_uchar,
2786    );
2787}
2788unsafe extern "C" {
2789    pub fn rocksdb_options_set_cuckoo_table_factory(
2790        opt: *mut rocksdb_options_t,
2791        table_options: *mut rocksdb_cuckoo_table_options_t,
2792    );
2793}
2794unsafe extern "C" {
2795    pub fn rocksdb_set_options(
2796        db: *mut rocksdb_t,
2797        count: libc::c_int,
2798        keys: *const *const libc::c_char,
2799        values: *const *const libc::c_char,
2800        errptr: *mut *mut libc::c_char,
2801    );
2802}
2803unsafe extern "C" {
2804    pub fn rocksdb_set_options_cf(
2805        db: *mut rocksdb_t,
2806        handle: *mut rocksdb_column_family_handle_t,
2807        count: libc::c_int,
2808        keys: *const *const libc::c_char,
2809        values: *const *const libc::c_char,
2810        errptr: *mut *mut libc::c_char,
2811    );
2812}
2813unsafe extern "C" {
2814    pub fn rocksdb_options_create() -> *mut rocksdb_options_t;
2815}
2816unsafe extern "C" {
2817    pub fn rocksdb_options_destroy(arg1: *mut rocksdb_options_t);
2818}
2819unsafe extern "C" {
2820    pub fn rocksdb_options_create_copy(arg1: *mut rocksdb_options_t) -> *mut rocksdb_options_t;
2821}
2822unsafe extern "C" {
2823    pub fn rocksdb_options_increase_parallelism(
2824        opt: *mut rocksdb_options_t,
2825        total_threads: libc::c_int,
2826    );
2827}
2828unsafe extern "C" {
2829    pub fn rocksdb_options_optimize_for_point_lookup(
2830        opt: *mut rocksdb_options_t,
2831        block_cache_size_mb: u64,
2832    );
2833}
2834unsafe extern "C" {
2835    pub fn rocksdb_options_optimize_level_style_compaction(
2836        opt: *mut rocksdb_options_t,
2837        memtable_memory_budget: u64,
2838    );
2839}
2840unsafe extern "C" {
2841    pub fn rocksdb_options_optimize_universal_style_compaction(
2842        opt: *mut rocksdb_options_t,
2843        memtable_memory_budget: u64,
2844    );
2845}
2846unsafe extern "C" {
2847    pub fn rocksdb_options_set_allow_ingest_behind(
2848        arg1: *mut rocksdb_options_t,
2849        arg2: libc::c_uchar,
2850    );
2851}
2852unsafe extern "C" {
2853    pub fn rocksdb_options_get_allow_ingest_behind(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
2854}
2855unsafe extern "C" {
2856    pub fn rocksdb_options_set_compaction_filter(
2857        arg1: *mut rocksdb_options_t,
2858        arg2: *mut rocksdb_compactionfilter_t,
2859    );
2860}
2861unsafe extern "C" {
2862    pub fn rocksdb_options_set_compaction_filter_factory(
2863        arg1: *mut rocksdb_options_t,
2864        arg2: *mut rocksdb_compactionfilterfactory_t,
2865    );
2866}
2867unsafe extern "C" {
2868    pub fn rocksdb_options_compaction_readahead_size(arg1: *mut rocksdb_options_t, arg2: usize);
2869}
2870unsafe extern "C" {
2871    pub fn rocksdb_options_get_compaction_readahead_size(arg1: *mut rocksdb_options_t) -> usize;
2872}
2873unsafe extern "C" {
2874    pub fn rocksdb_options_set_comparator(
2875        arg1: *mut rocksdb_options_t,
2876        arg2: *mut rocksdb_comparator_t,
2877    );
2878}
2879unsafe extern "C" {
2880    pub fn rocksdb_options_set_merge_operator(
2881        arg1: *mut rocksdb_options_t,
2882        arg2: *mut rocksdb_mergeoperator_t,
2883    );
2884}
2885unsafe extern "C" {
2886    pub fn rocksdb_options_set_uint64add_merge_operator(arg1: *mut rocksdb_options_t);
2887}
2888unsafe extern "C" {
2889    pub fn rocksdb_options_set_compression_per_level(
2890        opt: *mut rocksdb_options_t,
2891        level_values: *const libc::c_int,
2892        num_levels: usize,
2893    );
2894}
2895unsafe extern "C" {
2896    pub fn rocksdb_options_set_create_if_missing(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
2897}
2898unsafe extern "C" {
2899    pub fn rocksdb_options_get_create_if_missing(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
2900}
2901unsafe extern "C" {
2902    pub fn rocksdb_options_set_create_missing_column_families(
2903        arg1: *mut rocksdb_options_t,
2904        arg2: libc::c_uchar,
2905    );
2906}
2907unsafe extern "C" {
2908    pub fn rocksdb_options_get_create_missing_column_families(
2909        arg1: *mut rocksdb_options_t,
2910    ) -> libc::c_uchar;
2911}
2912unsafe extern "C" {
2913    pub fn rocksdb_options_set_error_if_exists(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
2914}
2915unsafe extern "C" {
2916    pub fn rocksdb_options_get_error_if_exists(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
2917}
2918unsafe extern "C" {
2919    pub fn rocksdb_options_set_paranoid_checks(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
2920}
2921unsafe extern "C" {
2922    pub fn rocksdb_options_get_paranoid_checks(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
2923}
2924unsafe extern "C" {
2925    pub fn rocksdb_options_set_db_paths(
2926        arg1: *mut rocksdb_options_t,
2927        path_values: *mut *const rocksdb_dbpath_t,
2928        num_paths: usize,
2929    );
2930}
2931unsafe extern "C" {
2932    pub fn rocksdb_options_set_cf_paths(
2933        arg1: *mut rocksdb_options_t,
2934        path_values: *mut *const rocksdb_dbpath_t,
2935        num_paths: usize,
2936    );
2937}
2938unsafe extern "C" {
2939    pub fn rocksdb_options_set_env(arg1: *mut rocksdb_options_t, arg2: *mut rocksdb_env_t);
2940}
2941unsafe extern "C" {
2942    pub fn rocksdb_options_set_info_log(arg1: *mut rocksdb_options_t, arg2: *mut rocksdb_logger_t);
2943}
2944unsafe extern "C" {
2945    pub fn rocksdb_options_get_info_log(opt: *mut rocksdb_options_t) -> *mut rocksdb_logger_t;
2946}
2947unsafe extern "C" {
2948    pub fn rocksdb_options_set_info_log_level(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
2949}
2950unsafe extern "C" {
2951    pub fn rocksdb_options_get_info_log_level(arg1: *mut rocksdb_options_t) -> libc::c_int;
2952}
2953unsafe extern "C" {
2954    pub fn rocksdb_logger_create_stderr_logger(
2955        log_level: libc::c_int,
2956        prefix: *const libc::c_char,
2957    ) -> *mut rocksdb_logger_t;
2958}
2959unsafe extern "C" {
2960    pub fn rocksdb_logger_create_callback_logger(
2961        log_level: libc::c_int,
2962        arg1: ::std::option::Option<
2963            unsafe extern "C" fn(
2964                priv_: *mut libc::c_void,
2965                lev: libc::c_uint,
2966                msg: *mut libc::c_char,
2967                len: usize,
2968            ),
2969        >,
2970        priv_: *mut libc::c_void,
2971    ) -> *mut rocksdb_logger_t;
2972}
2973unsafe extern "C" {
2974    pub fn rocksdb_logger_destroy(logger: *mut rocksdb_logger_t);
2975}
2976unsafe extern "C" {
2977    pub fn rocksdb_options_set_write_buffer_size(arg1: *mut rocksdb_options_t, arg2: usize);
2978}
2979unsafe extern "C" {
2980    pub fn rocksdb_options_get_write_buffer_size(arg1: *mut rocksdb_options_t) -> usize;
2981}
2982unsafe extern "C" {
2983    pub fn rocksdb_options_set_db_write_buffer_size(arg1: *mut rocksdb_options_t, arg2: usize);
2984}
2985unsafe extern "C" {
2986    pub fn rocksdb_options_get_db_write_buffer_size(arg1: *mut rocksdb_options_t) -> usize;
2987}
2988unsafe extern "C" {
2989    pub fn rocksdb_options_set_max_open_files(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
2990}
2991unsafe extern "C" {
2992    pub fn rocksdb_options_get_max_open_files(arg1: *mut rocksdb_options_t) -> libc::c_int;
2993}
2994unsafe extern "C" {
2995    pub fn rocksdb_options_set_max_file_opening_threads(
2996        arg1: *mut rocksdb_options_t,
2997        arg2: libc::c_int,
2998    );
2999}
3000unsafe extern "C" {
3001    pub fn rocksdb_options_get_max_file_opening_threads(
3002        arg1: *mut rocksdb_options_t,
3003    ) -> libc::c_int;
3004}
3005unsafe extern "C" {
3006    pub fn rocksdb_options_set_max_total_wal_size(opt: *mut rocksdb_options_t, n: u64);
3007}
3008unsafe extern "C" {
3009    pub fn rocksdb_options_get_max_total_wal_size(opt: *mut rocksdb_options_t) -> u64;
3010}
3011unsafe extern "C" {
3012    pub fn rocksdb_options_set_compression_options(
3013        arg1: *mut rocksdb_options_t,
3014        arg2: libc::c_int,
3015        arg3: libc::c_int,
3016        arg4: libc::c_int,
3017        arg5: libc::c_int,
3018    );
3019}
3020unsafe extern "C" {
3021    pub fn rocksdb_options_set_compression_options_zstd_max_train_bytes(
3022        arg1: *mut rocksdb_options_t,
3023        arg2: libc::c_int,
3024    );
3025}
3026unsafe extern "C" {
3027    pub fn rocksdb_options_get_compression_options_zstd_max_train_bytes(
3028        opt: *mut rocksdb_options_t,
3029    ) -> libc::c_int;
3030}
3031unsafe extern "C" {
3032    pub fn rocksdb_options_set_compression_options_use_zstd_dict_trainer(
3033        arg1: *mut rocksdb_options_t,
3034        arg2: libc::c_uchar,
3035    );
3036}
3037unsafe extern "C" {
3038    pub fn rocksdb_options_get_compression_options_use_zstd_dict_trainer(
3039        opt: *mut rocksdb_options_t,
3040    ) -> libc::c_uchar;
3041}
3042unsafe extern "C" {
3043    pub fn rocksdb_options_set_compression_options_parallel_threads(
3044        arg1: *mut rocksdb_options_t,
3045        arg2: libc::c_int,
3046    );
3047}
3048unsafe extern "C" {
3049    pub fn rocksdb_options_get_compression_options_parallel_threads(
3050        opt: *mut rocksdb_options_t,
3051    ) -> libc::c_int;
3052}
3053unsafe extern "C" {
3054    pub fn rocksdb_options_set_compression_options_max_dict_buffer_bytes(
3055        arg1: *mut rocksdb_options_t,
3056        arg2: u64,
3057    );
3058}
3059unsafe extern "C" {
3060    pub fn rocksdb_options_get_compression_options_max_dict_buffer_bytes(
3061        opt: *mut rocksdb_options_t,
3062    ) -> u64;
3063}
3064unsafe extern "C" {
3065    pub fn rocksdb_options_set_bottommost_compression_options(
3066        arg1: *mut rocksdb_options_t,
3067        arg2: libc::c_int,
3068        arg3: libc::c_int,
3069        arg4: libc::c_int,
3070        arg5: libc::c_int,
3071        arg6: libc::c_uchar,
3072    );
3073}
3074unsafe extern "C" {
3075    pub fn rocksdb_options_set_bottommost_compression_options_zstd_max_train_bytes(
3076        arg1: *mut rocksdb_options_t,
3077        arg2: libc::c_int,
3078        arg3: libc::c_uchar,
3079    );
3080}
3081unsafe extern "C" {
3082    pub fn rocksdb_options_set_bottommost_compression_options_use_zstd_dict_trainer(
3083        arg1: *mut rocksdb_options_t,
3084        arg2: libc::c_uchar,
3085        arg3: libc::c_uchar,
3086    );
3087}
3088unsafe extern "C" {
3089    pub fn rocksdb_options_get_bottommost_compression_options_use_zstd_dict_trainer(
3090        opt: *mut rocksdb_options_t,
3091    ) -> libc::c_uchar;
3092}
3093unsafe extern "C" {
3094    pub fn rocksdb_options_set_bottommost_compression_options_max_dict_buffer_bytes(
3095        arg1: *mut rocksdb_options_t,
3096        arg2: u64,
3097        arg3: libc::c_uchar,
3098    );
3099}
3100unsafe extern "C" {
3101    pub fn rocksdb_options_set_prefix_extractor(
3102        arg1: *mut rocksdb_options_t,
3103        arg2: *mut rocksdb_slicetransform_t,
3104    );
3105}
3106unsafe extern "C" {
3107    pub fn rocksdb_options_set_num_levels(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3108}
3109unsafe extern "C" {
3110    pub fn rocksdb_options_get_num_levels(arg1: *mut rocksdb_options_t) -> libc::c_int;
3111}
3112unsafe extern "C" {
3113    pub fn rocksdb_options_set_level0_file_num_compaction_trigger(
3114        arg1: *mut rocksdb_options_t,
3115        arg2: libc::c_int,
3116    );
3117}
3118unsafe extern "C" {
3119    pub fn rocksdb_options_get_level0_file_num_compaction_trigger(
3120        arg1: *mut rocksdb_options_t,
3121    ) -> libc::c_int;
3122}
3123unsafe extern "C" {
3124    pub fn rocksdb_options_set_level0_slowdown_writes_trigger(
3125        arg1: *mut rocksdb_options_t,
3126        arg2: libc::c_int,
3127    );
3128}
3129unsafe extern "C" {
3130    pub fn rocksdb_options_get_level0_slowdown_writes_trigger(
3131        arg1: *mut rocksdb_options_t,
3132    ) -> libc::c_int;
3133}
3134unsafe extern "C" {
3135    pub fn rocksdb_options_set_level0_stop_writes_trigger(
3136        arg1: *mut rocksdb_options_t,
3137        arg2: libc::c_int,
3138    );
3139}
3140unsafe extern "C" {
3141    pub fn rocksdb_options_get_level0_stop_writes_trigger(
3142        arg1: *mut rocksdb_options_t,
3143    ) -> libc::c_int;
3144}
3145unsafe extern "C" {
3146    pub fn rocksdb_options_set_target_file_size_base(arg1: *mut rocksdb_options_t, arg2: u64);
3147}
3148unsafe extern "C" {
3149    pub fn rocksdb_options_get_target_file_size_base(arg1: *mut rocksdb_options_t) -> u64;
3150}
3151unsafe extern "C" {
3152    pub fn rocksdb_options_set_target_file_size_multiplier(
3153        arg1: *mut rocksdb_options_t,
3154        arg2: libc::c_int,
3155    );
3156}
3157unsafe extern "C" {
3158    pub fn rocksdb_options_get_target_file_size_multiplier(
3159        arg1: *mut rocksdb_options_t,
3160    ) -> libc::c_int;
3161}
3162unsafe extern "C" {
3163    pub fn rocksdb_options_set_max_bytes_for_level_base(arg1: *mut rocksdb_options_t, arg2: u64);
3164}
3165unsafe extern "C" {
3166    pub fn rocksdb_options_get_max_bytes_for_level_base(arg1: *mut rocksdb_options_t) -> u64;
3167}
3168unsafe extern "C" {
3169    pub fn rocksdb_options_set_level_compaction_dynamic_level_bytes(
3170        arg1: *mut rocksdb_options_t,
3171        arg2: libc::c_uchar,
3172    );
3173}
3174unsafe extern "C" {
3175    pub fn rocksdb_options_get_level_compaction_dynamic_level_bytes(
3176        arg1: *mut rocksdb_options_t,
3177    ) -> libc::c_uchar;
3178}
3179unsafe extern "C" {
3180    pub fn rocksdb_options_set_max_bytes_for_level_multiplier(
3181        arg1: *mut rocksdb_options_t,
3182        arg2: f64,
3183    );
3184}
3185unsafe extern "C" {
3186    pub fn rocksdb_options_get_max_bytes_for_level_multiplier(arg1: *mut rocksdb_options_t) -> f64;
3187}
3188unsafe extern "C" {
3189    pub fn rocksdb_options_set_max_bytes_for_level_multiplier_additional(
3190        arg1: *mut rocksdb_options_t,
3191        level_values: *mut libc::c_int,
3192        num_levels: usize,
3193    );
3194}
3195unsafe extern "C" {
3196    pub fn rocksdb_options_enable_statistics(arg1: *mut rocksdb_options_t);
3197}
3198unsafe extern "C" {
3199    pub fn rocksdb_options_set_ttl(arg1: *mut rocksdb_options_t, arg2: u64);
3200}
3201unsafe extern "C" {
3202    pub fn rocksdb_options_get_ttl(arg1: *mut rocksdb_options_t) -> u64;
3203}
3204unsafe extern "C" {
3205    pub fn rocksdb_options_set_periodic_compaction_seconds(arg1: *mut rocksdb_options_t, arg2: u64);
3206}
3207unsafe extern "C" {
3208    pub fn rocksdb_options_get_periodic_compaction_seconds(arg1: *mut rocksdb_options_t) -> u64;
3209}
3210unsafe extern "C" {
3211    pub fn rocksdb_options_set_memtable_op_scan_flush_trigger(
3212        arg1: *mut rocksdb_options_t,
3213        arg2: u32,
3214    );
3215}
3216unsafe extern "C" {
3217    pub fn rocksdb_options_get_memtable_op_scan_flush_trigger(arg1: *mut rocksdb_options_t) -> u32;
3218}
3219unsafe extern "C" {
3220    pub fn rocksdb_options_set_memtable_avg_op_scan_flush_trigger(
3221        arg1: *mut rocksdb_options_t,
3222        arg2: u32,
3223    );
3224}
3225unsafe extern "C" {
3226    pub fn rocksdb_options_get_memtable_avg_op_scan_flush_trigger(
3227        arg1: *mut rocksdb_options_t,
3228    ) -> u32;
3229}
3230pub const rocksdb_statistics_level_disable_all: _bindgen_ty_5 = 0;
3231pub const rocksdb_statistics_level_except_tickers: _bindgen_ty_5 = 0;
3232pub const rocksdb_statistics_level_except_histogram_or_timers: _bindgen_ty_5 = 1;
3233pub const rocksdb_statistics_level_except_timers: _bindgen_ty_5 = 2;
3234pub const rocksdb_statistics_level_except_detailed_timers: _bindgen_ty_5 = 3;
3235pub const rocksdb_statistics_level_except_time_for_mutex: _bindgen_ty_5 = 4;
3236pub const rocksdb_statistics_level_all: _bindgen_ty_5 = 5;
3237pub type _bindgen_ty_5 = libc::c_uint;
3238unsafe extern "C" {
3239    pub fn rocksdb_options_set_statistics_level(arg1: *mut rocksdb_options_t, level: libc::c_int);
3240}
3241unsafe extern "C" {
3242    pub fn rocksdb_options_get_statistics_level(arg1: *mut rocksdb_options_t) -> libc::c_int;
3243}
3244unsafe extern "C" {
3245    pub fn rocksdb_options_set_skip_stats_update_on_db_open(
3246        opt: *mut rocksdb_options_t,
3247        val: libc::c_uchar,
3248    );
3249}
3250unsafe extern "C" {
3251    pub fn rocksdb_options_get_skip_stats_update_on_db_open(
3252        opt: *mut rocksdb_options_t,
3253    ) -> libc::c_uchar;
3254}
3255unsafe extern "C" {
3256    pub fn rocksdb_options_set_skip_checking_sst_file_sizes_on_db_open(
3257        opt: *mut rocksdb_options_t,
3258        val: libc::c_uchar,
3259    );
3260}
3261unsafe extern "C" {
3262    pub fn rocksdb_options_get_skip_checking_sst_file_sizes_on_db_open(
3263        opt: *mut rocksdb_options_t,
3264    ) -> libc::c_uchar;
3265}
3266unsafe extern "C" {
3267    pub fn rocksdb_options_set_enable_blob_files(opt: *mut rocksdb_options_t, val: libc::c_uchar);
3268}
3269unsafe extern "C" {
3270    pub fn rocksdb_options_get_enable_blob_files(opt: *mut rocksdb_options_t) -> libc::c_uchar;
3271}
3272unsafe extern "C" {
3273    pub fn rocksdb_options_set_min_blob_size(opt: *mut rocksdb_options_t, val: u64);
3274}
3275unsafe extern "C" {
3276    pub fn rocksdb_options_get_min_blob_size(opt: *mut rocksdb_options_t) -> u64;
3277}
3278unsafe extern "C" {
3279    pub fn rocksdb_options_set_blob_file_size(opt: *mut rocksdb_options_t, val: u64);
3280}
3281unsafe extern "C" {
3282    pub fn rocksdb_options_get_blob_file_size(opt: *mut rocksdb_options_t) -> u64;
3283}
3284unsafe extern "C" {
3285    pub fn rocksdb_options_set_blob_compression_type(opt: *mut rocksdb_options_t, val: libc::c_int);
3286}
3287unsafe extern "C" {
3288    pub fn rocksdb_options_get_blob_compression_type(opt: *mut rocksdb_options_t) -> libc::c_int;
3289}
3290unsafe extern "C" {
3291    pub fn rocksdb_options_set_enable_blob_gc(opt: *mut rocksdb_options_t, val: libc::c_uchar);
3292}
3293unsafe extern "C" {
3294    pub fn rocksdb_options_get_enable_blob_gc(opt: *mut rocksdb_options_t) -> libc::c_uchar;
3295}
3296unsafe extern "C" {
3297    pub fn rocksdb_options_set_blob_gc_age_cutoff(opt: *mut rocksdb_options_t, val: f64);
3298}
3299unsafe extern "C" {
3300    pub fn rocksdb_options_get_blob_gc_age_cutoff(opt: *mut rocksdb_options_t) -> f64;
3301}
3302unsafe extern "C" {
3303    pub fn rocksdb_options_set_blob_gc_force_threshold(opt: *mut rocksdb_options_t, val: f64);
3304}
3305unsafe extern "C" {
3306    pub fn rocksdb_options_get_blob_gc_force_threshold(opt: *mut rocksdb_options_t) -> f64;
3307}
3308unsafe extern "C" {
3309    pub fn rocksdb_options_set_blob_compaction_readahead_size(
3310        opt: *mut rocksdb_options_t,
3311        val: u64,
3312    );
3313}
3314unsafe extern "C" {
3315    pub fn rocksdb_options_get_blob_compaction_readahead_size(opt: *mut rocksdb_options_t) -> u64;
3316}
3317unsafe extern "C" {
3318    pub fn rocksdb_options_set_blob_file_starting_level(
3319        opt: *mut rocksdb_options_t,
3320        val: libc::c_int,
3321    );
3322}
3323unsafe extern "C" {
3324    pub fn rocksdb_options_get_blob_file_starting_level(opt: *mut rocksdb_options_t)
3325    -> libc::c_int;
3326}
3327unsafe extern "C" {
3328    pub fn rocksdb_options_set_blob_cache(
3329        opt: *mut rocksdb_options_t,
3330        blob_cache: *mut rocksdb_cache_t,
3331    );
3332}
3333pub const rocksdb_prepopulate_blob_disable: _bindgen_ty_6 = 0;
3334pub const rocksdb_prepopulate_blob_flush_only: _bindgen_ty_6 = 1;
3335pub type _bindgen_ty_6 = libc::c_uint;
3336unsafe extern "C" {
3337    pub fn rocksdb_options_set_prepopulate_blob_cache(
3338        opt: *mut rocksdb_options_t,
3339        val: libc::c_int,
3340    );
3341}
3342unsafe extern "C" {
3343    pub fn rocksdb_options_get_prepopulate_blob_cache(opt: *mut rocksdb_options_t) -> libc::c_int;
3344}
3345unsafe extern "C" {
3346    pub fn rocksdb_options_statistics_get_string(opt: *mut rocksdb_options_t) -> *mut libc::c_char;
3347}
3348unsafe extern "C" {
3349    pub fn rocksdb_options_statistics_get_ticker_count(
3350        opt: *mut rocksdb_options_t,
3351        ticker_type: u32,
3352    ) -> u64;
3353}
3354unsafe extern "C" {
3355    pub fn rocksdb_options_statistics_get_histogram_data(
3356        opt: *mut rocksdb_options_t,
3357        histogram_type: u32,
3358        data: *mut rocksdb_statistics_histogram_data_t,
3359    );
3360}
3361unsafe extern "C" {
3362    pub fn rocksdb_options_set_max_write_buffer_number(
3363        arg1: *mut rocksdb_options_t,
3364        arg2: libc::c_int,
3365    );
3366}
3367unsafe extern "C" {
3368    pub fn rocksdb_options_get_max_write_buffer_number(arg1: *mut rocksdb_options_t)
3369    -> libc::c_int;
3370}
3371unsafe extern "C" {
3372    pub fn rocksdb_options_set_min_write_buffer_number_to_merge(
3373        arg1: *mut rocksdb_options_t,
3374        arg2: libc::c_int,
3375    );
3376}
3377unsafe extern "C" {
3378    pub fn rocksdb_options_get_min_write_buffer_number_to_merge(
3379        arg1: *mut rocksdb_options_t,
3380    ) -> libc::c_int;
3381}
3382unsafe extern "C" {
3383    pub fn rocksdb_options_set_max_write_buffer_size_to_maintain(
3384        arg1: *mut rocksdb_options_t,
3385        arg2: i64,
3386    );
3387}
3388unsafe extern "C" {
3389    pub fn rocksdb_options_get_max_write_buffer_size_to_maintain(
3390        arg1: *mut rocksdb_options_t,
3391    ) -> i64;
3392}
3393unsafe extern "C" {
3394    pub fn rocksdb_options_set_enable_pipelined_write(
3395        arg1: *mut rocksdb_options_t,
3396        arg2: libc::c_uchar,
3397    );
3398}
3399unsafe extern "C" {
3400    pub fn rocksdb_options_get_enable_pipelined_write(
3401        arg1: *mut rocksdb_options_t,
3402    ) -> libc::c_uchar;
3403}
3404unsafe extern "C" {
3405    pub fn rocksdb_options_set_unordered_write(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
3406}
3407unsafe extern "C" {
3408    pub fn rocksdb_options_get_unordered_write(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3409}
3410unsafe extern "C" {
3411    pub fn rocksdb_options_set_max_subcompactions(arg1: *mut rocksdb_options_t, arg2: u32);
3412}
3413unsafe extern "C" {
3414    pub fn rocksdb_options_get_max_subcompactions(arg1: *mut rocksdb_options_t) -> u32;
3415}
3416unsafe extern "C" {
3417    pub fn rocksdb_options_set_max_background_jobs(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3418}
3419unsafe extern "C" {
3420    pub fn rocksdb_options_get_max_background_jobs(arg1: *mut rocksdb_options_t) -> libc::c_int;
3421}
3422unsafe extern "C" {
3423    pub fn rocksdb_options_set_max_background_compactions(
3424        arg1: *mut rocksdb_options_t,
3425        arg2: libc::c_int,
3426    );
3427}
3428unsafe extern "C" {
3429    pub fn rocksdb_options_get_max_background_compactions(
3430        arg1: *mut rocksdb_options_t,
3431    ) -> libc::c_int;
3432}
3433unsafe extern "C" {
3434    pub fn rocksdb_options_set_max_background_flushes(
3435        arg1: *mut rocksdb_options_t,
3436        arg2: libc::c_int,
3437    );
3438}
3439unsafe extern "C" {
3440    pub fn rocksdb_options_get_max_background_flushes(arg1: *mut rocksdb_options_t) -> libc::c_int;
3441}
3442unsafe extern "C" {
3443    pub fn rocksdb_options_set_max_log_file_size(arg1: *mut rocksdb_options_t, arg2: usize);
3444}
3445unsafe extern "C" {
3446    pub fn rocksdb_options_get_max_log_file_size(arg1: *mut rocksdb_options_t) -> usize;
3447}
3448unsafe extern "C" {
3449    pub fn rocksdb_options_set_log_file_time_to_roll(arg1: *mut rocksdb_options_t, arg2: usize);
3450}
3451unsafe extern "C" {
3452    pub fn rocksdb_options_get_log_file_time_to_roll(arg1: *mut rocksdb_options_t) -> usize;
3453}
3454unsafe extern "C" {
3455    pub fn rocksdb_options_set_keep_log_file_num(arg1: *mut rocksdb_options_t, arg2: usize);
3456}
3457unsafe extern "C" {
3458    pub fn rocksdb_options_get_keep_log_file_num(arg1: *mut rocksdb_options_t) -> usize;
3459}
3460unsafe extern "C" {
3461    pub fn rocksdb_options_set_recycle_log_file_num(arg1: *mut rocksdb_options_t, arg2: usize);
3462}
3463unsafe extern "C" {
3464    pub fn rocksdb_options_get_recycle_log_file_num(arg1: *mut rocksdb_options_t) -> usize;
3465}
3466unsafe extern "C" {
3467    pub fn rocksdb_options_set_soft_pending_compaction_bytes_limit(
3468        opt: *mut rocksdb_options_t,
3469        v: usize,
3470    );
3471}
3472unsafe extern "C" {
3473    pub fn rocksdb_options_get_soft_pending_compaction_bytes_limit(
3474        opt: *mut rocksdb_options_t,
3475    ) -> usize;
3476}
3477unsafe extern "C" {
3478    pub fn rocksdb_options_set_hard_pending_compaction_bytes_limit(
3479        opt: *mut rocksdb_options_t,
3480        v: usize,
3481    );
3482}
3483unsafe extern "C" {
3484    pub fn rocksdb_options_get_hard_pending_compaction_bytes_limit(
3485        opt: *mut rocksdb_options_t,
3486    ) -> usize;
3487}
3488unsafe extern "C" {
3489    pub fn rocksdb_options_set_max_manifest_file_size(arg1: *mut rocksdb_options_t, arg2: usize);
3490}
3491unsafe extern "C" {
3492    pub fn rocksdb_options_get_max_manifest_file_size(arg1: *mut rocksdb_options_t) -> usize;
3493}
3494unsafe extern "C" {
3495    pub fn rocksdb_options_set_table_cache_numshardbits(
3496        arg1: *mut rocksdb_options_t,
3497        arg2: libc::c_int,
3498    );
3499}
3500unsafe extern "C" {
3501    pub fn rocksdb_options_get_table_cache_numshardbits(
3502        arg1: *mut rocksdb_options_t,
3503    ) -> libc::c_int;
3504}
3505unsafe extern "C" {
3506    pub fn rocksdb_options_set_arena_block_size(arg1: *mut rocksdb_options_t, arg2: usize);
3507}
3508unsafe extern "C" {
3509    pub fn rocksdb_options_get_arena_block_size(arg1: *mut rocksdb_options_t) -> usize;
3510}
3511unsafe extern "C" {
3512    pub fn rocksdb_options_set_use_fsync(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3513}
3514unsafe extern "C" {
3515    pub fn rocksdb_options_get_use_fsync(arg1: *mut rocksdb_options_t) -> libc::c_int;
3516}
3517unsafe extern "C" {
3518    pub fn rocksdb_options_set_db_log_dir(arg1: *mut rocksdb_options_t, arg2: *const libc::c_char);
3519}
3520unsafe extern "C" {
3521    pub fn rocksdb_options_set_wal_dir(arg1: *mut rocksdb_options_t, arg2: *const libc::c_char);
3522}
3523unsafe extern "C" {
3524    pub fn rocksdb_options_set_WAL_ttl_seconds(arg1: *mut rocksdb_options_t, arg2: u64);
3525}
3526unsafe extern "C" {
3527    pub fn rocksdb_options_get_WAL_ttl_seconds(arg1: *mut rocksdb_options_t) -> u64;
3528}
3529unsafe extern "C" {
3530    pub fn rocksdb_options_set_WAL_size_limit_MB(arg1: *mut rocksdb_options_t, arg2: u64);
3531}
3532unsafe extern "C" {
3533    pub fn rocksdb_options_get_WAL_size_limit_MB(arg1: *mut rocksdb_options_t) -> u64;
3534}
3535unsafe extern "C" {
3536    pub fn rocksdb_options_set_manifest_preallocation_size(
3537        arg1: *mut rocksdb_options_t,
3538        arg2: usize,
3539    );
3540}
3541unsafe extern "C" {
3542    pub fn rocksdb_options_get_manifest_preallocation_size(arg1: *mut rocksdb_options_t) -> usize;
3543}
3544unsafe extern "C" {
3545    pub fn rocksdb_options_set_allow_mmap_reads(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
3546}
3547unsafe extern "C" {
3548    pub fn rocksdb_options_get_allow_mmap_reads(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3549}
3550unsafe extern "C" {
3551    pub fn rocksdb_options_set_allow_mmap_writes(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
3552}
3553unsafe extern "C" {
3554    pub fn rocksdb_options_get_allow_mmap_writes(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3555}
3556unsafe extern "C" {
3557    pub fn rocksdb_options_set_use_direct_reads(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
3558}
3559unsafe extern "C" {
3560    pub fn rocksdb_options_get_use_direct_reads(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3561}
3562unsafe extern "C" {
3563    pub fn rocksdb_options_set_use_direct_io_for_flush_and_compaction(
3564        arg1: *mut rocksdb_options_t,
3565        arg2: libc::c_uchar,
3566    );
3567}
3568unsafe extern "C" {
3569    pub fn rocksdb_options_get_use_direct_io_for_flush_and_compaction(
3570        arg1: *mut rocksdb_options_t,
3571    ) -> libc::c_uchar;
3572}
3573unsafe extern "C" {
3574    pub fn rocksdb_options_set_is_fd_close_on_exec(
3575        arg1: *mut rocksdb_options_t,
3576        arg2: libc::c_uchar,
3577    );
3578}
3579unsafe extern "C" {
3580    pub fn rocksdb_options_get_is_fd_close_on_exec(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3581}
3582unsafe extern "C" {
3583    pub fn rocksdb_options_set_stats_dump_period_sec(
3584        arg1: *mut rocksdb_options_t,
3585        arg2: libc::c_uint,
3586    );
3587}
3588unsafe extern "C" {
3589    pub fn rocksdb_options_get_stats_dump_period_sec(arg1: *mut rocksdb_options_t) -> libc::c_uint;
3590}
3591unsafe extern "C" {
3592    pub fn rocksdb_options_set_stats_persist_period_sec(
3593        arg1: *mut rocksdb_options_t,
3594        arg2: libc::c_uint,
3595    );
3596}
3597unsafe extern "C" {
3598    pub fn rocksdb_options_get_stats_persist_period_sec(
3599        arg1: *mut rocksdb_options_t,
3600    ) -> libc::c_uint;
3601}
3602unsafe extern "C" {
3603    pub fn rocksdb_options_set_advise_random_on_open(
3604        arg1: *mut rocksdb_options_t,
3605        arg2: libc::c_uchar,
3606    );
3607}
3608unsafe extern "C" {
3609    pub fn rocksdb_options_get_advise_random_on_open(arg1: *mut rocksdb_options_t)
3610    -> libc::c_uchar;
3611}
3612unsafe extern "C" {
3613    pub fn rocksdb_options_set_use_adaptive_mutex(
3614        arg1: *mut rocksdb_options_t,
3615        arg2: libc::c_uchar,
3616    );
3617}
3618unsafe extern "C" {
3619    pub fn rocksdb_options_get_use_adaptive_mutex(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3620}
3621unsafe extern "C" {
3622    pub fn rocksdb_options_set_bytes_per_sync(arg1: *mut rocksdb_options_t, arg2: u64);
3623}
3624unsafe extern "C" {
3625    pub fn rocksdb_options_get_bytes_per_sync(arg1: *mut rocksdb_options_t) -> u64;
3626}
3627unsafe extern "C" {
3628    pub fn rocksdb_options_set_wal_bytes_per_sync(arg1: *mut rocksdb_options_t, arg2: u64);
3629}
3630unsafe extern "C" {
3631    pub fn rocksdb_options_get_wal_bytes_per_sync(arg1: *mut rocksdb_options_t) -> u64;
3632}
3633unsafe extern "C" {
3634    pub fn rocksdb_options_set_writable_file_max_buffer_size(
3635        arg1: *mut rocksdb_options_t,
3636        arg2: u64,
3637    );
3638}
3639unsafe extern "C" {
3640    pub fn rocksdb_options_get_writable_file_max_buffer_size(arg1: *mut rocksdb_options_t) -> u64;
3641}
3642unsafe extern "C" {
3643    pub fn rocksdb_options_set_allow_concurrent_memtable_write(
3644        arg1: *mut rocksdb_options_t,
3645        arg2: libc::c_uchar,
3646    );
3647}
3648unsafe extern "C" {
3649    pub fn rocksdb_options_get_allow_concurrent_memtable_write(
3650        arg1: *mut rocksdb_options_t,
3651    ) -> libc::c_uchar;
3652}
3653unsafe extern "C" {
3654    pub fn rocksdb_options_set_enable_write_thread_adaptive_yield(
3655        arg1: *mut rocksdb_options_t,
3656        arg2: libc::c_uchar,
3657    );
3658}
3659unsafe extern "C" {
3660    pub fn rocksdb_options_get_enable_write_thread_adaptive_yield(
3661        arg1: *mut rocksdb_options_t,
3662    ) -> libc::c_uchar;
3663}
3664unsafe extern "C" {
3665    pub fn rocksdb_options_set_max_sequential_skip_in_iterations(
3666        arg1: *mut rocksdb_options_t,
3667        arg2: u64,
3668    );
3669}
3670unsafe extern "C" {
3671    pub fn rocksdb_options_get_max_sequential_skip_in_iterations(
3672        arg1: *mut rocksdb_options_t,
3673    ) -> u64;
3674}
3675unsafe extern "C" {
3676    pub fn rocksdb_options_set_disable_auto_compactions(
3677        arg1: *mut rocksdb_options_t,
3678        arg2: libc::c_int,
3679    );
3680}
3681unsafe extern "C" {
3682    pub fn rocksdb_options_get_disable_auto_compactions(
3683        arg1: *mut rocksdb_options_t,
3684    ) -> libc::c_uchar;
3685}
3686unsafe extern "C" {
3687    pub fn rocksdb_options_set_optimize_filters_for_hits(
3688        arg1: *mut rocksdb_options_t,
3689        arg2: libc::c_int,
3690    );
3691}
3692unsafe extern "C" {
3693    pub fn rocksdb_options_get_optimize_filters_for_hits(
3694        arg1: *mut rocksdb_options_t,
3695    ) -> libc::c_uchar;
3696}
3697unsafe extern "C" {
3698    pub fn rocksdb_options_set_delete_obsolete_files_period_micros(
3699        arg1: *mut rocksdb_options_t,
3700        arg2: u64,
3701    );
3702}
3703unsafe extern "C" {
3704    pub fn rocksdb_options_get_delete_obsolete_files_period_micros(
3705        arg1: *mut rocksdb_options_t,
3706    ) -> u64;
3707}
3708unsafe extern "C" {
3709    pub fn rocksdb_options_prepare_for_bulk_load(arg1: *mut rocksdb_options_t);
3710}
3711unsafe extern "C" {
3712    pub fn rocksdb_options_set_memtable_vector_rep(arg1: *mut rocksdb_options_t);
3713}
3714unsafe extern "C" {
3715    pub fn rocksdb_options_set_memtable_prefix_bloom_size_ratio(
3716        arg1: *mut rocksdb_options_t,
3717        arg2: f64,
3718    );
3719}
3720unsafe extern "C" {
3721    pub fn rocksdb_options_get_memtable_prefix_bloom_size_ratio(
3722        arg1: *mut rocksdb_options_t,
3723    ) -> f64;
3724}
3725unsafe extern "C" {
3726    pub fn rocksdb_options_set_max_compaction_bytes(arg1: *mut rocksdb_options_t, arg2: u64);
3727}
3728unsafe extern "C" {
3729    pub fn rocksdb_options_get_max_compaction_bytes(arg1: *mut rocksdb_options_t) -> u64;
3730}
3731unsafe extern "C" {
3732    pub fn rocksdb_options_set_hash_skip_list_rep(
3733        arg1: *mut rocksdb_options_t,
3734        arg2: usize,
3735        arg3: i32,
3736        arg4: i32,
3737    );
3738}
3739unsafe extern "C" {
3740    pub fn rocksdb_options_set_hash_link_list_rep(arg1: *mut rocksdb_options_t, arg2: usize);
3741}
3742unsafe extern "C" {
3743    pub fn rocksdb_options_set_plain_table_factory(
3744        arg1: *mut rocksdb_options_t,
3745        arg2: u32,
3746        arg3: libc::c_int,
3747        arg4: f64,
3748        arg5: usize,
3749        arg6: usize,
3750        arg7: libc::c_char,
3751        arg8: libc::c_uchar,
3752        arg9: libc::c_uchar,
3753    );
3754}
3755unsafe extern "C" {
3756    pub fn rocksdb_options_get_write_dbid_to_manifest(
3757        arg1: *mut rocksdb_options_t,
3758    ) -> libc::c_uchar;
3759}
3760unsafe extern "C" {
3761    pub fn rocksdb_options_set_write_dbid_to_manifest(
3762        arg1: *mut rocksdb_options_t,
3763        arg2: libc::c_uchar,
3764    );
3765}
3766unsafe extern "C" {
3767    pub fn rocksdb_options_get_write_identity_file(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3768}
3769unsafe extern "C" {
3770    pub fn rocksdb_options_set_write_identity_file(
3771        arg1: *mut rocksdb_options_t,
3772        arg2: libc::c_uchar,
3773    );
3774}
3775unsafe extern "C" {
3776    pub fn rocksdb_options_get_track_and_verify_wals_in_manifest(
3777        arg1: *mut rocksdb_options_t,
3778    ) -> libc::c_uchar;
3779}
3780unsafe extern "C" {
3781    pub fn rocksdb_options_set_track_and_verify_wals_in_manifest(
3782        arg1: *mut rocksdb_options_t,
3783        arg2: libc::c_uchar,
3784    );
3785}
3786unsafe extern "C" {
3787    pub fn rocksdb_options_set_min_level_to_compress(
3788        opt: *mut rocksdb_options_t,
3789        level: libc::c_int,
3790    );
3791}
3792unsafe extern "C" {
3793    pub fn rocksdb_options_set_memtable_huge_page_size(arg1: *mut rocksdb_options_t, arg2: usize);
3794}
3795unsafe extern "C" {
3796    pub fn rocksdb_options_get_memtable_huge_page_size(arg1: *mut rocksdb_options_t) -> usize;
3797}
3798unsafe extern "C" {
3799    pub fn rocksdb_options_set_max_successive_merges(arg1: *mut rocksdb_options_t, arg2: usize);
3800}
3801unsafe extern "C" {
3802    pub fn rocksdb_options_get_max_successive_merges(arg1: *mut rocksdb_options_t) -> usize;
3803}
3804unsafe extern "C" {
3805    pub fn rocksdb_options_set_bloom_locality(arg1: *mut rocksdb_options_t, arg2: u32);
3806}
3807unsafe extern "C" {
3808    pub fn rocksdb_options_get_bloom_locality(arg1: *mut rocksdb_options_t) -> u32;
3809}
3810unsafe extern "C" {
3811    pub fn rocksdb_options_set_inplace_update_support(
3812        arg1: *mut rocksdb_options_t,
3813        arg2: libc::c_uchar,
3814    );
3815}
3816unsafe extern "C" {
3817    pub fn rocksdb_options_get_inplace_update_support(
3818        arg1: *mut rocksdb_options_t,
3819    ) -> libc::c_uchar;
3820}
3821unsafe extern "C" {
3822    pub fn rocksdb_options_set_inplace_update_num_locks(arg1: *mut rocksdb_options_t, arg2: usize);
3823}
3824unsafe extern "C" {
3825    pub fn rocksdb_options_get_inplace_update_num_locks(arg1: *mut rocksdb_options_t) -> usize;
3826}
3827unsafe extern "C" {
3828    pub fn rocksdb_options_set_report_bg_io_stats(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3829}
3830unsafe extern "C" {
3831    pub fn rocksdb_options_get_report_bg_io_stats(arg1: *mut rocksdb_options_t) -> libc::c_uchar;
3832}
3833unsafe extern "C" {
3834    pub fn rocksdb_options_set_avoid_unnecessary_blocking_io(
3835        arg1: *mut rocksdb_options_t,
3836        arg2: libc::c_uchar,
3837    );
3838}
3839unsafe extern "C" {
3840    pub fn rocksdb_options_get_avoid_unnecessary_blocking_io(
3841        arg1: *mut rocksdb_options_t,
3842    ) -> libc::c_uchar;
3843}
3844unsafe extern "C" {
3845    pub fn rocksdb_options_set_experimental_mempurge_threshold(
3846        arg1: *mut rocksdb_options_t,
3847        arg2: f64,
3848    );
3849}
3850unsafe extern "C" {
3851    pub fn rocksdb_options_get_experimental_mempurge_threshold(arg1: *mut rocksdb_options_t)
3852    -> f64;
3853}
3854pub const rocksdb_tolerate_corrupted_tail_records_recovery: _bindgen_ty_7 = 0;
3855pub const rocksdb_absolute_consistency_recovery: _bindgen_ty_7 = 1;
3856pub const rocksdb_point_in_time_recovery: _bindgen_ty_7 = 2;
3857pub const rocksdb_skip_any_corrupted_records_recovery: _bindgen_ty_7 = 3;
3858pub type _bindgen_ty_7 = libc::c_uint;
3859unsafe extern "C" {
3860    pub fn rocksdb_options_set_wal_recovery_mode(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3861}
3862unsafe extern "C" {
3863    pub fn rocksdb_options_get_wal_recovery_mode(arg1: *mut rocksdb_options_t) -> libc::c_int;
3864}
3865pub const rocksdb_no_compression: _bindgen_ty_8 = 0;
3866pub const rocksdb_snappy_compression: _bindgen_ty_8 = 1;
3867pub const rocksdb_zlib_compression: _bindgen_ty_8 = 2;
3868pub const rocksdb_bz2_compression: _bindgen_ty_8 = 3;
3869pub const rocksdb_lz4_compression: _bindgen_ty_8 = 4;
3870pub const rocksdb_lz4hc_compression: _bindgen_ty_8 = 5;
3871pub const rocksdb_xpress_compression: _bindgen_ty_8 = 6;
3872pub const rocksdb_zstd_compression: _bindgen_ty_8 = 7;
3873pub type _bindgen_ty_8 = libc::c_uint;
3874unsafe extern "C" {
3875    pub fn rocksdb_options_set_compression(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3876}
3877unsafe extern "C" {
3878    pub fn rocksdb_options_get_compression(arg1: *mut rocksdb_options_t) -> libc::c_int;
3879}
3880unsafe extern "C" {
3881    pub fn rocksdb_options_set_bottommost_compression(
3882        arg1: *mut rocksdb_options_t,
3883        arg2: libc::c_int,
3884    );
3885}
3886unsafe extern "C" {
3887    pub fn rocksdb_options_get_bottommost_compression(arg1: *mut rocksdb_options_t) -> libc::c_int;
3888}
3889pub const rocksdb_level_compaction: _bindgen_ty_9 = 0;
3890pub const rocksdb_universal_compaction: _bindgen_ty_9 = 1;
3891pub const rocksdb_fifo_compaction: _bindgen_ty_9 = 2;
3892pub type _bindgen_ty_9 = libc::c_uint;
3893unsafe extern "C" {
3894    pub fn rocksdb_options_set_compaction_style(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3895}
3896unsafe extern "C" {
3897    pub fn rocksdb_options_get_compaction_style(arg1: *mut rocksdb_options_t) -> libc::c_int;
3898}
3899unsafe extern "C" {
3900    pub fn rocksdb_options_set_universal_compaction_options(
3901        arg1: *mut rocksdb_options_t,
3902        arg2: *mut rocksdb_universal_compaction_options_t,
3903    );
3904}
3905unsafe extern "C" {
3906    pub fn rocksdb_options_set_fifo_compaction_options(
3907        opt: *mut rocksdb_options_t,
3908        fifo: *mut rocksdb_fifo_compaction_options_t,
3909    );
3910}
3911unsafe extern "C" {
3912    pub fn rocksdb_options_set_ratelimiter(
3913        opt: *mut rocksdb_options_t,
3914        limiter: *mut rocksdb_ratelimiter_t,
3915    );
3916}
3917unsafe extern "C" {
3918    pub fn rocksdb_options_set_atomic_flush(opt: *mut rocksdb_options_t, arg1: libc::c_uchar);
3919}
3920unsafe extern "C" {
3921    pub fn rocksdb_options_get_atomic_flush(opt: *mut rocksdb_options_t) -> libc::c_uchar;
3922}
3923unsafe extern "C" {
3924    pub fn rocksdb_options_set_row_cache(opt: *mut rocksdb_options_t, cache: *mut rocksdb_cache_t);
3925}
3926unsafe extern "C" {
3927    pub fn rocksdb_options_add_compact_on_deletion_collector_factory(
3928        arg1: *mut rocksdb_options_t,
3929        window_size: usize,
3930        num_dels_trigger: usize,
3931    );
3932}
3933unsafe extern "C" {
3934    pub fn rocksdb_options_add_compact_on_deletion_collector_factory_del_ratio(
3935        arg1: *mut rocksdb_options_t,
3936        window_size: usize,
3937        num_dels_trigger: usize,
3938        deletion_ratio: f64,
3939    );
3940}
3941unsafe extern "C" {
3942    pub fn rocksdb_options_set_manual_wal_flush(opt: *mut rocksdb_options_t, arg1: libc::c_uchar);
3943}
3944unsafe extern "C" {
3945    pub fn rocksdb_options_get_manual_wal_flush(opt: *mut rocksdb_options_t) -> libc::c_uchar;
3946}
3947unsafe extern "C" {
3948    pub fn rocksdb_options_set_wal_compression(opt: *mut rocksdb_options_t, arg1: libc::c_int);
3949}
3950unsafe extern "C" {
3951    pub fn rocksdb_options_get_wal_compression(opt: *mut rocksdb_options_t) -> libc::c_int;
3952}
3953pub const rocksdb_k_by_compensated_size_compaction_pri: _bindgen_ty_10 = 0;
3954pub const rocksdb_k_oldest_largest_seq_first_compaction_pri: _bindgen_ty_10 = 1;
3955pub const rocksdb_k_oldest_smallest_seq_first_compaction_pri: _bindgen_ty_10 = 2;
3956pub const rocksdb_k_min_overlapping_ratio_compaction_pri: _bindgen_ty_10 = 3;
3957pub const rocksdb_k_round_robin_compaction_pri: _bindgen_ty_10 = 4;
3958pub type _bindgen_ty_10 = libc::c_uint;
3959unsafe extern "C" {
3960    pub fn rocksdb_options_set_compaction_pri(arg1: *mut rocksdb_options_t, arg2: libc::c_int);
3961}
3962unsafe extern "C" {
3963    pub fn rocksdb_options_get_compaction_pri(arg1: *mut rocksdb_options_t) -> libc::c_int;
3964}
3965unsafe extern "C" {
3966    pub fn rocksdb_ratelimiter_create(
3967        rate_bytes_per_sec: i64,
3968        refill_period_us: i64,
3969        fairness: i32,
3970    ) -> *mut rocksdb_ratelimiter_t;
3971}
3972unsafe extern "C" {
3973    pub fn rocksdb_ratelimiter_create_auto_tuned(
3974        rate_bytes_per_sec: i64,
3975        refill_period_us: i64,
3976        fairness: i32,
3977    ) -> *mut rocksdb_ratelimiter_t;
3978}
3979unsafe extern "C" {
3980    pub fn rocksdb_ratelimiter_create_with_mode(
3981        rate_bytes_per_sec: i64,
3982        refill_period_us: i64,
3983        fairness: i32,
3984        mode: libc::c_int,
3985        auto_tuned: bool,
3986    ) -> *mut rocksdb_ratelimiter_t;
3987}
3988unsafe extern "C" {
3989    pub fn rocksdb_ratelimiter_destroy(arg1: *mut rocksdb_ratelimiter_t);
3990}
3991pub const rocksdb_uninitialized: _bindgen_ty_11 = 0;
3992pub const rocksdb_disable: _bindgen_ty_11 = 1;
3993pub const rocksdb_enable_count: _bindgen_ty_11 = 2;
3994pub const rocksdb_enable_time_except_for_mutex: _bindgen_ty_11 = 3;
3995pub const rocksdb_enable_time: _bindgen_ty_11 = 4;
3996pub const rocksdb_out_of_bounds: _bindgen_ty_11 = 5;
3997pub type _bindgen_ty_11 = libc::c_uint;
3998pub const rocksdb_user_key_comparison_count: _bindgen_ty_12 = 0;
3999pub const rocksdb_block_cache_hit_count: _bindgen_ty_12 = 1;
4000pub const rocksdb_block_read_count: _bindgen_ty_12 = 2;
4001pub const rocksdb_block_read_byte: _bindgen_ty_12 = 3;
4002pub const rocksdb_block_read_time: _bindgen_ty_12 = 4;
4003pub const rocksdb_block_checksum_time: _bindgen_ty_12 = 5;
4004pub const rocksdb_block_decompress_time: _bindgen_ty_12 = 6;
4005pub const rocksdb_get_read_bytes: _bindgen_ty_12 = 7;
4006pub const rocksdb_multiget_read_bytes: _bindgen_ty_12 = 8;
4007pub const rocksdb_iter_read_bytes: _bindgen_ty_12 = 9;
4008pub const rocksdb_internal_key_skipped_count: _bindgen_ty_12 = 10;
4009pub const rocksdb_internal_delete_skipped_count: _bindgen_ty_12 = 11;
4010pub const rocksdb_internal_recent_skipped_count: _bindgen_ty_12 = 12;
4011pub const rocksdb_internal_merge_count: _bindgen_ty_12 = 13;
4012pub const rocksdb_get_snapshot_time: _bindgen_ty_12 = 14;
4013pub const rocksdb_get_from_memtable_time: _bindgen_ty_12 = 15;
4014pub const rocksdb_get_from_memtable_count: _bindgen_ty_12 = 16;
4015pub const rocksdb_get_post_process_time: _bindgen_ty_12 = 17;
4016pub const rocksdb_get_from_output_files_time: _bindgen_ty_12 = 18;
4017pub const rocksdb_seek_on_memtable_time: _bindgen_ty_12 = 19;
4018pub const rocksdb_seek_on_memtable_count: _bindgen_ty_12 = 20;
4019pub const rocksdb_next_on_memtable_count: _bindgen_ty_12 = 21;
4020pub const rocksdb_prev_on_memtable_count: _bindgen_ty_12 = 22;
4021pub const rocksdb_seek_child_seek_time: _bindgen_ty_12 = 23;
4022pub const rocksdb_seek_child_seek_count: _bindgen_ty_12 = 24;
4023pub const rocksdb_seek_min_heap_time: _bindgen_ty_12 = 25;
4024pub const rocksdb_seek_max_heap_time: _bindgen_ty_12 = 26;
4025pub const rocksdb_seek_internal_seek_time: _bindgen_ty_12 = 27;
4026pub const rocksdb_find_next_user_entry_time: _bindgen_ty_12 = 28;
4027pub const rocksdb_write_wal_time: _bindgen_ty_12 = 29;
4028pub const rocksdb_write_memtable_time: _bindgen_ty_12 = 30;
4029pub const rocksdb_write_delay_time: _bindgen_ty_12 = 31;
4030pub const rocksdb_write_pre_and_post_process_time: _bindgen_ty_12 = 32;
4031pub const rocksdb_db_mutex_lock_nanos: _bindgen_ty_12 = 33;
4032pub const rocksdb_db_condition_wait_nanos: _bindgen_ty_12 = 34;
4033pub const rocksdb_merge_operator_time_nanos: _bindgen_ty_12 = 35;
4034pub const rocksdb_read_index_block_nanos: _bindgen_ty_12 = 36;
4035pub const rocksdb_read_filter_block_nanos: _bindgen_ty_12 = 37;
4036pub const rocksdb_new_table_block_iter_nanos: _bindgen_ty_12 = 38;
4037pub const rocksdb_new_table_iterator_nanos: _bindgen_ty_12 = 39;
4038pub const rocksdb_block_seek_nanos: _bindgen_ty_12 = 40;
4039pub const rocksdb_find_table_nanos: _bindgen_ty_12 = 41;
4040pub const rocksdb_bloom_memtable_hit_count: _bindgen_ty_12 = 42;
4041pub const rocksdb_bloom_memtable_miss_count: _bindgen_ty_12 = 43;
4042pub const rocksdb_bloom_sst_hit_count: _bindgen_ty_12 = 44;
4043pub const rocksdb_bloom_sst_miss_count: _bindgen_ty_12 = 45;
4044pub const rocksdb_key_lock_wait_time: _bindgen_ty_12 = 46;
4045pub const rocksdb_key_lock_wait_count: _bindgen_ty_12 = 47;
4046pub const rocksdb_env_new_sequential_file_nanos: _bindgen_ty_12 = 48;
4047pub const rocksdb_env_new_random_access_file_nanos: _bindgen_ty_12 = 49;
4048pub const rocksdb_env_new_writable_file_nanos: _bindgen_ty_12 = 50;
4049pub const rocksdb_env_reuse_writable_file_nanos: _bindgen_ty_12 = 51;
4050pub const rocksdb_env_new_random_rw_file_nanos: _bindgen_ty_12 = 52;
4051pub const rocksdb_env_new_directory_nanos: _bindgen_ty_12 = 53;
4052pub const rocksdb_env_file_exists_nanos: _bindgen_ty_12 = 54;
4053pub const rocksdb_env_get_children_nanos: _bindgen_ty_12 = 55;
4054pub const rocksdb_env_get_children_file_attributes_nanos: _bindgen_ty_12 = 56;
4055pub const rocksdb_env_delete_file_nanos: _bindgen_ty_12 = 57;
4056pub const rocksdb_env_create_dir_nanos: _bindgen_ty_12 = 58;
4057pub const rocksdb_env_create_dir_if_missing_nanos: _bindgen_ty_12 = 59;
4058pub const rocksdb_env_delete_dir_nanos: _bindgen_ty_12 = 60;
4059pub const rocksdb_env_get_file_size_nanos: _bindgen_ty_12 = 61;
4060pub const rocksdb_env_get_file_modification_time_nanos: _bindgen_ty_12 = 62;
4061pub const rocksdb_env_rename_file_nanos: _bindgen_ty_12 = 63;
4062pub const rocksdb_env_link_file_nanos: _bindgen_ty_12 = 64;
4063pub const rocksdb_env_lock_file_nanos: _bindgen_ty_12 = 65;
4064pub const rocksdb_env_unlock_file_nanos: _bindgen_ty_12 = 66;
4065pub const rocksdb_env_new_logger_nanos: _bindgen_ty_12 = 67;
4066pub const rocksdb_number_async_seek: _bindgen_ty_12 = 68;
4067pub const rocksdb_blob_cache_hit_count: _bindgen_ty_12 = 69;
4068pub const rocksdb_blob_read_count: _bindgen_ty_12 = 70;
4069pub const rocksdb_blob_read_byte: _bindgen_ty_12 = 71;
4070pub const rocksdb_blob_read_time: _bindgen_ty_12 = 72;
4071pub const rocksdb_blob_checksum_time: _bindgen_ty_12 = 73;
4072pub const rocksdb_blob_decompress_time: _bindgen_ty_12 = 74;
4073pub const rocksdb_internal_range_del_reseek_count: _bindgen_ty_12 = 75;
4074pub const rocksdb_block_read_cpu_time: _bindgen_ty_12 = 76;
4075pub const rocksdb_internal_merge_point_lookup_count: _bindgen_ty_12 = 77;
4076pub const rocksdb_total_metric_count: _bindgen_ty_12 = 80;
4077pub type _bindgen_ty_12 = libc::c_uint;
4078unsafe extern "C" {
4079    pub fn rocksdb_set_perf_level(arg1: libc::c_int);
4080}
4081unsafe extern "C" {
4082    pub fn rocksdb_perfcontext_create() -> *mut rocksdb_perfcontext_t;
4083}
4084unsafe extern "C" {
4085    pub fn rocksdb_perfcontext_reset(context: *mut rocksdb_perfcontext_t);
4086}
4087unsafe extern "C" {
4088    pub fn rocksdb_perfcontext_report(
4089        context: *mut rocksdb_perfcontext_t,
4090        exclude_zero_counters: libc::c_uchar,
4091    ) -> *mut libc::c_char;
4092}
4093unsafe extern "C" {
4094    pub fn rocksdb_perfcontext_metric(
4095        context: *mut rocksdb_perfcontext_t,
4096        metric: libc::c_int,
4097    ) -> u64;
4098}
4099unsafe extern "C" {
4100    pub fn rocksdb_perfcontext_destroy(context: *mut rocksdb_perfcontext_t);
4101}
4102unsafe extern "C" {
4103    pub fn rocksdb_compactionfilter_create(
4104        state: *mut libc::c_void,
4105        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
4106        filter: ::std::option::Option<
4107            unsafe extern "C" fn(
4108                arg1: *mut libc::c_void,
4109                level: libc::c_int,
4110                key: *const libc::c_char,
4111                key_length: usize,
4112                existing_value: *const libc::c_char,
4113                value_length: usize,
4114                new_value: *mut *mut libc::c_char,
4115                new_value_length: *mut usize,
4116                value_changed: *mut libc::c_uchar,
4117            ) -> libc::c_uchar,
4118        >,
4119        name: ::std::option::Option<
4120            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
4121        >,
4122    ) -> *mut rocksdb_compactionfilter_t;
4123}
4124unsafe extern "C" {
4125    pub fn rocksdb_compactionfilter_set_ignore_snapshots(
4126        arg1: *mut rocksdb_compactionfilter_t,
4127        arg2: libc::c_uchar,
4128    );
4129}
4130unsafe extern "C" {
4131    pub fn rocksdb_compactionfilter_destroy(arg1: *mut rocksdb_compactionfilter_t);
4132}
4133unsafe extern "C" {
4134    pub fn rocksdb_compactionfiltercontext_is_full_compaction(
4135        context: *mut rocksdb_compactionfiltercontext_t,
4136    ) -> libc::c_uchar;
4137}
4138unsafe extern "C" {
4139    pub fn rocksdb_compactionfiltercontext_is_manual_compaction(
4140        context: *mut rocksdb_compactionfiltercontext_t,
4141    ) -> libc::c_uchar;
4142}
4143unsafe extern "C" {
4144    pub fn rocksdb_compactionfilterfactory_create(
4145        state: *mut libc::c_void,
4146        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
4147        create_compaction_filter: ::std::option::Option<
4148            unsafe extern "C" fn(
4149                arg1: *mut libc::c_void,
4150                context: *mut rocksdb_compactionfiltercontext_t,
4151            ) -> *mut rocksdb_compactionfilter_t,
4152        >,
4153        name: ::std::option::Option<
4154            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
4155        >,
4156    ) -> *mut rocksdb_compactionfilterfactory_t;
4157}
4158unsafe extern "C" {
4159    pub fn rocksdb_compactionfilterfactory_destroy(arg1: *mut rocksdb_compactionfilterfactory_t);
4160}
4161unsafe extern "C" {
4162    pub fn rocksdb_comparator_create(
4163        state: *mut libc::c_void,
4164        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
4165        compare: ::std::option::Option<
4166            unsafe extern "C" fn(
4167                arg1: *mut libc::c_void,
4168                a: *const libc::c_char,
4169                alen: usize,
4170                b: *const libc::c_char,
4171                blen: usize,
4172            ) -> libc::c_int,
4173        >,
4174        name: ::std::option::Option<
4175            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
4176        >,
4177    ) -> *mut rocksdb_comparator_t;
4178}
4179unsafe extern "C" {
4180    pub fn rocksdb_comparator_destroy(arg1: *mut rocksdb_comparator_t);
4181}
4182unsafe extern "C" {
4183    pub fn rocksdb_comparator_with_ts_create(
4184        state: *mut libc::c_void,
4185        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
4186        compare: ::std::option::Option<
4187            unsafe extern "C" fn(
4188                arg1: *mut libc::c_void,
4189                a: *const libc::c_char,
4190                alen: usize,
4191                b: *const libc::c_char,
4192                blen: usize,
4193            ) -> libc::c_int,
4194        >,
4195        compare_ts: ::std::option::Option<
4196            unsafe extern "C" fn(
4197                arg1: *mut libc::c_void,
4198                a_ts: *const libc::c_char,
4199                a_tslen: usize,
4200                b_ts: *const libc::c_char,
4201                b_tslen: usize,
4202            ) -> libc::c_int,
4203        >,
4204        compare_without_ts: ::std::option::Option<
4205            unsafe extern "C" fn(
4206                arg1: *mut libc::c_void,
4207                a: *const libc::c_char,
4208                alen: usize,
4209                a_has_ts: libc::c_uchar,
4210                b: *const libc::c_char,
4211                blen: usize,
4212                b_has_ts: libc::c_uchar,
4213            ) -> libc::c_int,
4214        >,
4215        name: ::std::option::Option<
4216            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
4217        >,
4218        timestamp_size: usize,
4219    ) -> *mut rocksdb_comparator_t;
4220}
4221unsafe extern "C" {
4222    pub fn rocksdb_filterpolicy_destroy(arg1: *mut rocksdb_filterpolicy_t);
4223}
4224unsafe extern "C" {
4225    pub fn rocksdb_filterpolicy_create_bloom(bits_per_key: f64) -> *mut rocksdb_filterpolicy_t;
4226}
4227unsafe extern "C" {
4228    pub fn rocksdb_filterpolicy_create_bloom_full(bits_per_key: f64)
4229    -> *mut rocksdb_filterpolicy_t;
4230}
4231unsafe extern "C" {
4232    pub fn rocksdb_filterpolicy_create_ribbon(
4233        bloom_equivalent_bits_per_key: f64,
4234    ) -> *mut rocksdb_filterpolicy_t;
4235}
4236unsafe extern "C" {
4237    pub fn rocksdb_filterpolicy_create_ribbon_hybrid(
4238        bloom_equivalent_bits_per_key: f64,
4239        bloom_before_level: libc::c_int,
4240    ) -> *mut rocksdb_filterpolicy_t;
4241}
4242unsafe extern "C" {
4243    pub fn rocksdb_mergeoperator_create(
4244        state: *mut libc::c_void,
4245        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
4246        full_merge: ::std::option::Option<
4247            unsafe extern "C" fn(
4248                arg1: *mut libc::c_void,
4249                key: *const libc::c_char,
4250                key_length: usize,
4251                existing_value: *const libc::c_char,
4252                existing_value_length: usize,
4253                operands_list: *const *const libc::c_char,
4254                operands_list_length: *const usize,
4255                num_operands: libc::c_int,
4256                success: *mut libc::c_uchar,
4257                new_value_length: *mut usize,
4258            ) -> *mut libc::c_char,
4259        >,
4260        partial_merge: ::std::option::Option<
4261            unsafe extern "C" fn(
4262                arg1: *mut libc::c_void,
4263                key: *const libc::c_char,
4264                key_length: usize,
4265                operands_list: *const *const libc::c_char,
4266                operands_list_length: *const usize,
4267                num_operands: libc::c_int,
4268                success: *mut libc::c_uchar,
4269                new_value_length: *mut usize,
4270            ) -> *mut libc::c_char,
4271        >,
4272        delete_value: ::std::option::Option<
4273            unsafe extern "C" fn(
4274                arg1: *mut libc::c_void,
4275                value: *const libc::c_char,
4276                value_length: usize,
4277            ),
4278        >,
4279        name: ::std::option::Option<
4280            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
4281        >,
4282    ) -> *mut rocksdb_mergeoperator_t;
4283}
4284unsafe extern "C" {
4285    pub fn rocksdb_mergeoperator_destroy(arg1: *mut rocksdb_mergeoperator_t);
4286}
4287unsafe extern "C" {
4288    pub fn rocksdb_readoptions_create() -> *mut rocksdb_readoptions_t;
4289}
4290unsafe extern "C" {
4291    pub fn rocksdb_readoptions_destroy(arg1: *mut rocksdb_readoptions_t);
4292}
4293unsafe extern "C" {
4294    pub fn rocksdb_readoptions_set_verify_checksums(
4295        arg1: *mut rocksdb_readoptions_t,
4296        arg2: libc::c_uchar,
4297    );
4298}
4299unsafe extern "C" {
4300    pub fn rocksdb_readoptions_get_verify_checksums(
4301        arg1: *mut rocksdb_readoptions_t,
4302    ) -> libc::c_uchar;
4303}
4304unsafe extern "C" {
4305    pub fn rocksdb_readoptions_set_fill_cache(
4306        arg1: *mut rocksdb_readoptions_t,
4307        arg2: libc::c_uchar,
4308    );
4309}
4310unsafe extern "C" {
4311    pub fn rocksdb_readoptions_get_fill_cache(arg1: *mut rocksdb_readoptions_t) -> libc::c_uchar;
4312}
4313unsafe extern "C" {
4314    pub fn rocksdb_readoptions_set_snapshot(
4315        arg1: *mut rocksdb_readoptions_t,
4316        arg2: *const rocksdb_snapshot_t,
4317    );
4318}
4319unsafe extern "C" {
4320    pub fn rocksdb_readoptions_set_iterate_upper_bound(
4321        arg1: *mut rocksdb_readoptions_t,
4322        key: *const libc::c_char,
4323        keylen: usize,
4324    );
4325}
4326unsafe extern "C" {
4327    pub fn rocksdb_readoptions_set_iterate_lower_bound(
4328        arg1: *mut rocksdb_readoptions_t,
4329        key: *const libc::c_char,
4330        keylen: usize,
4331    );
4332}
4333unsafe extern "C" {
4334    pub fn rocksdb_readoptions_set_read_tier(arg1: *mut rocksdb_readoptions_t, arg2: libc::c_int);
4335}
4336unsafe extern "C" {
4337    pub fn rocksdb_readoptions_get_read_tier(arg1: *mut rocksdb_readoptions_t) -> libc::c_int;
4338}
4339unsafe extern "C" {
4340    pub fn rocksdb_readoptions_set_tailing(arg1: *mut rocksdb_readoptions_t, arg2: libc::c_uchar);
4341}
4342unsafe extern "C" {
4343    pub fn rocksdb_readoptions_get_tailing(arg1: *mut rocksdb_readoptions_t) -> libc::c_uchar;
4344}
4345unsafe extern "C" {
4346    pub fn rocksdb_readoptions_set_managed(arg1: *mut rocksdb_readoptions_t, arg2: libc::c_uchar);
4347}
4348unsafe extern "C" {
4349    pub fn rocksdb_readoptions_set_readahead_size(arg1: *mut rocksdb_readoptions_t, arg2: usize);
4350}
4351unsafe extern "C" {
4352    pub fn rocksdb_readoptions_get_readahead_size(arg1: *mut rocksdb_readoptions_t) -> usize;
4353}
4354unsafe extern "C" {
4355    pub fn rocksdb_readoptions_set_prefix_same_as_start(
4356        arg1: *mut rocksdb_readoptions_t,
4357        arg2: libc::c_uchar,
4358    );
4359}
4360unsafe extern "C" {
4361    pub fn rocksdb_readoptions_get_prefix_same_as_start(
4362        arg1: *mut rocksdb_readoptions_t,
4363    ) -> libc::c_uchar;
4364}
4365unsafe extern "C" {
4366    pub fn rocksdb_readoptions_set_pin_data(arg1: *mut rocksdb_readoptions_t, arg2: libc::c_uchar);
4367}
4368unsafe extern "C" {
4369    pub fn rocksdb_readoptions_get_pin_data(arg1: *mut rocksdb_readoptions_t) -> libc::c_uchar;
4370}
4371unsafe extern "C" {
4372    pub fn rocksdb_readoptions_set_total_order_seek(
4373        arg1: *mut rocksdb_readoptions_t,
4374        arg2: libc::c_uchar,
4375    );
4376}
4377unsafe extern "C" {
4378    pub fn rocksdb_readoptions_get_total_order_seek(
4379        arg1: *mut rocksdb_readoptions_t,
4380    ) -> libc::c_uchar;
4381}
4382unsafe extern "C" {
4383    pub fn rocksdb_readoptions_set_max_skippable_internal_keys(
4384        arg1: *mut rocksdb_readoptions_t,
4385        arg2: u64,
4386    );
4387}
4388unsafe extern "C" {
4389    pub fn rocksdb_readoptions_get_max_skippable_internal_keys(
4390        arg1: *mut rocksdb_readoptions_t,
4391    ) -> u64;
4392}
4393unsafe extern "C" {
4394    pub fn rocksdb_readoptions_set_background_purge_on_iterator_cleanup(
4395        arg1: *mut rocksdb_readoptions_t,
4396        arg2: libc::c_uchar,
4397    );
4398}
4399unsafe extern "C" {
4400    pub fn rocksdb_readoptions_get_background_purge_on_iterator_cleanup(
4401        arg1: *mut rocksdb_readoptions_t,
4402    ) -> libc::c_uchar;
4403}
4404unsafe extern "C" {
4405    pub fn rocksdb_readoptions_set_ignore_range_deletions(
4406        arg1: *mut rocksdb_readoptions_t,
4407        arg2: libc::c_uchar,
4408    );
4409}
4410unsafe extern "C" {
4411    pub fn rocksdb_readoptions_get_ignore_range_deletions(
4412        arg1: *mut rocksdb_readoptions_t,
4413    ) -> libc::c_uchar;
4414}
4415unsafe extern "C" {
4416    pub fn rocksdb_readoptions_set_deadline(arg1: *mut rocksdb_readoptions_t, microseconds: u64);
4417}
4418unsafe extern "C" {
4419    pub fn rocksdb_readoptions_get_deadline(arg1: *mut rocksdb_readoptions_t) -> u64;
4420}
4421unsafe extern "C" {
4422    pub fn rocksdb_readoptions_set_io_timeout(arg1: *mut rocksdb_readoptions_t, microseconds: u64);
4423}
4424unsafe extern "C" {
4425    pub fn rocksdb_readoptions_get_io_timeout(arg1: *mut rocksdb_readoptions_t) -> u64;
4426}
4427unsafe extern "C" {
4428    pub fn rocksdb_readoptions_set_async_io(arg1: *mut rocksdb_readoptions_t, arg2: libc::c_uchar);
4429}
4430unsafe extern "C" {
4431    pub fn rocksdb_readoptions_get_async_io(arg1: *mut rocksdb_readoptions_t) -> libc::c_uchar;
4432}
4433unsafe extern "C" {
4434    pub fn rocksdb_readoptions_set_timestamp(
4435        arg1: *mut rocksdb_readoptions_t,
4436        ts: *const libc::c_char,
4437        tslen: usize,
4438    );
4439}
4440unsafe extern "C" {
4441    pub fn rocksdb_readoptions_set_iter_start_ts(
4442        arg1: *mut rocksdb_readoptions_t,
4443        ts: *const libc::c_char,
4444        tslen: usize,
4445    );
4446}
4447unsafe extern "C" {
4448    pub fn rocksdb_readoptions_set_auto_readahead_size(
4449        arg1: *mut rocksdb_readoptions_t,
4450        arg2: libc::c_uchar,
4451    );
4452}
4453unsafe extern "C" {
4454    pub fn rocksdb_writeoptions_create() -> *mut rocksdb_writeoptions_t;
4455}
4456unsafe extern "C" {
4457    pub fn rocksdb_writeoptions_destroy(arg1: *mut rocksdb_writeoptions_t);
4458}
4459unsafe extern "C" {
4460    pub fn rocksdb_writeoptions_set_sync(arg1: *mut rocksdb_writeoptions_t, arg2: libc::c_uchar);
4461}
4462unsafe extern "C" {
4463    pub fn rocksdb_writeoptions_get_sync(arg1: *mut rocksdb_writeoptions_t) -> libc::c_uchar;
4464}
4465unsafe extern "C" {
4466    pub fn rocksdb_writeoptions_disable_WAL(opt: *mut rocksdb_writeoptions_t, disable: libc::c_int);
4467}
4468unsafe extern "C" {
4469    pub fn rocksdb_writeoptions_get_disable_WAL(opt: *mut rocksdb_writeoptions_t) -> libc::c_uchar;
4470}
4471unsafe extern "C" {
4472    pub fn rocksdb_writeoptions_set_ignore_missing_column_families(
4473        arg1: *mut rocksdb_writeoptions_t,
4474        arg2: libc::c_uchar,
4475    );
4476}
4477unsafe extern "C" {
4478    pub fn rocksdb_writeoptions_get_ignore_missing_column_families(
4479        arg1: *mut rocksdb_writeoptions_t,
4480    ) -> libc::c_uchar;
4481}
4482unsafe extern "C" {
4483    pub fn rocksdb_writeoptions_set_no_slowdown(
4484        arg1: *mut rocksdb_writeoptions_t,
4485        arg2: libc::c_uchar,
4486    );
4487}
4488unsafe extern "C" {
4489    pub fn rocksdb_writeoptions_get_no_slowdown(arg1: *mut rocksdb_writeoptions_t)
4490    -> libc::c_uchar;
4491}
4492unsafe extern "C" {
4493    pub fn rocksdb_writeoptions_set_low_pri(arg1: *mut rocksdb_writeoptions_t, arg2: libc::c_uchar);
4494}
4495unsafe extern "C" {
4496    pub fn rocksdb_writeoptions_get_low_pri(arg1: *mut rocksdb_writeoptions_t) -> libc::c_uchar;
4497}
4498unsafe extern "C" {
4499    pub fn rocksdb_writeoptions_set_memtable_insert_hint_per_batch(
4500        arg1: *mut rocksdb_writeoptions_t,
4501        arg2: libc::c_uchar,
4502    );
4503}
4504unsafe extern "C" {
4505    pub fn rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
4506        arg1: *mut rocksdb_writeoptions_t,
4507    ) -> libc::c_uchar;
4508}
4509unsafe extern "C" {
4510    pub fn rocksdb_compactoptions_create() -> *mut rocksdb_compactoptions_t;
4511}
4512unsafe extern "C" {
4513    pub fn rocksdb_compactoptions_destroy(arg1: *mut rocksdb_compactoptions_t);
4514}
4515unsafe extern "C" {
4516    pub fn rocksdb_compactoptions_set_exclusive_manual_compaction(
4517        arg1: *mut rocksdb_compactoptions_t,
4518        arg2: libc::c_uchar,
4519    );
4520}
4521unsafe extern "C" {
4522    pub fn rocksdb_compactoptions_get_exclusive_manual_compaction(
4523        arg1: *mut rocksdb_compactoptions_t,
4524    ) -> libc::c_uchar;
4525}
4526unsafe extern "C" {
4527    pub fn rocksdb_compactoptions_set_bottommost_level_compaction(
4528        arg1: *mut rocksdb_compactoptions_t,
4529        arg2: libc::c_uchar,
4530    );
4531}
4532unsafe extern "C" {
4533    pub fn rocksdb_compactoptions_get_bottommost_level_compaction(
4534        arg1: *mut rocksdb_compactoptions_t,
4535    ) -> libc::c_uchar;
4536}
4537unsafe extern "C" {
4538    pub fn rocksdb_compactoptions_set_change_level(
4539        arg1: *mut rocksdb_compactoptions_t,
4540        arg2: libc::c_uchar,
4541    );
4542}
4543unsafe extern "C" {
4544    pub fn rocksdb_compactoptions_get_change_level(
4545        arg1: *mut rocksdb_compactoptions_t,
4546    ) -> libc::c_uchar;
4547}
4548unsafe extern "C" {
4549    pub fn rocksdb_compactoptions_set_target_level(
4550        arg1: *mut rocksdb_compactoptions_t,
4551        arg2: libc::c_int,
4552    );
4553}
4554unsafe extern "C" {
4555    pub fn rocksdb_compactoptions_get_target_level(
4556        arg1: *mut rocksdb_compactoptions_t,
4557    ) -> libc::c_int;
4558}
4559unsafe extern "C" {
4560    pub fn rocksdb_compactoptions_set_target_path_id(
4561        arg1: *mut rocksdb_compactoptions_t,
4562        arg2: libc::c_int,
4563    );
4564}
4565unsafe extern "C" {
4566    pub fn rocksdb_compactoptions_get_target_path_id(
4567        arg1: *mut rocksdb_compactoptions_t,
4568    ) -> libc::c_int;
4569}
4570unsafe extern "C" {
4571    pub fn rocksdb_compactoptions_set_allow_write_stall(
4572        arg1: *mut rocksdb_compactoptions_t,
4573        arg2: libc::c_uchar,
4574    );
4575}
4576unsafe extern "C" {
4577    pub fn rocksdb_compactoptions_get_allow_write_stall(
4578        arg1: *mut rocksdb_compactoptions_t,
4579    ) -> libc::c_uchar;
4580}
4581unsafe extern "C" {
4582    pub fn rocksdb_compactoptions_set_max_subcompactions(
4583        arg1: *mut rocksdb_compactoptions_t,
4584        arg2: libc::c_int,
4585    );
4586}
4587unsafe extern "C" {
4588    pub fn rocksdb_compactoptions_get_max_subcompactions(
4589        arg1: *mut rocksdb_compactoptions_t,
4590    ) -> libc::c_int;
4591}
4592unsafe extern "C" {
4593    pub fn rocksdb_compactoptions_set_full_history_ts_low(
4594        arg1: *mut rocksdb_compactoptions_t,
4595        ts: *mut libc::c_char,
4596        tslen: usize,
4597    );
4598}
4599unsafe extern "C" {
4600    pub fn rocksdb_flushoptions_create() -> *mut rocksdb_flushoptions_t;
4601}
4602unsafe extern "C" {
4603    pub fn rocksdb_flushoptions_destroy(arg1: *mut rocksdb_flushoptions_t);
4604}
4605unsafe extern "C" {
4606    pub fn rocksdb_flushoptions_set_wait(arg1: *mut rocksdb_flushoptions_t, arg2: libc::c_uchar);
4607}
4608unsafe extern "C" {
4609    pub fn rocksdb_flushoptions_get_wait(arg1: *mut rocksdb_flushoptions_t) -> libc::c_uchar;
4610}
4611unsafe extern "C" {
4612    pub fn rocksdb_jemalloc_nodump_allocator_create(
4613        errptr: *mut *mut libc::c_char,
4614    ) -> *mut rocksdb_memory_allocator_t;
4615}
4616unsafe extern "C" {
4617    pub fn rocksdb_memory_allocator_destroy(arg1: *mut rocksdb_memory_allocator_t);
4618}
4619unsafe extern "C" {
4620    pub fn rocksdb_lru_cache_options_create() -> *mut rocksdb_lru_cache_options_t;
4621}
4622unsafe extern "C" {
4623    pub fn rocksdb_lru_cache_options_destroy(arg1: *mut rocksdb_lru_cache_options_t);
4624}
4625unsafe extern "C" {
4626    pub fn rocksdb_lru_cache_options_set_capacity(
4627        arg1: *mut rocksdb_lru_cache_options_t,
4628        arg2: usize,
4629    );
4630}
4631unsafe extern "C" {
4632    pub fn rocksdb_lru_cache_options_set_num_shard_bits(
4633        arg1: *mut rocksdb_lru_cache_options_t,
4634        arg2: libc::c_int,
4635    );
4636}
4637unsafe extern "C" {
4638    pub fn rocksdb_lru_cache_options_set_memory_allocator(
4639        arg1: *mut rocksdb_lru_cache_options_t,
4640        arg2: *mut rocksdb_memory_allocator_t,
4641    );
4642}
4643unsafe extern "C" {
4644    pub fn rocksdb_cache_create_lru(capacity: usize) -> *mut rocksdb_cache_t;
4645}
4646unsafe extern "C" {
4647    pub fn rocksdb_cache_create_lru_with_strict_capacity_limit(
4648        capacity: usize,
4649    ) -> *mut rocksdb_cache_t;
4650}
4651unsafe extern "C" {
4652    pub fn rocksdb_cache_create_lru_opts(
4653        arg1: *const rocksdb_lru_cache_options_t,
4654    ) -> *mut rocksdb_cache_t;
4655}
4656unsafe extern "C" {
4657    pub fn rocksdb_cache_destroy(cache: *mut rocksdb_cache_t);
4658}
4659unsafe extern "C" {
4660    pub fn rocksdb_cache_disown_data(cache: *mut rocksdb_cache_t);
4661}
4662unsafe extern "C" {
4663    pub fn rocksdb_cache_set_capacity(cache: *mut rocksdb_cache_t, capacity: usize);
4664}
4665unsafe extern "C" {
4666    pub fn rocksdb_cache_get_capacity(cache: *const rocksdb_cache_t) -> usize;
4667}
4668unsafe extern "C" {
4669    pub fn rocksdb_cache_get_usage(cache: *const rocksdb_cache_t) -> usize;
4670}
4671unsafe extern "C" {
4672    pub fn rocksdb_cache_get_pinned_usage(cache: *const rocksdb_cache_t) -> usize;
4673}
4674unsafe extern "C" {
4675    pub fn rocksdb_cache_get_table_address_count(cache: *const rocksdb_cache_t) -> usize;
4676}
4677unsafe extern "C" {
4678    pub fn rocksdb_cache_get_occupancy_count(cache: *const rocksdb_cache_t) -> usize;
4679}
4680unsafe extern "C" {
4681    pub fn rocksdb_write_buffer_manager_create(
4682        buffer_size: usize,
4683        allow_stall: bool,
4684    ) -> *mut rocksdb_write_buffer_manager_t;
4685}
4686unsafe extern "C" {
4687    pub fn rocksdb_write_buffer_manager_create_with_cache(
4688        buffer_size: usize,
4689        cache: *const rocksdb_cache_t,
4690        allow_stall: bool,
4691    ) -> *mut rocksdb_write_buffer_manager_t;
4692}
4693unsafe extern "C" {
4694    pub fn rocksdb_write_buffer_manager_destroy(wbm: *mut rocksdb_write_buffer_manager_t);
4695}
4696unsafe extern "C" {
4697    pub fn rocksdb_write_buffer_manager_enabled(wbm: *mut rocksdb_write_buffer_manager_t) -> bool;
4698}
4699unsafe extern "C" {
4700    pub fn rocksdb_write_buffer_manager_cost_to_cache(
4701        wbm: *mut rocksdb_write_buffer_manager_t,
4702    ) -> bool;
4703}
4704unsafe extern "C" {
4705    pub fn rocksdb_write_buffer_manager_memory_usage(
4706        wbm: *mut rocksdb_write_buffer_manager_t,
4707    ) -> usize;
4708}
4709unsafe extern "C" {
4710    pub fn rocksdb_write_buffer_manager_mutable_memtable_memory_usage(
4711        wbm: *mut rocksdb_write_buffer_manager_t,
4712    ) -> usize;
4713}
4714unsafe extern "C" {
4715    pub fn rocksdb_write_buffer_manager_dummy_entries_in_cache_usage(
4716        wbm: *mut rocksdb_write_buffer_manager_t,
4717    ) -> usize;
4718}
4719unsafe extern "C" {
4720    pub fn rocksdb_write_buffer_manager_buffer_size(
4721        wbm: *mut rocksdb_write_buffer_manager_t,
4722    ) -> usize;
4723}
4724unsafe extern "C" {
4725    pub fn rocksdb_write_buffer_manager_set_buffer_size(
4726        wbm: *mut rocksdb_write_buffer_manager_t,
4727        new_size: usize,
4728    );
4729}
4730unsafe extern "C" {
4731    pub fn rocksdb_write_buffer_manager_set_allow_stall(
4732        wbm: *mut rocksdb_write_buffer_manager_t,
4733        new_allow_stall: bool,
4734    );
4735}
4736unsafe extern "C" {
4737    pub fn rocksdb_sst_file_manager_create(
4738        env: *mut rocksdb_env_t,
4739    ) -> *mut rocksdb_sst_file_manager_t;
4740}
4741unsafe extern "C" {
4742    pub fn rocksdb_sst_file_manager_destroy(sfm: *mut rocksdb_sst_file_manager_t);
4743}
4744unsafe extern "C" {
4745    pub fn rocksdb_sst_file_manager_set_max_allowed_space_usage(
4746        sfm: *mut rocksdb_sst_file_manager_t,
4747        max_allowed_space: u64,
4748    );
4749}
4750unsafe extern "C" {
4751    pub fn rocksdb_sst_file_manager_set_compaction_buffer_size(
4752        sfm: *mut rocksdb_sst_file_manager_t,
4753        compaction_buffer_size: u64,
4754    );
4755}
4756unsafe extern "C" {
4757    pub fn rocksdb_sst_file_manager_is_max_allowed_space_reached(
4758        sfm: *mut rocksdb_sst_file_manager_t,
4759    ) -> bool;
4760}
4761unsafe extern "C" {
4762    pub fn rocksdb_sst_file_manager_is_max_allowed_space_reached_including_compactions(
4763        sfm: *mut rocksdb_sst_file_manager_t,
4764    ) -> bool;
4765}
4766unsafe extern "C" {
4767    pub fn rocksdb_sst_file_manager_get_total_size(sfm: *mut rocksdb_sst_file_manager_t) -> u64;
4768}
4769unsafe extern "C" {
4770    pub fn rocksdb_sst_file_manager_get_delete_rate_bytes_per_second(
4771        sfm: *mut rocksdb_sst_file_manager_t,
4772    ) -> i64;
4773}
4774unsafe extern "C" {
4775    pub fn rocksdb_sst_file_manager_set_delete_rate_bytes_per_second(
4776        sfm: *mut rocksdb_sst_file_manager_t,
4777        delete_rate: i64,
4778    );
4779}
4780unsafe extern "C" {
4781    pub fn rocksdb_sst_file_manager_get_max_trash_db_ratio(
4782        sfm: *mut rocksdb_sst_file_manager_t,
4783    ) -> f64;
4784}
4785unsafe extern "C" {
4786    pub fn rocksdb_sst_file_manager_set_max_trash_db_ratio(
4787        sfm: *mut rocksdb_sst_file_manager_t,
4788        ratio: f64,
4789    );
4790}
4791unsafe extern "C" {
4792    pub fn rocksdb_sst_file_manager_get_total_trash_size(
4793        sfm: *mut rocksdb_sst_file_manager_t,
4794    ) -> u64;
4795}
4796unsafe extern "C" {
4797    pub fn rocksdb_hyper_clock_cache_options_create(
4798        capacity: usize,
4799        estimated_entry_charge: usize,
4800    ) -> *mut rocksdb_hyper_clock_cache_options_t;
4801}
4802unsafe extern "C" {
4803    pub fn rocksdb_hyper_clock_cache_options_destroy(
4804        arg1: *mut rocksdb_hyper_clock_cache_options_t,
4805    );
4806}
4807unsafe extern "C" {
4808    pub fn rocksdb_hyper_clock_cache_options_set_capacity(
4809        arg1: *mut rocksdb_hyper_clock_cache_options_t,
4810        arg2: usize,
4811    );
4812}
4813unsafe extern "C" {
4814    pub fn rocksdb_hyper_clock_cache_options_set_estimated_entry_charge(
4815        arg1: *mut rocksdb_hyper_clock_cache_options_t,
4816        arg2: usize,
4817    );
4818}
4819unsafe extern "C" {
4820    pub fn rocksdb_hyper_clock_cache_options_set_num_shard_bits(
4821        arg1: *mut rocksdb_hyper_clock_cache_options_t,
4822        arg2: libc::c_int,
4823    );
4824}
4825unsafe extern "C" {
4826    pub fn rocksdb_hyper_clock_cache_options_set_memory_allocator(
4827        arg1: *mut rocksdb_hyper_clock_cache_options_t,
4828        arg2: *mut rocksdb_memory_allocator_t,
4829    );
4830}
4831unsafe extern "C" {
4832    pub fn rocksdb_cache_create_hyper_clock(
4833        capacity: usize,
4834        estimated_entry_charge: usize,
4835    ) -> *mut rocksdb_cache_t;
4836}
4837unsafe extern "C" {
4838    pub fn rocksdb_cache_create_hyper_clock_opts(
4839        arg1: *const rocksdb_hyper_clock_cache_options_t,
4840    ) -> *mut rocksdb_cache_t;
4841}
4842unsafe extern "C" {
4843    pub fn rocksdb_dbpath_create(
4844        path: *const libc::c_char,
4845        target_size: u64,
4846    ) -> *mut rocksdb_dbpath_t;
4847}
4848unsafe extern "C" {
4849    pub fn rocksdb_dbpath_destroy(arg1: *mut rocksdb_dbpath_t);
4850}
4851unsafe extern "C" {
4852    pub fn rocksdb_create_default_env() -> *mut rocksdb_env_t;
4853}
4854unsafe extern "C" {
4855    pub fn rocksdb_create_mem_env() -> *mut rocksdb_env_t;
4856}
4857unsafe extern "C" {
4858    pub fn rocksdb_env_set_background_threads(env: *mut rocksdb_env_t, n: libc::c_int);
4859}
4860unsafe extern "C" {
4861    pub fn rocksdb_env_get_background_threads(env: *mut rocksdb_env_t) -> libc::c_int;
4862}
4863unsafe extern "C" {
4864    pub fn rocksdb_env_set_high_priority_background_threads(
4865        env: *mut rocksdb_env_t,
4866        n: libc::c_int,
4867    );
4868}
4869unsafe extern "C" {
4870    pub fn rocksdb_env_get_high_priority_background_threads(env: *mut rocksdb_env_t)
4871    -> libc::c_int;
4872}
4873unsafe extern "C" {
4874    pub fn rocksdb_env_set_low_priority_background_threads(env: *mut rocksdb_env_t, n: libc::c_int);
4875}
4876unsafe extern "C" {
4877    pub fn rocksdb_env_get_low_priority_background_threads(env: *mut rocksdb_env_t) -> libc::c_int;
4878}
4879unsafe extern "C" {
4880    pub fn rocksdb_env_set_bottom_priority_background_threads(
4881        env: *mut rocksdb_env_t,
4882        n: libc::c_int,
4883    );
4884}
4885unsafe extern "C" {
4886    pub fn rocksdb_env_get_bottom_priority_background_threads(
4887        env: *mut rocksdb_env_t,
4888    ) -> libc::c_int;
4889}
4890unsafe extern "C" {
4891    pub fn rocksdb_env_join_all_threads(env: *mut rocksdb_env_t);
4892}
4893unsafe extern "C" {
4894    pub fn rocksdb_env_lower_thread_pool_io_priority(env: *mut rocksdb_env_t);
4895}
4896unsafe extern "C" {
4897    pub fn rocksdb_env_lower_high_priority_thread_pool_io_priority(env: *mut rocksdb_env_t);
4898}
4899unsafe extern "C" {
4900    pub fn rocksdb_env_lower_thread_pool_cpu_priority(env: *mut rocksdb_env_t);
4901}
4902unsafe extern "C" {
4903    pub fn rocksdb_env_lower_high_priority_thread_pool_cpu_priority(env: *mut rocksdb_env_t);
4904}
4905unsafe extern "C" {
4906    pub fn rocksdb_env_destroy(arg1: *mut rocksdb_env_t);
4907}
4908unsafe extern "C" {
4909    pub fn rocksdb_envoptions_create() -> *mut rocksdb_envoptions_t;
4910}
4911unsafe extern "C" {
4912    pub fn rocksdb_envoptions_destroy(opt: *mut rocksdb_envoptions_t);
4913}
4914unsafe extern "C" {
4915    pub fn rocksdb_create_dir_if_missing(
4916        env: *mut rocksdb_env_t,
4917        path: *const libc::c_char,
4918        errptr: *mut *mut libc::c_char,
4919    );
4920}
4921unsafe extern "C" {
4922    pub fn rocksdb_sstfilewriter_create(
4923        env: *const rocksdb_envoptions_t,
4924        io_options: *const rocksdb_options_t,
4925    ) -> *mut rocksdb_sstfilewriter_t;
4926}
4927unsafe extern "C" {
4928    pub fn rocksdb_sstfilewriter_create_with_comparator(
4929        env: *const rocksdb_envoptions_t,
4930        io_options: *const rocksdb_options_t,
4931        comparator: *const rocksdb_comparator_t,
4932    ) -> *mut rocksdb_sstfilewriter_t;
4933}
4934unsafe extern "C" {
4935    pub fn rocksdb_sstfilewriter_open(
4936        writer: *mut rocksdb_sstfilewriter_t,
4937        name: *const libc::c_char,
4938        errptr: *mut *mut libc::c_char,
4939    );
4940}
4941unsafe extern "C" {
4942    pub fn rocksdb_sstfilewriter_add(
4943        writer: *mut rocksdb_sstfilewriter_t,
4944        key: *const libc::c_char,
4945        keylen: usize,
4946        val: *const libc::c_char,
4947        vallen: usize,
4948        errptr: *mut *mut libc::c_char,
4949    );
4950}
4951unsafe extern "C" {
4952    pub fn rocksdb_sstfilewriter_put(
4953        writer: *mut rocksdb_sstfilewriter_t,
4954        key: *const libc::c_char,
4955        keylen: usize,
4956        val: *const libc::c_char,
4957        vallen: usize,
4958        errptr: *mut *mut libc::c_char,
4959    );
4960}
4961unsafe extern "C" {
4962    pub fn rocksdb_sstfilewriter_put_with_ts(
4963        writer: *mut rocksdb_sstfilewriter_t,
4964        key: *const libc::c_char,
4965        keylen: usize,
4966        ts: *const libc::c_char,
4967        tslen: usize,
4968        val: *const libc::c_char,
4969        vallen: usize,
4970        errptr: *mut *mut libc::c_char,
4971    );
4972}
4973unsafe extern "C" {
4974    pub fn rocksdb_sstfilewriter_merge(
4975        writer: *mut rocksdb_sstfilewriter_t,
4976        key: *const libc::c_char,
4977        keylen: usize,
4978        val: *const libc::c_char,
4979        vallen: usize,
4980        errptr: *mut *mut libc::c_char,
4981    );
4982}
4983unsafe extern "C" {
4984    pub fn rocksdb_sstfilewriter_delete(
4985        writer: *mut rocksdb_sstfilewriter_t,
4986        key: *const libc::c_char,
4987        keylen: usize,
4988        errptr: *mut *mut libc::c_char,
4989    );
4990}
4991unsafe extern "C" {
4992    pub fn rocksdb_sstfilewriter_delete_with_ts(
4993        writer: *mut rocksdb_sstfilewriter_t,
4994        key: *const libc::c_char,
4995        keylen: usize,
4996        ts: *const libc::c_char,
4997        tslen: usize,
4998        errptr: *mut *mut libc::c_char,
4999    );
5000}
5001unsafe extern "C" {
5002    pub fn rocksdb_sstfilewriter_delete_range(
5003        writer: *mut rocksdb_sstfilewriter_t,
5004        begin_key: *const libc::c_char,
5005        begin_keylen: usize,
5006        end_key: *const libc::c_char,
5007        end_keylen: usize,
5008        errptr: *mut *mut libc::c_char,
5009    );
5010}
5011unsafe extern "C" {
5012    pub fn rocksdb_sstfilewriter_finish(
5013        writer: *mut rocksdb_sstfilewriter_t,
5014        errptr: *mut *mut libc::c_char,
5015    );
5016}
5017unsafe extern "C" {
5018    pub fn rocksdb_sstfilewriter_file_size(
5019        writer: *mut rocksdb_sstfilewriter_t,
5020        file_size: *mut u64,
5021    );
5022}
5023unsafe extern "C" {
5024    pub fn rocksdb_sstfilewriter_destroy(writer: *mut rocksdb_sstfilewriter_t);
5025}
5026unsafe extern "C" {
5027    pub fn rocksdb_ingestexternalfileoptions_create() -> *mut rocksdb_ingestexternalfileoptions_t;
5028}
5029unsafe extern "C" {
5030    pub fn rocksdb_ingestexternalfileoptions_set_move_files(
5031        opt: *mut rocksdb_ingestexternalfileoptions_t,
5032        move_files: libc::c_uchar,
5033    );
5034}
5035unsafe extern "C" {
5036    pub fn rocksdb_ingestexternalfileoptions_set_snapshot_consistency(
5037        opt: *mut rocksdb_ingestexternalfileoptions_t,
5038        snapshot_consistency: libc::c_uchar,
5039    );
5040}
5041unsafe extern "C" {
5042    pub fn rocksdb_ingestexternalfileoptions_set_allow_global_seqno(
5043        opt: *mut rocksdb_ingestexternalfileoptions_t,
5044        allow_global_seqno: libc::c_uchar,
5045    );
5046}
5047unsafe extern "C" {
5048    pub fn rocksdb_ingestexternalfileoptions_set_allow_blocking_flush(
5049        opt: *mut rocksdb_ingestexternalfileoptions_t,
5050        allow_blocking_flush: libc::c_uchar,
5051    );
5052}
5053unsafe extern "C" {
5054    pub fn rocksdb_ingestexternalfileoptions_set_ingest_behind(
5055        opt: *mut rocksdb_ingestexternalfileoptions_t,
5056        ingest_behind: libc::c_uchar,
5057    );
5058}
5059unsafe extern "C" {
5060    pub fn rocksdb_ingestexternalfileoptions_set_fail_if_not_bottommost_level(
5061        opt: *mut rocksdb_ingestexternalfileoptions_t,
5062        fail_if_not_bottommost_level: libc::c_uchar,
5063    );
5064}
5065unsafe extern "C" {
5066    pub fn rocksdb_ingestexternalfileoptions_destroy(opt: *mut rocksdb_ingestexternalfileoptions_t);
5067}
5068unsafe extern "C" {
5069    pub fn rocksdb_ingest_external_file(
5070        db: *mut rocksdb_t,
5071        file_list: *const *const libc::c_char,
5072        list_len: usize,
5073        opt: *const rocksdb_ingestexternalfileoptions_t,
5074        errptr: *mut *mut libc::c_char,
5075    );
5076}
5077unsafe extern "C" {
5078    pub fn rocksdb_ingest_external_file_cf(
5079        db: *mut rocksdb_t,
5080        handle: *mut rocksdb_column_family_handle_t,
5081        file_list: *const *const libc::c_char,
5082        list_len: usize,
5083        opt: *const rocksdb_ingestexternalfileoptions_t,
5084        errptr: *mut *mut libc::c_char,
5085    );
5086}
5087unsafe extern "C" {
5088    pub fn rocksdb_try_catch_up_with_primary(db: *mut rocksdb_t, errptr: *mut *mut libc::c_char);
5089}
5090unsafe extern "C" {
5091    pub fn rocksdb_slicetransform_create(
5092        state: *mut libc::c_void,
5093        destructor: ::std::option::Option<unsafe extern "C" fn(arg1: *mut libc::c_void)>,
5094        transform: ::std::option::Option<
5095            unsafe extern "C" fn(
5096                arg1: *mut libc::c_void,
5097                key: *const libc::c_char,
5098                length: usize,
5099                dst_length: *mut usize,
5100            ) -> *mut libc::c_char,
5101        >,
5102        in_domain: ::std::option::Option<
5103            unsafe extern "C" fn(
5104                arg1: *mut libc::c_void,
5105                key: *const libc::c_char,
5106                length: usize,
5107            ) -> libc::c_uchar,
5108        >,
5109        in_range: ::std::option::Option<
5110            unsafe extern "C" fn(
5111                arg1: *mut libc::c_void,
5112                key: *const libc::c_char,
5113                length: usize,
5114            ) -> libc::c_uchar,
5115        >,
5116        name: ::std::option::Option<
5117            unsafe extern "C" fn(arg1: *mut libc::c_void) -> *const libc::c_char,
5118        >,
5119    ) -> *mut rocksdb_slicetransform_t;
5120}
5121unsafe extern "C" {
5122    pub fn rocksdb_slicetransform_create_fixed_prefix(arg1: usize)
5123    -> *mut rocksdb_slicetransform_t;
5124}
5125unsafe extern "C" {
5126    pub fn rocksdb_slicetransform_create_noop() -> *mut rocksdb_slicetransform_t;
5127}
5128unsafe extern "C" {
5129    pub fn rocksdb_slicetransform_destroy(arg1: *mut rocksdb_slicetransform_t);
5130}
5131pub const rocksdb_similar_size_compaction_stop_style: _bindgen_ty_13 = 0;
5132pub const rocksdb_total_size_compaction_stop_style: _bindgen_ty_13 = 1;
5133pub type _bindgen_ty_13 = libc::c_uint;
5134unsafe extern "C" {
5135    pub fn rocksdb_universal_compaction_options_create()
5136    -> *mut rocksdb_universal_compaction_options_t;
5137}
5138unsafe extern "C" {
5139    pub fn rocksdb_universal_compaction_options_set_size_ratio(
5140        arg1: *mut rocksdb_universal_compaction_options_t,
5141        arg2: libc::c_int,
5142    );
5143}
5144unsafe extern "C" {
5145    pub fn rocksdb_universal_compaction_options_get_size_ratio(
5146        arg1: *mut rocksdb_universal_compaction_options_t,
5147    ) -> libc::c_int;
5148}
5149unsafe extern "C" {
5150    pub fn rocksdb_universal_compaction_options_set_min_merge_width(
5151        arg1: *mut rocksdb_universal_compaction_options_t,
5152        arg2: libc::c_int,
5153    );
5154}
5155unsafe extern "C" {
5156    pub fn rocksdb_universal_compaction_options_get_min_merge_width(
5157        arg1: *mut rocksdb_universal_compaction_options_t,
5158    ) -> libc::c_int;
5159}
5160unsafe extern "C" {
5161    pub fn rocksdb_universal_compaction_options_set_max_merge_width(
5162        arg1: *mut rocksdb_universal_compaction_options_t,
5163        arg2: libc::c_int,
5164    );
5165}
5166unsafe extern "C" {
5167    pub fn rocksdb_universal_compaction_options_get_max_merge_width(
5168        arg1: *mut rocksdb_universal_compaction_options_t,
5169    ) -> libc::c_int;
5170}
5171unsafe extern "C" {
5172    pub fn rocksdb_universal_compaction_options_set_max_size_amplification_percent(
5173        arg1: *mut rocksdb_universal_compaction_options_t,
5174        arg2: libc::c_int,
5175    );
5176}
5177unsafe extern "C" {
5178    pub fn rocksdb_universal_compaction_options_get_max_size_amplification_percent(
5179        arg1: *mut rocksdb_universal_compaction_options_t,
5180    ) -> libc::c_int;
5181}
5182unsafe extern "C" {
5183    pub fn rocksdb_universal_compaction_options_set_compression_size_percent(
5184        arg1: *mut rocksdb_universal_compaction_options_t,
5185        arg2: libc::c_int,
5186    );
5187}
5188unsafe extern "C" {
5189    pub fn rocksdb_universal_compaction_options_get_compression_size_percent(
5190        arg1: *mut rocksdb_universal_compaction_options_t,
5191    ) -> libc::c_int;
5192}
5193unsafe extern "C" {
5194    pub fn rocksdb_universal_compaction_options_set_stop_style(
5195        arg1: *mut rocksdb_universal_compaction_options_t,
5196        arg2: libc::c_int,
5197    );
5198}
5199unsafe extern "C" {
5200    pub fn rocksdb_universal_compaction_options_get_stop_style(
5201        arg1: *mut rocksdb_universal_compaction_options_t,
5202    ) -> libc::c_int;
5203}
5204unsafe extern "C" {
5205    pub fn rocksdb_universal_compaction_options_destroy(
5206        arg1: *mut rocksdb_universal_compaction_options_t,
5207    );
5208}
5209unsafe extern "C" {
5210    pub fn rocksdb_fifo_compaction_options_create() -> *mut rocksdb_fifo_compaction_options_t;
5211}
5212unsafe extern "C" {
5213    pub fn rocksdb_fifo_compaction_options_set_allow_compaction(
5214        fifo_opts: *mut rocksdb_fifo_compaction_options_t,
5215        allow_compaction: libc::c_uchar,
5216    );
5217}
5218unsafe extern "C" {
5219    pub fn rocksdb_fifo_compaction_options_get_allow_compaction(
5220        fifo_opts: *mut rocksdb_fifo_compaction_options_t,
5221    ) -> libc::c_uchar;
5222}
5223unsafe extern "C" {
5224    pub fn rocksdb_fifo_compaction_options_set_max_table_files_size(
5225        fifo_opts: *mut rocksdb_fifo_compaction_options_t,
5226        size: u64,
5227    );
5228}
5229unsafe extern "C" {
5230    pub fn rocksdb_fifo_compaction_options_get_max_table_files_size(
5231        fifo_opts: *mut rocksdb_fifo_compaction_options_t,
5232    ) -> u64;
5233}
5234unsafe extern "C" {
5235    pub fn rocksdb_fifo_compaction_options_destroy(
5236        fifo_opts: *mut rocksdb_fifo_compaction_options_t,
5237    );
5238}
5239unsafe extern "C" {
5240    pub fn rocksdb_livefiles_count(arg1: *const rocksdb_livefiles_t) -> libc::c_int;
5241}
5242unsafe extern "C" {
5243    pub fn rocksdb_livefiles_column_family_name(
5244        arg1: *const rocksdb_livefiles_t,
5245        index: libc::c_int,
5246    ) -> *const libc::c_char;
5247}
5248unsafe extern "C" {
5249    pub fn rocksdb_livefiles_name(
5250        arg1: *const rocksdb_livefiles_t,
5251        index: libc::c_int,
5252    ) -> *const libc::c_char;
5253}
5254unsafe extern "C" {
5255    pub fn rocksdb_livefiles_level(
5256        arg1: *const rocksdb_livefiles_t,
5257        index: libc::c_int,
5258    ) -> libc::c_int;
5259}
5260unsafe extern "C" {
5261    pub fn rocksdb_livefiles_size(arg1: *const rocksdb_livefiles_t, index: libc::c_int) -> usize;
5262}
5263unsafe extern "C" {
5264    pub fn rocksdb_livefiles_smallestkey(
5265        arg1: *const rocksdb_livefiles_t,
5266        index: libc::c_int,
5267        size: *mut usize,
5268    ) -> *const libc::c_char;
5269}
5270unsafe extern "C" {
5271    pub fn rocksdb_livefiles_largestkey(
5272        arg1: *const rocksdb_livefiles_t,
5273        index: libc::c_int,
5274        size: *mut usize,
5275    ) -> *const libc::c_char;
5276}
5277unsafe extern "C" {
5278    pub fn rocksdb_livefiles_entries(arg1: *const rocksdb_livefiles_t, index: libc::c_int) -> u64;
5279}
5280unsafe extern "C" {
5281    pub fn rocksdb_livefiles_deletions(arg1: *const rocksdb_livefiles_t, index: libc::c_int)
5282    -> u64;
5283}
5284unsafe extern "C" {
5285    pub fn rocksdb_livefiles_destroy(arg1: *const rocksdb_livefiles_t);
5286}
5287unsafe extern "C" {
5288    pub fn rocksdb_get_options_from_string(
5289        base_options: *const rocksdb_options_t,
5290        opts_str: *const libc::c_char,
5291        new_options: *mut rocksdb_options_t,
5292        errptr: *mut *mut libc::c_char,
5293    );
5294}
5295unsafe extern "C" {
5296    pub fn rocksdb_delete_file_in_range(
5297        db: *mut rocksdb_t,
5298        start_key: *const libc::c_char,
5299        start_key_len: usize,
5300        limit_key: *const libc::c_char,
5301        limit_key_len: usize,
5302        errptr: *mut *mut libc::c_char,
5303    );
5304}
5305unsafe extern "C" {
5306    pub fn rocksdb_delete_file_in_range_cf(
5307        db: *mut rocksdb_t,
5308        column_family: *mut rocksdb_column_family_handle_t,
5309        start_key: *const libc::c_char,
5310        start_key_len: usize,
5311        limit_key: *const libc::c_char,
5312        limit_key_len: usize,
5313        errptr: *mut *mut libc::c_char,
5314    );
5315}
5316unsafe extern "C" {
5317    pub fn rocksdb_get_column_family_metadata(
5318        db: *mut rocksdb_t,
5319    ) -> *mut rocksdb_column_family_metadata_t;
5320}
5321unsafe extern "C" {
5322    #[doc = " Returns the rocksdb_column_family_metadata_t of the specified\n column family.\n\n Note that the caller is responsible to release the returned memory\n using rocksdb_column_family_metadata_destroy."]
5323    pub fn rocksdb_get_column_family_metadata_cf(
5324        db: *mut rocksdb_t,
5325        column_family: *mut rocksdb_column_family_handle_t,
5326    ) -> *mut rocksdb_column_family_metadata_t;
5327}
5328unsafe extern "C" {
5329    pub fn rocksdb_column_family_metadata_destroy(cf_meta: *mut rocksdb_column_family_metadata_t);
5330}
5331unsafe extern "C" {
5332    pub fn rocksdb_column_family_metadata_get_size(
5333        cf_meta: *mut rocksdb_column_family_metadata_t,
5334    ) -> u64;
5335}
5336unsafe extern "C" {
5337    pub fn rocksdb_column_family_metadata_get_file_count(
5338        cf_meta: *mut rocksdb_column_family_metadata_t,
5339    ) -> usize;
5340}
5341unsafe extern "C" {
5342    pub fn rocksdb_column_family_metadata_get_name(
5343        cf_meta: *mut rocksdb_column_family_metadata_t,
5344    ) -> *mut libc::c_char;
5345}
5346unsafe extern "C" {
5347    pub fn rocksdb_column_family_metadata_get_level_count(
5348        cf_meta: *mut rocksdb_column_family_metadata_t,
5349    ) -> usize;
5350}
5351unsafe extern "C" {
5352    #[doc = " Returns the rocksdb_level_metadata_t of the ith level from the specified\n column family metadata.\n\n If the specified i is greater than or equal to the number of levels\n in the specified column family, then NULL will be returned.\n\n Note that the caller is responsible to release the returned memory\n using rocksdb_level_metadata_destroy before releasing its parent\n rocksdb_column_family_metadata_t."]
5353    pub fn rocksdb_column_family_metadata_get_level_metadata(
5354        cf_meta: *mut rocksdb_column_family_metadata_t,
5355        i: usize,
5356    ) -> *mut rocksdb_level_metadata_t;
5357}
5358unsafe extern "C" {
5359    #[doc = " Releases the specified rocksdb_level_metadata_t.\n\n Note that the specified rocksdb_level_metadata_t must be released\n before the release of its parent rocksdb_column_family_metadata_t."]
5360    pub fn rocksdb_level_metadata_destroy(level_meta: *mut rocksdb_level_metadata_t);
5361}
5362unsafe extern "C" {
5363    pub fn rocksdb_level_metadata_get_level(
5364        level_meta: *mut rocksdb_level_metadata_t,
5365    ) -> libc::c_int;
5366}
5367unsafe extern "C" {
5368    pub fn rocksdb_level_metadata_get_size(level_meta: *mut rocksdb_level_metadata_t) -> u64;
5369}
5370unsafe extern "C" {
5371    pub fn rocksdb_level_metadata_get_file_count(
5372        level_meta: *mut rocksdb_level_metadata_t,
5373    ) -> usize;
5374}
5375unsafe extern "C" {
5376    #[doc = " Returns the sst_file_metadata_t of the ith file from the specified level\n metadata.\n\n If the specified i is greater than or equal to the number of files\n in the specified level, then NULL will be returned.\n\n Note that the caller is responsible to release the returned memory\n using rocksdb_sst_file_metadata_destroy before releasing its\n parent rocksdb_level_metadata_t."]
5377    pub fn rocksdb_level_metadata_get_sst_file_metadata(
5378        level_meta: *mut rocksdb_level_metadata_t,
5379        i: usize,
5380    ) -> *mut rocksdb_sst_file_metadata_t;
5381}
5382unsafe extern "C" {
5383    #[doc = " Releases the specified rocksdb_sst_file_metadata_t.\n\n Note that the specified rocksdb_sst_file_metadata_t must be released\n before the release of its parent rocksdb_level_metadata_t."]
5384    pub fn rocksdb_sst_file_metadata_destroy(file_meta: *mut rocksdb_sst_file_metadata_t);
5385}
5386unsafe extern "C" {
5387    pub fn rocksdb_sst_file_metadata_get_relative_filename(
5388        file_meta: *mut rocksdb_sst_file_metadata_t,
5389    ) -> *mut libc::c_char;
5390}
5391unsafe extern "C" {
5392    pub fn rocksdb_sst_file_metadata_get_directory(
5393        file_meta: *mut rocksdb_sst_file_metadata_t,
5394    ) -> *mut libc::c_char;
5395}
5396unsafe extern "C" {
5397    pub fn rocksdb_sst_file_metadata_get_size(file_meta: *mut rocksdb_sst_file_metadata_t) -> u64;
5398}
5399unsafe extern "C" {
5400    #[doc = " Returns the smallest key of the specified sst file.\n The caller is responsible for releasing the returned memory.\n\n @param file_meta the metadata of an SST file to obtain its smallest key.\n @param len the out value which will contain the length of the returned key\n     after the function call."]
5401    pub fn rocksdb_sst_file_metadata_get_smallestkey(
5402        file_meta: *mut rocksdb_sst_file_metadata_t,
5403        len: *mut usize,
5404    ) -> *mut libc::c_char;
5405}
5406unsafe extern "C" {
5407    #[doc = " Returns the smallest key of the specified sst file.\n The caller is responsible for releasing the returned memory.\n\n @param file_meta the metadata of an SST file to obtain its smallest key.\n @param len the out value which will contain the length of the returned key\n     after the function call."]
5408    pub fn rocksdb_sst_file_metadata_get_largestkey(
5409        file_meta: *mut rocksdb_sst_file_metadata_t,
5410        len: *mut usize,
5411    ) -> *mut libc::c_char;
5412}
5413unsafe extern "C" {
5414    pub fn rocksdb_transactiondb_create_column_family(
5415        txn_db: *mut rocksdb_transactiondb_t,
5416        column_family_options: *const rocksdb_options_t,
5417        column_family_name: *const libc::c_char,
5418        errptr: *mut *mut libc::c_char,
5419    ) -> *mut rocksdb_column_family_handle_t;
5420}
5421unsafe extern "C" {
5422    pub fn rocksdb_transactiondb_open(
5423        options: *const rocksdb_options_t,
5424        txn_db_options: *const rocksdb_transactiondb_options_t,
5425        name: *const libc::c_char,
5426        errptr: *mut *mut libc::c_char,
5427    ) -> *mut rocksdb_transactiondb_t;
5428}
5429unsafe extern "C" {
5430    pub fn rocksdb_transactiondb_open_column_families(
5431        options: *const rocksdb_options_t,
5432        txn_db_options: *const rocksdb_transactiondb_options_t,
5433        name: *const libc::c_char,
5434        num_column_families: libc::c_int,
5435        column_family_names: *const *const libc::c_char,
5436        column_family_options: *const *const rocksdb_options_t,
5437        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
5438        errptr: *mut *mut libc::c_char,
5439    ) -> *mut rocksdb_transactiondb_t;
5440}
5441unsafe extern "C" {
5442    pub fn rocksdb_transactiondb_create_snapshot(
5443        txn_db: *mut rocksdb_transactiondb_t,
5444    ) -> *const rocksdb_snapshot_t;
5445}
5446unsafe extern "C" {
5447    pub fn rocksdb_transactiondb_release_snapshot(
5448        txn_db: *mut rocksdb_transactiondb_t,
5449        snapshot: *const rocksdb_snapshot_t,
5450    );
5451}
5452unsafe extern "C" {
5453    pub fn rocksdb_transactiondb_property_value(
5454        db: *mut rocksdb_transactiondb_t,
5455        propname: *const libc::c_char,
5456    ) -> *mut libc::c_char;
5457}
5458unsafe extern "C" {
5459    pub fn rocksdb_transactiondb_property_int(
5460        db: *mut rocksdb_transactiondb_t,
5461        propname: *const libc::c_char,
5462        out_val: *mut u64,
5463    ) -> libc::c_int;
5464}
5465unsafe extern "C" {
5466    pub fn rocksdb_transactiondb_get_base_db(
5467        txn_db: *mut rocksdb_transactiondb_t,
5468    ) -> *mut rocksdb_t;
5469}
5470unsafe extern "C" {
5471    pub fn rocksdb_transactiondb_close_base_db(base_db: *mut rocksdb_t);
5472}
5473unsafe extern "C" {
5474    pub fn rocksdb_transaction_begin(
5475        txn_db: *mut rocksdb_transactiondb_t,
5476        write_options: *const rocksdb_writeoptions_t,
5477        txn_options: *const rocksdb_transaction_options_t,
5478        old_txn: *mut rocksdb_transaction_t,
5479    ) -> *mut rocksdb_transaction_t;
5480}
5481unsafe extern "C" {
5482    pub fn rocksdb_transactiondb_get_prepared_transactions(
5483        txn_db: *mut rocksdb_transactiondb_t,
5484        cnt: *mut usize,
5485    ) -> *mut *mut rocksdb_transaction_t;
5486}
5487unsafe extern "C" {
5488    pub fn rocksdb_transaction_set_name(
5489        txn: *mut rocksdb_transaction_t,
5490        name: *const libc::c_char,
5491        name_len: usize,
5492        errptr: *mut *mut libc::c_char,
5493    );
5494}
5495unsafe extern "C" {
5496    pub fn rocksdb_transaction_get_name(
5497        txn: *mut rocksdb_transaction_t,
5498        name_len: *mut usize,
5499    ) -> *mut libc::c_char;
5500}
5501unsafe extern "C" {
5502    pub fn rocksdb_transaction_prepare(
5503        txn: *mut rocksdb_transaction_t,
5504        errptr: *mut *mut libc::c_char,
5505    );
5506}
5507unsafe extern "C" {
5508    pub fn rocksdb_transaction_commit(
5509        txn: *mut rocksdb_transaction_t,
5510        errptr: *mut *mut libc::c_char,
5511    );
5512}
5513unsafe extern "C" {
5514    pub fn rocksdb_transaction_rollback(
5515        txn: *mut rocksdb_transaction_t,
5516        errptr: *mut *mut libc::c_char,
5517    );
5518}
5519unsafe extern "C" {
5520    pub fn rocksdb_transaction_set_savepoint(txn: *mut rocksdb_transaction_t);
5521}
5522unsafe extern "C" {
5523    pub fn rocksdb_transaction_rollback_to_savepoint(
5524        txn: *mut rocksdb_transaction_t,
5525        errptr: *mut *mut libc::c_char,
5526    );
5527}
5528unsafe extern "C" {
5529    pub fn rocksdb_transaction_destroy(txn: *mut rocksdb_transaction_t);
5530}
5531unsafe extern "C" {
5532    pub fn rocksdb_transaction_get_writebatch_wi(
5533        txn: *mut rocksdb_transaction_t,
5534    ) -> *mut rocksdb_writebatch_wi_t;
5535}
5536unsafe extern "C" {
5537    pub fn rocksdb_transaction_rebuild_from_writebatch(
5538        txn: *mut rocksdb_transaction_t,
5539        writebatch: *mut rocksdb_writebatch_t,
5540        errptr: *mut *mut libc::c_char,
5541    );
5542}
5543unsafe extern "C" {
5544    pub fn rocksdb_transaction_rebuild_from_writebatch_wi(
5545        txn: *mut rocksdb_transaction_t,
5546        wi: *mut rocksdb_writebatch_wi_t,
5547        errptr: *mut *mut libc::c_char,
5548    );
5549}
5550unsafe extern "C" {
5551    pub fn rocksdb_transaction_set_commit_timestamp(
5552        txn: *mut rocksdb_transaction_t,
5553        commit_timestamp: u64,
5554    );
5555}
5556unsafe extern "C" {
5557    pub fn rocksdb_transaction_set_read_timestamp_for_validation(
5558        txn: *mut rocksdb_transaction_t,
5559        read_timestamp: u64,
5560    );
5561}
5562unsafe extern "C" {
5563    pub fn rocksdb_transaction_get_snapshot(
5564        txn: *mut rocksdb_transaction_t,
5565    ) -> *const rocksdb_snapshot_t;
5566}
5567unsafe extern "C" {
5568    pub fn rocksdb_transaction_get(
5569        txn: *mut rocksdb_transaction_t,
5570        options: *const rocksdb_readoptions_t,
5571        key: *const libc::c_char,
5572        klen: usize,
5573        vlen: *mut usize,
5574        errptr: *mut *mut libc::c_char,
5575    ) -> *mut libc::c_char;
5576}
5577unsafe extern "C" {
5578    pub fn rocksdb_transaction_get_pinned(
5579        txn: *mut rocksdb_transaction_t,
5580        options: *const rocksdb_readoptions_t,
5581        key: *const libc::c_char,
5582        klen: usize,
5583        errptr: *mut *mut libc::c_char,
5584    ) -> *mut rocksdb_pinnableslice_t;
5585}
5586unsafe extern "C" {
5587    pub fn rocksdb_transaction_get_cf(
5588        txn: *mut rocksdb_transaction_t,
5589        options: *const rocksdb_readoptions_t,
5590        column_family: *mut rocksdb_column_family_handle_t,
5591        key: *const libc::c_char,
5592        klen: usize,
5593        vlen: *mut usize,
5594        errptr: *mut *mut libc::c_char,
5595    ) -> *mut libc::c_char;
5596}
5597unsafe extern "C" {
5598    pub fn rocksdb_transaction_get_pinned_cf(
5599        txn: *mut rocksdb_transaction_t,
5600        options: *const rocksdb_readoptions_t,
5601        column_family: *mut rocksdb_column_family_handle_t,
5602        key: *const libc::c_char,
5603        klen: usize,
5604        errptr: *mut *mut libc::c_char,
5605    ) -> *mut rocksdb_pinnableslice_t;
5606}
5607unsafe extern "C" {
5608    pub fn rocksdb_transaction_get_for_update(
5609        txn: *mut rocksdb_transaction_t,
5610        options: *const rocksdb_readoptions_t,
5611        key: *const libc::c_char,
5612        klen: usize,
5613        vlen: *mut usize,
5614        exclusive: libc::c_uchar,
5615        errptr: *mut *mut libc::c_char,
5616    ) -> *mut libc::c_char;
5617}
5618unsafe extern "C" {
5619    pub fn rocksdb_transaction_get_pinned_for_update(
5620        txn: *mut rocksdb_transaction_t,
5621        options: *const rocksdb_readoptions_t,
5622        key: *const libc::c_char,
5623        klen: usize,
5624        exclusive: libc::c_uchar,
5625        errptr: *mut *mut libc::c_char,
5626    ) -> *mut rocksdb_pinnableslice_t;
5627}
5628unsafe extern "C" {
5629    pub fn rocksdb_transaction_get_for_update_cf(
5630        txn: *mut rocksdb_transaction_t,
5631        options: *const rocksdb_readoptions_t,
5632        column_family: *mut rocksdb_column_family_handle_t,
5633        key: *const libc::c_char,
5634        klen: usize,
5635        vlen: *mut usize,
5636        exclusive: libc::c_uchar,
5637        errptr: *mut *mut libc::c_char,
5638    ) -> *mut libc::c_char;
5639}
5640unsafe extern "C" {
5641    pub fn rocksdb_transaction_get_pinned_for_update_cf(
5642        txn: *mut rocksdb_transaction_t,
5643        options: *const rocksdb_readoptions_t,
5644        column_family: *mut rocksdb_column_family_handle_t,
5645        key: *const libc::c_char,
5646        klen: usize,
5647        exclusive: libc::c_uchar,
5648        errptr: *mut *mut libc::c_char,
5649    ) -> *mut rocksdb_pinnableslice_t;
5650}
5651unsafe extern "C" {
5652    pub fn rocksdb_transaction_multi_get(
5653        txn: *mut rocksdb_transaction_t,
5654        options: *const rocksdb_readoptions_t,
5655        num_keys: usize,
5656        keys_list: *const *const libc::c_char,
5657        keys_list_sizes: *const usize,
5658        values_list: *mut *mut libc::c_char,
5659        values_list_sizes: *mut usize,
5660        errs: *mut *mut libc::c_char,
5661    );
5662}
5663unsafe extern "C" {
5664    pub fn rocksdb_transaction_multi_get_for_update(
5665        txn: *mut rocksdb_transaction_t,
5666        options: *const rocksdb_readoptions_t,
5667        num_keys: usize,
5668        keys_list: *const *const libc::c_char,
5669        keys_list_sizes: *const usize,
5670        values_list: *mut *mut libc::c_char,
5671        values_list_sizes: *mut usize,
5672        errs: *mut *mut libc::c_char,
5673    );
5674}
5675unsafe extern "C" {
5676    pub fn rocksdb_transaction_multi_get_cf(
5677        txn: *mut rocksdb_transaction_t,
5678        options: *const rocksdb_readoptions_t,
5679        column_families: *const *const rocksdb_column_family_handle_t,
5680        num_keys: usize,
5681        keys_list: *const *const libc::c_char,
5682        keys_list_sizes: *const usize,
5683        values_list: *mut *mut libc::c_char,
5684        values_list_sizes: *mut usize,
5685        errs: *mut *mut libc::c_char,
5686    );
5687}
5688unsafe extern "C" {
5689    pub fn rocksdb_transaction_multi_get_for_update_cf(
5690        txn: *mut rocksdb_transaction_t,
5691        options: *const rocksdb_readoptions_t,
5692        column_families: *const *const rocksdb_column_family_handle_t,
5693        num_keys: usize,
5694        keys_list: *const *const libc::c_char,
5695        keys_list_sizes: *const usize,
5696        values_list: *mut *mut libc::c_char,
5697        values_list_sizes: *mut usize,
5698        errs: *mut *mut libc::c_char,
5699    );
5700}
5701unsafe extern "C" {
5702    pub fn rocksdb_transactiondb_get(
5703        txn_db: *mut rocksdb_transactiondb_t,
5704        options: *const rocksdb_readoptions_t,
5705        key: *const libc::c_char,
5706        klen: usize,
5707        vlen: *mut usize,
5708        errptr: *mut *mut libc::c_char,
5709    ) -> *mut libc::c_char;
5710}
5711unsafe extern "C" {
5712    pub fn rocksdb_transactiondb_get_pinned(
5713        txn_db: *mut rocksdb_transactiondb_t,
5714        options: *const rocksdb_readoptions_t,
5715        key: *const libc::c_char,
5716        klen: usize,
5717        errptr: *mut *mut libc::c_char,
5718    ) -> *mut rocksdb_pinnableslice_t;
5719}
5720unsafe extern "C" {
5721    pub fn rocksdb_transactiondb_get_cf(
5722        txn_db: *mut rocksdb_transactiondb_t,
5723        options: *const rocksdb_readoptions_t,
5724        column_family: *mut rocksdb_column_family_handle_t,
5725        key: *const libc::c_char,
5726        keylen: usize,
5727        vallen: *mut usize,
5728        errptr: *mut *mut libc::c_char,
5729    ) -> *mut libc::c_char;
5730}
5731unsafe extern "C" {
5732    pub fn rocksdb_transactiondb_get_pinned_cf(
5733        txn_db: *mut rocksdb_transactiondb_t,
5734        options: *const rocksdb_readoptions_t,
5735        column_family: *mut rocksdb_column_family_handle_t,
5736        key: *const libc::c_char,
5737        keylen: usize,
5738        errptr: *mut *mut libc::c_char,
5739    ) -> *mut rocksdb_pinnableslice_t;
5740}
5741unsafe extern "C" {
5742    pub fn rocksdb_transactiondb_multi_get(
5743        txn_db: *mut rocksdb_transactiondb_t,
5744        options: *const rocksdb_readoptions_t,
5745        num_keys: usize,
5746        keys_list: *const *const libc::c_char,
5747        keys_list_sizes: *const usize,
5748        values_list: *mut *mut libc::c_char,
5749        values_list_sizes: *mut usize,
5750        errs: *mut *mut libc::c_char,
5751    );
5752}
5753unsafe extern "C" {
5754    pub fn rocksdb_transactiondb_multi_get_cf(
5755        txn_db: *mut rocksdb_transactiondb_t,
5756        options: *const rocksdb_readoptions_t,
5757        column_families: *const *const rocksdb_column_family_handle_t,
5758        num_keys: usize,
5759        keys_list: *const *const libc::c_char,
5760        keys_list_sizes: *const usize,
5761        values_list: *mut *mut libc::c_char,
5762        values_list_sizes: *mut usize,
5763        errs: *mut *mut libc::c_char,
5764    );
5765}
5766unsafe extern "C" {
5767    pub fn rocksdb_transaction_put(
5768        txn: *mut rocksdb_transaction_t,
5769        key: *const libc::c_char,
5770        klen: usize,
5771        val: *const libc::c_char,
5772        vlen: usize,
5773        errptr: *mut *mut libc::c_char,
5774    );
5775}
5776unsafe extern "C" {
5777    pub fn rocksdb_transaction_put_cf(
5778        txn: *mut rocksdb_transaction_t,
5779        column_family: *mut rocksdb_column_family_handle_t,
5780        key: *const libc::c_char,
5781        klen: usize,
5782        val: *const libc::c_char,
5783        vlen: usize,
5784        errptr: *mut *mut libc::c_char,
5785    );
5786}
5787unsafe extern "C" {
5788    pub fn rocksdb_transactiondb_put(
5789        txn_db: *mut rocksdb_transactiondb_t,
5790        options: *const rocksdb_writeoptions_t,
5791        key: *const libc::c_char,
5792        klen: usize,
5793        val: *const libc::c_char,
5794        vlen: usize,
5795        errptr: *mut *mut libc::c_char,
5796    );
5797}
5798unsafe extern "C" {
5799    pub fn rocksdb_transactiondb_put_cf(
5800        txn_db: *mut rocksdb_transactiondb_t,
5801        options: *const rocksdb_writeoptions_t,
5802        column_family: *mut rocksdb_column_family_handle_t,
5803        key: *const libc::c_char,
5804        keylen: usize,
5805        val: *const libc::c_char,
5806        vallen: usize,
5807        errptr: *mut *mut libc::c_char,
5808    );
5809}
5810unsafe extern "C" {
5811    pub fn rocksdb_transactiondb_write(
5812        txn_db: *mut rocksdb_transactiondb_t,
5813        options: *const rocksdb_writeoptions_t,
5814        batch: *mut rocksdb_writebatch_t,
5815        errptr: *mut *mut libc::c_char,
5816    );
5817}
5818unsafe extern "C" {
5819    pub fn rocksdb_transaction_merge(
5820        txn: *mut rocksdb_transaction_t,
5821        key: *const libc::c_char,
5822        klen: usize,
5823        val: *const libc::c_char,
5824        vlen: usize,
5825        errptr: *mut *mut libc::c_char,
5826    );
5827}
5828unsafe extern "C" {
5829    pub fn rocksdb_transaction_merge_cf(
5830        txn: *mut rocksdb_transaction_t,
5831        column_family: *mut rocksdb_column_family_handle_t,
5832        key: *const libc::c_char,
5833        klen: usize,
5834        val: *const libc::c_char,
5835        vlen: usize,
5836        errptr: *mut *mut libc::c_char,
5837    );
5838}
5839unsafe extern "C" {
5840    pub fn rocksdb_transactiondb_merge(
5841        txn_db: *mut rocksdb_transactiondb_t,
5842        options: *const rocksdb_writeoptions_t,
5843        key: *const libc::c_char,
5844        klen: usize,
5845        val: *const libc::c_char,
5846        vlen: usize,
5847        errptr: *mut *mut libc::c_char,
5848    );
5849}
5850unsafe extern "C" {
5851    pub fn rocksdb_transactiondb_merge_cf(
5852        txn_db: *mut rocksdb_transactiondb_t,
5853        options: *const rocksdb_writeoptions_t,
5854        column_family: *mut rocksdb_column_family_handle_t,
5855        key: *const libc::c_char,
5856        klen: usize,
5857        val: *const libc::c_char,
5858        vlen: usize,
5859        errptr: *mut *mut libc::c_char,
5860    );
5861}
5862unsafe extern "C" {
5863    pub fn rocksdb_transaction_delete(
5864        txn: *mut rocksdb_transaction_t,
5865        key: *const libc::c_char,
5866        klen: usize,
5867        errptr: *mut *mut libc::c_char,
5868    );
5869}
5870unsafe extern "C" {
5871    pub fn rocksdb_transaction_delete_cf(
5872        txn: *mut rocksdb_transaction_t,
5873        column_family: *mut rocksdb_column_family_handle_t,
5874        key: *const libc::c_char,
5875        klen: usize,
5876        errptr: *mut *mut libc::c_char,
5877    );
5878}
5879unsafe extern "C" {
5880    pub fn rocksdb_transactiondb_delete(
5881        txn_db: *mut rocksdb_transactiondb_t,
5882        options: *const rocksdb_writeoptions_t,
5883        key: *const libc::c_char,
5884        klen: usize,
5885        errptr: *mut *mut libc::c_char,
5886    );
5887}
5888unsafe extern "C" {
5889    pub fn rocksdb_transactiondb_delete_cf(
5890        txn_db: *mut rocksdb_transactiondb_t,
5891        options: *const rocksdb_writeoptions_t,
5892        column_family: *mut rocksdb_column_family_handle_t,
5893        key: *const libc::c_char,
5894        keylen: usize,
5895        errptr: *mut *mut libc::c_char,
5896    );
5897}
5898unsafe extern "C" {
5899    pub fn rocksdb_transaction_create_iterator(
5900        txn: *mut rocksdb_transaction_t,
5901        options: *const rocksdb_readoptions_t,
5902    ) -> *mut rocksdb_iterator_t;
5903}
5904unsafe extern "C" {
5905    pub fn rocksdb_transaction_create_iterator_cf(
5906        txn: *mut rocksdb_transaction_t,
5907        options: *const rocksdb_readoptions_t,
5908        column_family: *mut rocksdb_column_family_handle_t,
5909    ) -> *mut rocksdb_iterator_t;
5910}
5911unsafe extern "C" {
5912    pub fn rocksdb_transactiondb_create_iterator(
5913        txn_db: *mut rocksdb_transactiondb_t,
5914        options: *const rocksdb_readoptions_t,
5915    ) -> *mut rocksdb_iterator_t;
5916}
5917unsafe extern "C" {
5918    pub fn rocksdb_transactiondb_create_iterator_cf(
5919        txn_db: *mut rocksdb_transactiondb_t,
5920        options: *const rocksdb_readoptions_t,
5921        column_family: *mut rocksdb_column_family_handle_t,
5922    ) -> *mut rocksdb_iterator_t;
5923}
5924unsafe extern "C" {
5925    pub fn rocksdb_transactiondb_close(txn_db: *mut rocksdb_transactiondb_t);
5926}
5927unsafe extern "C" {
5928    pub fn rocksdb_transactiondb_flush(
5929        txn_db: *mut rocksdb_transactiondb_t,
5930        options: *const rocksdb_flushoptions_t,
5931        errptr: *mut *mut libc::c_char,
5932    );
5933}
5934unsafe extern "C" {
5935    pub fn rocksdb_transactiondb_flush_cf(
5936        txn_db: *mut rocksdb_transactiondb_t,
5937        options: *const rocksdb_flushoptions_t,
5938        column_family: *mut rocksdb_column_family_handle_t,
5939        errptr: *mut *mut libc::c_char,
5940    );
5941}
5942unsafe extern "C" {
5943    pub fn rocksdb_transactiondb_flush_cfs(
5944        txn_db: *mut rocksdb_transactiondb_t,
5945        options: *const rocksdb_flushoptions_t,
5946        column_families: *mut *mut rocksdb_column_family_handle_t,
5947        num_column_families: libc::c_int,
5948        errptr: *mut *mut libc::c_char,
5949    );
5950}
5951unsafe extern "C" {
5952    pub fn rocksdb_transactiondb_flush_wal(
5953        txn_db: *mut rocksdb_transactiondb_t,
5954        sync: libc::c_uchar,
5955        errptr: *mut *mut libc::c_char,
5956    );
5957}
5958unsafe extern "C" {
5959    pub fn rocksdb_transactiondb_checkpoint_object_create(
5960        txn_db: *mut rocksdb_transactiondb_t,
5961        errptr: *mut *mut libc::c_char,
5962    ) -> *mut rocksdb_checkpoint_t;
5963}
5964unsafe extern "C" {
5965    pub fn rocksdb_optimistictransactiondb_open(
5966        options: *const rocksdb_options_t,
5967        name: *const libc::c_char,
5968        errptr: *mut *mut libc::c_char,
5969    ) -> *mut rocksdb_optimistictransactiondb_t;
5970}
5971unsafe extern "C" {
5972    pub fn rocksdb_optimistictransactiondb_open_column_families(
5973        options: *const rocksdb_options_t,
5974        name: *const libc::c_char,
5975        num_column_families: libc::c_int,
5976        column_family_names: *const *const libc::c_char,
5977        column_family_options: *const *const rocksdb_options_t,
5978        column_family_handles: *mut *mut rocksdb_column_family_handle_t,
5979        errptr: *mut *mut libc::c_char,
5980    ) -> *mut rocksdb_optimistictransactiondb_t;
5981}
5982unsafe extern "C" {
5983    pub fn rocksdb_optimistictransactiondb_get_base_db(
5984        otxn_db: *mut rocksdb_optimistictransactiondb_t,
5985    ) -> *mut rocksdb_t;
5986}
5987unsafe extern "C" {
5988    pub fn rocksdb_optimistictransactiondb_close_base_db(base_db: *mut rocksdb_t);
5989}
5990unsafe extern "C" {
5991    pub fn rocksdb_optimistictransaction_begin(
5992        otxn_db: *mut rocksdb_optimistictransactiondb_t,
5993        write_options: *const rocksdb_writeoptions_t,
5994        otxn_options: *const rocksdb_optimistictransaction_options_t,
5995        old_txn: *mut rocksdb_transaction_t,
5996    ) -> *mut rocksdb_transaction_t;
5997}
5998unsafe extern "C" {
5999    pub fn rocksdb_optimistictransactiondb_write(
6000        otxn_db: *mut rocksdb_optimistictransactiondb_t,
6001        options: *const rocksdb_writeoptions_t,
6002        batch: *mut rocksdb_writebatch_t,
6003        errptr: *mut *mut libc::c_char,
6004    );
6005}
6006unsafe extern "C" {
6007    pub fn rocksdb_optimistictransactiondb_close(otxn_db: *mut rocksdb_optimistictransactiondb_t);
6008}
6009unsafe extern "C" {
6010    pub fn rocksdb_optimistictransactiondb_checkpoint_object_create(
6011        otxn_db: *mut rocksdb_optimistictransactiondb_t,
6012        errptr: *mut *mut libc::c_char,
6013    ) -> *mut rocksdb_checkpoint_t;
6014}
6015unsafe extern "C" {
6016    pub fn rocksdb_transactiondb_options_create() -> *mut rocksdb_transactiondb_options_t;
6017}
6018unsafe extern "C" {
6019    pub fn rocksdb_transactiondb_options_destroy(opt: *mut rocksdb_transactiondb_options_t);
6020}
6021unsafe extern "C" {
6022    pub fn rocksdb_transactiondb_options_set_max_num_locks(
6023        opt: *mut rocksdb_transactiondb_options_t,
6024        max_num_locks: i64,
6025    );
6026}
6027unsafe extern "C" {
6028    pub fn rocksdb_transactiondb_options_set_num_stripes(
6029        opt: *mut rocksdb_transactiondb_options_t,
6030        num_stripes: usize,
6031    );
6032}
6033unsafe extern "C" {
6034    pub fn rocksdb_transactiondb_options_set_transaction_lock_timeout(
6035        opt: *mut rocksdb_transactiondb_options_t,
6036        txn_lock_timeout: i64,
6037    );
6038}
6039unsafe extern "C" {
6040    pub fn rocksdb_transactiondb_options_set_default_lock_timeout(
6041        opt: *mut rocksdb_transactiondb_options_t,
6042        default_lock_timeout: i64,
6043    );
6044}
6045unsafe extern "C" {
6046    pub fn rocksdb_transaction_options_create() -> *mut rocksdb_transaction_options_t;
6047}
6048unsafe extern "C" {
6049    pub fn rocksdb_transaction_options_destroy(opt: *mut rocksdb_transaction_options_t);
6050}
6051unsafe extern "C" {
6052    pub fn rocksdb_transaction_options_set_set_snapshot(
6053        opt: *mut rocksdb_transaction_options_t,
6054        v: libc::c_uchar,
6055    );
6056}
6057unsafe extern "C" {
6058    pub fn rocksdb_transaction_options_set_deadlock_detect(
6059        opt: *mut rocksdb_transaction_options_t,
6060        v: libc::c_uchar,
6061    );
6062}
6063unsafe extern "C" {
6064    pub fn rocksdb_transaction_options_set_lock_timeout(
6065        opt: *mut rocksdb_transaction_options_t,
6066        lock_timeout: i64,
6067    );
6068}
6069unsafe extern "C" {
6070    pub fn rocksdb_transaction_options_set_expiration(
6071        opt: *mut rocksdb_transaction_options_t,
6072        expiration: i64,
6073    );
6074}
6075unsafe extern "C" {
6076    pub fn rocksdb_transaction_options_set_deadlock_detect_depth(
6077        opt: *mut rocksdb_transaction_options_t,
6078        depth: i64,
6079    );
6080}
6081unsafe extern "C" {
6082    pub fn rocksdb_transaction_options_set_max_write_batch_size(
6083        opt: *mut rocksdb_transaction_options_t,
6084        size: usize,
6085    );
6086}
6087unsafe extern "C" {
6088    pub fn rocksdb_transaction_options_set_skip_prepare(
6089        opt: *mut rocksdb_transaction_options_t,
6090        v: libc::c_uchar,
6091    );
6092}
6093unsafe extern "C" {
6094    pub fn rocksdb_optimistictransaction_options_create()
6095    -> *mut rocksdb_optimistictransaction_options_t;
6096}
6097unsafe extern "C" {
6098    pub fn rocksdb_optimistictransaction_options_destroy(
6099        opt: *mut rocksdb_optimistictransaction_options_t,
6100    );
6101}
6102unsafe extern "C" {
6103    pub fn rocksdb_optimistictransaction_options_set_set_snapshot(
6104        opt: *mut rocksdb_optimistictransaction_options_t,
6105        v: libc::c_uchar,
6106    );
6107}
6108unsafe extern "C" {
6109    pub fn rocksdb_optimistictransactiondb_property_value(
6110        db: *mut rocksdb_optimistictransactiondb_t,
6111        propname: *const libc::c_char,
6112    ) -> *mut libc::c_char;
6113}
6114unsafe extern "C" {
6115    pub fn rocksdb_optimistictransactiondb_property_int(
6116        db: *mut rocksdb_optimistictransactiondb_t,
6117        propname: *const libc::c_char,
6118        out_val: *mut u64,
6119    ) -> libc::c_int;
6120}
6121unsafe extern "C" {
6122    pub fn rocksdb_free(ptr: *mut libc::c_void);
6123}
6124unsafe extern "C" {
6125    pub fn rocksdb_get_pinned(
6126        db: *mut rocksdb_t,
6127        options: *const rocksdb_readoptions_t,
6128        key: *const libc::c_char,
6129        keylen: usize,
6130        errptr: *mut *mut libc::c_char,
6131    ) -> *mut rocksdb_pinnableslice_t;
6132}
6133unsafe extern "C" {
6134    pub fn rocksdb_get_pinned_cf(
6135        db: *mut rocksdb_t,
6136        options: *const rocksdb_readoptions_t,
6137        column_family: *mut rocksdb_column_family_handle_t,
6138        key: *const libc::c_char,
6139        keylen: usize,
6140        errptr: *mut *mut libc::c_char,
6141    ) -> *mut rocksdb_pinnableslice_t;
6142}
6143unsafe extern "C" {
6144    pub fn rocksdb_pinnableslice_destroy(v: *mut rocksdb_pinnableslice_t);
6145}
6146unsafe extern "C" {
6147    pub fn rocksdb_pinnableslice_value(
6148        t: *const rocksdb_pinnableslice_t,
6149        vlen: *mut usize,
6150    ) -> *const libc::c_char;
6151}
6152unsafe extern "C" {
6153    pub fn rocksdb_memory_consumers_create() -> *mut rocksdb_memory_consumers_t;
6154}
6155unsafe extern "C" {
6156    pub fn rocksdb_memory_consumers_add_db(
6157        consumers: *mut rocksdb_memory_consumers_t,
6158        db: *mut rocksdb_t,
6159    );
6160}
6161unsafe extern "C" {
6162    pub fn rocksdb_memory_consumers_add_cache(
6163        consumers: *mut rocksdb_memory_consumers_t,
6164        cache: *mut rocksdb_cache_t,
6165    );
6166}
6167unsafe extern "C" {
6168    pub fn rocksdb_memory_consumers_destroy(consumers: *mut rocksdb_memory_consumers_t);
6169}
6170unsafe extern "C" {
6171    pub fn rocksdb_approximate_memory_usage_create(
6172        consumers: *mut rocksdb_memory_consumers_t,
6173        errptr: *mut *mut libc::c_char,
6174    ) -> *mut rocksdb_memory_usage_t;
6175}
6176unsafe extern "C" {
6177    pub fn rocksdb_approximate_memory_usage_destroy(usage: *mut rocksdb_memory_usage_t);
6178}
6179unsafe extern "C" {
6180    pub fn rocksdb_approximate_memory_usage_get_mem_table_total(
6181        memory_usage: *mut rocksdb_memory_usage_t,
6182    ) -> u64;
6183}
6184unsafe extern "C" {
6185    pub fn rocksdb_approximate_memory_usage_get_mem_table_unflushed(
6186        memory_usage: *mut rocksdb_memory_usage_t,
6187    ) -> u64;
6188}
6189unsafe extern "C" {
6190    pub fn rocksdb_approximate_memory_usage_get_mem_table_readers_total(
6191        memory_usage: *mut rocksdb_memory_usage_t,
6192    ) -> u64;
6193}
6194unsafe extern "C" {
6195    pub fn rocksdb_approximate_memory_usage_get_cache_total(
6196        memory_usage: *mut rocksdb_memory_usage_t,
6197    ) -> u64;
6198}
6199unsafe extern "C" {
6200    pub fn rocksdb_options_set_dump_malloc_stats(arg1: *mut rocksdb_options_t, arg2: libc::c_uchar);
6201}
6202unsafe extern "C" {
6203    pub fn rocksdb_options_set_memtable_whole_key_filtering(
6204        arg1: *mut rocksdb_options_t,
6205        arg2: libc::c_uchar,
6206    );
6207}
6208unsafe extern "C" {
6209    pub fn rocksdb_cancel_all_background_work(db: *mut rocksdb_t, wait: libc::c_uchar);
6210}
6211unsafe extern "C" {
6212    pub fn rocksdb_disable_manual_compaction(db: *mut rocksdb_t);
6213}
6214unsafe extern "C" {
6215    pub fn rocksdb_enable_manual_compaction(db: *mut rocksdb_t);
6216}
6217unsafe extern "C" {
6218    pub fn rocksdb_statistics_histogram_data_create() -> *mut rocksdb_statistics_histogram_data_t;
6219}
6220unsafe extern "C" {
6221    pub fn rocksdb_statistics_histogram_data_destroy(
6222        data: *mut rocksdb_statistics_histogram_data_t,
6223    );
6224}
6225unsafe extern "C" {
6226    pub fn rocksdb_statistics_histogram_data_get_median(
6227        data: *mut rocksdb_statistics_histogram_data_t,
6228    ) -> f64;
6229}
6230unsafe extern "C" {
6231    pub fn rocksdb_statistics_histogram_data_get_p95(
6232        data: *mut rocksdb_statistics_histogram_data_t,
6233    ) -> f64;
6234}
6235unsafe extern "C" {
6236    pub fn rocksdb_statistics_histogram_data_get_p99(
6237        data: *mut rocksdb_statistics_histogram_data_t,
6238    ) -> f64;
6239}
6240unsafe extern "C" {
6241    pub fn rocksdb_statistics_histogram_data_get_average(
6242        data: *mut rocksdb_statistics_histogram_data_t,
6243    ) -> f64;
6244}
6245unsafe extern "C" {
6246    pub fn rocksdb_statistics_histogram_data_get_std_dev(
6247        data: *mut rocksdb_statistics_histogram_data_t,
6248    ) -> f64;
6249}
6250unsafe extern "C" {
6251    pub fn rocksdb_statistics_histogram_data_get_max(
6252        data: *mut rocksdb_statistics_histogram_data_t,
6253    ) -> f64;
6254}
6255unsafe extern "C" {
6256    pub fn rocksdb_statistics_histogram_data_get_count(
6257        data: *mut rocksdb_statistics_histogram_data_t,
6258    ) -> u64;
6259}
6260unsafe extern "C" {
6261    pub fn rocksdb_statistics_histogram_data_get_sum(
6262        data: *mut rocksdb_statistics_histogram_data_t,
6263    ) -> u64;
6264}
6265unsafe extern "C" {
6266    pub fn rocksdb_statistics_histogram_data_get_min(
6267        data: *mut rocksdb_statistics_histogram_data_t,
6268    ) -> f64;
6269}
6270unsafe extern "C" {
6271    pub fn rocksdb_wait_for_compact(
6272        db: *mut rocksdb_t,
6273        options: *mut rocksdb_wait_for_compact_options_t,
6274        errptr: *mut *mut libc::c_char,
6275    );
6276}
6277unsafe extern "C" {
6278    pub fn rocksdb_wait_for_compact_options_create() -> *mut rocksdb_wait_for_compact_options_t;
6279}
6280unsafe extern "C" {
6281    pub fn rocksdb_wait_for_compact_options_destroy(opt: *mut rocksdb_wait_for_compact_options_t);
6282}
6283unsafe extern "C" {
6284    pub fn rocksdb_wait_for_compact_options_set_abort_on_pause(
6285        opt: *mut rocksdb_wait_for_compact_options_t,
6286        v: libc::c_uchar,
6287    );
6288}
6289unsafe extern "C" {
6290    pub fn rocksdb_wait_for_compact_options_get_abort_on_pause(
6291        opt: *mut rocksdb_wait_for_compact_options_t,
6292    ) -> libc::c_uchar;
6293}
6294unsafe extern "C" {
6295    pub fn rocksdb_wait_for_compact_options_set_flush(
6296        opt: *mut rocksdb_wait_for_compact_options_t,
6297        v: libc::c_uchar,
6298    );
6299}
6300unsafe extern "C" {
6301    pub fn rocksdb_wait_for_compact_options_get_flush(
6302        opt: *mut rocksdb_wait_for_compact_options_t,
6303    ) -> libc::c_uchar;
6304}
6305unsafe extern "C" {
6306    pub fn rocksdb_wait_for_compact_options_set_close_db(
6307        opt: *mut rocksdb_wait_for_compact_options_t,
6308        v: libc::c_uchar,
6309    );
6310}
6311unsafe extern "C" {
6312    pub fn rocksdb_wait_for_compact_options_get_close_db(
6313        opt: *mut rocksdb_wait_for_compact_options_t,
6314    ) -> libc::c_uchar;
6315}
6316unsafe extern "C" {
6317    pub fn rocksdb_wait_for_compact_options_set_timeout(
6318        opt: *mut rocksdb_wait_for_compact_options_t,
6319        microseconds: u64,
6320    );
6321}
6322unsafe extern "C" {
6323    pub fn rocksdb_wait_for_compact_options_get_timeout(
6324        opt: *mut rocksdb_wait_for_compact_options_t,
6325    ) -> u64;
6326}