@@ -8,6 +8,8 @@ mod test;
88use libc:: * ;
99
1010extern "C" {
11+ // Database operations
12+
1113 pub fn rocksdb_open ( options : * const rocksdb_options_t , name : * const c_char , errptr : * mut * mut c_char ) -> * mut rocksdb_t ;
1214
1315 pub fn rocksdb_open_for_read_only ( options : * const rocksdb_options_t , name : * const c_char , error_if_log_file_exist : c_uchar , errptr : * mut * mut c_char ) -> * mut rocksdb_t ;
@@ -112,10 +114,14 @@ extern "C" {
112114
113115 pub fn rocksdb_enable_file_deletions ( db : * mut rocksdb_t , force : c_uchar , errptr : * mut * mut c_char ) ;
114116
117+ // Management operations
118+
115119 pub fn rocksdb_destroy_db ( options : * const rocksdb_options_t , name : * const c_char , errptr : * mut * mut c_char ) ;
116120
117121 pub fn rocksdb_repair_db ( options : * const rocksdb_options_t , name : * const c_char , errptr : * mut * mut c_char ) ;
118122
123+ // Iterator
124+
119125 pub fn rocksdb_iter_destroy ( iterator : * mut rocksdb_iterator_t ) ;
120126
121127 pub fn rocksdb_iter_valid ( iterator : * const rocksdb_iterator_t ) -> c_uchar ;
@@ -136,6 +142,8 @@ extern "C" {
136142
137143 pub fn rocksdb_iter_get_error ( iterator : * const rocksdb_iterator_t , errptr : * mut * mut c_char ) ;
138144
145+ // Write batch
146+
139147 pub fn rocksdb_writebatch_create ( ) -> * mut rocksdb_writebatch_t ;
140148
141149 pub fn rocksdb_writebatch_create_from ( rep : * const c_char , size : size_t ) -> * mut rocksdb_writebatch_t ;
@@ -176,6 +184,8 @@ extern "C" {
176184
177185 pub fn rocksdb_writebatch_data ( batch : * mut rocksdb_writebatch_t , size : * mut size_t ) -> * const c_char ;
178186
187+ // Block-based table options
188+
179189 pub fn rocksdb_block_based_options_create ( ) -> * mut rocksdb_block_based_table_options_t ;
180190
181191 pub fn rocksdb_block_based_options_destroy ( options : * mut rocksdb_block_based_table_options_t ) ;
@@ -210,6 +220,8 @@ extern "C" {
210220
211221 pub fn rocksdb_options_set_block_based_table_factory ( opt : * mut rocksdb_options_t , table_options : * mut rocksdb_block_based_table_options_t ) ;
212222
223+ // Cuckoo table options
224+
213225 pub fn rocksdb_cuckoo_options_create ( ) -> * mut rocksdb_cuckoo_table_options_t ;
214226
215227 pub fn rocksdb_cuckoo_options_destroy ( options : * mut rocksdb_cuckoo_table_options_t ) ;
@@ -226,6 +238,8 @@ extern "C" {
226238
227239 pub fn rocksdb_options_set_cuckoo_table_factory ( opt : * mut rocksdb_options_t , table_options : * mut rocksdb_cuckoo_table_options_t ) ;
228240
241+ // Options
242+
229243 pub fn rocksdb_options_create ( ) -> * mut rocksdb_options_t ;
230244
231245 pub fn rocksdb_options_destroy ( opt : * mut rocksdb_options_t ) ;
@@ -424,22 +438,34 @@ extern "C" {
424438
425439 pub fn rocksdb_options_set_fifo_compaction_options ( opt : * mut rocksdb_options_t , fifo : * mut rocksdb_fifo_compaction_options_t ) ;
426440
441+ // Compaction filter
442+
427443 pub fn rocksdb_compactionfilter_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , filter : unsafe extern "C" fn ( state : * mut c_void , level : c_int , key : * const c_char , key_length : size_t , existing_value : * const c_char , value_length : size_t , new_value : * mut * mut c_char , new_value_length : * mut size_t , value_changed : * mut c_uchar ) -> c_uchar , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_compactionfilter_t ;
428444
445+ pub fn rocksdb_compactionfilter_set_ignore_snapshots ( filter : * mut rocksdb_compactionfilter_t , v : c_uchar ) ;
446+
429447 pub fn rocksdb_compactionfilter_destroy ( filter : * mut rocksdb_compactionfilter_t ) ;
430448
449+ // Compaction filter context
450+
431451 pub fn rocksdb_compactionfiltercontext_is_full_compaction ( context : * mut rocksdb_compactionfiltercontext_t ) -> c_uchar ;
432452
433453 pub fn rocksdb_compactionfiltercontext_is_manual_compaction ( context : * mut rocksdb_compactionfiltercontext_t ) -> c_uchar ;
434454
455+ // Compaction filter factory
456+
435457 pub fn rocksdb_compactionfilterfactory_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , create_compaction_filter : unsafe extern "C" fn ( state : * mut c_void , context : * mut rocksdb_compactionfiltercontext_t ) -> * mut rocksdb_compactionfilter_t , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_compactionfilterfactory_t ;
436458
437459 pub fn rocksdb_compactionfilterfactory_destroy ( factory : * mut rocksdb_compactionfilterfactory_t ) ;
438460
461+ // Comparator
462+
439463 pub fn rocksdb_comparator_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , compare : unsafe extern "C" fn ( state : * mut c_void , a : * const c_char , alen : size_t , b : * const c_char , blen : size_t ) -> c_int , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_comparator_t ;
440464
441465 pub fn rocksdb_comparator_destroy ( cmp : * mut rocksdb_comparator_t ) ;
442466
467+ // Filter policy
468+
443469 pub fn rocksdb_filterpolicy_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , create_filter : unsafe extern "C" fn ( state : * mut c_void , key_array : * const * const c_char , key_length_array : * const size_t , num_keys : c_int , filter_length : * mut size_t ) -> * mut c_char , key_may_match : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , length : size_t , filter : * const c_char , filter_length : size_t ) -> c_uchar , delete_filter : unsafe extern "C" fn ( state : * mut c_void , filter : * const c_char , filter_length : size_t ) , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_filterpolicy_t ;
444470
445471 pub fn rocksdb_filterpolicy_destroy ( filter : * mut rocksdb_filterpolicy_t ) ;
@@ -448,10 +474,14 @@ extern "C" {
448474
449475 pub fn rocksdb_filterpolicy_create_bloom_full ( bits_per_key : c_int ) -> * mut rocksdb_filterpolicy_t ;
450476
477+ // Merge operator
478+
451479 pub fn rocksdb_mergeoperator_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , full_merge : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , key_length : size_t , existing_value : * const c_char , existing_value_length : size_t , operands_list : * const * const c_char , operands_list_length : * const size_t , num_operands : c_int , success : * mut c_uchar , new_value_length : * mut size_t ) -> * mut c_char , partial_merge : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , key_length : size_t , operands_list : * const * const c_char , operands_list_length : * const size_t , num_operands : c_int , success : * mut c_uchar , new_value_length : * mut size_t ) -> * mut c_char , delete_value : unsafe extern "C" fn ( state : * mut c_void , value : * const c_char , value_length : size_t ) , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_mergeoperator_t ;
452480
453481 pub fn rocksdb_mergeoperator_destroy ( merge_operator : * mut rocksdb_mergeoperator_t ) ;
454482
483+ // Read options
484+
455485 pub fn rocksdb_readoptions_create ( ) -> * mut rocksdb_readoptions_t ;
456486
457487 pub fn rocksdb_readoptions_destroy ( opt : * mut rocksdb_readoptions_t ) ;
@@ -470,6 +500,8 @@ extern "C" {
470500
471501 pub fn rocksdb_readoptions_set_readahead_size ( opt : * mut rocksdb_readoptions_t , v : size_t ) ;
472502
503+ // Write options
504+
473505 pub fn rocksdb_writeoptions_create ( ) -> * mut rocksdb_writeoptions_t ;
474506
475507 pub fn rocksdb_writeoptions_destroy ( opt : * mut rocksdb_writeoptions_t ) ;
@@ -478,18 +510,24 @@ extern "C" {
478510
479511 pub fn rocksdb_writeoptions_disable_WAL ( opt : * mut rocksdb_writeoptions_t , disable : c_int ) ;
480512
513+ // Flush options
514+
481515 pub fn rocksdb_flushoptions_create ( ) -> * mut rocksdb_flushoptions_t ;
482516
483517 pub fn rocksdb_flushoptions_destroy ( opt : * mut rocksdb_flushoptions_t ) ;
484518
485519 pub fn rocksdb_flushoptions_set_wait ( opt : * mut rocksdb_flushoptions_t , v : c_uchar ) ;
486520
521+ // Cache
522+
487523 pub fn rocksdb_cache_create_lru ( capacity : size_t ) -> * mut rocksdb_cache_t ;
488524
489525 pub fn rocksdb_cache_destroy ( cache : * mut rocksdb_cache_t ) ;
490526
491527 pub fn rocksdb_cache_set_capacity ( cache : * mut rocksdb_cache_t , capacity : size_t ) ;
492528
529+ // Environment
530+
493531 pub fn rocksdb_create_default_env ( ) -> * mut rocksdb_env_t ;
494532
495533 pub fn rocksdb_create_mem_env ( ) -> * mut rocksdb_env_t ;
@@ -502,6 +540,8 @@ extern "C" {
502540
503541 pub fn rocksdb_env_destroy ( env : * mut rocksdb_env_t ) ;
504542
543+ // Slice Transform
544+
505545 pub fn rocksdb_slicetransform_create ( state : * mut c_void , destructor : unsafe extern "C" fn ( state : * mut c_void ) , transform : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , length : size_t , dst_length : * mut size_t ) -> * mut c_char , in_domain : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , length : size_t ) -> c_uchar , in_range : unsafe extern "C" fn ( state : * mut c_void , key : * const c_char , length : size_t ) -> c_uchar , name : unsafe extern "C" fn ( state : * mut c_void ) -> * const c_char ) -> * mut rocksdb_slicetransform_t ;
506546
507547 pub fn rocksdb_slicetransform_create_fixed_prefix ( len : size_t ) -> * mut rocksdb_slicetransform_t ;
@@ -510,6 +550,8 @@ extern "C" {
510550
511551 pub fn rocksdb_slicetransform_destroy ( st : * mut rocksdb_slicetransform_t ) ;
512552
553+ // Universal Compaction options
554+
513555 pub fn rocksdb_universal_compaction_options_create ( ) -> * mut rocksdb_universal_compaction_options_t ;
514556
515557 pub fn rocksdb_universal_compaction_options_set_size_ratio ( uco : * mut rocksdb_universal_compaction_options_t , ratio : c_int ) ;
@@ -546,6 +588,8 @@ extern "C" {
546588
547589 pub fn rocksdb_livefiles_destroy ( files : * const rocksdb_livefiles_t ) ;
548590
591+ // Utilities
592+
549593 pub fn rocksdb_get_options_from_string ( base_options : * const rocksdb_options_t , opts_str : * const c_char , new_options : * mut rocksdb_options_t , errptr : * mut * mut c_char ) ;
550594
551595 pub fn rocksdb_delete_file_in_range ( db : * mut rocksdb_t , start_key : * const c_char , start_key_len : size_t , limit_key : * const c_char , limit_key_len : size_t , errptr : * mut * mut c_char ) ;
0 commit comments