18#define zarrs_assert(expr) assert(ZARRS_SUCCESS == expr)
140 size_t dimensionality,
141 uint64_t *pChunkGridShape);
153 size_t dimensionality,
154 const uint64_t *pChunkIndices,
155 uint64_t *pChunkOrigin);
167 size_t dimensionality,
168 const uint64_t *pChunkIndices,
169 uint64_t *pChunkShape);
181 size_t dimensionality,
182 const uint64_t *pChunkIndices,
198 size_t dimensionality,
199 const uint64_t *pSubsetStart,
200 const uint64_t *pSubsetShape,
201 uint64_t *pChunksStart,
202 uint64_t *pChunksShape);
240 size_t dimensionality,
241 uint64_t *pInnerChunkGridShape);
254 size_t dimensionality,
256 uint64_t *pInnerChunkShape);
280 size_t dimensionality,
293 size_t dimensionality,
294 const uint64_t *pSubsetShape,
311 size_t dimensionality,
312 const uint64_t *pChunkIndices,
313 size_t chunkBytesCount,
314 uint8_t *pChunkBytes);
331 size_t dimensionality,
332 const uint64_t *pChunkIndices,
333 size_t chunkBytesCount,
334 uint8_t *pChunkBytes);
350 size_t dimensionality,
351 const uint64_t *pSubsetStart,
352 const uint64_t *pSubsetShape,
353 size_t subsetBytesCount,
354 uint8_t *pSubsetBytes);
371 size_t dimensionality,
372 const uint64_t *pSubsetStart,
373 const uint64_t *pSubsetShape,
374 size_t subsetBytesCount,
375 uint8_t *pSubsetBytes);
387 const char* attributes);
403 size_t dimensionality,
404 const uint64_t *pChunkIndices,
405 size_t chunkBytesCount,
406 const uint8_t *pChunkBytes);
433 size_t dimensionality,
434 const uint64_t *pSubsetStart,
435 const uint64_t *pSubsetShape,
436 size_t subsetBytesCount,
437 const uint8_t *pSubsetBytes);
450 const char* metadata,
464 const char* metadata,
560 const char* attributes);
@ ZARRS_ERROR_INVALID_METADATA
@ ZARRS_ERROR_UNKNOWN_INTERSECTING_CHUNKS
@ ZARRS_ERROR_INCOMPATIBLE_DIMENSIONALITY
@ 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)