// @generated
// -----------------------------------------------------------------------------
// Auto-generated by tools/c_api_gen/auto_simple_bindings.py.
// DO NOT EDIT THIS FILE DIRECTLY.
// Sources:
//   - include/rocksdb/advanced_options.h
//   - include/rocksdb/block_cache_trace_writer.h
//   - include/rocksdb/env.h
//   - include/rocksdb/metadata.h
//   - include/rocksdb/options.h
//   - include/rocksdb/table.h
//   - include/rocksdb/universal_compaction.h
//   - include/rocksdb/utilities/backup_engine.h
//   - include/rocksdb/utilities/optimistic_transaction_db.h
//   - include/rocksdb/utilities/transaction_db.h
//   - tools/c_api_gen/auto_simple_bindings_blocklist.json
//   - include/rocksdb/c.h
//   - tools/c_api_gen/c_base.cc
// -----------------------------------------------------------------------------

// To regenerate this file:
//   python3 tools/c_api_gen/auto_simple_bindings.py

// Output group: Auto-discovered option structs simple

/* DBOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_flush_verify_memtable_count(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_flush_verify_memtable_count(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_compaction_verify_record_count(rocksdb_options_t* opt,
                                                   unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_compaction_verify_record_count(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_track_and_verify_wals(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_track_and_verify_wals(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_verify_sst_unique_id_in_manifest(rocksdb_options_t* opt,
                                                     unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_verify_sst_unique_id_in_manifest(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_db_log_dir(
    rocksdb_options_t* opt, size_t* size);

extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_wal_dir(
    rocksdb_options_t* opt, size_t* size);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_async_wal_precreate(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_async_wal_precreate(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_verify_manifest_content_on_close(rocksdb_options_t* opt,
                                                     unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_verify_manifest_content_on_close(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_optimize_manifest_for_recovery(rocksdb_options_t* opt,
                                                   unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_optimize_manifest_for_recovery(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_reuse_manifest_on_open(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_reuse_manifest_on_open(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_manifest_space_amp_pct(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_manifest_space_amp_pct(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_use_direct_io_for_compaction_reads(rocksdb_options_t* opt,
                                                       unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_use_direct_io_for_compaction_reads(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_fallocate(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_allow_fallocate(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_persist_stats_to_disk(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_persist_stats_to_disk(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_stats_history_buffer_size(
    rocksdb_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_stats_history_buffer_size(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_strict_bytes_per_sync(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_strict_bytes_per_sync(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_thread_tracking(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enable_thread_tracking(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_delayed_write_rate(
    rocksdb_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_delayed_write_rate(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_max_write_batch_group_size_bytes(rocksdb_options_t* opt,
                                                     uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_max_write_batch_group_size_bytes(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_write_thread_max_yield_usec(
    rocksdb_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_write_thread_max_yield_usec(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_write_thread_slow_yield_usec(rocksdb_options_t* opt,
                                                 uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_write_thread_slow_yield_usec(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_2pc(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_allow_2pc(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_dump_malloc_stats(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_avoid_flush_during_recovery(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_avoid_flush_during_recovery(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_enforce_write_buffer_manager_during_recovery(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enforce_write_buffer_manager_during_recovery(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_avoid_flush_during_shutdown(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_avoid_flush_during_shutdown(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_two_write_queues(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_two_write_queues(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_background_close_inactive_wals(rocksdb_options_t* opt,
                                                   unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_background_close_inactive_wals(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_prefix_seek_opt_in_only(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_prefix_seek_opt_in_only(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_log_readahead_size(
    rocksdb_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_options_get_log_readahead_size(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_best_efforts_recovery(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_best_efforts_recovery(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_max_bgerror_resume_count(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_max_bgerror_resume_count(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_bgerror_resume_retry_interval(rocksdb_options_t* opt,
                                                  uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_bgerror_resume_retry_interval(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_allow_data_in_errors(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_allow_data_in_errors(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_db_host_id(
    rocksdb_options_t* opt, const char* v);

extern ROCKSDB_LIBRARY_API const char* rocksdb_options_get_db_host_id(
    rocksdb_options_t* opt, size_t* size);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_lowest_used_cache_tier(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_lowest_used_cache_tier(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_enforce_single_del_contracts(rocksdb_options_t* opt,
                                                 unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enforce_single_del_contracts(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_daily_offpeak_time_utc(
    rocksdb_options_t* opt, const char* v);

extern ROCKSDB_LIBRARY_API const char*
rocksdb_options_get_daily_offpeak_time_utc(rocksdb_options_t* opt,
                                           size_t* size);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_refresh_catchup_period_ms(rocksdb_options_t* opt,
                                                       uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_refresh_catchup_period_ms(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_catchup_retry_count(rocksdb_options_t* opt,
                                                 uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_catchup_retry_count(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_follower_catchup_retry_wait_ms(rocksdb_options_t* opt,
                                                   uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_follower_catchup_retry_wait_ms(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_metadata_write_temperature(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_metadata_write_temperature(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_wal_write_temperature(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_wal_write_temperature(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_fast_sst_open(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_options_get_fast_sst_open(
    rocksdb_options_t* opt);

/* AdvancedColumnFamilyOptions */

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_whole_key_filtering(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_target_file_size_is_upper_bound(rocksdb_options_t* opt,
                                                    unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_target_file_size_is_upper_bound(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_strict_max_successive_merges(rocksdb_options_t* opt,
                                                 unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_strict_max_successive_merges(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_paranoid_file_checks(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_paranoid_file_checks(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_verify_output_flags(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_verify_output_flags(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_force_consistency_checks(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_force_consistency_checks(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_disallow_memtable_writes(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_disallow_memtable_writes(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_sample_for_compression(
    rocksdb_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_sample_for_compression(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_last_level_temperature(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_last_level_temperature(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_default_write_temperature(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_default_write_temperature(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_default_temperature(
    rocksdb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_options_get_default_temperature(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_preclude_last_level_data_seconds(rocksdb_options_t* opt,
                                                     uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_preclude_last_level_data_seconds(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_preserve_internal_time_seconds(rocksdb_options_t* opt,
                                                   uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_options_get_preserve_internal_time_seconds(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_enable_blob_direct_write(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_enable_blob_direct_write(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_blob_direct_write_partitions(rocksdb_options_t* opt,
                                                 uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_blob_direct_write_partitions(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_protection_bytes_per_key(rocksdb_options_t* opt,
                                                      uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_memtable_protection_bytes_per_key(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_persist_user_defined_timestamps(rocksdb_options_t* opt,
                                                    unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_persist_user_defined_timestamps(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_block_protection_bytes_per_key(rocksdb_options_t* opt,
                                                   uint8_t v);

extern ROCKSDB_LIBRARY_API uint8_t
rocksdb_options_get_block_protection_bytes_per_key(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_bottommost_file_compaction_delay(rocksdb_options_t* opt,
                                                     uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_bottommost_file_compaction_delay(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_paranoid_memory_checks(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_paranoid_memory_checks(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_verify_per_key_checksum_on_seek(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_verify_per_key_checksum_on_seek(
    rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_cf_allow_ingest_behind(
    rocksdb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_cf_allow_ingest_behind(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_batch_lookup_optimization(rocksdb_options_t* opt,
                                                       unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_options_get_memtable_batch_lookup_optimization(rocksdb_options_t* opt);

/* ColumnFamilyOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_options_set_memtable_max_range_deletions(rocksdb_options_t* opt,
                                                 uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_memtable_max_range_deletions(rocksdb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_options_set_uncache_aggressiveness(
    rocksdb_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_options_get_uncache_aggressiveness(rocksdb_options_t* opt);

/* WriteOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_sync(
    rocksdb_writeoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_sync(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_disable_WAL(
    rocksdb_writeoptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_disable_WAL(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_ignore_missing_column_families(
    rocksdb_writeoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_writeoptions_get_ignore_missing_column_families(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_no_slowdown(
    rocksdb_writeoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_no_slowdown(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_low_pri(
    rocksdb_writeoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_writeoptions_get_low_pri(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_memtable_insert_hint_per_batch(
    rocksdb_writeoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_writeoptions_get_memtable_insert_hint_per_batch(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_rate_limiter_priority(
    rocksdb_writeoptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_writeoptions_get_rate_limiter_priority(
    rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_writeoptions_set_protection_bytes_per_key(rocksdb_writeoptions_t* opt,
                                                  size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_writeoptions_get_protection_bytes_per_key(rocksdb_writeoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_writeoptions_set_io_activity(
    rocksdb_writeoptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_writeoptions_get_io_activity(
    rocksdb_writeoptions_t* opt);

/* FlushOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_wait(
    rocksdb_flushoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushoptions_get_wait(
    rocksdb_flushoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_allow_write_stall(
    rocksdb_flushoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_flushoptions_get_allow_write_stall(rocksdb_flushoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_flushoptions_set_force_atomic_flush(
    rocksdb_flushoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_flushoptions_get_force_atomic_flush(rocksdb_flushoptions_t* opt);

/* FlushWALOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_flushwaloptions_set_sync(
    rocksdb_flushwaloptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_flushwaloptions_get_sync(
    rocksdb_flushwaloptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_flushwaloptions_set_rate_limiter_priority(
    rocksdb_flushwaloptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_flushwaloptions_get_rate_limiter_priority(
    rocksdb_flushwaloptions_t* opt);

/* EnvOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_mmap_reads(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_use_mmap_reads(
    rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_mmap_writes(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_use_mmap_writes(
    rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_direct_reads(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_use_direct_reads(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_use_direct_writes(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_use_direct_writes(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_allow_fallocate(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_allow_fallocate(
    rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_fd_cloexec(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_envoptions_get_fd_cloexec(
    rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_bytes_per_sync(
    rocksdb_envoptions_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_envoptions_get_bytes_per_sync(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_strict_bytes_per_sync(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_strict_bytes_per_sync(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_envoptions_set_fallocate_with_keep_size(
    rocksdb_envoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_envoptions_get_fallocate_with_keep_size(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_envoptions_set_compaction_readahead_size(rocksdb_envoptions_t* opt,
                                                 size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_envoptions_get_compaction_readahead_size(rocksdb_envoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_envoptions_set_writable_file_max_buffer_size(rocksdb_envoptions_t* opt,
                                                     size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_envoptions_get_writable_file_max_buffer_size(rocksdb_envoptions_t* opt);

/* TraceOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_max_trace_file_size(
    rocksdb_trace_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_max_trace_file_size(rocksdb_trace_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_sampling_frequency(
    rocksdb_trace_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_sampling_frequency(rocksdb_trace_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_filter(
    rocksdb_trace_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_trace_options_get_filter(rocksdb_trace_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_trace_options_set_preserve_write_order(
    rocksdb_trace_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_trace_options_get_preserve_write_order(rocksdb_trace_options_t* opt);

/* BlockCacheTraceOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_block_cache_trace_options_set_sampling_frequency(
    rocksdb_block_cache_trace_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_cache_trace_options_get_sampling_frequency(
    rocksdb_block_cache_trace_options_t* opt);

/* BlockCacheTraceWriterOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_block_cache_trace_writer_options_set_max_trace_file_size(
    rocksdb_block_cache_trace_writer_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_cache_trace_writer_options_get_max_trace_file_size(
    rocksdb_block_cache_trace_writer_options_t* opt);

/* CompactionOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_compaction_options_set_compression(
    rocksdb_compaction_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_compaction_options_get_compression(
    rocksdb_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_output_file_size_limit(
    rocksdb_compaction_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_compaction_options_get_output_file_size_limit(
    rocksdb_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_max_subcompactions(
    rocksdb_compaction_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_compaction_options_get_max_subcompactions(
    rocksdb_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_output_temperature_override(
    rocksdb_compaction_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_compaction_options_get_output_temperature_override(
    rocksdb_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_compaction_options_set_allow_trivial_move(
    rocksdb_compaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_compaction_options_get_allow_trivial_move(
    rocksdb_compaction_options_t* opt);

/* CompactRangeOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_compactoptions_set_blob_garbage_collection_policy(
    rocksdb_compactoptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_compactoptions_get_blob_garbage_collection_policy(
    rocksdb_compactoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_compactoptions_set_blob_garbage_collection_age_cutoff(
    rocksdb_compactoptions_t* opt, double v);

extern ROCKSDB_LIBRARY_API double
rocksdb_compactoptions_get_blob_garbage_collection_age_cutoff(
    rocksdb_compactoptions_t* opt);

/* IngestExternalFileOptions */

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_move_files(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_link_files(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_link_files(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_failed_move_fall_back_to_copy(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_failed_move_fall_back_to_copy(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_snapshot_consistency(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_global_seqno(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_blocking_flush(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_ingest_behind(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_write_global_seqno(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_write_global_seqno(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_checksums_before_ingest(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_verify_checksums_before_ingest(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_checksums_readahead_size(
    rocksdb_ingestexternalfileoptions_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_ingestexternalfileoptions_get_verify_checksums_readahead_size(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_verify_file_checksum(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_verify_file_checksum(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_fail_if_not_bottommost_level(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_allow_db_generated_files(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_allow_db_generated_files(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_fill_cache(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_fill_cache(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_prefetch_lmax_index_and_filter_blocks(
    rocksdb_ingestexternalfileoptions_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_ingestexternalfileoptions_get_prefetch_lmax_index_and_filter_blocks(
    rocksdb_ingestexternalfileoptions_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_ingestexternalfileoptions_set_file_opening_threads(
    rocksdb_ingestexternalfileoptions_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_ingestexternalfileoptions_get_file_opening_threads(
    rocksdb_ingestexternalfileoptions_t* opt);

/* OpenAndCompactOptions */

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_open_and_compact_options_get_allow_resumption(
    rocksdb_open_and_compact_options_t* opt);

/* ImportColumnFamilyOptions */

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_import_column_family_options_get_move_files(
    rocksdb_import_column_family_options_t* opt);

/* SizeApproximationOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_memtables(
    rocksdb_size_approximation_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_memtables(
    rocksdb_size_approximation_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_files(
    rocksdb_size_approximation_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_files(
    rocksdb_size_approximation_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_include_blob_files(
    rocksdb_size_approximation_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_size_approximation_options_get_include_blob_files(
    rocksdb_size_approximation_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_size_approximation_options_set_files_size_error_margin(
    rocksdb_size_approximation_options_t* opt, double v);

extern ROCKSDB_LIBRARY_API double
rocksdb_size_approximation_options_get_files_size_error_margin(
    rocksdb_size_approximation_options_t* opt);

/* LiveFilesStorageInfoOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_include_checksum_info(
    rocksdb_livefiles_storage_info_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_livefiles_storage_info_options_get_include_checksum_info(
    rocksdb_livefiles_storage_info_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_wal_size_for_flush(
    rocksdb_livefiles_storage_info_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_livefiles_storage_info_options_get_wal_size_for_flush(
    rocksdb_livefiles_storage_info_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_livefiles_storage_info_options_set_atomic_flush(
    rocksdb_livefiles_storage_info_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_livefiles_storage_info_options_get_atomic_flush(
    rocksdb_livefiles_storage_info_options_t* opt);

/* GetColumnFamilyMetaDataOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_column_family_metadata_options_set_level(
    rocksdb_column_family_metadata_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_column_family_metadata_options_get_level(
    rocksdb_column_family_metadata_options_t* opt);

/* WaitForCompactOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_wait_for_compact_options_set_wait_for_purge(
    rocksdb_wait_for_compact_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_wait_for_compact_options_get_wait_for_purge(
    rocksdb_wait_for_compact_options_t* opt);

/* BlockBasedTableOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_cache_index_and_filter_blocks(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_cache_index_and_filter_blocks(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_cache_index_and_filter_blocks_with_high_priority(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_cache_index_and_filter_blocks_with_high_priority(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_pin_l0_filter_and_index_blocks_in_cache(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_pin_l0_filter_and_index_blocks_in_cache(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_pin_top_level_index_and_filter(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_pin_top_level_index_and_filter(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_index_type(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_index_type(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_block_search_type(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_index_block_search_type(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_data_block_index_type(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_data_block_index_type(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_data_block_hash_table_util_ratio(
    rocksdb_block_based_table_options_t* opt, double v);

extern ROCKSDB_LIBRARY_API double
rocksdb_block_based_options_get_data_block_hash_table_util_ratio(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_checksum(
    rocksdb_block_based_table_options_t* opt, char v);

extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_checksum(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_no_block_cache(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_no_block_cache(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_block_size(
    rocksdb_block_based_table_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API uint64_t rocksdb_block_based_options_get_block_size(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_block_size_deviation(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_block_size_deviation(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_block_restart_interval(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_block_restart_interval(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_block_restart_interval(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_index_block_restart_interval(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_metadata_block_size(
    rocksdb_block_based_table_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_based_options_get_metadata_block_size(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_partition_filters(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_partition_filters(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_decouple_partitioned_filters(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_decouple_partitioned_filters(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_optimize_filters_for_memory(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_optimize_filters_for_memory(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_use_delta_encoding(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_use_delta_encoding(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_use_udi_as_primary_index(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_use_udi_as_primary_index(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_fail_if_no_udi_on_open(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_fail_if_no_udi_on_open(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_whole_key_filtering(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_whole_key_filtering(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_detect_filter_construct_corruption(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_detect_filter_construct_corruption(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_verify_compression(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_verify_compression(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_read_amp_bytes_per_bit(
    rocksdb_block_based_table_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_block_based_options_get_read_amp_bytes_per_bit(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_format_version(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_block_based_options_get_format_version(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_separate_key_value_in_data_block(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_separate_key_value_in_data_block(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_uniform_cv_threshold(
    rocksdb_block_based_table_options_t* opt, double v);

extern ROCKSDB_LIBRARY_API double
rocksdb_block_based_options_get_uniform_cv_threshold(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_enable_index_compression(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_enable_index_compression(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_block_based_options_set_block_align(
    rocksdb_block_based_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_block_based_options_get_block_align(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_super_block_alignment_size(
    rocksdb_block_based_table_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_super_block_alignment_size(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_super_block_alignment_space_overhead_ratio(
    rocksdb_block_based_table_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_super_block_alignment_space_overhead_ratio(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_index_shortening(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_block_based_options_get_index_shortening(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_max_auto_readahead_size(
    rocksdb_block_based_table_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_max_auto_readahead_size(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_prepopulate_block_cache(
    rocksdb_block_based_table_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_block_based_options_get_prepopulate_block_cache(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_initial_auto_readahead_size(
    rocksdb_block_based_table_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_block_based_options_get_initial_auto_readahead_size(
    rocksdb_block_based_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_block_based_options_set_num_file_reads_for_auto_readahead(
    rocksdb_block_based_table_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_block_based_options_get_num_file_reads_for_auto_readahead(
    rocksdb_block_based_table_options_t* opt);

/* CuckooTableOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_hash_table_ratio(
    rocksdb_cuckoo_table_options_t* opt, double v);

extern ROCKSDB_LIBRARY_API double rocksdb_cuckoo_options_get_hash_table_ratio(
    rocksdb_cuckoo_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_max_search_depth(
    rocksdb_cuckoo_table_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t rocksdb_cuckoo_options_get_max_search_depth(
    rocksdb_cuckoo_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_cuckoo_block_size(
    rocksdb_cuckoo_table_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_cuckoo_options_get_cuckoo_block_size(
    rocksdb_cuckoo_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_cuckoo_options_set_identity_as_first_hash(
    rocksdb_cuckoo_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_cuckoo_options_get_identity_as_first_hash(
    rocksdb_cuckoo_table_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_cuckoo_options_set_use_module_hash(
    rocksdb_cuckoo_table_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_cuckoo_options_get_use_module_hash(rocksdb_cuckoo_table_options_t* opt);

/* CompactionOptionsUniversal */

extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_max_read_amp(
    rocksdb_universal_compaction_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_universal_compaction_options_get_max_read_amp(
    rocksdb_universal_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_allow_trivial_move(
    rocksdb_universal_compaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_allow_trivial_move(
    rocksdb_universal_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_incremental(
    rocksdb_universal_compaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_incremental(
    rocksdb_universal_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_universal_compaction_options_set_reduce_file_locking(
    rocksdb_universal_compaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_universal_compaction_options_get_reduce_file_locking(
    rocksdb_universal_compaction_options_t* opt);

/* CompactionOptionsFIFO */

extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_age_for_warm(
    rocksdb_fifo_compaction_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_fifo_compaction_options_get_age_for_warm(
    rocksdb_fifo_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_allow_trivial_copy_when_change_temperature(
    rocksdb_fifo_compaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_fifo_compaction_options_get_allow_trivial_copy_when_change_temperature(
    rocksdb_fifo_compaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_fifo_compaction_options_set_trivial_copy_buffer_size(
    rocksdb_fifo_compaction_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_fifo_compaction_options_get_trivial_copy_buffer_size(
    rocksdb_fifo_compaction_options_t* opt);

/* BackupEngineOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_backup_dir(
    rocksdb_backup_engine_options_t* opt, const char* v);

extern ROCKSDB_LIBRARY_API const char*
rocksdb_backup_engine_options_get_backup_dir(
    rocksdb_backup_engine_options_t* opt, size_t* size);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_table_files(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_share_table_files(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_backup_engine_options_set_sync(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char rocksdb_backup_engine_options_get_sync(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_destroy_old_data(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_destroy_old_data(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_backup_log_files(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_backup_log_files(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_io_buffer_size(
    rocksdb_backup_engine_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_io_buffer_size(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_backup_rate_limit(
    rocksdb_backup_engine_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_backup_rate_limit(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_restore_rate_limit(
    rocksdb_backup_engine_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_restore_rate_limit(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_files_with_checksum(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_share_files_with_checksum(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_max_background_operations(
    rocksdb_backup_engine_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_max_background_operations(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_callback_trigger_interval_size(
    rocksdb_backup_engine_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_backup_engine_options_get_callback_trigger_interval_size(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_max_valid_backups_to_open(
    rocksdb_backup_engine_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_max_valid_backups_to_open(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_share_files_with_checksum_naming(
    rocksdb_backup_engine_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_backup_engine_options_get_share_files_with_checksum_naming(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_schema_version(
    rocksdb_backup_engine_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_backup_engine_options_get_schema_version(
    rocksdb_backup_engine_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_backup_engine_options_set_current_temperatures_override_manifest(
    rocksdb_backup_engine_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_backup_engine_options_get_current_temperatures_override_manifest(
    rocksdb_backup_engine_options_t* opt);

/* CreateBackupOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_flush_before_backup(
    rocksdb_create_backup_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_flush_before_backup(
    rocksdb_create_backup_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_decrease_background_thread_cpu_priority(
    rocksdb_create_backup_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_decrease_background_thread_cpu_priority(
    rocksdb_create_backup_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_create_backup_options_set_background_thread_cpu_priority(
    rocksdb_create_backup_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_create_backup_options_get_background_thread_cpu_priority(
    rocksdb_create_backup_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_create_backup_options_set_atomic_flush(
    rocksdb_create_backup_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_create_backup_options_get_atomic_flush(
    rocksdb_create_backup_options_t* opt);

/* RestoreOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_set_keep_log_files(
    rocksdb_restore_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_restore_options_get_keep_log_files(rocksdb_restore_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_restore_options_set_mode(
    rocksdb_restore_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_restore_options_get_mode(
    rocksdb_restore_options_t* opt);

/* TransactionDBOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_max_num_locks(
    rocksdb_transactiondb_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_max_num_locks(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_max_num_deadlocks(
    rocksdb_transactiondb_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transactiondb_options_get_max_num_deadlocks(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_num_stripes(
    rocksdb_transactiondb_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t rocksdb_transactiondb_options_get_num_stripes(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_transaction_lock_timeout(
    rocksdb_transactiondb_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_transaction_lock_timeout(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_default_lock_timeout(
    rocksdb_transactiondb_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_default_lock_timeout(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transactiondb_options_set_write_policy(
    rocksdb_transactiondb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int rocksdb_transactiondb_options_get_write_policy(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_rollback_merge_operands(
    rocksdb_transactiondb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_rollback_merge_operands(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_use_per_key_point_lock_mgr(
    rocksdb_transactiondb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_use_per_key_point_lock_mgr(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_skip_concurrency_control(
    rocksdb_transactiondb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_skip_concurrency_control(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_default_write_batch_flush_threshold(
    rocksdb_transactiondb_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transactiondb_options_get_default_write_batch_flush_threshold(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_enable_udt_validation(
    rocksdb_transactiondb_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transactiondb_options_get_enable_udt_validation(
    rocksdb_transactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transactiondb_options_set_txn_commit_bypass_memtable_threshold(
    rocksdb_transactiondb_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transactiondb_options_get_txn_commit_bypass_memtable_threshold(
    rocksdb_transactiondb_options_t* opt);

/* TransactionOptions */

extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_set_snapshot(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_set_snapshot(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_deadlock_detect(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_deadlock_detect(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_use_only_the_last_commit_time_batch_for_recovery(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_use_only_the_last_commit_time_batch_for_recovery(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_lock_timeout(
    rocksdb_transaction_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t rocksdb_transaction_options_get_lock_timeout(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_deadlock_timeout_us(
    rocksdb_transaction_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_deadlock_timeout_us(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_expiration(
    rocksdb_transaction_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_expiration(rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_deadlock_detect_depth(
    rocksdb_transaction_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_deadlock_detect_depth(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_max_write_batch_size(
    rocksdb_transaction_options_t* opt, size_t v);

extern ROCKSDB_LIBRARY_API size_t
rocksdb_transaction_options_get_max_write_batch_size(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_skip_concurrency_control(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_skip_concurrency_control(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void rocksdb_transaction_options_set_skip_prepare(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_skip_prepare(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_write_batch_flush_threshold(
    rocksdb_transaction_options_t* opt, int64_t v);

extern ROCKSDB_LIBRARY_API int64_t
rocksdb_transaction_options_get_write_batch_flush_threshold(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_write_batch_track_timestamp_size(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_write_batch_track_timestamp_size(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_commit_bypass_memtable(
    rocksdb_transaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_transaction_options_get_commit_bypass_memtable(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_large_txn_commit_optimize_threshold(
    rocksdb_transaction_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_transaction_options_get_large_txn_commit_optimize_threshold(
    rocksdb_transaction_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_transaction_options_set_large_txn_commit_optimize_byte_threshold(
    rocksdb_transaction_options_t* opt, uint64_t v);

extern ROCKSDB_LIBRARY_API uint64_t
rocksdb_transaction_options_get_large_txn_commit_optimize_byte_threshold(
    rocksdb_transaction_options_t* opt);

/* OptimisticTransactionOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransaction_options_set_set_snapshot(
    rocksdb_optimistictransaction_options_t* opt, unsigned char v);

extern ROCKSDB_LIBRARY_API unsigned char
rocksdb_optimistictransaction_options_get_set_snapshot(
    rocksdb_optimistictransaction_options_t* opt);

/* OptimisticTransactionDBOptions */

extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransactiondb_options_set_validate_policy(
    rocksdb_optimistictransactiondb_options_t* opt, int v);

extern ROCKSDB_LIBRARY_API int
rocksdb_optimistictransactiondb_options_get_validate_policy(
    rocksdb_optimistictransactiondb_options_t* opt);

extern ROCKSDB_LIBRARY_API void
rocksdb_optimistictransactiondb_options_set_occ_lock_buckets(
    rocksdb_optimistictransactiondb_options_t* opt, uint32_t v);

extern ROCKSDB_LIBRARY_API uint32_t
rocksdb_optimistictransactiondb_options_get_occ_lock_buckets(
    rocksdb_optimistictransactiondb_options_t* opt);
