rocks_sys/
c.rs

1/* automatically generated by rust-bindgen */
2
3#[repr(C)]
4#[derive(Copy, Clone)]
5pub struct rocks_pinnable_slice_t {
6    _unused: [u8; 0],
7}
8#[repr(C)]
9#[derive(Copy, Clone)]
10pub struct rocks_column_family_descriptor_t {
11    _unused: [u8; 0],
12}
13#[repr(C)]
14#[derive(Copy, Clone)]
15pub struct rocks_column_family_handle_t {
16    _unused: [u8; 0],
17}
18#[repr(C)]
19#[derive(Copy, Clone)]
20pub struct rocks_db_t {
21    _unused: [u8; 0],
22}
23#[repr(C)]
24#[derive(Copy, Clone)]
25pub struct rocks_cfoptions_t {
26    _unused: [u8; 0],
27}
28#[repr(C)]
29#[derive(Copy, Clone)]
30pub struct rocks_dbpath_t {
31    _unused: [u8; 0],
32}
33#[repr(C)]
34#[derive(Copy, Clone)]
35pub struct rocks_dboptions_t {
36    _unused: [u8; 0],
37}
38#[repr(C)]
39#[derive(Copy, Clone)]
40pub struct rocks_options_t {
41    _unused: [u8; 0],
42}
43#[repr(C)]
44#[derive(Copy, Clone)]
45pub struct rocks_readoptions_t {
46    _unused: [u8; 0],
47}
48#[repr(C)]
49#[derive(Copy, Clone)]
50pub struct rocks_writeoptions_t {
51    _unused: [u8; 0],
52}
53#[repr(C)]
54#[derive(Copy, Clone)]
55pub struct rocks_flushoptions_t {
56    _unused: [u8; 0],
57}
58#[repr(C)]
59#[derive(Copy, Clone)]
60pub struct rocks_fifo_compaction_options_t {
61    _unused: [u8; 0],
62}
63#[repr(C)]
64#[derive(Copy, Clone)]
65pub struct rocks_compaction_options_t {
66    _unused: [u8; 0],
67}
68#[repr(C)]
69#[derive(Copy, Clone)]
70pub struct rocks_compactrange_options_t {
71    _unused: [u8; 0],
72}
73#[repr(C)]
74#[derive(Copy, Clone)]
75pub struct rocks_ingestexternalfile_options_t {
76    _unused: [u8; 0],
77}
78#[repr(C)]
79#[derive(Copy, Clone)]
80pub struct rocks_status_t {
81    _unused: [u8; 0],
82}
83#[repr(C)]
84#[derive(Copy, Clone)]
85pub struct rocks_ratelimiter_t {
86    _unused: [u8; 0],
87}
88#[repr(C)]
89#[derive(Copy, Clone)]
90pub struct rocks_envoptions_t {
91    _unused: [u8; 0],
92}
93#[repr(C)]
94#[derive(Copy, Clone)]
95pub struct rocks_logger_t {
96    _unused: [u8; 0],
97}
98#[repr(C)]
99#[derive(Copy, Clone)]
100pub struct rocks_env_t {
101    _unused: [u8; 0],
102}
103#[repr(C)]
104#[derive(Copy, Clone)]
105pub struct rocks_snapshot_t {
106    _unused: [u8; 0],
107}
108#[repr(C)]
109#[derive(Copy, Clone)]
110pub struct rocks_iterator_t {
111    _unused: [u8; 0],
112}
113#[repr(C)]
114#[derive(Copy, Clone)]
115pub struct rocks_writebatch_t {
116    _unused: [u8; 0],
117}
118#[repr(C)]
119#[derive(Copy, Clone)]
120pub struct rocks_raw_writebatch_t {
121    _unused: [u8; 0],
122}
123#[repr(C)]
124#[derive(Copy, Clone)]
125pub struct rocks_writebatch_handler_t {
126    _unused: [u8; 0],
127}
128#[repr(C)]
129#[derive(Copy, Clone)]
130pub struct rocks_block_based_table_options_t {
131    _unused: [u8; 0],
132}
133#[repr(C)]
134#[derive(Copy, Clone)]
135pub struct rocks_cuckoo_table_options_t {
136    _unused: [u8; 0],
137}
138#[repr(C)]
139#[derive(Copy, Clone)]
140pub struct rocks_plain_table_options_t {
141    _unused: [u8; 0],
142}
143#[repr(C)]
144#[derive(Copy, Clone)]
145pub struct rocks_raw_filterpolicy_t {
146    _unused: [u8; 0],
147}
148#[repr(C)]
149#[derive(Copy, Clone)]
150pub struct rocks_cache_t {
151    _unused: [u8; 0],
152}
153#[repr(C)]
154#[derive(Copy, Clone)]
155pub struct rocks_persistent_cache_t {
156    _unused: [u8; 0],
157}
158#[repr(C)]
159#[derive(Copy, Clone)]
160pub struct rocks_associative_mergeoperator_t {
161    _unused: [u8; 0],
162}
163#[repr(C)]
164#[derive(Copy, Clone)]
165pub struct rocks_mergeoperator_t {
166    _unused: [u8; 0],
167}
168#[repr(C)]
169#[derive(Copy, Clone)]
170pub struct rocks_comparator_t {
171    _unused: [u8; 0],
172}
173#[repr(C)]
174#[derive(Copy, Clone)]
175pub struct rocks_c_comparator_t {
176    _unused: [u8; 0],
177}
178#[repr(C)]
179#[derive(Copy, Clone)]
180pub struct rocks_sst_file_writer_t {
181    _unused: [u8; 0],
182}
183#[repr(C)]
184#[derive(Copy, Clone)]
185pub struct rocks_external_sst_file_info_t {
186    _unused: [u8; 0],
187}
188#[repr(C)]
189#[derive(Copy, Clone)]
190pub struct rocks_dump_options_t {
191    _unused: [u8; 0],
192}
193#[repr(C)]
194#[derive(Copy, Clone)]
195pub struct rocks_undump_options_t {
196    _unused: [u8; 0],
197}
198#[repr(C)]
199#[derive(Copy, Clone)]
200pub struct rocks_iostats_context_t {
201    _unused: [u8; 0],
202}
203#[repr(C)]
204#[derive(Copy, Clone)]
205pub struct rocks_perf_context_t {
206    _unused: [u8; 0],
207}
208#[repr(C)]
209#[derive(Copy, Clone)]
210pub struct rocks_statistics_t {
211    _unused: [u8; 0],
212}
213#[repr(C)]
214#[derive(Copy, Clone)]
215pub struct rocks_histogram_data_t {
216    _unused: [u8; 0],
217}
218#[repr(C)]
219#[derive(Copy, Clone)]
220pub struct rocks_livefiles_t {
221    _unused: [u8; 0],
222}
223#[repr(C)]
224#[derive(Copy, Clone)]
225pub struct rocks_column_family_metadata_t {
226    _unused: [u8; 0],
227}
228#[repr(C)]
229#[derive(Copy, Clone)]
230pub struct rocks_universal_compaction_options_t {
231    _unused: [u8; 0],
232}
233#[repr(C)]
234#[derive(Copy, Clone)]
235pub struct rocks_logfiles_t {
236    _unused: [u8; 0],
237}
238#[repr(C)]
239#[derive(Copy, Clone)]
240pub struct rocks_transaction_log_iterator_t {
241    _unused: [u8; 0],
242}
243#[repr(C)]
244#[derive(Copy, Clone)]
245pub struct rocks_table_props_collection_t {
246    _unused: [u8; 0],
247}
248#[repr(C)]
249#[derive(Copy, Clone)]
250pub struct rocks_table_props_collection_iter_t {
251    _unused: [u8; 0],
252}
253#[repr(C)]
254#[derive(Copy, Clone)]
255pub struct rocks_table_props_t {
256    _unused: [u8; 0],
257}
258#[repr(C)]
259#[derive(Copy, Clone)]
260pub struct rocks_user_collected_props_t {
261    _unused: [u8; 0],
262}
263#[repr(C)]
264#[derive(Copy, Clone)]
265pub struct rocks_user_collected_props_iter_t {
266    _unused: [u8; 0],
267}
268#[repr(C)]
269#[derive(Copy, Clone)]
270pub struct rocks_table_props_collector_t {
271    _unused: [u8; 0],
272}
273#[repr(C)]
274#[derive(Copy, Clone)]
275pub struct rocks_table_props_collector_factory_t {
276    _unused: [u8; 0],
277}
278#[repr(C)]
279#[derive(Copy, Clone)]
280pub struct rocks_write_buffer_manager_t {
281    _unused: [u8; 0],
282}
283#[repr(C)]
284#[derive(Copy, Clone)]
285pub struct rocks_key_version_t {
286    _unused: [u8; 0],
287}
288#[repr(C)]
289#[derive(Copy, Clone)]
290pub struct rocks_key_version_collection_t {
291    _unused: [u8; 0],
292}
293#[repr(C)]
294#[derive(Copy, Clone)]
295pub struct rocks_event_listener_t {
296    _unused: [u8; 0],
297}
298#[repr(C)]
299#[derive(Copy, Clone)]
300pub struct rocks_flush_job_info_t {
301    _unused: [u8; 0],
302}
303#[repr(C)]
304#[derive(Copy, Clone)]
305pub struct rocks_table_file_deletion_info_t {
306    _unused: [u8; 0],
307}
308#[repr(C)]
309#[derive(Copy, Clone)]
310pub struct rocks_compaction_job_info_t {
311    _unused: [u8; 0],
312}
313#[repr(C)]
314#[derive(Copy, Clone)]
315pub struct rocks_compaction_job_stats_t {
316    _unused: [u8; 0],
317}
318#[repr(C)]
319#[derive(Copy, Clone)]
320pub struct rocks_table_file_creation_info_t {
321    _unused: [u8; 0],
322}
323#[repr(C)]
324#[derive(Copy, Clone)]
325pub struct rocks_table_file_creation_brief_info_t {
326    _unused: [u8; 0],
327}
328#[repr(C)]
329#[derive(Copy, Clone)]
330pub struct rocks_mem_table_info_t {
331    _unused: [u8; 0],
332}
333#[repr(C)]
334#[derive(Copy, Clone)]
335pub struct rocks_external_file_ingestion_info_t {
336    _unused: [u8; 0],
337}
338#[repr(C)]
339#[derive(Copy, Clone)]
340pub struct rocks_thread_status_t {
341    _unused: [u8; 0],
342}
343#[repr(C)]
344#[derive(Copy, Clone)]
345pub struct cxx_string_vector_t {
346    _unused: [u8; 0],
347}
348#[repr(C)]
349#[derive(Copy, Clone)]
350pub struct cxx_string_t {
351    _unused: [u8; 0],
352}
353extern "C" {
354    pub fn rocks_status_destroy(s: *mut rocks_status_t);
355}
356extern "C" {
357    pub fn rocks_status_code(s: *mut rocks_status_t) -> ::std::os::raw::c_int;
358}
359extern "C" {
360    pub fn rocks_status_subcode(s: *mut rocks_status_t) -> ::std::os::raw::c_int;
361}
362extern "C" {
363    pub fn rocks_status_severity(s: *mut rocks_status_t) -> ::std::os::raw::c_int;
364}
365extern "C" {
366    pub fn rocks_status_get_state(s: *mut rocks_status_t) -> *const ::std::os::raw::c_char;
367}
368extern "C" {
369    pub fn rocks_pinnable_slice_create() -> *mut rocks_pinnable_slice_t;
370}
371extern "C" {
372    pub fn rocks_pinnable_slice_destroy(s: *mut rocks_pinnable_slice_t);
373}
374extern "C" {
375    pub fn rocks_pinnable_slice_data(s: *mut rocks_pinnable_slice_t) -> *const ::std::os::raw::c_char;
376}
377extern "C" {
378    pub fn rocks_pinnable_slice_size(s: *mut rocks_pinnable_slice_t) -> usize;
379}
380extern "C" {
381    pub fn rocks_column_family_descriptor_get_name(
382        desc: *const rocks_column_family_descriptor_t,
383    ) -> *const ::std::os::raw::c_char;
384}
385extern "C" {
386    pub fn rocks_column_family_descriptor_get_cfoptions(
387        desc: *mut rocks_column_family_descriptor_t,
388    ) -> *mut rocks_cfoptions_t;
389}
390extern "C" {
391    pub fn rocks_options_create() -> *mut rocks_options_t;
392}
393extern "C" {
394    pub fn rocks_options_destroy(options: *mut rocks_options_t);
395}
396extern "C" {
397    pub fn rocks_dboptions_create() -> *mut rocks_dboptions_t;
398}
399extern "C" {
400    pub fn rocks_dboptions_destroy(options: *mut rocks_dboptions_t);
401}
402extern "C" {
403    pub fn rocks_cfoptions_create() -> *mut rocks_cfoptions_t;
404}
405extern "C" {
406    pub fn rocks_cfoptions_destroy(options: *mut rocks_cfoptions_t);
407}
408extern "C" {
409    pub fn rocks_options_create_from_db_cf_options(
410        dbopt: *mut rocks_dboptions_t,
411        cfopt: *mut rocks_cfoptions_t,
412    ) -> *mut rocks_options_t;
413}
414extern "C" {
415    pub fn rocks_dboptions_create_from_options(options: *mut rocks_options_t) -> *mut rocks_dboptions_t;
416}
417extern "C" {
418    pub fn rocks_cfoptions_create_from_options(options: *mut rocks_options_t) -> *mut rocks_cfoptions_t;
419}
420extern "C" {
421    pub fn rocks_cfoptions_optimize_for_small_db(opt: *mut rocks_cfoptions_t);
422}
423extern "C" {
424    pub fn rocks_cfoptions_optimize_for_point_lookup(opt: *mut rocks_cfoptions_t, block_cache_size_mb: u64);
425}
426extern "C" {
427    pub fn rocks_cfoptions_optimize_level_style_compaction(opt: *mut rocks_cfoptions_t, memtable_memory_budget: u64);
428}
429extern "C" {
430    pub fn rocks_cfoptions_optimize_universal_style_compaction(
431        opt: *mut rocks_cfoptions_t,
432        memtable_memory_budget: u64,
433    );
434}
435extern "C" {
436    pub fn rocks_cfoptions_set_merge_operator_by_assoc_op_trait(
437        opt: *mut rocks_cfoptions_t,
438        op_trait_obj: *mut ::std::os::raw::c_void,
439    );
440}
441extern "C" {
442    pub fn rocks_cfoptions_set_merge_operator_by_merge_op_trait(
443        opt: *mut rocks_cfoptions_t,
444        op_trait_obj: *mut ::std::os::raw::c_void,
445    );
446}
447extern "C" {
448    pub fn rocks_cfoptions_set_comparator_by_trait(
449        opt: *mut rocks_cfoptions_t,
450        cp_trait_obj: *mut ::std::os::raw::c_void,
451    );
452}
453extern "C" {
454    pub fn rocks_cfoptions_set_compaction_filter_by_trait(
455        opt: *mut rocks_cfoptions_t,
456        filter_trait_obj: *mut ::std::os::raw::c_void,
457    );
458}
459extern "C" {
460    pub fn rocks_cfoptions_set_bitwise_comparator(opt: *mut rocks_cfoptions_t, reversed: ::std::os::raw::c_uchar);
461}
462extern "C" {
463    pub fn rocks_cfoptions_set_write_buffer_size(opt: *mut rocks_cfoptions_t, s: usize);
464}
465extern "C" {
466    pub fn rocks_cfoptions_set_compression(opt: *mut rocks_cfoptions_t, t: ::std::os::raw::c_int);
467}
468extern "C" {
469    pub fn rocks_cfoptions_set_bottommost_compression(opt: *mut rocks_cfoptions_t, t: ::std::os::raw::c_int);
470}
471extern "C" {
472    pub fn rocks_cfoptions_set_compression_options(
473        opt: *mut rocks_cfoptions_t,
474        w_bits: ::std::os::raw::c_int,
475        level: ::std::os::raw::c_int,
476        strategy: ::std::os::raw::c_int,
477        max_dict_bytes: u32,
478    );
479}
480extern "C" {
481    pub fn rocks_cfoptions_set_level0_file_num_compaction_trigger(
482        opt: *mut rocks_cfoptions_t,
483        n: ::std::os::raw::c_int,
484    );
485}
486extern "C" {
487    pub fn rocks_cfoptions_set_prefix_extractor_by_trait(
488        opt: *mut rocks_cfoptions_t,
489        trans_trait_obj: *mut ::std::os::raw::c_void,
490    );
491}
492extern "C" {
493    pub fn rocks_cfoptions_set_prefix_extractor_fixed_prefix(opt: *mut rocks_cfoptions_t, prefix_len: usize);
494}
495extern "C" {
496    pub fn rocks_cfoptions_set_prefix_extractor_capped_prefix(opt: *mut rocks_cfoptions_t, cap_len: usize);
497}
498extern "C" {
499    pub fn rocks_cfoptions_set_prefix_extractor_noop(opt: *mut rocks_cfoptions_t);
500}
501extern "C" {
502    pub fn rocks_cfoptions_set_max_bytes_for_level_base(opt: *mut rocks_cfoptions_t, n: u64);
503}
504extern "C" {
505    pub fn rocks_cfoptions_set_disable_auto_compactions(opt: *mut rocks_cfoptions_t, disable: ::std::os::raw::c_uchar);
506}
507extern "C" {
508    pub fn rocks_cfoptions_set_block_based_table_factory(
509        opt: *mut rocks_cfoptions_t,
510        table_options: *mut rocks_block_based_table_options_t,
511    );
512}
513extern "C" {
514    pub fn rocks_cfoptions_set_cuckoo_table_factory(
515        opt: *mut rocks_cfoptions_t,
516        table_options: *mut rocks_cuckoo_table_options_t,
517    );
518}
519extern "C" {
520    pub fn rocks_cfoptions_set_plain_table_factory(
521        opt: *mut rocks_cfoptions_t,
522        table_options: *mut rocks_plain_table_options_t,
523    );
524}
525extern "C" {
526    pub fn rocks_cfoptions_set_max_write_buffer_number(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
527}
528extern "C" {
529    pub fn rocks_cfoptions_set_min_write_buffer_number_to_merge(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
530}
531extern "C" {
532    pub fn rocks_cfoptions_set_max_write_buffer_number_to_maintain(
533        opt: *mut rocks_cfoptions_t,
534        n: ::std::os::raw::c_int,
535    );
536}
537extern "C" {
538    pub fn rocks_cfoptions_set_inplace_update_support(opt: *mut rocks_cfoptions_t, v: ::std::os::raw::c_uchar);
539}
540extern "C" {
541    pub fn rocks_cfoptions_set_inplace_update_num_locks(opt: *mut rocks_cfoptions_t, v: usize);
542}
543extern "C" {
544    pub fn rocks_cfoptions_set_memtable_prefix_bloom_size_ratio(opt: *mut rocks_cfoptions_t, v: f64);
545}
546extern "C" {
547    pub fn rocks_cfoptions_set_memtable_huge_page_size(opt: *mut rocks_cfoptions_t, v: usize);
548}
549extern "C" {
550    pub fn rocks_cfoptions_set_memtable_insert_with_hint_prefix_extractor_by_trait(
551        opt: *mut rocks_cfoptions_t,
552        trans_trait_obj: *mut ::std::os::raw::c_void,
553    );
554}
555extern "C" {
556    pub fn rocks_cfoptions_set_memtable_insert_with_hint_prefix_extractor_fixed_prefix(
557        opt: *mut rocks_cfoptions_t,
558        prefix_len: usize,
559    );
560}
561extern "C" {
562    pub fn rocks_cfoptions_set_memtable_insert_with_hint_prefix_extractor_capped_prefix(
563        opt: *mut rocks_cfoptions_t,
564        cap_len: usize,
565    );
566}
567extern "C" {
568    pub fn rocks_cfoptions_set_memtable_insert_with_hint_prefix_extractor_noop(opt: *mut rocks_cfoptions_t);
569}
570extern "C" {
571    pub fn rocks_cfoptions_set_bloom_locality(opt: *mut rocks_cfoptions_t, v: u32);
572}
573extern "C" {
574    pub fn rocks_cfoptions_set_arena_block_size(opt: *mut rocks_cfoptions_t, v: usize);
575}
576extern "C" {
577    pub fn rocks_cfoptions_set_compression_per_level(
578        opt: *mut rocks_cfoptions_t,
579        level_values: *const ::std::os::raw::c_int,
580        num_levels: usize,
581    );
582}
583extern "C" {
584    pub fn rocks_cfoptions_set_num_levels(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
585}
586extern "C" {
587    pub fn rocks_cfoptions_set_level0_slowdown_writes_trigger(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
588}
589extern "C" {
590    pub fn rocks_cfoptions_set_level0_stop_writes_trigger(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
591}
592extern "C" {
593    pub fn rocks_cfoptions_set_target_file_size_base(opt: *mut rocks_cfoptions_t, n: u64);
594}
595extern "C" {
596    pub fn rocks_cfoptions_set_target_file_size_multiplier(opt: *mut rocks_cfoptions_t, n: ::std::os::raw::c_int);
597}
598extern "C" {
599    pub fn rocks_cfoptions_set_level_compaction_dynamic_level_bytes(
600        opt: *mut rocks_cfoptions_t,
601        v: ::std::os::raw::c_uchar,
602    );
603}
604extern "C" {
605    pub fn rocks_cfoptions_set_max_bytes_for_level_multiplier(opt: *mut rocks_cfoptions_t, n: f64);
606}
607extern "C" {
608    pub fn rocks_cfoptions_set_max_bytes_for_level_multiplier_additional(
609        opt: *mut rocks_cfoptions_t,
610        level_values: *const ::std::os::raw::c_int,
611        num_levels: usize,
612    );
613}
614extern "C" {
615    pub fn rocks_cfoptions_set_max_compaction_bytes(opt: *mut rocks_cfoptions_t, n: u64);
616}
617extern "C" {
618    pub fn rocks_cfoptions_set_soft_pending_compaction_bytes_limit(opt: *mut rocks_cfoptions_t, v: u64);
619}
620extern "C" {
621    pub fn rocks_cfoptions_set_hard_pending_compaction_bytes_limit(opt: *mut rocks_cfoptions_t, v: u64);
622}
623extern "C" {
624    pub fn rocks_cfoptions_set_compaction_style(opt: *mut rocks_cfoptions_t, style: ::std::os::raw::c_int);
625}
626extern "C" {
627    pub fn rocks_cfoptions_set_compaction_pri(opt: *mut rocks_cfoptions_t, pri: ::std::os::raw::c_int);
628}
629extern "C" {
630    pub fn rocks_cfoptions_set_universal_compaction_options(
631        opt: *mut rocks_cfoptions_t,
632        uco: *mut rocks_universal_compaction_options_t,
633    );
634}
635extern "C" {
636    pub fn rocks_cfoptions_set_fifo_compaction_options(
637        opt: *mut rocks_cfoptions_t,
638        fifo: *mut rocks_fifo_compaction_options_t,
639    );
640}
641extern "C" {
642    pub fn rocks_cfoptions_set_max_sequential_skip_in_iterations(opt: *mut rocks_cfoptions_t, v: u64);
643}
644extern "C" {
645    pub fn rocks_cfoptions_set_memtable_vector_rep(opt: *mut rocks_cfoptions_t, count: usize);
646}
647extern "C" {
648    pub fn rocks_cfoptions_set_hash_skip_list_rep(
649        opt: *mut rocks_cfoptions_t,
650        bucket_count: usize,
651        skiplist_height: i32,
652        skiplist_branching_factor: i32,
653    );
654}
655extern "C" {
656    pub fn rocks_cfoptions_set_hash_link_list_rep(opt: *mut rocks_cfoptions_t, bucket_count: usize);
657}
658extern "C" {
659    pub fn rocks_cfoptions_add_table_properties_collector_factories_by_trait(
660        opt: *mut rocks_cfoptions_t,
661        factory_trait_obj: *mut ::std::os::raw::c_void,
662    );
663}
664extern "C" {
665    pub fn rocks_cfoptions_set_max_successive_merges(opt: *mut rocks_cfoptions_t, v: usize);
666}
667extern "C" {
668    pub fn rocks_cfoptions_set_optimize_filters_for_hits(opt: *mut rocks_cfoptions_t, v: ::std::os::raw::c_uchar);
669}
670extern "C" {
671    pub fn rocks_cfoptions_set_paranoid_file_checks(opt: *mut rocks_cfoptions_t, v: ::std::os::raw::c_uchar);
672}
673extern "C" {
674    pub fn rocks_cfoptions_set_force_consistency_checks(opt: *mut rocks_cfoptions_t, v: ::std::os::raw::c_uchar);
675}
676extern "C" {
677    pub fn rocks_cfoptions_set_report_bg_io_stats(opt: *mut rocks_cfoptions_t, v: ::std::os::raw::c_uchar);
678}
679extern "C" {
680    pub fn rocks_dboptions_optimize_for_small_db(opt: *mut rocks_dboptions_t);
681}
682extern "C" {
683    pub fn rocks_dboptions_increase_parallelism(opt: *mut rocks_dboptions_t, total_threads: ::std::os::raw::c_int);
684}
685extern "C" {
686    pub fn rocks_dboptions_set_create_if_missing(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
687}
688extern "C" {
689    pub fn rocks_dboptions_set_create_missing_column_families(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
690}
691extern "C" {
692    pub fn rocks_dboptions_set_error_if_exists(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
693}
694extern "C" {
695    pub fn rocks_dboptions_set_paranoid_checks(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
696}
697extern "C" {
698    pub fn rocks_dboptions_set_env(opt: *mut rocks_dboptions_t, env: *mut rocks_env_t);
699}
700extern "C" {
701    pub fn rocks_dboptions_set_ratelimiter(opt: *mut rocks_dboptions_t, limiter: *mut rocks_ratelimiter_t);
702}
703extern "C" {
704    pub fn rocks_dboptions_set_info_log(opt: *mut rocks_dboptions_t, l: *mut rocks_logger_t);
705}
706extern "C" {
707    pub fn rocks_dboptions_set_info_log_level(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_int);
708}
709extern "C" {
710    pub fn rocks_dboptions_set_max_open_files(opt: *mut rocks_dboptions_t, n: ::std::os::raw::c_int);
711}
712extern "C" {
713    pub fn rocks_dboptions_set_max_file_opening_threads(opt: *mut rocks_dboptions_t, n: ::std::os::raw::c_int);
714}
715extern "C" {
716    pub fn rocks_dboptions_set_max_total_wal_size(opt: *mut rocks_dboptions_t, n: u64);
717}
718extern "C" {
719    pub fn rocks_dboptions_set_statistics(opt: *mut rocks_dboptions_t, stat: *mut rocks_statistics_t);
720}
721extern "C" {
722    pub fn rocks_dboptions_set_use_fsync(opt: *mut rocks_dboptions_t, use_fsync: ::std::os::raw::c_uchar);
723}
724extern "C" {
725    pub fn rocks_dboptions_set_db_paths(
726        opt: *mut rocks_dboptions_t,
727        paths: *const *const ::std::os::raw::c_char,
728        path_lens: *const usize,
729        target_sizes: *const u64,
730        size: ::std::os::raw::c_int,
731    );
732}
733extern "C" {
734    pub fn rocks_dboptions_set_db_log_dir(
735        opt: *mut rocks_dboptions_t,
736        db_log_dir: *const ::std::os::raw::c_char,
737        len: usize,
738    );
739}
740extern "C" {
741    pub fn rocks_dboptions_set_wal_dir(opt: *mut rocks_dboptions_t, v: *const ::std::os::raw::c_char, len: usize);
742}
743extern "C" {
744    pub fn rocks_dboptions_set_delete_obsolete_files_period_micros(opt: *mut rocks_dboptions_t, v: u64);
745}
746extern "C" {
747    pub fn rocks_dboptions_set_max_background_jobs(opt: *mut rocks_dboptions_t, n: ::std::os::raw::c_int);
748}
749extern "C" {
750    pub fn rocks_dboptions_set_max_subcompactions(opt: *mut rocks_dboptions_t, n: u32);
751}
752extern "C" {
753    pub fn rocks_dboptions_set_max_log_file_size(opt: *mut rocks_dboptions_t, v: usize);
754}
755extern "C" {
756    pub fn rocks_dboptions_set_log_file_time_to_roll(opt: *mut rocks_dboptions_t, v: usize);
757}
758extern "C" {
759    pub fn rocks_dboptions_set_keep_log_file_num(opt: *mut rocks_dboptions_t, v: usize);
760}
761extern "C" {
762    pub fn rocks_dboptions_set_recycle_log_file_num(opt: *mut rocks_dboptions_t, v: usize);
763}
764extern "C" {
765    pub fn rocks_dboptions_set_max_manifest_file_size(opt: *mut rocks_dboptions_t, v: u64);
766}
767extern "C" {
768    pub fn rocks_dboptions_set_table_cache_numshardbits(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_int);
769}
770extern "C" {
771    pub fn rocks_dboptions_set_wal_ttl_seconds(opt: *mut rocks_dboptions_t, ttl: u64);
772}
773extern "C" {
774    pub fn rocks_dboptions_set_wal_size_limit_mb(opt: *mut rocks_dboptions_t, limit: u64);
775}
776extern "C" {
777    pub fn rocks_dboptions_set_manifest_preallocation_size(opt: *mut rocks_dboptions_t, v: usize);
778}
779extern "C" {
780    pub fn rocks_dboptions_set_allow_mmap_reads(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
781}
782extern "C" {
783    pub fn rocks_dboptions_set_allow_mmap_writes(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
784}
785extern "C" {
786    pub fn rocks_dboptions_set_use_direct_reads(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
787}
788extern "C" {
789    pub fn rocks_dboptions_set_use_direct_io_for_flush_and_compaction(
790        opt: *mut rocks_dboptions_t,
791        v: ::std::os::raw::c_uchar,
792    );
793}
794extern "C" {
795    pub fn rocks_dboptions_set_allow_fallocate(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
796}
797extern "C" {
798    pub fn rocks_dboptions_set_is_fd_close_on_exec(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
799}
800extern "C" {
801    pub fn rocks_dboptions_set_stats_dump_period_sec(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uint);
802}
803extern "C" {
804    pub fn rocks_dboptions_set_advise_random_on_open(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
805}
806extern "C" {
807    pub fn rocks_dboptions_set_db_write_buffer_size(opt: *mut rocks_dboptions_t, s: usize);
808}
809extern "C" {
810    pub fn rocks_dboptions_set_write_buffer_manager(
811        opt: *mut rocks_dboptions_t,
812        manager: *mut rocks_write_buffer_manager_t,
813    );
814}
815extern "C" {
816    pub fn rocks_dboptions_set_access_hint_on_compaction_start(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_int);
817}
818extern "C" {
819    pub fn rocks_dboptions_set_new_table_reader_for_compaction_inputs(
820        opt: *mut rocks_dboptions_t,
821        v: ::std::os::raw::c_uchar,
822    );
823}
824extern "C" {
825    pub fn rocks_dboptions_set_compaction_readahead_size(opt: *mut rocks_dboptions_t, s: usize);
826}
827extern "C" {
828    pub fn rocks_dboptions_set_random_access_max_buffer_size(opt: *mut rocks_dboptions_t, s: usize);
829}
830extern "C" {
831    pub fn rocks_dboptions_set_writable_file_max_buffer_size(opt: *mut rocks_dboptions_t, s: usize);
832}
833extern "C" {
834    pub fn rocks_dboptions_set_use_adaptive_mutex(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
835}
836extern "C" {
837    pub fn rocks_dboptions_set_bytes_per_sync(opt: *mut rocks_dboptions_t, v: u64);
838}
839extern "C" {
840    pub fn rocks_dboptions_set_wal_bytes_per_sync(opt: *mut rocks_dboptions_t, v: u64);
841}
842extern "C" {
843    pub fn rocks_dboptions_add_listener(opt: *mut rocks_dboptions_t, listener_trait_obj: *mut ::std::os::raw::c_void);
844}
845extern "C" {
846    pub fn rocks_dboptions_set_enable_thread_tracking(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
847}
848extern "C" {
849    pub fn rocks_dboptions_set_delayed_write_rate(opt: *mut rocks_dboptions_t, v: u64);
850}
851extern "C" {
852    pub fn rocks_dboptions_set_allow_concurrent_memtable_write(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
853}
854extern "C" {
855    pub fn rocks_dboptions_set_enable_write_thread_adaptive_yield(
856        opt: *mut rocks_dboptions_t,
857        v: ::std::os::raw::c_uchar,
858    );
859}
860extern "C" {
861    pub fn rocks_dboptions_set_write_thread_max_yield_usec(opt: *mut rocks_dboptions_t, v: u64);
862}
863extern "C" {
864    pub fn rocks_dboptions_set_write_thread_slow_yield_usec(opt: *mut rocks_dboptions_t, v: u64);
865}
866extern "C" {
867    pub fn rocks_dboptions_set_skip_stats_update_on_db_open(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
868}
869extern "C" {
870    pub fn rocks_dboptions_set_wal_recovery_mode(opt: *mut rocks_dboptions_t, mode: ::std::os::raw::c_int);
871}
872extern "C" {
873    pub fn rocks_dboptions_set_allow_2pc(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
874}
875extern "C" {
876    pub fn rocks_dboptions_set_row_cache(opt: *mut rocks_dboptions_t, cache: *mut rocks_cache_t);
877}
878extern "C" {
879    pub fn rocks_dboptions_set_fail_if_options_file_error(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
880}
881extern "C" {
882    pub fn rocks_dboptions_set_dump_malloc_stats(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
883}
884extern "C" {
885    pub fn rocks_dboptions_set_avoid_flush_during_recovery(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
886}
887extern "C" {
888    pub fn rocks_dboptions_set_avoid_flush_during_shutdown(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
889}
890extern "C" {
891    pub fn rocks_dboptions_set_allow_ingest_behind(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
892}
893extern "C" {
894    pub fn rocks_dboptions_set_manual_wal_flush(opt: *mut rocks_dboptions_t, v: ::std::os::raw::c_uchar);
895}
896extern "C" {
897    pub fn rocks_options_prepare_for_bulk_load(opt: *mut rocks_options_t);
898}
899extern "C" {
900    pub fn rocks_options_optimize_for_small_db(opt: *mut rocks_options_t);
901}
902extern "C" {
903    pub fn rocks_readoptions_create() -> *mut rocks_readoptions_t;
904}
905extern "C" {
906    pub fn rocks_readoptions_new(
907        cksum: ::std::os::raw::c_uchar,
908        cache: ::std::os::raw::c_uchar,
909    ) -> *mut rocks_readoptions_t;
910}
911extern "C" {
912    pub fn rocks_readoptions_destroy(opt: *mut rocks_readoptions_t);
913}
914extern "C" {
915    pub fn rocks_readoptions_set_verify_checksums(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
916}
917extern "C" {
918    pub fn rocks_readoptions_set_fill_cache(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
919}
920extern "C" {
921    pub fn rocks_readoptions_set_snapshot(opt: *mut rocks_readoptions_t, snap: *const rocks_snapshot_t);
922}
923extern "C" {
924    pub fn rocks_readoptions_set_iterate_lower_bound(
925        opt: *mut rocks_readoptions_t,
926        key: *const ::std::os::raw::c_char,
927        keylen: usize,
928    );
929}
930extern "C" {
931    pub fn rocks_readoptions_set_iterate_upper_bound(
932        opt: *mut rocks_readoptions_t,
933        key: *const ::std::os::raw::c_char,
934        keylen: usize,
935    );
936}
937extern "C" {
938    pub fn rocks_readoptions_set_read_tier(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_int);
939}
940extern "C" {
941    pub fn rocks_readoptions_set_tailing(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
942}
943extern "C" {
944    pub fn rocks_readoptions_set_managed(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
945}
946extern "C" {
947    pub fn rocks_readoptions_set_readahead_size(opt: *mut rocks_readoptions_t, v: usize);
948}
949extern "C" {
950    pub fn rocks_readoptions_set_max_skippable_internal_keys(opt: *mut rocks_readoptions_t, v: u64);
951}
952extern "C" {
953    pub fn rocks_readoptions_set_pin_data(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
954}
955extern "C" {
956    pub fn rocks_readoptions_set_total_order_seek(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
957}
958extern "C" {
959    pub fn rocks_readoptions_set_prefix_same_as_start(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
960}
961extern "C" {
962    pub fn rocks_readoptions_set_ignore_range_deletions(opt: *mut rocks_readoptions_t, v: ::std::os::raw::c_uchar);
963}
964extern "C" {
965    pub fn rocks_readoptions_set_background_purge_on_iterator_cleanup(
966        opt: *mut rocks_readoptions_t,
967        v: ::std::os::raw::c_uchar,
968    );
969}
970extern "C" {
971    pub fn rocks_readoptions_set_iter_start_seqnum(opt: *mut rocks_readoptions_t, v: u64);
972}
973extern "C" {
974    pub fn rocks_writeoptions_create() -> *mut rocks_writeoptions_t;
975}
976extern "C" {
977    pub fn rocks_writeoptions_destroy(opt: *mut rocks_writeoptions_t);
978}
979extern "C" {
980    pub fn rocks_writeoptions_set_sync(opt: *mut rocks_writeoptions_t, v: ::std::os::raw::c_uchar);
981}
982extern "C" {
983    pub fn rocks_writeoptions_set_disable_wal(opt: *mut rocks_writeoptions_t, v: ::std::os::raw::c_uchar);
984}
985extern "C" {
986    pub fn rocks_writeoptions_set_ignore_missing_column_families(
987        opt: *mut rocks_writeoptions_t,
988        v: ::std::os::raw::c_uchar,
989    );
990}
991extern "C" {
992    pub fn rocks_writeoptions_set_no_slowdown(opt: *mut rocks_writeoptions_t, v: ::std::os::raw::c_uchar);
993}
994extern "C" {
995    pub fn rocks_writeoptions_set_low_pri(opt: *mut rocks_writeoptions_t, v: ::std::os::raw::c_uchar);
996}
997extern "C" {
998    pub fn rocks_writeoptions_set_memtable_insert_hint_per_batch(
999        opt: *mut rocks_writeoptions_t,
1000        v: ::std::os::raw::c_uchar,
1001    );
1002}
1003extern "C" {
1004    pub fn rocks_compactrange_options_create() -> *mut rocks_compactrange_options_t;
1005}
1006extern "C" {
1007    pub fn rocks_compactrange_options_destroy(opt: *mut rocks_compactrange_options_t);
1008}
1009extern "C" {
1010    pub fn rocks_compactrange_options_set_exclusive_manual_compaction(
1011        opt: *mut rocks_compactrange_options_t,
1012        v: ::std::os::raw::c_uchar,
1013    );
1014}
1015extern "C" {
1016    pub fn rocks_compactrange_options_set_change_level(
1017        opt: *mut rocks_compactrange_options_t,
1018        v: ::std::os::raw::c_uchar,
1019    );
1020}
1021extern "C" {
1022    pub fn rocks_compactrange_options_set_target_level(opt: *mut rocks_compactrange_options_t, v: i32);
1023}
1024extern "C" {
1025    pub fn rocks_compactrange_options_set_target_path_id(opt: *mut rocks_compactrange_options_t, v: u32);
1026}
1027extern "C" {
1028    pub fn rocks_compactrange_options_set_bottommost_level_compaction(
1029        opt: *mut rocks_compactrange_options_t,
1030        v: ::std::os::raw::c_int,
1031    );
1032}
1033extern "C" {
1034    pub fn rocks_ingestexternalfile_options_create() -> *mut rocks_ingestexternalfile_options_t;
1035}
1036extern "C" {
1037    pub fn rocks_ingestexternalfile_options_destroy(opt: *mut rocks_ingestexternalfile_options_t);
1038}
1039extern "C" {
1040    pub fn rocks_ingestexternalfile_options_set_move_files(
1041        opt: *mut rocks_ingestexternalfile_options_t,
1042        v: ::std::os::raw::c_uchar,
1043    );
1044}
1045extern "C" {
1046    pub fn rocks_ingestexternalfile_options_set_snapshot_consistency(
1047        opt: *mut rocks_ingestexternalfile_options_t,
1048        v: ::std::os::raw::c_uchar,
1049    );
1050}
1051extern "C" {
1052    pub fn rocks_ingestexternalfile_options_set_allow_global_seqno(
1053        opt: *mut rocks_ingestexternalfile_options_t,
1054        v: ::std::os::raw::c_uchar,
1055    );
1056}
1057extern "C" {
1058    pub fn rocks_ingestexternalfile_options_set_allow_blocking_flush(
1059        opt: *mut rocks_ingestexternalfile_options_t,
1060        v: ::std::os::raw::c_uchar,
1061    );
1062}
1063extern "C" {
1064    pub fn rocks_ingestexternalfile_options_set_ingest_behind(
1065        opt: *mut rocks_ingestexternalfile_options_t,
1066        v: ::std::os::raw::c_uchar,
1067    );
1068}
1069extern "C" {
1070    pub fn rocks_flushoptions_create() -> *mut rocks_flushoptions_t;
1071}
1072extern "C" {
1073    pub fn rocks_flushoptions_destroy(options: *mut rocks_flushoptions_t);
1074}
1075extern "C" {
1076    pub fn rocks_flushoptions_set_wait(options: *mut rocks_flushoptions_t, v: ::std::os::raw::c_uchar);
1077}
1078extern "C" {
1079    pub fn rocks_flushoptions_set_allow_write_stall(opt: *mut rocks_flushoptions_t, v: ::std::os::raw::c_uchar);
1080}
1081extern "C" {
1082    pub fn rocks_create_logger_from_options(
1083        path: *const ::std::os::raw::c_char,
1084        opts: *mut rocks_options_t,
1085        status: *mut *mut rocks_status_t,
1086    ) -> *mut rocks_logger_t;
1087}
1088extern "C" {
1089    pub fn rocks_fifo_compaction_options_create() -> *mut rocks_fifo_compaction_options_t;
1090}
1091extern "C" {
1092    pub fn rocks_fifo_compaction_options_set_max_table_files_size(
1093        fifo_opts: *mut rocks_fifo_compaction_options_t,
1094        size: u64,
1095    );
1096}
1097extern "C" {
1098    pub fn rocks_fifo_compaction_options_set_allow_compaction(
1099        fifo_opts: *mut rocks_fifo_compaction_options_t,
1100        val: ::std::os::raw::c_uchar,
1101    );
1102}
1103extern "C" {
1104    pub fn rocks_fifo_compaction_options_destroy(fifo_opts: *mut rocks_fifo_compaction_options_t);
1105}
1106extern "C" {
1107    pub fn rocks_compaction_options_create() -> *mut rocks_compaction_options_t;
1108}
1109extern "C" {
1110    pub fn rocks_compaction_options_destroy(opts: *mut rocks_compaction_options_t);
1111}
1112extern "C" {
1113    pub fn rocks_compaction_options_set_compression(opts: *mut rocks_compaction_options_t, val: ::std::os::raw::c_int);
1114}
1115extern "C" {
1116    pub fn rocks_compaction_options_set_output_file_size_limit(opts: *mut rocks_compaction_options_t, val: u64);
1117}
1118extern "C" {
1119    pub fn rocks_column_family_handle_get_name(
1120        handle: *const rocks_column_family_handle_t,
1121    ) -> *const ::std::os::raw::c_char;
1122}
1123extern "C" {
1124    pub fn rocks_column_family_handle_get_id(handle: *const rocks_column_family_handle_t) -> u32;
1125}
1126extern "C" {
1127    pub fn rocks_db_open(
1128        options: *const rocks_options_t,
1129        name: *const ::std::os::raw::c_char,
1130        status: *mut *mut rocks_status_t,
1131    ) -> *mut rocks_db_t;
1132}
1133extern "C" {
1134    pub fn rocks_db_close(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1135}
1136extern "C" {
1137    pub fn rocks_db_resume(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1138}
1139extern "C" {
1140    pub fn rocks_db_destroy(db: *mut rocks_db_t);
1141}
1142extern "C" {
1143    pub fn rocks_db_open_for_read_only(
1144        options: *const rocks_options_t,
1145        name: *const ::std::os::raw::c_char,
1146        error_if_log_file_exist: ::std::os::raw::c_uchar,
1147        status: *mut *mut rocks_status_t,
1148    ) -> *mut rocks_db_t;
1149}
1150extern "C" {
1151    pub fn rocks_db_open_as_secondary(
1152        options: *const rocks_options_t,
1153        name: *const ::std::os::raw::c_char,
1154        secondary_path: *const ::std::os::raw::c_char,
1155        status: *mut *mut rocks_status_t,
1156    ) -> *mut rocks_db_t;
1157}
1158extern "C" {
1159    pub fn rocks_db_open_as_secondary_column_families(
1160        options: *const rocks_dboptions_t,
1161        name: *const ::std::os::raw::c_char,
1162        secondary_path: *const ::std::os::raw::c_char,
1163        num_column_families: ::std::os::raw::c_int,
1164        column_family_names: *const *const ::std::os::raw::c_char,
1165        column_family_options: *const *const rocks_cfoptions_t,
1166        column_family_handles: *mut *mut rocks_column_family_handle_t,
1167        status: *mut *mut rocks_status_t,
1168    ) -> *mut rocks_db_t;
1169}
1170extern "C" {
1171    pub fn rocks_db_try_catch_up_with_primary(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1172}
1173extern "C" {
1174    pub fn rocks_db_open_column_families(
1175        db_options: *const rocks_dboptions_t,
1176        name: *const ::std::os::raw::c_char,
1177        num_column_families: ::std::os::raw::c_int,
1178        column_family_names: *const *const ::std::os::raw::c_char,
1179        column_family_options: *const *const rocks_cfoptions_t,
1180        column_family_handles: *mut *mut rocks_column_family_handle_t,
1181        status: *mut *mut rocks_status_t,
1182    ) -> *mut rocks_db_t;
1183}
1184extern "C" {
1185    pub fn rocks_db_open_for_read_only_column_families(
1186        db_options: *const rocks_dboptions_t,
1187        name: *const ::std::os::raw::c_char,
1188        num_column_families: ::std::os::raw::c_int,
1189        column_family_names: *const *const ::std::os::raw::c_char,
1190        column_family_options: *const *const rocks_cfoptions_t,
1191        column_family_handles: *mut *mut rocks_column_family_handle_t,
1192        error_if_log_file_exist: ::std::os::raw::c_uchar,
1193        status: *mut *mut rocks_status_t,
1194    ) -> *mut rocks_db_t;
1195}
1196extern "C" {
1197    pub fn rocks_db_list_column_families(
1198        options: *const rocks_options_t,
1199        name: *const ::std::os::raw::c_char,
1200        lencfs: *mut usize,
1201        status: *mut *mut rocks_status_t,
1202    ) -> *mut *mut ::std::os::raw::c_char;
1203}
1204extern "C" {
1205    pub fn rocks_db_list_column_families_destroy(list: *mut *mut ::std::os::raw::c_char, len: usize);
1206}
1207extern "C" {
1208    pub fn rocks_db_create_column_family(
1209        db: *mut rocks_db_t,
1210        column_family_options: *const rocks_cfoptions_t,
1211        column_family_name: *const ::std::os::raw::c_char,
1212        status: *mut *mut rocks_status_t,
1213    ) -> *mut rocks_column_family_handle_t;
1214}
1215extern "C" {
1216    pub fn rocks_db_default_column_family(db: *mut rocks_db_t) -> *mut rocks_column_family_handle_t;
1217}
1218extern "C" {
1219    pub fn rocks_db_drop_column_family(
1220        db: *mut rocks_db_t,
1221        handle: *mut rocks_column_family_handle_t,
1222        status: *mut *mut rocks_status_t,
1223    );
1224}
1225extern "C" {
1226    pub fn rocks_db_destroy_column_family_handle(
1227        db: *mut rocks_db_t,
1228        handle: *mut rocks_column_family_handle_t,
1229        status: *mut *mut rocks_status_t,
1230    );
1231}
1232extern "C" {
1233    pub fn rocks_column_family_handle_destroy(handle: *mut rocks_column_family_handle_t);
1234}
1235extern "C" {
1236    pub fn rocks_db_put(
1237        db: *mut rocks_db_t,
1238        options: *const rocks_writeoptions_t,
1239        key: *const ::std::os::raw::c_char,
1240        keylen: usize,
1241        val: *const ::std::os::raw::c_char,
1242        vallen: usize,
1243        status: *mut *mut rocks_status_t,
1244    );
1245}
1246extern "C" {
1247    pub fn rocks_db_put_cf(
1248        db: *mut rocks_db_t,
1249        options: *const rocks_writeoptions_t,
1250        column_family: *mut rocks_column_family_handle_t,
1251        key: *const ::std::os::raw::c_char,
1252        keylen: usize,
1253        val: *const ::std::os::raw::c_char,
1254        vallen: usize,
1255        status: *mut *mut rocks_status_t,
1256    );
1257}
1258extern "C" {
1259    pub fn rocks_db_delete(
1260        db: *mut rocks_db_t,
1261        options: *const rocks_writeoptions_t,
1262        key: *const ::std::os::raw::c_char,
1263        keylen: usize,
1264        status: *mut *mut rocks_status_t,
1265    );
1266}
1267extern "C" {
1268    pub fn rocks_db_delete_cf(
1269        db: *mut rocks_db_t,
1270        options: *const rocks_writeoptions_t,
1271        column_family: *mut rocks_column_family_handle_t,
1272        key: *const ::std::os::raw::c_char,
1273        keylen: usize,
1274        status: *mut *mut rocks_status_t,
1275    );
1276}
1277extern "C" {
1278    pub fn rocks_db_single_delete(
1279        db: *mut rocks_db_t,
1280        options: *const rocks_writeoptions_t,
1281        key: *const ::std::os::raw::c_char,
1282        keylen: usize,
1283        status: *mut *mut rocks_status_t,
1284    );
1285}
1286extern "C" {
1287    pub fn rocks_db_single_delete_cf(
1288        db: *mut rocks_db_t,
1289        options: *const rocks_writeoptions_t,
1290        column_family: *mut rocks_column_family_handle_t,
1291        key: *const ::std::os::raw::c_char,
1292        keylen: usize,
1293        status: *mut *mut rocks_status_t,
1294    );
1295}
1296extern "C" {
1297    pub fn rocks_db_delete_range_cf(
1298        db: *mut rocks_db_t,
1299        options: *const rocks_writeoptions_t,
1300        column_family: *mut rocks_column_family_handle_t,
1301        begin_key: *const ::std::os::raw::c_char,
1302        begin_keylen: usize,
1303        end_key: *const ::std::os::raw::c_char,
1304        end_keylen: usize,
1305        status: *mut *mut rocks_status_t,
1306    );
1307}
1308extern "C" {
1309    pub fn rocks_db_merge(
1310        db: *mut rocks_db_t,
1311        options: *const rocks_writeoptions_t,
1312        key: *const ::std::os::raw::c_char,
1313        keylen: usize,
1314        val: *const ::std::os::raw::c_char,
1315        vallen: usize,
1316        status: *mut *mut rocks_status_t,
1317    );
1318}
1319extern "C" {
1320    pub fn rocks_db_merge_cf(
1321        db: *mut rocks_db_t,
1322        options: *const rocks_writeoptions_t,
1323        column_family: *mut rocks_column_family_handle_t,
1324        key: *const ::std::os::raw::c_char,
1325        keylen: usize,
1326        val: *const ::std::os::raw::c_char,
1327        vallen: usize,
1328        status: *mut *mut rocks_status_t,
1329    );
1330}
1331extern "C" {
1332    pub fn rocks_db_write(
1333        db: *mut rocks_db_t,
1334        options: *const rocks_writeoptions_t,
1335        batch: *mut rocks_raw_writebatch_t,
1336        status: *mut *mut rocks_status_t,
1337    );
1338}
1339extern "C" {
1340    pub fn rocks_db_get_pinnable(
1341        db: *mut rocks_db_t,
1342        options: *const rocks_readoptions_t,
1343        key: *const ::std::os::raw::c_char,
1344        keylen: usize,
1345        value: *mut rocks_pinnable_slice_t,
1346        status: *mut *mut rocks_status_t,
1347    );
1348}
1349extern "C" {
1350    pub fn rocks_db_get_cf_pinnable(
1351        db: *mut rocks_db_t,
1352        options: *const rocks_readoptions_t,
1353        column_family: *mut rocks_column_family_handle_t,
1354        key: *const ::std::os::raw::c_char,
1355        keylen: usize,
1356        value: *mut rocks_pinnable_slice_t,
1357        status: *mut *mut rocks_status_t,
1358    );
1359}
1360extern "C" {
1361    pub fn rocks_db_multi_get(
1362        db: *mut rocks_db_t,
1363        options: *const rocks_readoptions_t,
1364        num_keys: usize,
1365        keys_list: *const *const ::std::os::raw::c_char,
1366        keys_list_sizes: *const usize,
1367        values_list: *mut *mut ::std::os::raw::c_char,
1368        values_list_sizes: *mut usize,
1369        status: *mut *mut rocks_status_t,
1370    );
1371}
1372extern "C" {
1373    pub fn rocks_db_multi_get_cf(
1374        db: *mut rocks_db_t,
1375        options: *const rocks_readoptions_t,
1376        column_families: *const *const rocks_column_family_handle_t,
1377        num_keys: usize,
1378        keys_list: *const *const ::std::os::raw::c_char,
1379        keys_list_sizes: *const usize,
1380        values_list: *mut *mut ::std::os::raw::c_char,
1381        values_list_sizes: *mut usize,
1382        status: *mut *mut rocks_status_t,
1383    );
1384}
1385extern "C" {
1386    pub fn rocks_db_multi_get_cf_coerce(
1387        db: *mut rocks_db_t,
1388        options: *const rocks_readoptions_t,
1389        num_keys: usize,
1390        column_family: *const rocks_column_family_handle_t,
1391        keys: *const ::std::os::raw::c_void,
1392        values: *mut *mut rocks_pinnable_slice_t,
1393        statuses: *mut *mut rocks_status_t,
1394    );
1395}
1396extern "C" {
1397    pub fn rocks_db_multi_get_cfs_coerce(
1398        db: *mut rocks_db_t,
1399        options: *const rocks_readoptions_t,
1400        num_keys: usize,
1401        column_families: *const *const rocks_column_family_handle_t,
1402        keys: *const ::std::os::raw::c_void,
1403        values: *mut *mut rocks_pinnable_slice_t,
1404        statuses: *mut *mut rocks_status_t,
1405    );
1406}
1407extern "C" {
1408    pub fn rocks_db_key_may_exist(
1409        db: *mut rocks_db_t,
1410        options: *const rocks_readoptions_t,
1411        key: *const ::std::os::raw::c_char,
1412        key_len: usize,
1413        value: *mut ::std::os::raw::c_void,
1414        value_found: *mut ::std::os::raw::c_uchar,
1415    ) -> ::std::os::raw::c_uchar;
1416}
1417extern "C" {
1418    pub fn rocks_db_key_may_exist_cf(
1419        db: *mut rocks_db_t,
1420        options: *const rocks_readoptions_t,
1421        column_family: *const rocks_column_family_handle_t,
1422        key: *const ::std::os::raw::c_char,
1423        key_len: usize,
1424        value: *mut ::std::os::raw::c_void,
1425        value_found: *mut ::std::os::raw::c_uchar,
1426    ) -> ::std::os::raw::c_uchar;
1427}
1428extern "C" {
1429    pub fn rocks_db_create_iterator(db: *mut rocks_db_t, options: *const rocks_readoptions_t) -> *mut rocks_iterator_t;
1430}
1431extern "C" {
1432    pub fn rocks_db_create_iterator_cf(
1433        db: *mut rocks_db_t,
1434        options: *const rocks_readoptions_t,
1435        column_family: *mut rocks_column_family_handle_t,
1436    ) -> *mut rocks_iterator_t;
1437}
1438extern "C" {
1439    pub fn rocks_db_create_iterators(
1440        db: *mut rocks_db_t,
1441        opts: *mut rocks_readoptions_t,
1442        column_families: *mut *mut rocks_column_family_handle_t,
1443        iterators: *mut *mut rocks_iterator_t,
1444        size: usize,
1445        status: *mut *mut rocks_status_t,
1446    );
1447}
1448extern "C" {
1449    pub fn rocks_db_get_snapshot(db: *mut rocks_db_t) -> *mut rocks_snapshot_t;
1450}
1451extern "C" {
1452    pub fn rocks_db_release_snapshot(db: *mut rocks_db_t, snapshot: *mut rocks_snapshot_t);
1453}
1454extern "C" {
1455    pub fn rocks_db_get_property(
1456        db: *mut rocks_db_t,
1457        prop: *const ::std::os::raw::c_char,
1458        prop_len: usize,
1459        value: *mut ::std::os::raw::c_void,
1460    ) -> ::std::os::raw::c_uchar;
1461}
1462extern "C" {
1463    pub fn rocks_db_get_property_cf(
1464        db: *mut rocks_db_t,
1465        cf: *mut rocks_column_family_handle_t,
1466        prop: *const ::std::os::raw::c_char,
1467        prop_len: usize,
1468        value: *mut ::std::os::raw::c_void,
1469    ) -> ::std::os::raw::c_uchar;
1470}
1471extern "C" {
1472    pub fn rocks_db_get_int_property(
1473        db: *mut rocks_db_t,
1474        prop: *const ::std::os::raw::c_char,
1475        prop_len: usize,
1476        value: *mut u64,
1477    ) -> ::std::os::raw::c_uchar;
1478}
1479extern "C" {
1480    pub fn rocks_db_get_int_property_cf(
1481        db: *mut rocks_db_t,
1482        cf: *mut rocks_column_family_handle_t,
1483        prop: *const ::std::os::raw::c_char,
1484        prop_len: usize,
1485        value: *mut u64,
1486    ) -> ::std::os::raw::c_uchar;
1487}
1488extern "C" {
1489    pub fn rocks_db_get_aggregated_int_property(
1490        db: *mut rocks_db_t,
1491        prop: *const ::std::os::raw::c_char,
1492        prop_len: usize,
1493        value: *mut u64,
1494    ) -> ::std::os::raw::c_uchar;
1495}
1496extern "C" {
1497    pub fn rocks_db_compact_range(
1498        db: *mut rocks_db_t,
1499        start_key: *const ::std::os::raw::c_char,
1500        start_key_len: usize,
1501        limit_key: *const ::std::os::raw::c_char,
1502        limit_key_len: usize,
1503    );
1504}
1505extern "C" {
1506    pub fn rocks_db_compact_range_cf(
1507        db: *mut rocks_db_t,
1508        column_family: *mut rocks_column_family_handle_t,
1509        start_key: *const ::std::os::raw::c_char,
1510        start_key_len: usize,
1511        limit_key: *const ::std::os::raw::c_char,
1512        limit_key_len: usize,
1513    );
1514}
1515extern "C" {
1516    pub fn rocks_db_compact_range_opt(
1517        db: *mut rocks_db_t,
1518        opt: *mut rocks_compactrange_options_t,
1519        start_key: *const ::std::os::raw::c_char,
1520        start_key_len: usize,
1521        limit_key: *const ::std::os::raw::c_char,
1522        limit_key_len: usize,
1523        status: *mut *mut rocks_status_t,
1524    );
1525}
1526extern "C" {
1527    pub fn rocks_db_compact_range_opt_cf(
1528        db: *mut rocks_db_t,
1529        opt: *mut rocks_compactrange_options_t,
1530        column_family: *mut rocks_column_family_handle_t,
1531        start_key: *const ::std::os::raw::c_char,
1532        start_key_len: usize,
1533        limit_key: *const ::std::os::raw::c_char,
1534        limit_key_len: usize,
1535        status: *mut *mut rocks_status_t,
1536    );
1537}
1538extern "C" {
1539    pub fn rocks_db_set_options_cf(
1540        db: *mut rocks_db_t,
1541        column_family: *mut rocks_column_family_handle_t,
1542        num_options: usize,
1543        keys: *const *const ::std::os::raw::c_char,
1544        key_lens: *const usize,
1545        vals: *const *const ::std::os::raw::c_char,
1546        val_lens: *const usize,
1547        status: *mut *mut rocks_status_t,
1548    );
1549}
1550extern "C" {
1551    pub fn rocks_db_set_db_options(
1552        db: *mut rocks_db_t,
1553        num_options: usize,
1554        keys: *const *const ::std::os::raw::c_char,
1555        key_lens: *const usize,
1556        vals: *const *const ::std::os::raw::c_char,
1557        val_lens: *const usize,
1558        status: *mut *mut rocks_status_t,
1559    );
1560}
1561extern "C" {
1562    pub fn rocks_db_compact_files(
1563        db: *mut rocks_db_t,
1564        opt: *mut rocks_compaction_options_t,
1565        num_files: usize,
1566        file_names: *const *const ::std::os::raw::c_char,
1567        file_name_lens: *const usize,
1568        output_level: ::std::os::raw::c_int,
1569        output_path_id: ::std::os::raw::c_int,
1570        status: *mut *mut rocks_status_t,
1571    );
1572}
1573extern "C" {
1574    pub fn rocks_db_pause_background_work(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1575}
1576extern "C" {
1577    pub fn rocks_db_continue_background_work(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1578}
1579extern "C" {
1580    pub fn rocks_db_enable_auto_compaction(
1581        db: *mut rocks_db_t,
1582        column_families: *const *const rocks_column_family_handle_t,
1583        cf_len: usize,
1584        status: *mut *mut rocks_status_t,
1585    );
1586}
1587extern "C" {
1588    pub fn rocks_db_number_levels_cf(
1589        db: *mut rocks_db_t,
1590        column_family: *mut rocks_column_family_handle_t,
1591    ) -> ::std::os::raw::c_int;
1592}
1593extern "C" {
1594    pub fn rocks_db_number_levels(db: *mut rocks_db_t) -> ::std::os::raw::c_int;
1595}
1596extern "C" {
1597    pub fn rocks_db_max_mem_compaction_level_cf(
1598        db: *mut rocks_db_t,
1599        column_family: *mut rocks_column_family_handle_t,
1600    ) -> ::std::os::raw::c_int;
1601}
1602extern "C" {
1603    pub fn rocks_db_max_mem_compaction_level(db: *mut rocks_db_t) -> ::std::os::raw::c_int;
1604}
1605extern "C" {
1606    pub fn rocks_db_level0_stop_write_trigger_cf(
1607        db: *mut rocks_db_t,
1608        column_family: *mut rocks_column_family_handle_t,
1609    ) -> ::std::os::raw::c_int;
1610}
1611extern "C" {
1612    pub fn rocks_db_level0_stop_write_trigger(db: *mut rocks_db_t) -> ::std::os::raw::c_int;
1613}
1614extern "C" {
1615    pub fn rocks_db_get_approximate_sizes_cf(
1616        db: *mut rocks_db_t,
1617        column_family: *mut rocks_column_family_handle_t,
1618        num_ranges: usize,
1619        range_start_ptrs: *const *const ::std::os::raw::c_char,
1620        range_start_lens: *const usize,
1621        range_limit_ptrs: *const *const ::std::os::raw::c_char,
1622        range_limit_lens: *const usize,
1623        sizes: *mut u64,
1624    );
1625}
1626extern "C" {
1627    pub fn rocks_db_get_approximate_memtable_stats_cf(
1628        db: *mut rocks_db_t,
1629        column_family: *mut rocks_column_family_handle_t,
1630        range_start_ptr: *const ::std::os::raw::c_char,
1631        range_start_len: usize,
1632        range_limit_ptr: *const ::std::os::raw::c_char,
1633        range_limit_len: usize,
1634        count: *mut u64,
1635        size: *mut u64,
1636    );
1637}
1638extern "C" {
1639    pub fn rocks_db_get_name(db: *mut rocks_db_t, s: *mut ::std::os::raw::c_void);
1640}
1641extern "C" {
1642    pub fn rocks_db_flush(db: *mut rocks_db_t, options: *mut rocks_flushoptions_t, status: *mut *mut rocks_status_t);
1643}
1644extern "C" {
1645    pub fn rocks_db_flush_cf(
1646        db: *mut rocks_db_t,
1647        options: *mut rocks_flushoptions_t,
1648        column_family: *mut rocks_column_family_handle_t,
1649        status: *mut *mut rocks_status_t,
1650    );
1651}
1652extern "C" {
1653    pub fn rocks_db_sync_wal(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1654}
1655extern "C" {
1656    pub fn rocks_db_get_latest_sequence_number(db: *mut rocks_db_t) -> u64;
1657}
1658extern "C" {
1659    pub fn rocks_db_disable_file_deletions(db: *mut rocks_db_t, status: *mut *mut rocks_status_t);
1660}
1661extern "C" {
1662    pub fn rocks_db_enable_file_deletions(
1663        db: *mut rocks_db_t,
1664        force: ::std::os::raw::c_uchar,
1665        status: *mut *mut rocks_status_t,
1666    );
1667}
1668extern "C" {
1669    pub fn rocks_db_get_live_files(
1670        db: *mut rocks_db_t,
1671        flush_memtable: ::std::os::raw::c_uchar,
1672        manifest_file_size: *mut u64,
1673        status: *mut *mut rocks_status_t,
1674    ) -> *mut cxx_string_vector_t;
1675}
1676extern "C" {
1677    pub fn rocks_db_get_sorted_wal_files(
1678        db: *mut rocks_db_t,
1679        status: *mut *mut rocks_status_t,
1680    ) -> *mut rocks_logfiles_t;
1681}
1682extern "C" {
1683    pub fn rocks_db_get_update_since(
1684        db: *mut rocks_db_t,
1685        seq_no: u64,
1686        status: *mut *mut rocks_status_t,
1687    ) -> *mut rocks_transaction_log_iterator_t;
1688}
1689extern "C" {
1690    pub fn rocks_db_delete_file(
1691        db: *mut rocks_db_t,
1692        name: *const ::std::os::raw::c_char,
1693        name_len: usize,
1694        status: *mut *mut rocks_status_t,
1695    );
1696}
1697extern "C" {
1698    pub fn rocks_db_get_livefiles_metadata(db: *mut rocks_db_t) -> *const rocks_livefiles_t;
1699}
1700extern "C" {
1701    pub fn rocks_db_get_column_family_metadata(
1702        db: *mut rocks_db_t,
1703        column_family: *mut rocks_column_family_handle_t,
1704    ) -> *const rocks_column_family_metadata_t;
1705}
1706extern "C" {
1707    pub fn rocks_db_ingest_external_file(
1708        db: *mut rocks_db_t,
1709        file_list: *const *const ::std::os::raw::c_char,
1710        file_list_sizes: *const usize,
1711        file_len: usize,
1712        options: *const rocks_ingestexternalfile_options_t,
1713        status: *mut *mut rocks_status_t,
1714    );
1715}
1716extern "C" {
1717    pub fn rocks_db_ingest_external_file_cf(
1718        db: *mut rocks_db_t,
1719        column_family: *mut rocks_column_family_handle_t,
1720        file_list: *const *const ::std::os::raw::c_char,
1721        file_list_sizes: *const usize,
1722        file_len: usize,
1723        options: *const rocks_ingestexternalfile_options_t,
1724        status: *mut *mut rocks_status_t,
1725    );
1726}
1727extern "C" {
1728    pub fn rocks_db_get_db_identity(
1729        db: *mut rocks_db_t,
1730        identity: *mut ::std::os::raw::c_void,
1731        status: *mut *mut rocks_status_t,
1732    );
1733}
1734extern "C" {
1735    pub fn rocks_db_get_properties_of_all_tables(
1736        db: *mut rocks_db_t,
1737        cf: *mut rocks_column_family_handle_t,
1738        status: *mut *mut rocks_status_t,
1739    ) -> *mut rocks_table_props_collection_t;
1740}
1741extern "C" {
1742    pub fn rocks_db_get_properties_of_tables_in_range(
1743        db: *mut rocks_db_t,
1744        cf: *mut rocks_column_family_handle_t,
1745        num_ranges: usize,
1746        start_keys: *const *const ::std::os::raw::c_char,
1747        start_key_lens: *const usize,
1748        limit_keys: *const *const ::std::os::raw::c_char,
1749        limit_key_lens: *const usize,
1750        status: *mut *mut rocks_status_t,
1751    ) -> *mut rocks_table_props_collection_t;
1752}
1753extern "C" {
1754    pub fn rocks_destroy_db(
1755        options: *const rocks_options_t,
1756        name: *const ::std::os::raw::c_char,
1757        len: usize,
1758        status: *mut *mut rocks_status_t,
1759    );
1760}
1761extern "C" {
1762    pub fn rocks_repair_db(
1763        options: *const rocks_options_t,
1764        name: *const ::std::os::raw::c_char,
1765        len: usize,
1766        status: *mut *mut rocks_status_t,
1767    );
1768}
1769extern "C" {
1770    pub fn rocks_ratelimiter_create(
1771        rate_bytes_per_sec: i64,
1772        refill_period_us: i64,
1773        fairness: i32,
1774    ) -> *mut rocks_ratelimiter_t;
1775}
1776extern "C" {
1777    pub fn rocks_ratelimiter_destroy(limiter: *mut rocks_ratelimiter_t);
1778}
1779extern "C" {
1780    pub fn rocks_create_default_env() -> *mut rocks_env_t;
1781}
1782extern "C" {
1783    pub fn rocks_create_mem_env() -> *mut rocks_env_t;
1784}
1785extern "C" {
1786    pub fn rocks_create_timed_env() -> *mut rocks_env_t;
1787}
1788extern "C" {
1789    pub fn rocks_env_destroy(env: *mut rocks_env_t);
1790}
1791extern "C" {
1792    pub fn rocks_env_set_background_threads(env: *mut rocks_env_t, n: ::std::os::raw::c_int);
1793}
1794extern "C" {
1795    pub fn rocks_env_set_high_priority_background_threads(env: *mut rocks_env_t, n: ::std::os::raw::c_int);
1796}
1797extern "C" {
1798    pub fn rocks_env_join_all_threads(env: *mut rocks_env_t);
1799}
1800extern "C" {
1801    pub fn rocks_env_get_thread_pool_queue_len(
1802        env: *mut rocks_env_t,
1803        pri: ::std::os::raw::c_int,
1804    ) -> ::std::os::raw::c_uint;
1805}
1806extern "C" {
1807    pub fn rocks_env_new_logger(
1808        env: *mut rocks_env_t,
1809        name_ptr: *const ::std::os::raw::c_char,
1810        name_len: usize,
1811        status: *mut *mut rocks_status_t,
1812    ) -> *mut rocks_logger_t;
1813}
1814extern "C" {
1815    pub fn rocks_env_now_micros(env: *mut rocks_env_t) -> u64;
1816}
1817extern "C" {
1818    pub fn rocks_env_now_nanos(env: *mut rocks_env_t) -> u64;
1819}
1820extern "C" {
1821    pub fn rocks_env_sleep_for_microseconds(env: *mut rocks_env_t, micros: i32);
1822}
1823extern "C" {
1824    pub fn rocks_env_get_host_name(
1825        env: *mut rocks_env_t,
1826        name: *mut ::std::os::raw::c_char,
1827        len: u64,
1828        status: *mut *mut rocks_status_t,
1829    );
1830}
1831extern "C" {
1832    pub fn rocks_env_get_current_time(env: *mut rocks_env_t, status: *mut *mut rocks_status_t) -> i64;
1833}
1834extern "C" {
1835    pub fn rocks_env_time_to_string(env: *mut rocks_env_t, time: u64) -> *mut cxx_string_t;
1836}
1837extern "C" {
1838    pub fn rocks_env_get_background_threads(env: *mut rocks_env_t, pri: ::std::os::raw::c_int)
1839        -> ::std::os::raw::c_int;
1840}
1841extern "C" {
1842    pub fn rocks_env_inc_background_threads_if_needed(
1843        env: *mut rocks_env_t,
1844        number: ::std::os::raw::c_int,
1845        pri: ::std::os::raw::c_int,
1846    );
1847}
1848extern "C" {
1849    pub fn rocks_env_lower_thread_pool_io_priority(env: *mut rocks_env_t, pool: ::std::os::raw::c_int);
1850}
1851extern "C" {
1852    pub fn rocks_env_get_thread_list(env: *mut rocks_env_t, len: *mut usize) -> *mut *mut rocks_thread_status_t;
1853}
1854extern "C" {
1855    pub fn rocks_env_get_thread_list_destroy(p: *mut *mut rocks_thread_status_t);
1856}
1857extern "C" {
1858    pub fn rocks_env_get_thread_id(env: *mut rocks_env_t) -> u64;
1859}
1860extern "C" {
1861    pub fn rocks_envoptions_create() -> *mut rocks_envoptions_t;
1862}
1863extern "C" {
1864    pub fn rocks_envoptions_destroy(opt: *mut rocks_envoptions_t);
1865}
1866extern "C" {
1867    pub fn rocks_envoptions_set_use_mmap_reads(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1868}
1869extern "C" {
1870    pub fn rocks_envoptions_set_use_mmap_writes(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1871}
1872extern "C" {
1873    pub fn rocks_envoptions_set_use_direct_reads(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1874}
1875extern "C" {
1876    pub fn rocks_envoptions_set_use_direct_writes(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1877}
1878extern "C" {
1879    pub fn rocks_envoptions_set_allow_fallocate(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1880}
1881extern "C" {
1882    pub fn rocks_envoptions_set_fd_cloexec(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1883}
1884extern "C" {
1885    pub fn rocks_envoptions_set_bytes_per_sync(opt: *mut rocks_envoptions_t, val: u64);
1886}
1887extern "C" {
1888    pub fn rocks_envoptions_set_fallocate_with_keep_size(opt: *mut rocks_envoptions_t, val: ::std::os::raw::c_uchar);
1889}
1890extern "C" {
1891    pub fn rocks_envoptions_set_compaction_readahead_size(opt: *mut rocks_envoptions_t, val: usize);
1892}
1893extern "C" {
1894    pub fn rocks_envoptions_set_random_access_max_buffer_size(opt: *mut rocks_envoptions_t, val: usize);
1895}
1896extern "C" {
1897    pub fn rocks_envoptions_set_writable_file_max_buffer_size(opt: *mut rocks_envoptions_t, val: usize);
1898}
1899extern "C" {
1900    pub fn rocks_logger_destroy(logger: *mut rocks_logger_t);
1901}
1902extern "C" {
1903    pub fn rocks_logger_log(
1904        logger: *mut rocks_logger_t,
1905        log_level: ::std::os::raw::c_int,
1906        msg_ptr: *const ::std::os::raw::c_char,
1907        msg_len: usize,
1908    );
1909}
1910extern "C" {
1911    pub fn rocks_logger_flush(logger: *mut rocks_logger_t);
1912}
1913extern "C" {
1914    pub fn rocks_logger_set_log_level(logger: *mut rocks_logger_t, log_level: ::std::os::raw::c_int);
1915}
1916extern "C" {
1917    pub fn rocks_logger_get_log_level(logger: *mut rocks_logger_t) -> ::std::os::raw::c_int;
1918}
1919extern "C" {
1920    pub fn rocks_create_snapshot(db: *mut rocks_db_t) -> *const rocks_snapshot_t;
1921}
1922extern "C" {
1923    pub fn rocks_snapshot_destroy(snapshot: *mut rocks_snapshot_t);
1924}
1925extern "C" {
1926    pub fn rocks_release_snapshot(db: *mut rocks_db_t, snapshot: *const rocks_snapshot_t);
1927}
1928extern "C" {
1929    pub fn rocks_snapshot_get_sequence_number(snapshot: *mut rocks_snapshot_t) -> u64;
1930}
1931extern "C" {
1932    pub fn rocks_writebatch_create() -> *mut rocks_writebatch_t;
1933}
1934extern "C" {
1935    pub fn rocks_writebatch_create_with_reserved_bytes(size: usize) -> *mut rocks_writebatch_t;
1936}
1937extern "C" {
1938    pub fn rocks_writebatch_destroy(b: *mut rocks_writebatch_t);
1939}
1940extern "C" {
1941    pub fn rocks_writebatch_clear(b: *mut rocks_writebatch_t);
1942}
1943extern "C" {
1944    pub fn rocks_writebatch_count(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_int;
1945}
1946extern "C" {
1947    pub fn rocks_writebatch_put(
1948        b: *mut rocks_writebatch_t,
1949        key: *const ::std::os::raw::c_char,
1950        klen: usize,
1951        val: *const ::std::os::raw::c_char,
1952        vlen: usize,
1953    );
1954}
1955extern "C" {
1956    pub fn rocks_writebatch_put_cf(
1957        b: *mut rocks_writebatch_t,
1958        column_family: *mut rocks_column_family_handle_t,
1959        key: *const ::std::os::raw::c_char,
1960        klen: usize,
1961        val: *const ::std::os::raw::c_char,
1962        vlen: usize,
1963    );
1964}
1965extern "C" {
1966    pub fn rocks_writebatch_putv(
1967        b: *mut rocks_writebatch_t,
1968        num_keys: ::std::os::raw::c_int,
1969        keys_list: *const *const ::std::os::raw::c_char,
1970        keys_list_sizes: *const usize,
1971        num_values: ::std::os::raw::c_int,
1972        values_list: *const *const ::std::os::raw::c_char,
1973        values_list_sizes: *const usize,
1974    );
1975}
1976extern "C" {
1977    pub fn rocks_writebatch_putv_cf(
1978        b: *mut rocks_writebatch_t,
1979        column_family: *mut rocks_column_family_handle_t,
1980        num_keys: ::std::os::raw::c_int,
1981        keys_list: *const *const ::std::os::raw::c_char,
1982        keys_list_sizes: *const usize,
1983        num_values: ::std::os::raw::c_int,
1984        values_list: *const *const ::std::os::raw::c_char,
1985        values_list_sizes: *const usize,
1986    );
1987}
1988extern "C" {
1989    pub fn rocks_writebatch_putv_coerce(
1990        b: *mut rocks_writebatch_t,
1991        key_parts: *const ::std::os::raw::c_void,
1992        num_keys: ::std::os::raw::c_int,
1993        value_parts: *const ::std::os::raw::c_void,
1994        num_values: ::std::os::raw::c_int,
1995    );
1996}
1997extern "C" {
1998    pub fn rocks_writebatch_putv_cf_coerce(
1999        b: *mut rocks_writebatch_t,
2000        column_family: *mut rocks_column_family_handle_t,
2001        key_parts: *const ::std::os::raw::c_void,
2002        num_keys: ::std::os::raw::c_int,
2003        value_parts: *const ::std::os::raw::c_void,
2004        num_values: ::std::os::raw::c_int,
2005    );
2006}
2007extern "C" {
2008    pub fn rocks_writebatch_merge(
2009        b: *mut rocks_writebatch_t,
2010        key: *const ::std::os::raw::c_char,
2011        klen: usize,
2012        val: *const ::std::os::raw::c_char,
2013        vlen: usize,
2014    );
2015}
2016extern "C" {
2017    pub fn rocks_writebatch_merge_cf(
2018        b: *mut rocks_writebatch_t,
2019        column_family: *mut rocks_column_family_handle_t,
2020        key: *const ::std::os::raw::c_char,
2021        klen: usize,
2022        val: *const ::std::os::raw::c_char,
2023        vlen: usize,
2024    );
2025}
2026extern "C" {
2027    pub fn rocks_writebatch_mergev(
2028        b: *mut rocks_writebatch_t,
2029        num_keys: ::std::os::raw::c_int,
2030        keys_list: *const *const ::std::os::raw::c_char,
2031        keys_list_sizes: *const usize,
2032        num_values: ::std::os::raw::c_int,
2033        values_list: *const *const ::std::os::raw::c_char,
2034        values_list_sizes: *const usize,
2035    );
2036}
2037extern "C" {
2038    pub fn rocks_writebatch_mergev_cf(
2039        b: *mut rocks_writebatch_t,
2040        column_family: *mut rocks_column_family_handle_t,
2041        num_keys: ::std::os::raw::c_int,
2042        keys_list: *const *const ::std::os::raw::c_char,
2043        keys_list_sizes: *const usize,
2044        num_values: ::std::os::raw::c_int,
2045        values_list: *const *const ::std::os::raw::c_char,
2046        values_list_sizes: *const usize,
2047    );
2048}
2049extern "C" {
2050    pub fn rocks_writebatch_mergev_coerce(
2051        b: *mut rocks_writebatch_t,
2052        key_parts: *const ::std::os::raw::c_void,
2053        num_keys: ::std::os::raw::c_int,
2054        value_parts: *const ::std::os::raw::c_void,
2055        num_values: ::std::os::raw::c_int,
2056    );
2057}
2058extern "C" {
2059    pub fn rocks_writebatch_mergev_cf_coerce(
2060        b: *mut rocks_writebatch_t,
2061        column_family: *mut rocks_column_family_handle_t,
2062        key_parts: *const ::std::os::raw::c_void,
2063        num_keys: ::std::os::raw::c_int,
2064        value_parts: *const ::std::os::raw::c_void,
2065        num_values: ::std::os::raw::c_int,
2066    );
2067}
2068extern "C" {
2069    pub fn rocks_writebatch_delete(b: *mut rocks_writebatch_t, key: *const ::std::os::raw::c_char, klen: usize);
2070}
2071extern "C" {
2072    pub fn rocks_writebatch_delete_cf(
2073        b: *mut rocks_writebatch_t,
2074        column_family: *mut rocks_column_family_handle_t,
2075        key: *const ::std::os::raw::c_char,
2076        klen: usize,
2077    );
2078}
2079extern "C" {
2080    pub fn rocks_writebatch_deletev(
2081        b: *mut rocks_writebatch_t,
2082        num_keys: ::std::os::raw::c_int,
2083        keys_list: *const *const ::std::os::raw::c_char,
2084        keys_list_sizes: *const usize,
2085    );
2086}
2087extern "C" {
2088    pub fn rocks_writebatch_deletev_cf(
2089        b: *mut rocks_writebatch_t,
2090        column_family: *mut rocks_column_family_handle_t,
2091        num_keys: ::std::os::raw::c_int,
2092        keys_list: *const *const ::std::os::raw::c_char,
2093        keys_list_sizes: *const usize,
2094    );
2095}
2096extern "C" {
2097    pub fn rocks_writebatch_deletev_coerce(
2098        b: *mut rocks_writebatch_t,
2099        key_parts: *const ::std::os::raw::c_void,
2100        num_keys: ::std::os::raw::c_int,
2101    );
2102}
2103extern "C" {
2104    pub fn rocks_writebatch_deletev_cf_coerce(
2105        b: *mut rocks_writebatch_t,
2106        column_family: *mut rocks_column_family_handle_t,
2107        key_parts: *const ::std::os::raw::c_void,
2108        num_keys: ::std::os::raw::c_int,
2109    );
2110}
2111extern "C" {
2112    pub fn rocks_writebatch_single_deletev_coerce(
2113        b: *mut rocks_writebatch_t,
2114        key_parts: *const ::std::os::raw::c_void,
2115        num_keys: ::std::os::raw::c_int,
2116    );
2117}
2118extern "C" {
2119    pub fn rocks_writebatch_single_deletev_cf_coerce(
2120        b: *mut rocks_writebatch_t,
2121        column_family: *mut rocks_column_family_handle_t,
2122        key_parts: *const ::std::os::raw::c_void,
2123        num_keys: ::std::os::raw::c_int,
2124    );
2125}
2126extern "C" {
2127    pub fn rocks_writebatch_single_delete(b: *mut rocks_writebatch_t, key: *const ::std::os::raw::c_char, klen: usize);
2128}
2129extern "C" {
2130    pub fn rocks_writebatch_single_delete_cf(
2131        b: *mut rocks_writebatch_t,
2132        column_family: *mut rocks_column_family_handle_t,
2133        key: *const ::std::os::raw::c_char,
2134        klen: usize,
2135    );
2136}
2137extern "C" {
2138    pub fn rocks_writebatch_delete_range(
2139        b: *mut rocks_writebatch_t,
2140        start_key: *const ::std::os::raw::c_char,
2141        start_key_len: usize,
2142        end_key: *const ::std::os::raw::c_char,
2143        end_key_len: usize,
2144    );
2145}
2146extern "C" {
2147    pub fn rocks_writebatch_delete_range_cf(
2148        b: *mut rocks_writebatch_t,
2149        column_family: *mut rocks_column_family_handle_t,
2150        start_key: *const ::std::os::raw::c_char,
2151        start_key_len: usize,
2152        end_key: *const ::std::os::raw::c_char,
2153        end_key_len: usize,
2154    );
2155}
2156extern "C" {
2157    pub fn rocks_writebatch_deletev_range_cf_coerce(
2158        b: *mut rocks_writebatch_t,
2159        column_family: *mut rocks_column_family_handle_t,
2160        begin_key_parts: *const ::std::os::raw::c_void,
2161        num_begin_keys: ::std::os::raw::c_int,
2162        end_key_parts: *const ::std::os::raw::c_void,
2163        num_end_keys: ::std::os::raw::c_int,
2164    );
2165}
2166extern "C" {
2167    pub fn rocks_writebatch_put_log_data(b: *mut rocks_writebatch_t, blob: *const ::std::os::raw::c_char, len: usize);
2168}
2169extern "C" {
2170    pub fn rocks_writebatch_iterate(
2171        b: *mut rocks_writebatch_t,
2172        trait_obj: *mut ::std::os::raw::c_void,
2173        status: *mut *mut rocks_status_t,
2174    );
2175}
2176extern "C" {
2177    pub fn rocks_writebatch_data(b: *mut rocks_writebatch_t, size: *mut usize) -> *const ::std::os::raw::c_char;
2178}
2179extern "C" {
2180    pub fn rocks_writebatch_set_save_point(b: *mut rocks_writebatch_t);
2181}
2182extern "C" {
2183    pub fn rocks_writebatch_rollback_to_save_point(b: *mut rocks_writebatch_t, status: *mut *mut rocks_status_t);
2184}
2185extern "C" {
2186    pub fn rocks_writebatch_pop_save_point(b: *mut rocks_writebatch_t, status: *mut *mut rocks_status_t);
2187}
2188extern "C" {
2189    pub fn rocks_writebatch_has_put(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2190}
2191extern "C" {
2192    pub fn rocks_writebatch_has_delete(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2193}
2194extern "C" {
2195    pub fn rocks_writebatch_has_single_delete(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2196}
2197extern "C" {
2198    pub fn rocks_writebatch_has_delete_range(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2199}
2200extern "C" {
2201    pub fn rocks_writebatch_has_merge(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2202}
2203extern "C" {
2204    pub fn rocks_writebatch_has_begin_prepare(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2205}
2206extern "C" {
2207    pub fn rocks_writebatch_has_end_prepare(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2208}
2209extern "C" {
2210    pub fn rocks_writebatch_has_commit(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2211}
2212extern "C" {
2213    pub fn rocks_writebatch_has_rollback(b: *mut rocks_writebatch_t) -> ::std::os::raw::c_uchar;
2214}
2215extern "C" {
2216    pub fn rocks_writebatch_copy(b: *mut rocks_writebatch_t) -> *mut rocks_writebatch_t;
2217}
2218extern "C" {
2219    pub fn rocks_writebatch_get_writebatch(b: *mut rocks_writebatch_t) -> *mut rocks_raw_writebatch_t;
2220}
2221extern "C" {
2222    pub fn rocks_plain_table_options_create() -> *mut rocks_plain_table_options_t;
2223}
2224extern "C" {
2225    pub fn rocks_plain_table_options_destroy(options: *mut rocks_plain_table_options_t);
2226}
2227extern "C" {
2228    pub fn rocks_plain_table_options_set_user_key_len(options: *mut rocks_plain_table_options_t, val: u32);
2229}
2230extern "C" {
2231    pub fn rocks_plain_table_options_set_bloom_bits_per_key(
2232        options: *mut rocks_plain_table_options_t,
2233        val: ::std::os::raw::c_int,
2234    );
2235}
2236extern "C" {
2237    pub fn rocks_plain_table_options_set_hash_table_ratio(options: *mut rocks_plain_table_options_t, val: f64);
2238}
2239extern "C" {
2240    pub fn rocks_plain_table_options_set_index_sparseness(options: *mut rocks_plain_table_options_t, val: usize);
2241}
2242extern "C" {
2243    pub fn rocks_plain_table_options_set_huge_page_tlb_size(options: *mut rocks_plain_table_options_t, val: usize);
2244}
2245extern "C" {
2246    pub fn rocks_plain_table_options_set_encoding_type(
2247        options: *mut rocks_plain_table_options_t,
2248        val: ::std::os::raw::c_char,
2249    );
2250}
2251extern "C" {
2252    pub fn rocks_plain_table_options_set_full_scan_mode(
2253        options: *mut rocks_plain_table_options_t,
2254        val: ::std::os::raw::c_uchar,
2255    );
2256}
2257extern "C" {
2258    pub fn rocks_plain_table_options_set_store_index_in_file(
2259        options: *mut rocks_plain_table_options_t,
2260        val: ::std::os::raw::c_uchar,
2261    );
2262}
2263extern "C" {
2264    pub fn rocks_block_based_table_options_create() -> *mut rocks_block_based_table_options_t;
2265}
2266extern "C" {
2267    pub fn rocks_block_based_table_options_destroy(options: *mut rocks_block_based_table_options_t);
2268}
2269extern "C" {
2270    pub fn rocks_block_based_table_options_set_cache_index_and_filter_blocks(
2271        options: *mut rocks_block_based_table_options_t,
2272        val: ::std::os::raw::c_uchar,
2273    );
2274}
2275extern "C" {
2276    pub fn rocks_block_based_table_options_set_cache_index_and_filter_blocks_with_high_priority(
2277        options: *mut rocks_block_based_table_options_t,
2278        val: ::std::os::raw::c_uchar,
2279    );
2280}
2281extern "C" {
2282    pub fn rocks_block_based_table_options_set_pin_l0_filter_and_index_blocks_in_cache(
2283        options: *mut rocks_block_based_table_options_t,
2284        v: ::std::os::raw::c_uchar,
2285    );
2286}
2287extern "C" {
2288    pub fn rocks_block_based_table_options_set_index_type(
2289        options: *mut rocks_block_based_table_options_t,
2290        v: ::std::os::raw::c_int,
2291    );
2292}
2293extern "C" {
2294    pub fn rocks_block_based_table_options_set_hash_index_allow_collision(
2295        options: *mut rocks_block_based_table_options_t,
2296        v: ::std::os::raw::c_uchar,
2297    );
2298}
2299extern "C" {
2300    pub fn rocks_block_based_table_options_set_no_block_cache(
2301        options: *mut rocks_block_based_table_options_t,
2302        no_block_cache: ::std::os::raw::c_uchar,
2303    );
2304}
2305extern "C" {
2306    pub fn rocks_block_based_table_options_set_block_cache(
2307        options: *mut rocks_block_based_table_options_t,
2308        block_cache: *mut rocks_cache_t,
2309    );
2310}
2311extern "C" {
2312    pub fn rocks_block_based_table_options_set_persistent_cache(
2313        options: *mut rocks_block_based_table_options_t,
2314        cache: *mut rocks_persistent_cache_t,
2315    );
2316}
2317extern "C" {
2318    pub fn rocks_block_based_table_options_set_block_cache_compressed(
2319        options: *mut rocks_block_based_table_options_t,
2320        block_cache_compressed: *mut rocks_cache_t,
2321    );
2322}
2323extern "C" {
2324    pub fn rocks_block_based_table_options_set_block_size(
2325        options: *mut rocks_block_based_table_options_t,
2326        block_size: usize,
2327    );
2328}
2329extern "C" {
2330    pub fn rocks_block_based_table_options_set_block_size_deviation(
2331        options: *mut rocks_block_based_table_options_t,
2332        block_size_deviation: ::std::os::raw::c_int,
2333    );
2334}
2335extern "C" {
2336    pub fn rocks_block_based_table_options_set_block_restart_interval(
2337        options: *mut rocks_block_based_table_options_t,
2338        block_restart_interval: ::std::os::raw::c_int,
2339    );
2340}
2341extern "C" {
2342    pub fn rocks_block_based_table_options_set_index_block_restart_interval(
2343        options: *mut rocks_block_based_table_options_t,
2344        val: ::std::os::raw::c_int,
2345    );
2346}
2347extern "C" {
2348    pub fn rocks_block_based_table_options_set_metadata_block_size(
2349        options: *mut rocks_block_based_table_options_t,
2350        val: u64,
2351    );
2352}
2353extern "C" {
2354    pub fn rocks_block_based_table_options_set_partition_filters(
2355        options: *mut rocks_block_based_table_options_t,
2356        val: ::std::os::raw::c_uchar,
2357    );
2358}
2359extern "C" {
2360    pub fn rocks_block_based_table_options_set_use_delta_encoding(
2361        options: *mut rocks_block_based_table_options_t,
2362        no_block_cache: ::std::os::raw::c_uchar,
2363    );
2364}
2365extern "C" {
2366    pub fn rocks_block_based_table_options_set_filter_policy(
2367        options: *mut rocks_block_based_table_options_t,
2368        policy: *mut rocks_raw_filterpolicy_t,
2369    );
2370}
2371extern "C" {
2372    pub fn rocks_block_based_table_options_set_whole_key_filtering(
2373        options: *mut rocks_block_based_table_options_t,
2374        v: ::std::os::raw::c_uchar,
2375    );
2376}
2377extern "C" {
2378    pub fn rocks_block_based_table_options_set_verify_compression(
2379        options: *mut rocks_block_based_table_options_t,
2380        v: ::std::os::raw::c_uchar,
2381    );
2382}
2383extern "C" {
2384    pub fn rocks_block_based_table_options_set_read_amp_bytes_per_bit(
2385        options: *mut rocks_block_based_table_options_t,
2386        v: u32,
2387    );
2388}
2389extern "C" {
2390    pub fn rocks_block_based_table_options_set_format_version(options: *mut rocks_block_based_table_options_t, v: u32);
2391}
2392extern "C" {
2393    pub fn rocks_cuckoo_table_options_create() -> *mut rocks_cuckoo_table_options_t;
2394}
2395extern "C" {
2396    pub fn rocks_cuckoo_table_options_destroy(options: *mut rocks_cuckoo_table_options_t);
2397}
2398extern "C" {
2399    pub fn rocks_cuckoo_table_options_set_hash_table_ratio(options: *mut rocks_cuckoo_table_options_t, v: f64);
2400}
2401extern "C" {
2402    pub fn rocks_cuckoo_table_options_set_max_search_depth(options: *mut rocks_cuckoo_table_options_t, v: u32);
2403}
2404extern "C" {
2405    pub fn rocks_cuckoo_table_options_set_cuckoo_block_size(options: *mut rocks_cuckoo_table_options_t, v: u32);
2406}
2407extern "C" {
2408    pub fn rocks_cuckoo_table_options_set_identity_as_first_hash(
2409        options: *mut rocks_cuckoo_table_options_t,
2410        v: ::std::os::raw::c_uchar,
2411    );
2412}
2413extern "C" {
2414    pub fn rocks_cuckoo_table_options_set_use_module_hash(
2415        options: *mut rocks_cuckoo_table_options_t,
2416        v: ::std::os::raw::c_uchar,
2417    );
2418}
2419extern "C" {
2420    pub fn rocks_iter_destroy(iter: *mut rocks_iterator_t);
2421}
2422extern "C" {
2423    pub fn rocks_iter_valid(iter: *const rocks_iterator_t) -> ::std::os::raw::c_uchar;
2424}
2425extern "C" {
2426    pub fn rocks_iter_seek_to_first(iter: *mut rocks_iterator_t);
2427}
2428extern "C" {
2429    pub fn rocks_iter_seek_to_last(iter: *mut rocks_iterator_t);
2430}
2431extern "C" {
2432    pub fn rocks_iter_seek(iter: *mut rocks_iterator_t, k: *const ::std::os::raw::c_char, klen: usize);
2433}
2434extern "C" {
2435    pub fn rocks_iter_seek_for_prev(iter: *mut rocks_iterator_t, k: *const ::std::os::raw::c_char, klen: usize);
2436}
2437extern "C" {
2438    pub fn rocks_iter_next(iter: *mut rocks_iterator_t);
2439}
2440extern "C" {
2441    pub fn rocks_iter_prev(iter: *mut rocks_iterator_t);
2442}
2443extern "C" {
2444    pub fn rocks_iter_key(iter: *const rocks_iterator_t, klen: *mut usize) -> *const ::std::os::raw::c_char;
2445}
2446extern "C" {
2447    pub fn rocks_iter_value(iter: *const rocks_iterator_t, vlen: *mut usize) -> *const ::std::os::raw::c_char;
2448}
2449extern "C" {
2450    pub fn rocks_iter_get_status(iter: *const rocks_iterator_t, status: *mut *mut rocks_status_t);
2451}
2452extern "C" {
2453    pub fn rocks_iter_get_property(
2454        iter: *const rocks_iterator_t,
2455        prop: *const ::std::os::raw::c_char,
2456        prop_len: usize,
2457        value: *mut ::std::os::raw::c_void,
2458        status: *mut *mut rocks_status_t,
2459    );
2460}
2461extern "C" {
2462    pub fn rocks_new_empty_iterator() -> *mut rocks_iterator_t;
2463}
2464extern "C" {
2465    pub fn rocks_raw_filterpolicy_new_bloomfilter(
2466        bits_per_key: ::std::os::raw::c_int,
2467        use_block_based_builder: ::std::os::raw::c_uchar,
2468    ) -> *mut rocks_raw_filterpolicy_t;
2469}
2470extern "C" {
2471    pub fn rocks_raw_filterpolicy_destroy(cache: *mut rocks_raw_filterpolicy_t);
2472}
2473extern "C" {
2474    pub fn rocks_cache_create_lru(
2475        capacity: usize,
2476        num_shard_bits: ::std::os::raw::c_int,
2477        strict_capacity_limit: ::std::os::raw::c_char,
2478        high_pri_pool_ratio: f64,
2479    ) -> *mut rocks_cache_t;
2480}
2481extern "C" {
2482    pub fn rocks_cache_create_clock(
2483        capacity: usize,
2484        num_shard_bits: ::std::os::raw::c_int,
2485        strict_capacity_limit: ::std::os::raw::c_char,
2486    ) -> *mut rocks_cache_t;
2487}
2488extern "C" {
2489    pub fn rocks_cache_destroy(cache: *mut rocks_cache_t);
2490}
2491extern "C" {
2492    pub fn rocks_cache_set_capacity(cache: *mut rocks_cache_t, capacity: usize);
2493}
2494extern "C" {
2495    pub fn rocks_cache_get_capacity(cache: *mut rocks_cache_t) -> usize;
2496}
2497extern "C" {
2498    pub fn rocks_cache_get_usage(cache: *mut rocks_cache_t) -> usize;
2499}
2500extern "C" {
2501    pub fn rocks_cache_get_pinned_usage(cache: *mut rocks_cache_t) -> usize;
2502}
2503extern "C" {
2504    pub fn rocks_cache_name(cache: *mut rocks_cache_t) -> *const ::std::os::raw::c_char;
2505}
2506extern "C" {
2507    pub fn rocks_new_persistent_cache(
2508        env: *const rocks_env_t,
2509        path: *const ::std::os::raw::c_char,
2510        path_len: usize,
2511        size: u64,
2512        log: *const rocks_logger_t,
2513        optimized_for_nvm: ::std::os::raw::c_uchar,
2514        status: *mut *mut rocks_status_t,
2515    ) -> *mut rocks_persistent_cache_t;
2516}
2517extern "C" {
2518    pub fn rocks_persistent_cache_destroy(cache: *mut rocks_persistent_cache_t);
2519}
2520extern "C" {
2521    pub fn rocks_persistent_cache_clone(cache: *mut rocks_persistent_cache_t) -> *mut rocks_persistent_cache_t;
2522}
2523extern "C" {
2524    pub fn rocks_persistent_cache_get_printable_options(cache: *mut rocks_persistent_cache_t) -> *mut cxx_string_t;
2525}
2526extern "C" {
2527    pub fn rocks_external_sst_file_info_create() -> *mut rocks_external_sst_file_info_t;
2528}
2529extern "C" {
2530    pub fn rocks_external_sst_file_info_destroy(info: *mut rocks_external_sst_file_info_t);
2531}
2532extern "C" {
2533    pub fn rocks_external_sst_file_info_get_file_path(
2534        info: *mut rocks_external_sst_file_info_t,
2535        len: *mut usize,
2536    ) -> *const ::std::os::raw::c_char;
2537}
2538extern "C" {
2539    pub fn rocks_external_sst_file_info_get_smallest_key(
2540        info: *mut rocks_external_sst_file_info_t,
2541        len: *mut usize,
2542    ) -> *const ::std::os::raw::c_char;
2543}
2544extern "C" {
2545    pub fn rocks_external_sst_file_info_get_largest_key(
2546        info: *mut rocks_external_sst_file_info_t,
2547        len: *mut usize,
2548    ) -> *const ::std::os::raw::c_char;
2549}
2550extern "C" {
2551    pub fn rocks_external_sst_file_info_get_sequence_number(info: *mut rocks_external_sst_file_info_t) -> u64;
2552}
2553extern "C" {
2554    pub fn rocks_external_sst_file_info_get_file_size(info: *mut rocks_external_sst_file_info_t) -> u64;
2555}
2556extern "C" {
2557    pub fn rocks_external_sst_file_info_get_num_entries(info: *mut rocks_external_sst_file_info_t) -> u64;
2558}
2559extern "C" {
2560    pub fn rocks_external_sst_file_info_get_version(info: *mut rocks_external_sst_file_info_t) -> i32;
2561}
2562extern "C" {
2563    pub fn rocks_sst_file_writer_create_from_c_comparator(
2564        env_options: *const rocks_envoptions_t,
2565        options: *const rocks_options_t,
2566        comparator: *const rocks_c_comparator_t,
2567        column_family: *mut rocks_column_family_handle_t,
2568        invalidate_page_cache: ::std::os::raw::c_uchar,
2569    ) -> *mut rocks_sst_file_writer_t;
2570}
2571extern "C" {
2572    pub fn rocks_sst_file_writer_create_from_rust_comparator(
2573        env_options: *const rocks_envoptions_t,
2574        options: *const rocks_options_t,
2575        comparator: *const ::std::os::raw::c_void,
2576        column_family: *mut rocks_column_family_handle_t,
2577        invalidate_page_cache: ::std::os::raw::c_uchar,
2578    ) -> *mut rocks_sst_file_writer_t;
2579}
2580extern "C" {
2581    pub fn rocks_sst_file_writer_destroy(writer: *mut rocks_sst_file_writer_t);
2582}
2583extern "C" {
2584    pub fn rocks_sst_file_writer_open(
2585        writer: *mut rocks_sst_file_writer_t,
2586        file_path: *const ::std::os::raw::c_char,
2587        file_path_len: usize,
2588        status: *mut *mut rocks_status_t,
2589    );
2590}
2591extern "C" {
2592    pub fn rocks_sst_file_writer_put(
2593        writer: *mut rocks_sst_file_writer_t,
2594        key: *const ::std::os::raw::c_char,
2595        key_len: usize,
2596        value: *const ::std::os::raw::c_char,
2597        value_len: usize,
2598        status: *mut *mut rocks_status_t,
2599    );
2600}
2601extern "C" {
2602    pub fn rocks_sst_file_writer_merge(
2603        writer: *mut rocks_sst_file_writer_t,
2604        key: *const ::std::os::raw::c_char,
2605        key_len: usize,
2606        value: *const ::std::os::raw::c_char,
2607        value_len: usize,
2608        status: *mut *mut rocks_status_t,
2609    );
2610}
2611extern "C" {
2612    pub fn rocks_sst_file_writer_delete(
2613        writer: *mut rocks_sst_file_writer_t,
2614        key: *const ::std::os::raw::c_char,
2615        key_len: usize,
2616        status: *mut *mut rocks_status_t,
2617    );
2618}
2619extern "C" {
2620    pub fn rocks_sst_file_writer_finish(
2621        writer: *mut rocks_sst_file_writer_t,
2622        info: *mut rocks_external_sst_file_info_t,
2623        status: *mut *mut rocks_status_t,
2624    );
2625}
2626extern "C" {
2627    pub fn rocks_sst_file_writer_file_size(writer: *mut rocks_sst_file_writer_t) -> u64;
2628}
2629extern "C" {
2630    pub fn rocks_comparator_bytewise() -> *const rocks_c_comparator_t;
2631}
2632extern "C" {
2633    pub fn rocks_comparator_bytewise_reversed() -> *const rocks_c_comparator_t;
2634}
2635extern "C" {
2636    pub fn rocks_version_major() -> ::std::os::raw::c_int;
2637}
2638extern "C" {
2639    pub fn rocks_version_minor() -> ::std::os::raw::c_int;
2640}
2641extern "C" {
2642    pub fn rocks_version_patch() -> ::std::os::raw::c_int;
2643}
2644extern "C" {
2645    pub fn rocks_dump_options_create() -> *mut rocks_dump_options_t;
2646}
2647extern "C" {
2648    pub fn rocks_dump_options_destroy(options: *mut rocks_dump_options_t);
2649}
2650extern "C" {
2651    pub fn rocks_dump_options_set_db_path(
2652        opt: *mut rocks_dump_options_t,
2653        path: *const ::std::os::raw::c_char,
2654        path_len: usize,
2655    );
2656}
2657extern "C" {
2658    pub fn rocks_dump_options_set_dump_location(
2659        opt: *mut rocks_dump_options_t,
2660        path: *const ::std::os::raw::c_char,
2661        path_len: usize,
2662    );
2663}
2664extern "C" {
2665    pub fn rocks_dump_options_set_anonymous(opt: *mut rocks_dump_options_t, v: ::std::os::raw::c_uchar);
2666}
2667extern "C" {
2668    pub fn rocks_db_dump_tool_run(
2669        dump_options: *mut rocks_dump_options_t,
2670        options: *mut rocks_options_t,
2671    ) -> ::std::os::raw::c_uchar;
2672}
2673extern "C" {
2674    pub fn rocks_undump_options_create() -> *mut rocks_undump_options_t;
2675}
2676extern "C" {
2677    pub fn rocks_undump_options_destroy(options: *mut rocks_undump_options_t);
2678}
2679extern "C" {
2680    pub fn rocks_undump_options_set_db_path(
2681        opt: *mut rocks_undump_options_t,
2682        path: *const ::std::os::raw::c_char,
2683        path_len: usize,
2684    );
2685}
2686extern "C" {
2687    pub fn rocks_undump_options_set_dump_location(
2688        opt: *mut rocks_undump_options_t,
2689        path: *const ::std::os::raw::c_char,
2690        path_len: usize,
2691    );
2692}
2693extern "C" {
2694    pub fn rocks_undump_options_set_compact_db(opt: *mut rocks_undump_options_t, v: ::std::os::raw::c_uchar);
2695}
2696extern "C" {
2697    pub fn rocks_db_undump_tool_run(
2698        undump_options: *mut rocks_undump_options_t,
2699        options: *mut rocks_options_t,
2700    ) -> ::std::os::raw::c_uchar;
2701}
2702extern "C" {
2703    pub fn rocks_set_perf_level(level: ::std::os::raw::c_uchar);
2704}
2705extern "C" {
2706    pub fn rocks_get_perf_level() -> ::std::os::raw::c_uchar;
2707}
2708extern "C" {
2709    pub fn rocks_get_iostats_context() -> *mut rocks_iostats_context_t;
2710}
2711extern "C" {
2712    pub fn rocks_iostats_context_reset(ctx: *mut rocks_iostats_context_t);
2713}
2714extern "C" {
2715    pub fn rocks_iostats_context_to_string(
2716        ctx: *const rocks_iostats_context_t,
2717        exclude_zero_counters: ::std::os::raw::c_uchar,
2718        s: *mut ::std::os::raw::c_void,
2719    );
2720}
2721extern "C" {
2722    pub fn rocks_get_perf_context() -> *mut rocks_perf_context_t;
2723}
2724extern "C" {
2725    pub fn rocks_perf_context_reset(ctx: *mut rocks_perf_context_t);
2726}
2727extern "C" {
2728    pub fn rocks_perf_context_to_string(
2729        ctx: *const rocks_perf_context_t,
2730        exclude_zero_counters: ::std::os::raw::c_uchar,
2731        s: *mut ::std::os::raw::c_void,
2732    );
2733}
2734extern "C" {
2735    pub fn rocks_statistics_create() -> *mut rocks_statistics_t;
2736}
2737extern "C" {
2738    pub fn rocks_statistics_copy(stat: *mut rocks_statistics_t) -> *mut rocks_statistics_t;
2739}
2740extern "C" {
2741    pub fn rocks_statistics_destroy(stat: *mut rocks_statistics_t);
2742}
2743extern "C" {
2744    pub fn rocks_statistics_get_ticker_count(
2745        stat: *mut rocks_statistics_t,
2746        key: *const ::std::os::raw::c_char,
2747        key_len: usize,
2748    ) -> u64;
2749}
2750extern "C" {
2751    pub fn rocks_statistics_histogram_data(
2752        stat: *mut rocks_statistics_t,
2753        key: *const ::std::os::raw::c_char,
2754        key_len: usize,
2755        data: *mut rocks_histogram_data_t,
2756    );
2757}
2758extern "C" {
2759    pub fn rocks_statistics_get_histogram_string(
2760        stat: *mut rocks_statistics_t,
2761        key: *const ::std::os::raw::c_char,
2762        key_len: usize,
2763        str: *mut ::std::os::raw::c_void,
2764    );
2765}
2766extern "C" {
2767    pub fn rocks_statistics_record_tick(stat: *mut rocks_statistics_t, tickerType: u32, count: u64);
2768}
2769extern "C" {
2770    pub fn rocks_statistics_set_ticker_count(stat: *mut rocks_statistics_t, tickerType: u32, count: u64);
2771}
2772extern "C" {
2773    pub fn rocks_statistics_get_and_reset_ticker_count(
2774        stat: *mut rocks_statistics_t,
2775        key: *const ::std::os::raw::c_char,
2776        key_len: usize,
2777    ) -> u64;
2778}
2779extern "C" {
2780    pub fn rocks_statistics_measure_time(stat: *mut rocks_statistics_t, histogramType: u32, time: u64);
2781}
2782extern "C" {
2783    pub fn rocks_statistics_to_string(stat: *mut rocks_statistics_t, str: *mut ::std::os::raw::c_void);
2784}
2785extern "C" {
2786    pub fn rocks_statistics_hist_enabled_for_type(stat: *mut rocks_statistics_t, type_: u32)
2787        -> ::std::os::raw::c_uchar;
2788}
2789extern "C" {
2790    pub fn rocks_statistics_reset(stat: *mut rocks_statistics_t, status: *mut *mut rocks_status_t);
2791}
2792extern "C" {
2793    pub fn rocks_livefiles_count(lf: *const rocks_livefiles_t) -> ::std::os::raw::c_int;
2794}
2795extern "C" {
2796    pub fn rocks_livefiles_name(
2797        lf: *const rocks_livefiles_t,
2798        index: ::std::os::raw::c_int,
2799    ) -> *const ::std::os::raw::c_char;
2800}
2801extern "C" {
2802    pub fn rocks_livefiles_column_family_name(
2803        lf: *const rocks_livefiles_t,
2804        index: ::std::os::raw::c_int,
2805    ) -> *const ::std::os::raw::c_char;
2806}
2807extern "C" {
2808    pub fn rocks_livefiles_db_path(
2809        lf: *const rocks_livefiles_t,
2810        index: ::std::os::raw::c_int,
2811    ) -> *const ::std::os::raw::c_char;
2812}
2813extern "C" {
2814    pub fn rocks_livefiles_smallest_seqno(lf: *const rocks_livefiles_t, index: ::std::os::raw::c_int) -> u64;
2815}
2816extern "C" {
2817    pub fn rocks_livefiles_largest_seqno(lf: *const rocks_livefiles_t, index: ::std::os::raw::c_int) -> u64;
2818}
2819extern "C" {
2820    pub fn rocks_livefiles_level(lf: *const rocks_livefiles_t, index: ::std::os::raw::c_int) -> ::std::os::raw::c_int;
2821}
2822extern "C" {
2823    pub fn rocks_livefiles_size(lf: *const rocks_livefiles_t, index: ::std::os::raw::c_int) -> usize;
2824}
2825extern "C" {
2826    pub fn rocks_livefiles_smallestkey(
2827        lf: *const rocks_livefiles_t,
2828        index: ::std::os::raw::c_int,
2829        size: *mut usize,
2830    ) -> *const ::std::os::raw::c_char;
2831}
2832extern "C" {
2833    pub fn rocks_livefiles_largestkey(
2834        lf: *const rocks_livefiles_t,
2835        index: ::std::os::raw::c_int,
2836        size: *mut usize,
2837    ) -> *const ::std::os::raw::c_char;
2838}
2839extern "C" {
2840    pub fn rocks_livefiles_being_compacted(
2841        lf: *const rocks_livefiles_t,
2842        index: ::std::os::raw::c_int,
2843    ) -> ::std::os::raw::c_uchar;
2844}
2845extern "C" {
2846    pub fn rocks_livefiles_destroy(lf: *const rocks_livefiles_t);
2847}
2848extern "C" {
2849    pub fn rocks_column_family_metadata_size(meta: *const rocks_column_family_metadata_t) -> u64;
2850}
2851extern "C" {
2852    pub fn rocks_column_family_metadata_file_count(meta: *const rocks_column_family_metadata_t) -> usize;
2853}
2854extern "C" {
2855    pub fn rocks_column_family_metadata_name(
2856        meta: *const rocks_column_family_metadata_t,
2857    ) -> *const ::std::os::raw::c_char;
2858}
2859extern "C" {
2860    pub fn rocks_column_family_metadata_levels_count(
2861        meta: *const rocks_column_family_metadata_t,
2862    ) -> ::std::os::raw::c_int;
2863}
2864extern "C" {
2865    pub fn rocks_column_family_metadata_levels_level(
2866        meta: *const rocks_column_family_metadata_t,
2867        level: ::std::os::raw::c_int,
2868    ) -> ::std::os::raw::c_int;
2869}
2870extern "C" {
2871    pub fn rocks_column_family_metadata_levels_size(
2872        meta: *const rocks_column_family_metadata_t,
2873        level: ::std::os::raw::c_int,
2874    ) -> u64;
2875}
2876extern "C" {
2877    pub fn rocks_column_family_metadata_levels_files_count(
2878        meta: *const rocks_column_family_metadata_t,
2879        level: ::std::os::raw::c_int,
2880    ) -> ::std::os::raw::c_int;
2881}
2882extern "C" {
2883    pub fn rocks_column_family_metadata_levels_files_size(
2884        meta: *const rocks_column_family_metadata_t,
2885        level: ::std::os::raw::c_int,
2886        file_index: ::std::os::raw::c_int,
2887    ) -> usize;
2888}
2889extern "C" {
2890    pub fn rocks_column_family_metadata_levels_files_name(
2891        meta: *const rocks_column_family_metadata_t,
2892        level: ::std::os::raw::c_int,
2893        file_index: ::std::os::raw::c_int,
2894    ) -> *const ::std::os::raw::c_char;
2895}
2896extern "C" {
2897    pub fn rocks_column_family_metadata_levels_files_db_path(
2898        meta: *const rocks_column_family_metadata_t,
2899        level: ::std::os::raw::c_int,
2900        file_index: ::std::os::raw::c_int,
2901    ) -> *const ::std::os::raw::c_char;
2902}
2903extern "C" {
2904    pub fn rocks_column_family_metadata_levels_files_smallest_seqno(
2905        meta: *const rocks_column_family_metadata_t,
2906        level: ::std::os::raw::c_int,
2907        file_index: ::std::os::raw::c_int,
2908    ) -> u64;
2909}
2910extern "C" {
2911    pub fn rocks_column_family_metadata_levels_files_largest_seqno(
2912        meta: *const rocks_column_family_metadata_t,
2913        level: ::std::os::raw::c_int,
2914        file_index: ::std::os::raw::c_int,
2915    ) -> u64;
2916}
2917extern "C" {
2918    pub fn rocks_column_family_metadata_levels_files_smallestkey(
2919        meta: *const rocks_column_family_metadata_t,
2920        level: ::std::os::raw::c_int,
2921        file_index: ::std::os::raw::c_int,
2922        size: *mut usize,
2923    ) -> *const ::std::os::raw::c_char;
2924}
2925extern "C" {
2926    pub fn rocks_column_family_metadata_levels_files_largestkey(
2927        meta: *const rocks_column_family_metadata_t,
2928        level: ::std::os::raw::c_int,
2929        file_index: ::std::os::raw::c_int,
2930        size: *mut usize,
2931    ) -> *const ::std::os::raw::c_char;
2932}
2933extern "C" {
2934    pub fn rocks_column_family_metadata_levels_files_being_compacted(
2935        meta: *const rocks_column_family_metadata_t,
2936        level: ::std::os::raw::c_int,
2937        file_index: ::std::os::raw::c_int,
2938    ) -> ::std::os::raw::c_uchar;
2939}
2940extern "C" {
2941    pub fn rocks_column_family_metadata_destroy(meta: *const rocks_column_family_metadata_t);
2942}
2943extern "C" {
2944    pub fn rocks_universal_compaction_options_create() -> *mut rocks_universal_compaction_options_t;
2945}
2946extern "C" {
2947    pub fn rocks_universal_compaction_options_set_size_ratio(
2948        uco: *mut rocks_universal_compaction_options_t,
2949        ratio: ::std::os::raw::c_uint,
2950    );
2951}
2952extern "C" {
2953    pub fn rocks_universal_compaction_options_set_min_merge_width(
2954        uco: *mut rocks_universal_compaction_options_t,
2955        w: ::std::os::raw::c_uint,
2956    );
2957}
2958extern "C" {
2959    pub fn rocks_universal_compaction_options_set_max_merge_width(
2960        uco: *mut rocks_universal_compaction_options_t,
2961        w: ::std::os::raw::c_uint,
2962    );
2963}
2964extern "C" {
2965    pub fn rocks_universal_compaction_options_set_max_size_amplification_percent(
2966        uco: *mut rocks_universal_compaction_options_t,
2967        p: ::std::os::raw::c_uint,
2968    );
2969}
2970extern "C" {
2971    pub fn rocks_universal_compaction_options_set_compression_size_percent(
2972        uco: *mut rocks_universal_compaction_options_t,
2973        p: ::std::os::raw::c_int,
2974    );
2975}
2976extern "C" {
2977    pub fn rocks_universal_compaction_options_set_stop_style(
2978        uco: *mut rocks_universal_compaction_options_t,
2979        style: ::std::os::raw::c_int,
2980    );
2981}
2982extern "C" {
2983    pub fn rocks_universal_compaction_options_destroy(uco: *mut rocks_universal_compaction_options_t);
2984}
2985extern "C" {
2986    pub fn rocks_universal_compaction_options_set_allow_trivial_move(
2987        uco: *mut rocks_universal_compaction_options_t,
2988        val: ::std::os::raw::c_uchar,
2989    );
2990}
2991extern "C" {
2992    pub fn rocks_logfiles_destroy(files: *mut rocks_logfiles_t);
2993}
2994extern "C" {
2995    pub fn rocks_logfiles_size(files: *mut rocks_logfiles_t) -> usize;
2996}
2997extern "C" {
2998    pub fn rocks_logfiles_nth_path_name(files: *mut rocks_logfiles_t, nth: usize, s: *mut ::std::os::raw::c_void);
2999}
3000extern "C" {
3001    pub fn rocks_logfiles_nth_log_number(files: *mut rocks_logfiles_t, nth: usize) -> u64;
3002}
3003extern "C" {
3004    pub fn rocks_logfiles_nth_type(files: *mut rocks_logfiles_t, nth: usize) -> ::std::os::raw::c_int;
3005}
3006extern "C" {
3007    pub fn rocks_logfiles_nth_start_sequence(files: *mut rocks_logfiles_t, nth: usize) -> u64;
3008}
3009extern "C" {
3010    pub fn rocks_logfiles_nth_file_size(files: *mut rocks_logfiles_t, nth: usize) -> u64;
3011}
3012extern "C" {
3013    pub fn rocks_transaction_log_iterator_destory(it: *mut rocks_transaction_log_iterator_t);
3014}
3015extern "C" {
3016    pub fn rocks_transaction_log_iterator_valid(it: *mut rocks_transaction_log_iterator_t) -> ::std::os::raw::c_uchar;
3017}
3018extern "C" {
3019    pub fn rocks_transaction_log_iterator_next(it: *mut rocks_transaction_log_iterator_t);
3020}
3021extern "C" {
3022    pub fn rocks_transaction_log_iterator_status(
3023        it: *mut rocks_transaction_log_iterator_t,
3024        status: *mut *mut rocks_status_t,
3025    );
3026}
3027extern "C" {
3028    pub fn rocks_transaction_log_iterator_get_batch(
3029        it: *mut rocks_transaction_log_iterator_t,
3030        seq_no: *mut u64,
3031    ) -> *mut rocks_writebatch_t;
3032}
3033extern "C" {
3034    pub fn rocks_get_supported_compressions(len: *mut usize) -> *mut ::std::os::raw::c_int;
3035}
3036extern "C" {
3037    pub fn rocks_get_supported_compressions_destroy(ptr: *mut ::std::os::raw::c_int);
3038}
3039extern "C" {
3040    pub fn rocks_cancel_all_background_work(db: *mut rocks_db_t, wait: ::std::os::raw::c_uchar);
3041}
3042extern "C" {
3043    pub fn rocks_db_delete_files_in_range(
3044        db: *mut rocks_db_t,
3045        column_family: *mut rocks_column_family_handle_t,
3046        begin_ptr: *const ::std::os::raw::c_char,
3047        begin_len: usize,
3048        end_ptr: *const ::std::os::raw::c_char,
3049        end_len: usize,
3050        status: *mut *mut rocks_status_t,
3051    );
3052}
3053extern "C" {
3054    pub fn rocks_get_string_from_dboptions(opts: *mut rocks_dboptions_t) -> *mut cxx_string_t;
3055}
3056extern "C" {
3057    pub fn rocks_get_string_from_cfoptions(opts: *mut rocks_cfoptions_t) -> *mut cxx_string_t;
3058}
3059extern "C" {
3060    pub fn rocks_table_props_collection_destroy(coll: *mut rocks_table_props_collection_t);
3061}
3062extern "C" {
3063    pub fn rocks_table_props_destroy(props: *mut rocks_table_props_t);
3064}
3065extern "C" {
3066    pub fn rocks_table_props_collection_iter_destroy(it: *mut rocks_table_props_collection_iter_t);
3067}
3068extern "C" {
3069    pub fn rocks_user_collected_props_iter_destroy(it: *mut rocks_user_collected_props_iter_t);
3070}
3071extern "C" {
3072    pub fn rocks_table_props_collection_size(coll: *mut rocks_table_props_collection_t) -> usize;
3073}
3074extern "C" {
3075    pub fn rocks_table_props_collection_at(
3076        coll: *mut rocks_table_props_collection_t,
3077        key_ptr: *const ::std::os::raw::c_char,
3078        key_len: usize,
3079    ) -> *mut rocks_table_props_t;
3080}
3081extern "C" {
3082    pub fn rocks_table_props_collection_iter_create(
3083        coll: *mut rocks_table_props_collection_t,
3084    ) -> *mut rocks_table_props_collection_iter_t;
3085}
3086extern "C" {
3087    pub fn rocks_table_props_collection_iter_next(
3088        it: *mut rocks_table_props_collection_iter_t,
3089    ) -> ::std::os::raw::c_uchar;
3090}
3091extern "C" {
3092    pub fn rocks_table_props_collection_iter_key(
3093        it: *mut rocks_table_props_collection_iter_t,
3094        len: *mut usize,
3095    ) -> *const ::std::os::raw::c_char;
3096}
3097extern "C" {
3098    pub fn rocks_table_props_collection_iter_value(
3099        it: *mut rocks_table_props_collection_iter_t,
3100    ) -> *mut rocks_table_props_t;
3101}
3102extern "C" {
3103    pub fn rocks_table_props_get_data_size(prop: *mut rocks_table_props_t) -> u64;
3104}
3105extern "C" {
3106    pub fn rocks_table_props_get_index_size(prop: *mut rocks_table_props_t) -> u64;
3107}
3108extern "C" {
3109    pub fn rocks_table_props_get_filter_size(prop: *mut rocks_table_props_t) -> u64;
3110}
3111extern "C" {
3112    pub fn rocks_table_props_get_raw_key_size(prop: *mut rocks_table_props_t) -> u64;
3113}
3114extern "C" {
3115    pub fn rocks_table_props_get_raw_value_size(prop: *mut rocks_table_props_t) -> u64;
3116}
3117extern "C" {
3118    pub fn rocks_table_props_get_num_data_blocks(prop: *mut rocks_table_props_t) -> u64;
3119}
3120extern "C" {
3121    pub fn rocks_table_props_get_num_entries(prop: *mut rocks_table_props_t) -> u64;
3122}
3123extern "C" {
3124    pub fn rocks_table_props_get_format_version(prop: *mut rocks_table_props_t) -> u64;
3125}
3126extern "C" {
3127    pub fn rocks_table_props_get_fixed_key_len(prop: *mut rocks_table_props_t) -> u64;
3128}
3129extern "C" {
3130    pub fn rocks_table_props_get_column_family_id(prop: *mut rocks_table_props_t) -> u32;
3131}
3132extern "C" {
3133    pub fn rocks_table_props_get_column_family_name(
3134        prop: *mut rocks_table_props_t,
3135        len: *mut usize,
3136    ) -> *const ::std::os::raw::c_char;
3137}
3138extern "C" {
3139    pub fn rocks_table_props_get_filter_policy_name(
3140        prop: *mut rocks_table_props_t,
3141        len: *mut usize,
3142    ) -> *const ::std::os::raw::c_char;
3143}
3144extern "C" {
3145    pub fn rocks_table_props_get_comparator_name(
3146        prop: *mut rocks_table_props_t,
3147        len: *mut usize,
3148    ) -> *const ::std::os::raw::c_char;
3149}
3150extern "C" {
3151    pub fn rocks_table_props_get_merge_operator_name(
3152        prop: *mut rocks_table_props_t,
3153        len: *mut usize,
3154    ) -> *const ::std::os::raw::c_char;
3155}
3156extern "C" {
3157    pub fn rocks_table_props_get_prefix_extractor_name(
3158        prop: *mut rocks_table_props_t,
3159        len: *mut usize,
3160    ) -> *const ::std::os::raw::c_char;
3161}
3162extern "C" {
3163    pub fn rocks_table_props_get_property_collectors_names(
3164        prop: *mut rocks_table_props_t,
3165        len: *mut usize,
3166    ) -> *const ::std::os::raw::c_char;
3167}
3168extern "C" {
3169    pub fn rocks_table_props_get_compression_name(
3170        prop: *mut rocks_table_props_t,
3171        len: *mut usize,
3172    ) -> *const ::std::os::raw::c_char;
3173}
3174extern "C" {
3175    pub fn rocks_table_props_to_string(prop: *mut rocks_table_props_t, s: *mut ::std::os::raw::c_void);
3176}
3177extern "C" {
3178    pub fn rocks_table_props_get_user_collected_properties(
3179        prop: *mut rocks_table_props_t,
3180    ) -> *mut rocks_user_collected_props_t;
3181}
3182extern "C" {
3183    pub fn rocks_table_props_get_readable_properties(
3184        prop: *mut rocks_table_props_t,
3185    ) -> *mut rocks_user_collected_props_t;
3186}
3187extern "C" {
3188    pub fn rocks_user_collected_props_insert(
3189        prop: *mut rocks_user_collected_props_t,
3190        key_ptr: *const ::std::os::raw::c_char,
3191        key_len: usize,
3192        val_ptr: *const ::std::os::raw::c_char,
3193        val_len: usize,
3194    );
3195}
3196extern "C" {
3197    pub fn rocks_user_collected_props_size(prop: *mut rocks_user_collected_props_t) -> usize;
3198}
3199extern "C" {
3200    pub fn rocks_user_collected_props_at(
3201        prop: *mut rocks_user_collected_props_t,
3202        key_ptr: *const ::std::os::raw::c_char,
3203        key_len: usize,
3204        value_len: *mut usize,
3205    ) -> *const ::std::os::raw::c_char;
3206}
3207extern "C" {
3208    pub fn rocks_user_collected_props_iter_create(
3209        prop: *mut rocks_user_collected_props_t,
3210    ) -> *mut rocks_user_collected_props_iter_t;
3211}
3212extern "C" {
3213    pub fn rocks_user_collected_props_iter_next(it: *mut rocks_user_collected_props_iter_t) -> ::std::os::raw::c_uchar;
3214}
3215extern "C" {
3216    pub fn rocks_user_collected_props_iter_key(
3217        it: *mut rocks_user_collected_props_iter_t,
3218        len: *mut usize,
3219    ) -> *const ::std::os::raw::c_char;
3220}
3221extern "C" {
3222    pub fn rocks_user_collected_props_iter_value(
3223        it: *mut rocks_user_collected_props_iter_t,
3224        len: *mut usize,
3225    ) -> *const ::std::os::raw::c_char;
3226}
3227extern "C" {
3228    pub fn rocks_write_buffer_manager_create(buffer_size: usize) -> *mut rocks_write_buffer_manager_t;
3229}
3230extern "C" {
3231    pub fn rocks_write_buffer_manager_destroy(manager: *mut rocks_write_buffer_manager_t);
3232}
3233extern "C" {
3234    pub fn rocks_write_buffer_manager_enabled(manager: *mut rocks_write_buffer_manager_t) -> ::std::os::raw::c_uchar;
3235}
3236extern "C" {
3237    pub fn rocks_write_buffer_manager_memory_usage(manager: *mut rocks_write_buffer_manager_t) -> usize;
3238}
3239extern "C" {
3240    pub fn rocks_write_buffer_manager_buffer_size(manager: *mut rocks_write_buffer_manager_t) -> usize;
3241}
3242extern "C" {
3243    pub fn rocks_db_get_all_key_versions(
3244        db: *mut rocks_db_t,
3245        begin_key: *const ::std::os::raw::c_char,
3246        begin_keylen: usize,
3247        end_key: *const ::std::os::raw::c_char,
3248        end_keylen: usize,
3249        status: *mut *mut rocks_status_t,
3250    ) -> *mut rocks_key_version_collection_t;
3251}
3252extern "C" {
3253    pub fn rocks_key_version_collection_destroy(coll: *mut rocks_key_version_collection_t);
3254}
3255extern "C" {
3256    pub fn rocks_key_version_collection_size(coll: *mut rocks_key_version_collection_t) -> usize;
3257}
3258extern "C" {
3259    pub fn rocks_key_version_collection_nth(
3260        coll: *mut rocks_key_version_collection_t,
3261        index: usize,
3262    ) -> *mut rocks_key_version_t;
3263}
3264extern "C" {
3265    pub fn rocks_key_version_user_key(
3266        ver: *const rocks_key_version_t,
3267        len: *mut usize,
3268    ) -> *const ::std::os::raw::c_char;
3269}
3270extern "C" {
3271    pub fn rocks_key_version_value(ver: *const rocks_key_version_t, len: *mut usize) -> *const ::std::os::raw::c_char;
3272}
3273extern "C" {
3274    pub fn rocks_key_version_sequence_numer(ver: *const rocks_key_version_t) -> u64;
3275}
3276extern "C" {
3277    pub fn rocks_key_version_type(ver: *const rocks_key_version_t) -> ::std::os::raw::c_int;
3278}
3279extern "C" {
3280    pub fn rocks_flush_job_info_get_cf_name(
3281        info: *const rocks_flush_job_info_t,
3282        len: *mut usize,
3283    ) -> *const ::std::os::raw::c_char;
3284}
3285extern "C" {
3286    pub fn rocks_flush_job_info_get_file_path(
3287        info: *const rocks_flush_job_info_t,
3288        len: *mut usize,
3289    ) -> *const ::std::os::raw::c_char;
3290}
3291extern "C" {
3292    pub fn rocks_flush_job_info_get_thread_id(info: *const rocks_flush_job_info_t) -> u64;
3293}
3294extern "C" {
3295    pub fn rocks_flush_job_info_get_job_id(info: *const rocks_flush_job_info_t) -> u64;
3296}
3297extern "C" {
3298    pub fn rocks_flush_job_info_get_triggered_writes_slowdown(
3299        info: *const rocks_flush_job_info_t,
3300    ) -> ::std::os::raw::c_uchar;
3301}
3302extern "C" {
3303    pub fn rocks_flush_job_info_get_triggered_writes_stop(
3304        info: *const rocks_flush_job_info_t,
3305    ) -> ::std::os::raw::c_uchar;
3306}
3307extern "C" {
3308    pub fn rocks_flush_job_info_get_smallest_seqno(info: *const rocks_flush_job_info_t) -> u64;
3309}
3310extern "C" {
3311    pub fn rocks_flush_job_info_get_largest_seqno(info: *const rocks_flush_job_info_t) -> u64;
3312}
3313extern "C" {
3314    pub fn rocks_flush_job_info_get_table_properties(info: *const rocks_flush_job_info_t) -> *mut rocks_table_props_t;
3315}
3316extern "C" {
3317    pub fn rocks_table_file_deletion_info_get_db_name(
3318        info: *const rocks_table_file_deletion_info_t,
3319        len: *mut usize,
3320    ) -> *const ::std::os::raw::c_char;
3321}
3322extern "C" {
3323    pub fn rocks_table_file_deletion_info_get_file_path(
3324        info: *const rocks_table_file_deletion_info_t,
3325        len: *mut usize,
3326    ) -> *const ::std::os::raw::c_char;
3327}
3328extern "C" {
3329    pub fn rocks_table_file_deletion_info_get_job_id(info: *const rocks_table_file_deletion_info_t) -> u64;
3330}
3331extern "C" {
3332    pub fn rocks_table_file_deletion_info_get_status(
3333        info: *const rocks_table_file_deletion_info_t,
3334        status: *mut *mut rocks_status_t,
3335    );
3336}
3337extern "C" {
3338    pub fn rocks_compaction_job_info_get_cf_name(
3339        info: *const rocks_compaction_job_info_t,
3340        len: *mut usize,
3341    ) -> *const ::std::os::raw::c_char;
3342}
3343extern "C" {
3344    pub fn rocks_compaction_job_info_get_status(
3345        info: *const rocks_compaction_job_info_t,
3346        status: *mut *mut rocks_status_t,
3347    );
3348}
3349extern "C" {
3350    pub fn rocks_compaction_job_info_get_thread_id(info: *const rocks_compaction_job_info_t) -> u64;
3351}
3352extern "C" {
3353    pub fn rocks_compaction_job_info_get_job_id(info: *const rocks_compaction_job_info_t) -> ::std::os::raw::c_int;
3354}
3355extern "C" {
3356    pub fn rocks_compaction_job_info_get_base_input_level(
3357        info: *const rocks_compaction_job_info_t,
3358    ) -> ::std::os::raw::c_int;
3359}
3360extern "C" {
3361    pub fn rocks_compaction_job_info_get_output_level(
3362        info: *const rocks_compaction_job_info_t,
3363    ) -> ::std::os::raw::c_int;
3364}
3365extern "C" {
3366    pub fn rocks_compaction_job_info_get_input_files_num(info: *const rocks_compaction_job_info_t) -> usize;
3367}
3368extern "C" {
3369    pub fn rocks_compaction_job_info_get_input_files(
3370        info: *const rocks_compaction_job_info_t,
3371        files: *mut *const ::std::os::raw::c_char,
3372        sizes: *mut usize,
3373    );
3374}
3375extern "C" {
3376    pub fn rocks_compaction_job_info_get_output_files_num(info: *const rocks_compaction_job_info_t) -> usize;
3377}
3378extern "C" {
3379    pub fn rocks_compaction_job_info_get_output_files(
3380        info: *const rocks_compaction_job_info_t,
3381        files: *mut *const ::std::os::raw::c_char,
3382        sizes: *mut usize,
3383    );
3384}
3385extern "C" {
3386    pub fn rocks_compaction_job_info_get_table_properties(
3387        info: *const rocks_compaction_job_info_t,
3388    ) -> *mut rocks_table_props_collection_t;
3389}
3390extern "C" {
3391    pub fn rocks_compaction_job_info_get_compaction_reason(
3392        info: *const rocks_compaction_job_info_t,
3393    ) -> ::std::os::raw::c_int;
3394}
3395extern "C" {
3396    pub fn rocks_compaction_job_info_get_compression(info: *const rocks_compaction_job_info_t)
3397        -> ::std::os::raw::c_int;
3398}
3399extern "C" {
3400    pub fn rocks_compaction_job_info_get_stats(
3401        info: *const rocks_compaction_job_info_t,
3402    ) -> *mut rocks_compaction_job_stats_t;
3403}
3404extern "C" {
3405    pub fn rocks_compaction_job_stats_get_elapsed_micros(stats: *const rocks_compaction_job_stats_t) -> u64;
3406}
3407extern "C" {
3408    pub fn rocks_compaction_job_stats_get_num_input_records(stats: *const rocks_compaction_job_stats_t) -> u64;
3409}
3410extern "C" {
3411    pub fn rocks_compaction_job_stats_get_num_input_files(stats: *const rocks_compaction_job_stats_t) -> usize;
3412}
3413extern "C" {
3414    pub fn rocks_compaction_job_stats_get_num_input_files_at_output_level(
3415        stats: *const rocks_compaction_job_stats_t,
3416    ) -> usize;
3417}
3418extern "C" {
3419    pub fn rocks_compaction_job_stats_get_num_output_records(stats: *const rocks_compaction_job_stats_t) -> u64;
3420}
3421extern "C" {
3422    pub fn rocks_compaction_job_stats_get_num_output_files(stats: *const rocks_compaction_job_stats_t) -> usize;
3423}
3424extern "C" {
3425    pub fn rocks_compaction_job_stats_get_is_manual_compaction(
3426        stats: *const rocks_compaction_job_stats_t,
3427    ) -> ::std::os::raw::c_uchar;
3428}
3429extern "C" {
3430    pub fn rocks_compaction_job_stats_get_total_input_bytes(stats: *const rocks_compaction_job_stats_t) -> u64;
3431}
3432extern "C" {
3433    pub fn rocks_compaction_job_stats_get_total_output_bytes(stats: *const rocks_compaction_job_stats_t) -> u64;
3434}
3435extern "C" {
3436    pub fn rocks_compaction_job_stats_get_num_records_replaced(stats: *const rocks_compaction_job_stats_t) -> u64;
3437}
3438extern "C" {
3439    pub fn rocks_compaction_job_stats_get_total_input_raw_key_bytes(stats: *const rocks_compaction_job_stats_t) -> u64;
3440}
3441extern "C" {
3442    pub fn rocks_compaction_job_stats_get_total_input_raw_value_bytes(
3443        stats: *const rocks_compaction_job_stats_t,
3444    ) -> u64;
3445}
3446extern "C" {
3447    pub fn rocks_compaction_job_stats_get_num_input_deletion_records(stats: *const rocks_compaction_job_stats_t)
3448        -> u64;
3449}
3450extern "C" {
3451    pub fn rocks_compaction_job_stats_get_num_expired_deletion_records(
3452        stats: *const rocks_compaction_job_stats_t,
3453    ) -> u64;
3454}
3455extern "C" {
3456    pub fn rocks_compaction_job_stats_get_num_corrupt_keys(stats: *const rocks_compaction_job_stats_t) -> u64;
3457}
3458extern "C" {
3459    pub fn rocks_compaction_job_stats_get_file_write_nanos(stats: *const rocks_compaction_job_stats_t) -> u64;
3460}
3461extern "C" {
3462    pub fn rocks_compaction_job_stats_get_file_range_sync_nanos(stats: *const rocks_compaction_job_stats_t) -> u64;
3463}
3464extern "C" {
3465    pub fn rocks_compaction_job_stats_get_file_fsync_nanos(stats: *const rocks_compaction_job_stats_t) -> u64;
3466}
3467extern "C" {
3468    pub fn rocks_compaction_job_stats_get_file_prepare_write_nanos(stats: *const rocks_compaction_job_stats_t) -> u64;
3469}
3470extern "C" {
3471    pub fn rocks_compaction_job_stats_get_smallest_output_key_prefix(
3472        stats: *const rocks_compaction_job_stats_t,
3473        len: *mut usize,
3474    ) -> *const ::std::os::raw::c_char;
3475}
3476extern "C" {
3477    pub fn rocks_compaction_job_stats_get_largest_output_key_prefix(
3478        stats: *const rocks_compaction_job_stats_t,
3479        len: *mut usize,
3480    ) -> *const ::std::os::raw::c_char;
3481}
3482extern "C" {
3483    pub fn rocks_compaction_job_stats_get_num_single_del_fallthru(stats: *const rocks_compaction_job_stats_t) -> u64;
3484}
3485extern "C" {
3486    pub fn rocks_compaction_job_stats_get_num_single_del_mismatch(stats: *const rocks_compaction_job_stats_t) -> u64;
3487}
3488extern "C" {
3489    pub fn rocks_table_file_creation_info_get_file_size(info: *const rocks_table_file_creation_info_t) -> u64;
3490}
3491extern "C" {
3492    pub fn rocks_table_file_creation_info_get_table_properties(
3493        info: *const rocks_table_file_creation_info_t,
3494    ) -> *mut rocks_table_props_t;
3495}
3496extern "C" {
3497    pub fn rocks_table_file_creation_info_get_status(
3498        info: *const rocks_table_file_creation_info_t,
3499        status: *mut *mut rocks_status_t,
3500    );
3501}
3502extern "C" {
3503    pub fn rocks_table_file_creation_info_get_brief_info(
3504        info: *const rocks_table_file_creation_info_t,
3505    ) -> *const rocks_table_file_creation_brief_info_t;
3506}
3507extern "C" {
3508    pub fn rocks_table_file_creation_brief_info_get_db_name(
3509        info: *const rocks_table_file_creation_brief_info_t,
3510        len: *mut usize,
3511    ) -> *const ::std::os::raw::c_char;
3512}
3513extern "C" {
3514    pub fn rocks_table_file_creation_brief_info_get_cf_name(
3515        info: *const rocks_table_file_creation_brief_info_t,
3516        len: *mut usize,
3517    ) -> *const ::std::os::raw::c_char;
3518}
3519extern "C" {
3520    pub fn rocks_table_file_creation_brief_info_get_file_path(
3521        info: *const rocks_table_file_creation_brief_info_t,
3522        len: *mut usize,
3523    ) -> *const ::std::os::raw::c_char;
3524}
3525extern "C" {
3526    pub fn rocks_table_file_creation_brief_info_get_job_id(
3527        info: *const rocks_table_file_creation_brief_info_t,
3528    ) -> ::std::os::raw::c_int;
3529}
3530extern "C" {
3531    pub fn rocks_table_file_creation_brief_info_get_reason(
3532        info: *const rocks_table_file_creation_brief_info_t,
3533    ) -> ::std::os::raw::c_int;
3534}
3535extern "C" {
3536    pub fn rocks_mem_table_info_get_cf_name(
3537        info: *const rocks_mem_table_info_t,
3538        len: *mut usize,
3539    ) -> *const ::std::os::raw::c_char;
3540}
3541extern "C" {
3542    pub fn rocks_mem_table_info_get_first_seqno(info: *const rocks_mem_table_info_t) -> u64;
3543}
3544extern "C" {
3545    pub fn rocks_mem_table_info_get_earliest_seqno(info: *const rocks_mem_table_info_t) -> u64;
3546}
3547extern "C" {
3548    pub fn rocks_mem_table_info_get_num_entries(info: *const rocks_mem_table_info_t) -> u64;
3549}
3550extern "C" {
3551    pub fn rocks_mem_table_info_get_num_deletes(info: *const rocks_mem_table_info_t) -> u64;
3552}
3553extern "C" {
3554    pub fn rocks_external_file_ingestion_info_get_cf_name(
3555        info: *const rocks_external_file_ingestion_info_t,
3556        len: *mut usize,
3557    ) -> *const ::std::os::raw::c_char;
3558}
3559extern "C" {
3560    pub fn rocks_external_file_ingestion_info_get_external_file_path(
3561        info: *const rocks_external_file_ingestion_info_t,
3562        len: *mut usize,
3563    ) -> *const ::std::os::raw::c_char;
3564}
3565extern "C" {
3566    pub fn rocks_external_file_ingestion_info_get_internal_file_path(
3567        info: *const rocks_external_file_ingestion_info_t,
3568        len: *mut usize,
3569    ) -> *const ::std::os::raw::c_char;
3570}
3571extern "C" {
3572    pub fn rocks_external_file_ingestion_info_get_global_seqno(
3573        info: *const rocks_external_file_ingestion_info_t,
3574    ) -> u64;
3575}
3576extern "C" {
3577    pub fn rocks_external_file_ingestion_info_get_table_properties(
3578        info: *const rocks_external_file_ingestion_info_t,
3579    ) -> *mut rocks_table_props_t;
3580}
3581extern "C" {
3582    pub fn rocks_thread_status_destroy(status: *mut rocks_thread_status_t);
3583}
3584extern "C" {
3585    pub fn rocks_thread_status_get_thread_id(status: *const rocks_thread_status_t) -> u64;
3586}
3587extern "C" {
3588    pub fn rocks_thread_status_get_thread_type(status: *const rocks_thread_status_t) -> ::std::os::raw::c_int;
3589}
3590extern "C" {
3591    pub fn rocks_thread_status_get_db_name(
3592        status: *const rocks_thread_status_t,
3593        len: *mut usize,
3594    ) -> *const ::std::os::raw::c_char;
3595}
3596extern "C" {
3597    pub fn rocks_thread_status_get_cf_name(
3598        status: *const rocks_thread_status_t,
3599        len: *mut usize,
3600    ) -> *const ::std::os::raw::c_char;
3601}
3602extern "C" {
3603    pub fn rocks_thread_status_get_operation_type(status: *const rocks_thread_status_t) -> ::std::os::raw::c_int;
3604}
3605extern "C" {
3606    pub fn rocks_thread_status_get_op_elapsed_micros(status: *const rocks_thread_status_t) -> u64;
3607}
3608extern "C" {
3609    pub fn rocks_thread_status_get_operation_stage(status: *const rocks_thread_status_t) -> ::std::os::raw::c_int;
3610}
3611extern "C" {
3612    pub fn rocks_thread_status_get_op_properties(status: *const rocks_thread_status_t, len: *mut usize) -> *const u64;
3613}
3614extern "C" {
3615    pub fn rocks_thread_status_get_state_type(status: *const rocks_thread_status_t) -> ::std::os::raw::c_int;
3616}
3617extern "C" {
3618    pub fn rocks_load_latest_options(
3619        c_dbpath: *const ::std::os::raw::c_char,
3620        db_options: *mut rocks_dboptions_t,
3621        cf_descs_len: *mut usize,
3622        status: *mut *mut rocks_status_t,
3623    ) -> *mut *mut rocks_column_family_descriptor_t;
3624}
3625extern "C" {
3626    pub fn rocks_load_options_destroy_cf_descs(c_cf_descs: *mut *mut rocks_column_family_descriptor_t, len: usize);
3627}
3628extern "C" {
3629    pub fn free(p: *mut ::std::os::raw::c_void);
3630}
3631extern "C" {
3632    pub fn cxx_vector_slice_size(list: *const ::std::os::raw::c_void) -> usize;
3633}
3634extern "C" {
3635    pub fn cxx_vector_slice_nth(list: *const ::std::os::raw::c_void, n: usize) -> *const ::std::os::raw::c_void;
3636}
3637extern "C" {
3638    pub fn cxx_string_assign(s: *mut cxx_string_t, p: *const ::std::os::raw::c_char, len: usize);
3639}
3640extern "C" {
3641    pub fn cxx_string_data(s: *const cxx_string_t) -> *const ::std::os::raw::c_char;
3642}
3643extern "C" {
3644    pub fn cxx_string_size(s: *const cxx_string_t) -> usize;
3645}
3646extern "C" {
3647    pub fn cxx_string_destroy(s: *mut cxx_string_t);
3648}
3649extern "C" {
3650    pub fn cxx_string_vector_create() -> *mut cxx_string_vector_t;
3651}
3652extern "C" {
3653    pub fn cxx_string_vector_destory(v: *mut cxx_string_vector_t);
3654}
3655extern "C" {
3656    pub fn cxx_string_vector_size(v: *mut cxx_string_vector_t) -> usize;
3657}
3658extern "C" {
3659    pub fn cxx_string_vector_nth(v: *mut cxx_string_vector_t, index: usize) -> *const ::std::os::raw::c_char;
3660}
3661extern "C" {
3662    pub fn cxx_string_vector_nth_size(v: *mut cxx_string_vector_t, index: usize) -> usize;
3663}