#include <tiledb/tiledb.h>
tiledb_ctx_alloc(NULL, &ctx);
// Create fragment info object
tiledb_fragment_info_t* fragment_info;
tiledb_fragment_info_alloc(ctx, array_name, &fragment_info);
tiledb_fragment_info_load(ctx, fragment_info);
// Get number of written fragments.
tiledb_fragment_info_get_fragment_num(ctx, fragment_info, &num);
tiledb_fragment_info_get_fragment_uri(ctx, fragment_info, 0, &uri);
tiledb_fragment_info_get_fragment_size(ctx, fragment_info, 0, &size);
// Check if the fragment is dense or sparse.
tiledb_fragment_info_get_dense(ctx, fragment_info, 0, &dense);
// Get the fragment timestamp range
tiledb_fragment_info_get_timestamp_range(ctx, fragment_info, 0, &start, &end);
// Get the number of cells written to the fragment.
tiledb_fragment_info_get_cell_num(ctx, fragment_info, 0, &cell_num);
// Get the format version of the fragment.
tiledb_fragment_info_get_version(ctx, fragment_info, 0, &version);
// Check if fragment has consolidated metadata.
tiledb_fragment_info_has_consolidated_metadata(
ctx, fragment_info, 0, &consolidated);
// Get the number of fragments with unconsolidated metadata
// in the fragment info object.
tiledb_fragment_info_get_unconsolidated_metadata_num(
ctx, fragment_info, &unconsolidated);
// Get non-empty domain from index
uint64_t non_empty_dom[2];
tiledb_fragment_info_get_non_empty_domain_from_index(
ctx, fragment_info, 0, 0, &non_empty_dom[0]);
tiledb_fragment_info_free(&fragment_info);