#[cxx::bridge(namespace = "cudf_shims")]
pub mod ffi {
unsafe extern "C++" {
include!("io/parquet_shim.h");
include!("table_shim.h");
type OwnedTable = crate::table::ffi::OwnedTable;
type OwnedTableWithMetadata = crate::table::ffi::OwnedTableWithMetadata;
fn read_parquet(
filepath: &str,
columns: &[String],
skip_rows: i64,
num_rows: i64,
) -> Result<UniquePtr<OwnedTable>>;
fn read_parquet_with_metadata(
filepath: &str,
columns: &[String],
skip_rows: i64,
num_rows: i64,
) -> Result<UniquePtr<OwnedTableWithMetadata>>;
fn write_parquet(table: &OwnedTable, filepath: &str, compression: i32) -> Result<()>;
type OwnedChunkedParquetReader;
fn chunked_parquet_reader_create(
filepath: &str,
chunk_read_limit: i64,
) -> Result<UniquePtr<OwnedChunkedParquetReader>>;
fn chunked_parquet_reader_has_next(reader: &OwnedChunkedParquetReader) -> Result<bool>;
fn chunked_parquet_reader_read_chunk(
reader: &OwnedChunkedParquetReader,
) -> Result<UniquePtr<OwnedTable>>;
type OwnedChunkedParquetWriter;
fn chunked_parquet_writer_create(
filepath: &str,
compression: i32,
) -> Result<UniquePtr<OwnedChunkedParquetWriter>>;
fn chunked_parquet_writer_write(
writer: Pin<&mut OwnedChunkedParquetWriter>,
table: &OwnedTable,
) -> Result<()>;
fn chunked_parquet_writer_close(writer: Pin<&mut OwnedChunkedParquetWriter>) -> Result<()>;
type OwnedParquetMetadata;
fn read_parquet_metadata(filepath: &str) -> Result<UniquePtr<OwnedParquetMetadata>>;
fn get_num_rows(meta: &OwnedParquetMetadata) -> i64;
fn get_num_row_groups(meta: &OwnedParquetMetadata) -> i32;
fn get_num_columns(meta: &OwnedParquetMetadata) -> i32;
fn get_column_name(meta: &OwnedParquetMetadata, index: i32) -> String;
}
}