// @generated
// -----------------------------------------------------------------------------
// Auto-generated by tools/c_api_gen/auto_simple_bindings.py.
// DO NOT EDIT THIS FILE DIRECTLY.
// Sources:
//   - include/rocksdb/compaction_job_stats.h
//   - include/rocksdb/listener.h
//   - include/rocksdb/table_properties.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 metadata view structs simple

/* TableProperties */

uint64_t rocksdb_table_properties_orig_file_number(
    const rocksdb_table_properties_t* props) {
  return props->rep.orig_file_number;
}

uint64_t rocksdb_table_properties_data_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.data_size;
}

uint64_t rocksdb_table_properties_uncompressed_data_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.uncompressed_data_size;
}

uint64_t rocksdb_table_properties_index_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.index_size;
}

uint64_t rocksdb_table_properties_index_partitions(
    const rocksdb_table_properties_t* props) {
  return props->rep.index_partitions;
}

uint64_t rocksdb_table_properties_top_level_index_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.top_level_index_size;
}

uint64_t rocksdb_table_properties_index_key_is_user_key(
    const rocksdb_table_properties_t* props) {
  return props->rep.index_key_is_user_key;
}

uint64_t rocksdb_table_properties_index_value_is_delta_encoded(
    const rocksdb_table_properties_t* props) {
  return props->rep.index_value_is_delta_encoded;
}

uint64_t rocksdb_table_properties_udi_is_primary_index(
    const rocksdb_table_properties_t* props) {
  return props->rep.udi_is_primary_index;
}

uint64_t rocksdb_table_properties_filter_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.filter_size;
}

uint64_t rocksdb_table_properties_raw_key_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.raw_key_size;
}

uint64_t rocksdb_table_properties_raw_value_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.raw_value_size;
}

uint64_t rocksdb_table_properties_num_data_blocks(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_data_blocks;
}

uint64_t rocksdb_table_properties_num_data_blocks_compression_rejected(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_data_blocks_compression_rejected;
}

uint64_t rocksdb_table_properties_num_data_blocks_compression_bypassed(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_data_blocks_compression_bypassed;
}

uint64_t rocksdb_table_properties_num_uniform_blocks(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_uniform_blocks;
}

uint64_t rocksdb_table_properties_num_entries(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_entries;
}

uint64_t rocksdb_table_properties_num_filter_entries(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_filter_entries;
}

uint64_t rocksdb_table_properties_num_deletions(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_deletions;
}

uint64_t rocksdb_table_properties_num_merge_operands(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_merge_operands;
}

uint64_t rocksdb_table_properties_num_range_deletions(
    const rocksdb_table_properties_t* props) {
  return props->rep.num_range_deletions;
}

uint64_t rocksdb_table_properties_format_version(
    const rocksdb_table_properties_t* props) {
  return props->rep.format_version;
}

uint64_t rocksdb_table_properties_fixed_key_len(
    const rocksdb_table_properties_t* props) {
  return props->rep.fixed_key_len;
}

uint64_t rocksdb_table_properties_column_family_id(
    const rocksdb_table_properties_t* props) {
  return props->rep.column_family_id;
}

uint64_t rocksdb_table_properties_creation_time(
    const rocksdb_table_properties_t* props) {
  return props->rep.creation_time;
}

uint64_t rocksdb_table_properties_oldest_key_time(
    const rocksdb_table_properties_t* props) {
  return props->rep.oldest_key_time;
}

uint64_t rocksdb_table_properties_newest_key_time(
    const rocksdb_table_properties_t* props) {
  return props->rep.newest_key_time;
}

uint64_t rocksdb_table_properties_file_creation_time(
    const rocksdb_table_properties_t* props) {
  return props->rep.file_creation_time;
}

uint64_t rocksdb_table_properties_slow_compression_estimated_data_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.slow_compression_estimated_data_size;
}

uint64_t rocksdb_table_properties_fast_compression_estimated_data_size(
    const rocksdb_table_properties_t* props) {
  return props->rep.fast_compression_estimated_data_size;
}

uint64_t rocksdb_table_properties_external_sst_file_global_seqno_offset(
    const rocksdb_table_properties_t* props) {
  return props->rep.external_sst_file_global_seqno_offset;
}

uint64_t rocksdb_table_properties_tail_start_offset(
    const rocksdb_table_properties_t* props) {
  return props->rep.tail_start_offset;
}

uint64_t rocksdb_table_properties_user_defined_timestamps_persisted(
    const rocksdb_table_properties_t* props) {
  return props->rep.user_defined_timestamps_persisted;
}

uint64_t rocksdb_table_properties_key_largest_seqno(
    const rocksdb_table_properties_t* props) {
  return props->rep.key_largest_seqno;
}

uint64_t rocksdb_table_properties_key_smallest_seqno(
    const rocksdb_table_properties_t* props) {
  return props->rep.key_smallest_seqno;
}

uint64_t rocksdb_table_properties_data_block_restart_interval(
    const rocksdb_table_properties_t* props) {
  return props->rep.data_block_restart_interval;
}

uint64_t rocksdb_table_properties_index_block_restart_interval(
    const rocksdb_table_properties_t* props) {
  return props->rep.index_block_restart_interval;
}

uint64_t rocksdb_table_properties_separate_key_value_in_data_block(
    const rocksdb_table_properties_t* props) {
  return props->rep.separate_key_value_in_data_block;
}

const char* rocksdb_table_properties_db_id(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.db_id.size();
  return props->rep.db_id.data();
}

const char* rocksdb_table_properties_db_session_id(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.db_session_id.size();
  return props->rep.db_session_id.data();
}

const char* rocksdb_table_properties_db_host_id(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.db_host_id.size();
  return props->rep.db_host_id.data();
}

const char* rocksdb_table_properties_column_family_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.column_family_name.size();
  return props->rep.column_family_name.data();
}

const char* rocksdb_table_properties_filter_policy_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.filter_policy_name.size();
  return props->rep.filter_policy_name.data();
}

const char* rocksdb_table_properties_comparator_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.comparator_name.size();
  return props->rep.comparator_name.data();
}

const char* rocksdb_table_properties_merge_operator_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.merge_operator_name.size();
  return props->rep.merge_operator_name.data();
}

const char* rocksdb_table_properties_prefix_extractor_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.prefix_extractor_name.size();
  return props->rep.prefix_extractor_name.data();
}

const char* rocksdb_table_properties_property_collectors_names(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.property_collectors_names.size();
  return props->rep.property_collectors_names.data();
}

const char* rocksdb_table_properties_compression_name(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.compression_name.size();
  return props->rep.compression_name.data();
}

const char* rocksdb_table_properties_compression_options(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.compression_options.size();
  return props->rep.compression_options.data();
}

const char* rocksdb_table_properties_seqno_to_time_mapping(
    const rocksdb_table_properties_t* props, size_t* size) {
  *size = props->rep.seqno_to_time_mapping.size();
  return props->rep.seqno_to_time_mapping.data();
}

/* CompactionJobStats */

uint64_t rocksdb_compaction_job_stats_elapsed_micros(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.elapsed_micros;
}

uint64_t rocksdb_compaction_job_stats_cpu_micros(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.cpu_micros;
}

unsigned char rocksdb_compaction_job_stats_has_accurate_num_input_records(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.has_accurate_num_input_records;
}

uint64_t rocksdb_compaction_job_stats_num_input_records(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_input_records;
}

uint64_t rocksdb_compaction_job_stats_num_blobs_read(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_blobs_read;
}

size_t rocksdb_compaction_job_stats_num_input_files(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_input_files;
}

size_t rocksdb_compaction_job_stats_num_input_files_trivially_moved(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_input_files_trivially_moved;
}

size_t rocksdb_compaction_job_stats_num_input_files_at_output_level(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_input_files_at_output_level;
}

size_t rocksdb_compaction_job_stats_num_filtered_input_files(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_filtered_input_files;
}

size_t rocksdb_compaction_job_stats_num_filtered_input_files_at_output_level(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_filtered_input_files_at_output_level;
}

uint64_t rocksdb_compaction_job_stats_num_output_records(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_output_records;
}

size_t rocksdb_compaction_job_stats_num_output_files(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_output_files;
}

size_t rocksdb_compaction_job_stats_num_output_files_blob(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_output_files_blob;
}

unsigned char rocksdb_compaction_job_stats_is_full_compaction(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.is_full_compaction;
}

unsigned char rocksdb_compaction_job_stats_is_manual_compaction(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.is_manual_compaction;
}

unsigned char rocksdb_compaction_job_stats_is_remote_compaction(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.is_remote_compaction;
}

uint64_t rocksdb_compaction_job_stats_total_input_bytes(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_input_bytes;
}

uint64_t rocksdb_compaction_job_stats_total_blob_bytes_read(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_blob_bytes_read;
}

uint64_t rocksdb_compaction_job_stats_total_output_bytes(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_output_bytes;
}

uint64_t rocksdb_compaction_job_stats_total_output_bytes_blob(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_output_bytes_blob;
}

uint64_t rocksdb_compaction_job_stats_total_skipped_input_bytes(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_skipped_input_bytes;
}

uint64_t rocksdb_compaction_job_stats_num_records_replaced(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_records_replaced;
}

uint64_t rocksdb_compaction_job_stats_total_input_raw_key_bytes(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_input_raw_key_bytes;
}

uint64_t rocksdb_compaction_job_stats_total_input_raw_value_bytes(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.total_input_raw_value_bytes;
}

uint64_t rocksdb_compaction_job_stats_num_input_deletion_records(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_input_deletion_records;
}

uint64_t rocksdb_compaction_job_stats_num_expired_deletion_records(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_expired_deletion_records;
}

uint64_t rocksdb_compaction_job_stats_num_corrupt_keys(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_corrupt_keys;
}

uint64_t rocksdb_compaction_job_stats_file_write_nanos(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.file_write_nanos;
}

uint64_t rocksdb_compaction_job_stats_file_range_sync_nanos(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.file_range_sync_nanos;
}

uint64_t rocksdb_compaction_job_stats_file_fsync_nanos(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.file_fsync_nanos;
}

uint64_t rocksdb_compaction_job_stats_file_prepare_write_nanos(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.file_prepare_write_nanos;
}

const char* rocksdb_compaction_job_stats_smallest_output_key_prefix(
    const rocksdb_compaction_job_stats_t* stats, size_t* size) {
  *size = stats->rep.smallest_output_key_prefix.size();
  return stats->rep.smallest_output_key_prefix.data();
}

const char* rocksdb_compaction_job_stats_largest_output_key_prefix(
    const rocksdb_compaction_job_stats_t* stats, size_t* size) {
  *size = stats->rep.largest_output_key_prefix.size();
  return stats->rep.largest_output_key_prefix.data();
}

uint64_t rocksdb_compaction_job_stats_num_single_del_fallthru(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_single_del_fallthru;
}

uint64_t rocksdb_compaction_job_stats_num_single_del_mismatch(
    const rocksdb_compaction_job_stats_t* stats) {
  return stats->rep.num_single_del_mismatch;
}

/* CompactionFileInfo */

int rocksdb_compaction_file_info_level(
    const rocksdb_compaction_file_info_t* info) {
  return info->rep.level;
}

uint64_t rocksdb_compaction_file_info_file_number(
    const rocksdb_compaction_file_info_t* info) {
  return info->rep.file_number;
}

uint64_t rocksdb_compaction_file_info_oldest_blob_file_number(
    const rocksdb_compaction_file_info_t* info) {
  return info->rep.oldest_blob_file_number;
}

/* BlobFileAdditionInfo */

uint64_t rocksdb_blob_file_addition_info_total_blob_count(
    const rocksdb_blob_file_addition_info_t* info) {
  return info->rep.total_blob_count;
}

uint64_t rocksdb_blob_file_addition_info_total_blob_bytes(
    const rocksdb_blob_file_addition_info_t* info) {
  return info->rep.total_blob_bytes;
}

/* BlobFileGarbageInfo */

uint64_t rocksdb_blob_file_garbage_info_garbage_blob_count(
    const rocksdb_blob_file_garbage_info_t* info) {
  return info->rep.garbage_blob_count;
}

uint64_t rocksdb_blob_file_garbage_info_garbage_blob_bytes(
    const rocksdb_blob_file_garbage_info_t* info) {
  return info->rep.garbage_blob_bytes;
}
