18#define zarrs_assert(expr) assert(ZARRS_SUCCESS == expr)
139 size_t dimensionality,
140 uint64_t *pChunkGridShape);
152 size_t dimensionality,
153 const uint64_t *pChunkIndices,
154 uint64_t *pChunkOrigin);
166 size_t dimensionality,
167 const uint64_t *pChunkIndices,
168 uint64_t *pChunkShape);
180 size_t dimensionality,
181 const uint64_t *pChunkIndices,
196 size_t dimensionality,
197 const uint64_t *pSubsetStart,
198 const uint64_t *pSubsetShape,
199 uint64_t *pChunksStart,
200 uint64_t *pChunksShape);
234 size_t dimensionality,
235 uint64_t *pInnerChunkGridShape);
248 size_t dimensionality,
250 uint64_t *pInnerChunkShape);
273 size_t dimensionality,
286 size_t dimensionality,
287 const uint64_t *pSubsetShape,
304 size_t dimensionality,
305 const uint64_t *pChunkIndices,
306 size_t chunkBytesCount,
307 uint8_t *pChunkBytes);
324 size_t dimensionality,
325 const uint64_t *pChunkIndices,
326 size_t chunkBytesCount,
327 uint8_t *pChunkBytes);
343 size_t dimensionality,
344 const uint64_t *pSubsetStart,
345 const uint64_t *pSubsetShape,
346 size_t subsetBytesCount,
347 uint8_t *pSubsetBytes);
364 size_t dimensionality,
365 const uint64_t *pSubsetStart,
366 const uint64_t *pSubsetShape,
367 size_t subsetBytesCount,
368 uint8_t *pSubsetBytes);
380 const char* attributes);
396 size_t dimensionality,
397 const uint64_t *pChunkIndices,
398 size_t chunkBytesCount,
399 const uint8_t *pChunkBytes);
426 size_t dimensionality,
427 const uint64_t *pSubsetStart,
428 const uint64_t *pSubsetShape,
429 size_t subsetBytesCount,
430 const uint8_t *pSubsetBytes);
443 const char* metadata,
457 const char* metadata,
553 const char* attributes);
@ ZARRS_ERROR_INVALID_METADATA
@ ZARRS_ERROR_UNKNOWN_INTERSECTING_CHUNKS
@ ZARRS_ERROR_BUFFER_LENGTH
@ ZARRS_ERROR_INVALID_INDICES
@ ZARRS_ERROR_STORAGE_CAPABILITY
@ ZARRS_ERROR_STORE_PREFIX
@ ZARRS_ERROR_UNKNOWN_CHUNK_GRID_SHAPE
@ ZARRS_ERROR_UNSUPPORTED_DATA_TYPE
ZarrsResult zarrsDestroyGroup(ZarrsGroup group)
ZarrsResult zarrsOpenArrayRW(ZarrsStorage storage, const char *path, ZarrsArray *pArray)
uint32_t zarrsVersionPatch(void)
ZarrsResult zarrsArrayGetInnerChunkGridShape(ZarrsArray array, size_t dimensionality, uint64_t *pInnerChunkGridShape)
uint32_t zarrsVersionMinor(void)
struct ZarrsArray_T * ZarrsArray
ZarrsResult zarrsArrayGetInnerChunkShape(ZarrsArray array, size_t dimensionality, bool *pIsSharded, uint64_t *pInnerChunkShape)
struct ZarrsStorage_T * ZarrsStorage
ZarrsResult zarrsDestroyArray(ZarrsArray array)
ZarrsResult zarrsArrayGetAttributes(ZarrsArray array, bool pretty, char **pAttributesString)
ZarrsResult zarrsCreateShardIndexCache(ZarrsArray array, ZarrsShardIndexCache *pShardIndexCache)
ZarrsResult zarrsArrayRetrieveSubsetSharded(ZarrsArray array, ZarrsShardIndexCache cache, size_t dimensionality, const uint64_t *pSubsetStart, const uint64_t *pSubsetShape, size_t subsetBytesCount, uint8_t *pSubsetBytes)
struct ZarrsGroup_T * ZarrsGroup
ZarrsResult zarrsFreeString(char *string)
struct ZarrsShardIndexCache_T ZarrsShardIndexCache_T
ZarrsResult zarrsArrayGetChunksInSubset(ZarrsArray array, size_t dimensionality, const uint64_t *pSubsetStart, const uint64_t *pSubsetShape, uint64_t *pChunksStart, uint64_t *pChunksShape)
struct ZarrsGroup_T ZarrsGroup_T
ZarrsResult zarrsArrayRetrieveChunk(ZarrsArray array, size_t dimensionality, const uint64_t *pChunkIndices, size_t chunkBytesCount, uint8_t *pChunkBytes)
char * zarrsLastError(void)
ZarrsResult zarrsCreateGroupRW(ZarrsStorage storage, const char *path, const char *metadata, ZarrsGroup *pGroup)
ZarrsResult zarrsArrayGetMetadataString(ZarrsArray array, bool pretty, char **pMetadataString)
ZarrsResult zarrsArrayGetChunkGridShape(ZarrsArray array, size_t dimensionality, uint64_t *pChunkGridShape)
ZarrsResult zarrsArrayGetDimensionality(ZarrsArray array, size_t *dimensionality)
ZarrsResult zarrsArrayRetrieveSubset(ZarrsArray array, size_t dimensionality, const uint64_t *pSubsetStart, const uint64_t *pSubsetShape, size_t subsetBytesCount, uint8_t *pSubsetBytes)
ZarrsResult zarrsArrayGetChunkShape(ZarrsArray array, size_t dimensionality, const uint64_t *pChunkIndices, uint64_t *pChunkShape)
ZarrsResult zarrsArrayRetrieveInnerChunk(ZarrsArray array, ZarrsShardIndexCache cache, size_t dimensionality, const uint64_t *pChunkIndices, size_t chunkBytesCount, uint8_t *pChunkBytes)
ZarrsResult zarrsDestroyStorage(ZarrsStorage storage)
ZarrsResult zarrsGroupSetAttributes(ZarrsGroup group, const char *attributes)
ZarrsResult zarrsArrayStoreMetadata(ZarrsArray array)
ZarrsResult zarrsArrayGetSubsetSize(ZarrsArray array, size_t dimensionality, const uint64_t *pSubsetShape, size_t *subsetSize)
ZarrsResult zarrsArrayGetShape(ZarrsArray array, size_t dimensionality, uint64_t *pShape)
ZarrsResult zarrsArrayGetChunkSize(ZarrsArray array, size_t dimensionality, const uint64_t *pChunkIndices, size_t *chunkSize)
struct ZarrsStorage_T ZarrsStorage_T
ZarrsResult zarrsDestroyShardIndexCache(ZarrsShardIndexCache shardIndexCache)
ZarrsResult zarrsArrayStoreChunk(ZarrsArray array, size_t dimensionality, const uint64_t *pChunkIndices, size_t chunkBytesCount, const uint8_t *pChunkBytes)
ZarrsResult zarrsOpenGroupRW(ZarrsStorage storage, const char *path, ZarrsGroup *pGroup)
uint32_t zarrsVersion(void)
ZarrsResult zarrsGroupStoreMetadata(ZarrsGroup group)
ZarrsResult zarrsGroupGetAttributes(ZarrsGroup group, bool pretty, char **pAttributesString)
ZarrsResult zarrsArraySetAttributes(ZarrsArray array, const char *attributes)
struct ZarrsArray_T ZarrsArray_T
uint32_t zarrsVersionMajor(void)
ZarrsResult zarrsArrayStoreSubset(ZarrsArray array, size_t dimensionality, const uint64_t *pSubsetStart, const uint64_t *pSubsetShape, size_t subsetBytesCount, const uint8_t *pSubsetBytes)
struct ZarrsShardIndexCache_T * ZarrsShardIndexCache
ZarrsResult zarrsCreateStorageFilesystem(const char *path, ZarrsStorage *pStorage)
ZarrsResult zarrsArrayGetDataType(ZarrsArray array, ZarrsDataType *pDataType)
ZarrsResult zarrsArrayGetAttributesString(ZarrsArray array, bool pretty, char **pAttributesString)
ZarrsResult zarrsCreateArrayRW(ZarrsStorage storage, const char *path, const char *metadata, ZarrsArray *pArray)
ZarrsResult zarrsArrayGetChunkOrigin(ZarrsArray array, size_t dimensionality, const uint64_t *pChunkIndices, uint64_t *pChunkOrigin)