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

/* FlushJobInfo */

uint32_t rocksdb_flushjobinfo_cf_id(const rocksdb_flushjobinfo_t* info) {
  return info->rep.cf_id;
}

const char* rocksdb_flushjobinfo_cf_name(const rocksdb_flushjobinfo_t* info,
                                         size_t* size) {
  *size = info->rep.cf_name.size();
  return info->rep.cf_name.data();
}

const char* rocksdb_flushjobinfo_file_path(const rocksdb_flushjobinfo_t* info,
                                           size_t* size) {
  *size = info->rep.file_path.size();
  return info->rep.file_path.data();
}

uint64_t rocksdb_flushjobinfo_file_number(const rocksdb_flushjobinfo_t* info) {
  return info->rep.file_number;
}

uint64_t rocksdb_flushjobinfo_oldest_blob_file_number(
    const rocksdb_flushjobinfo_t* info) {
  return info->rep.oldest_blob_file_number;
}

uint64_t rocksdb_flushjobinfo_thread_id(const rocksdb_flushjobinfo_t* info) {
  return info->rep.thread_id;
}

int rocksdb_flushjobinfo_job_id(const rocksdb_flushjobinfo_t* info) {
  return info->rep.job_id;
}

unsigned char rocksdb_flushjobinfo_triggered_writes_slowdown(
    const rocksdb_flushjobinfo_t* info) {
  return info->rep.triggered_writes_slowdown;
}

unsigned char rocksdb_flushjobinfo_triggered_writes_stop(
    const rocksdb_flushjobinfo_t* info) {
  return info->rep.triggered_writes_stop;
}

uint64_t rocksdb_flushjobinfo_smallest_seqno(
    const rocksdb_flushjobinfo_t* info) {
  return info->rep.smallest_seqno;
}

uint64_t rocksdb_flushjobinfo_largest_seqno(
    const rocksdb_flushjobinfo_t* info) {
  return info->rep.largest_seqno;
}

uint32_t rocksdb_flushjobinfo_flush_reason(const rocksdb_flushjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.flush_reason);
}

uint32_t rocksdb_flushjobinfo_blob_compression_type(
    const rocksdb_flushjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.blob_compression_type);
}

/* CompactionJobInfo */

uint32_t rocksdb_compactionjobinfo_cf_id(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.cf_id;
}

const char* rocksdb_compactionjobinfo_cf_name(
    const rocksdb_compactionjobinfo_t* info, size_t* size) {
  *size = info->rep.cf_name.size();
  return info->rep.cf_name.data();
}

void rocksdb_compactionjobinfo_status(const rocksdb_compactionjobinfo_t* info,
                                      char** errptr) {
  SaveError(errptr, info->rep.status);
}

uint64_t rocksdb_compactionjobinfo_thread_id(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.thread_id;
}

int rocksdb_compactionjobinfo_job_id(const rocksdb_compactionjobinfo_t* info) {
  return info->rep.job_id;
}

int rocksdb_compactionjobinfo_num_l0_files(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.num_l0_files;
}

int rocksdb_compactionjobinfo_base_input_level(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.base_input_level;
}

int rocksdb_compactionjobinfo_output_level(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.output_level;
}

uint32_t rocksdb_compactionjobinfo_compaction_reason(
    const rocksdb_compactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.compaction_reason);
}

uint32_t rocksdb_compactionjobinfo_compression(
    const rocksdb_compactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.compression);
}

uint32_t rocksdb_compactionjobinfo_blob_compression_type(
    const rocksdb_compactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.blob_compression_type);
}

unsigned char rocksdb_compactionjobinfo_aborted(
    const rocksdb_compactionjobinfo_t* info) {
  return info->rep.aborted;
}

/* SubcompactionJobInfo */

uint32_t rocksdb_subcompactionjobinfo_cf_id(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.cf_id;
}

const char* rocksdb_subcompactionjobinfo_cf_name(
    const rocksdb_subcompactionjobinfo_t* info, size_t* size) {
  *size = info->rep.cf_name.size();
  return info->rep.cf_name.data();
}

void rocksdb_subcompactionjobinfo_status(
    const rocksdb_subcompactionjobinfo_t* info, char** errptr) {
  SaveError(errptr, info->rep.status);
}

uint64_t rocksdb_subcompactionjobinfo_thread_id(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.thread_id;
}

int rocksdb_subcompactionjobinfo_job_id(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.job_id;
}

int rocksdb_subcompactionjobinfo_subcompaction_job_id(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.subcompaction_job_id;
}

int rocksdb_subcompactionjobinfo_base_input_level(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.base_input_level;
}

int rocksdb_subcompactionjobinfo_output_level(
    const rocksdb_subcompactionjobinfo_t* info) {
  return info->rep.output_level;
}

uint32_t rocksdb_subcompactionjobinfo_compaction_reason(
    const rocksdb_subcompactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.compaction_reason);
}

uint32_t rocksdb_subcompactionjobinfo_compression(
    const rocksdb_subcompactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.compression);
}

uint32_t rocksdb_subcompactionjobinfo_blob_compression_type(
    const rocksdb_subcompactionjobinfo_t* info) {
  return static_cast<uint32_t>(info->rep.blob_compression_type);
}

/* ExternalFileIngestionInfo */

const char* rocksdb_externalfileingestioninfo_cf_name(
    const rocksdb_externalfileingestioninfo_t* info, size_t* size) {
  *size = info->rep.cf_name.size();
  return info->rep.cf_name.data();
}

const char* rocksdb_externalfileingestioninfo_external_file_path(
    const rocksdb_externalfileingestioninfo_t* info, size_t* size) {
  *size = info->rep.external_file_path.size();
  return info->rep.external_file_path.data();
}

const char* rocksdb_externalfileingestioninfo_internal_file_path(
    const rocksdb_externalfileingestioninfo_t* info, size_t* size) {
  *size = info->rep.internal_file_path.size();
  return info->rep.internal_file_path.data();
}

uint64_t rocksdb_externalfileingestioninfo_global_seqno(
    const rocksdb_externalfileingestioninfo_t* info) {
  return info->rep.global_seqno;
}

/* MemTableInfo */

const char* rocksdb_memtableinfo_cf_name(const rocksdb_memtableinfo_t* info,
                                         size_t* size) {
  *size = info->rep.cf_name.size();
  return info->rep.cf_name.data();
}

uint64_t rocksdb_memtableinfo_first_seqno(const rocksdb_memtableinfo_t* info) {
  return info->rep.first_seqno;
}

uint64_t rocksdb_memtableinfo_earliest_seqno(
    const rocksdb_memtableinfo_t* info) {
  return info->rep.earliest_seqno;
}

uint64_t rocksdb_memtableinfo_num_entries(const rocksdb_memtableinfo_t* info) {
  return info->rep.num_entries;
}

uint64_t rocksdb_memtableinfo_num_deletes(const rocksdb_memtableinfo_t* info) {
  return info->rep.num_deletes;
}

const char* rocksdb_memtableinfo_newest_udt(const rocksdb_memtableinfo_t* info,
                                            size_t* size) {
  *size = info->rep.newest_udt.size();
  return info->rep.newest_udt.data();
}
