zarrs_ffi
C/C++ bindings for the zarrs rust crate
Loading...
Searching...
No Matches
zarrs.h
Go to the documentation of this file.
1#pragma once
2
3/* Warning, this file is autogenerated by cbindgen. Don't modify this manually. */
4
5#include <stdarg.h>
6#include <stdbool.h>
7#include <stddef.h>
8#include <stdint.h>
9#include <stdlib.h>
10
11#undef NDEBUG
12#ifdef __cplusplus
13#include <cassert>
14#else // __cplusplus
15#include <assert.h>
16#endif // __cplusplus
17
18#define zarrs_assert(expr) assert(ZARRS_SUCCESS == expr)
19
20
47#ifndef __cplusplus
48typedef int32_t ZarrsDataType;
49#endif // __cplusplus
50
72#ifndef __cplusplus
73typedef int32_t ZarrsResult;
74#endif // __cplusplus
75
77
79
81
83
87typedef struct ZarrsArray_T *ZarrsArray;
88
93
98
102typedef struct ZarrsGroup_T *ZarrsGroup;
103
104#ifdef __cplusplus
105extern "C" {
106#endif // __cplusplus
107
116ZarrsResult zarrsArrayGetAttributes(ZarrsArray array, bool pretty, char **pAttributesString);
117
126ZarrsResult zarrsArrayGetAttributesString(ZarrsArray array, bool pretty, char **pAttributesString);
127
140 size_t dimensionality,
141 uint64_t *pChunkGridShape);
142
153 size_t dimensionality,
154 const uint64_t *pChunkIndices,
155 uint64_t *pChunkOrigin);
156
167 size_t dimensionality,
168 const uint64_t *pChunkIndices,
169 uint64_t *pChunkShape);
170
181 size_t dimensionality,
182 const uint64_t *pChunkIndices,
183 size_t *chunkSize);
184
198 size_t dimensionality,
199 const uint64_t *pSubsetStart,
200 const uint64_t *pSubsetShape,
201 uint64_t *pChunksStart,
202 uint64_t *pChunksShape);
203
214
225
240 size_t dimensionality,
241 uint64_t *pInnerChunkGridShape);
242
254 size_t dimensionality,
255 bool *pIsSharded,
256 uint64_t *pInnerChunkShape);
257
266ZarrsResult zarrsArrayGetMetadataString(ZarrsArray array, bool pretty, char **pMetadataString);
267
280 size_t dimensionality,
281 uint64_t *pShape);
282
293 size_t dimensionality,
294 const uint64_t *pSubsetShape,
295 size_t *subsetSize);
296
311 size_t dimensionality,
312 const uint64_t *pChunkIndices,
313 size_t chunkBytesCount,
314 uint8_t *pChunkBytes);
315
331 size_t dimensionality,
332 const uint64_t *pChunkIndices,
333 size_t chunkBytesCount,
334 uint8_t *pChunkBytes);
335
350 size_t dimensionality,
351 const uint64_t *pSubsetStart,
352 const uint64_t *pSubsetShape,
353 size_t subsetBytesCount,
354 uint8_t *pSubsetBytes);
355
371 size_t dimensionality,
372 const uint64_t *pSubsetStart,
373 const uint64_t *pSubsetShape,
374 size_t subsetBytesCount,
375 uint8_t *pSubsetBytes);
376
387 const char* attributes);
388
403 size_t dimensionality,
404 const uint64_t *pChunkIndices,
405 size_t chunkBytesCount,
406 const uint8_t *pChunkBytes);
407
418
433 size_t dimensionality,
434 const uint64_t *pSubsetStart,
435 const uint64_t *pSubsetShape,
436 size_t subsetBytesCount,
437 const uint8_t *pSubsetBytes);
438
449 const char* path,
450 const char* metadata,
451 ZarrsArray *pArray);
452
463 const char* path,
464 const char* metadata,
465 ZarrsGroup *pGroup);
466
477
487
498
509
520
531
539
548ZarrsResult zarrsGroupGetAttributes(ZarrsGroup group, bool pretty, char **pAttributesString);
549
560 const char* attributes);
561
572
578char *zarrsLastError(void);
579
588ZarrsResult zarrsOpenArrayRW(ZarrsStorage storage, const char* path, ZarrsArray *pArray);
589
598ZarrsResult zarrsOpenGroupRW(ZarrsStorage storage, const char* path, ZarrsGroup *pGroup);
599
605uint32_t zarrsVersion(void);
606
610uint32_t zarrsVersionMajor(void);
611
615uint32_t zarrsVersionMinor(void);
616
620uint32_t zarrsVersionPatch(void);
621
622#ifdef __cplusplus
623} // extern "C"
624#endif // __cplusplus
ZarrsResult
Definition zarrs.h:55
@ ZARRS_ERROR_INVALID_METADATA
Definition zarrs.h:64
@ ZARRS_ERROR_UNKNOWN_INTERSECTING_CHUNKS
Definition zarrs.h:67
@ ZARRS_ERROR_STORAGE
Definition zarrs.h:58
@ ZARRS_ERROR_INCOMPATIBLE_DIMENSIONALITY
Definition zarrs.h:70
@ ZARRS_SUCCESS
Definition zarrs.h:56
@ ZARRS_ERROR_BUFFER_LENGTH
Definition zarrs.h:60
@ ZARRS_ERROR_ARRAY
Definition zarrs.h:59
@ ZARRS_ERROR_NODE_PATH
Definition zarrs.h:62
@ ZARRS_ERROR_INVALID_INDICES
Definition zarrs.h:61
@ ZARRS_ERROR_GROUP
Definition zarrs.h:69
@ ZARRS_ERROR_STORAGE_CAPABILITY
Definition zarrs.h:65
@ ZARRS_ERROR_STORE_PREFIX
Definition zarrs.h:63
@ ZARRS_ERROR_NULL_PTR
Definition zarrs.h:57
@ ZARRS_ERROR_UNKNOWN_CHUNK_GRID_SHAPE
Definition zarrs.h:66
@ ZARRS_ERROR_UNSUPPORTED_DATA_TYPE
Definition zarrs.h:68
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
Definition zarrs.h:87
ZarrsResult zarrsArrayGetInnerChunkShape(ZarrsArray array, size_t dimensionality, bool *pIsSharded, uint64_t *pInnerChunkShape)
struct ZarrsStorage_T * ZarrsStorage
Definition zarrs.h:97
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
Definition zarrs.h:102
ZarrsResult zarrsFreeString(char *string)
struct ZarrsShardIndexCache_T ZarrsShardIndexCache_T
Definition zarrs.h:80
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
Definition zarrs.h:78
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
Definition zarrs.h:82
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
Definition zarrs.h:76
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)
ZarrsDataType
Definition zarrs.h:28
@ ZARRS_BFLOAT16
Definition zarrs.h:45
@ ZARRS_INT8
Definition zarrs.h:31
@ ZARRS_UNDEFINED
Definition zarrs.h:29
@ ZARRS_INT16
Definition zarrs.h:32
@ ZARRS_UINT32
Definition zarrs.h:37
@ ZARRS_COMPLEX128
Definition zarrs.h:43
@ ZARRS_RAW_BITS
Definition zarrs.h:44
@ ZARRS_INT32
Definition zarrs.h:33
@ ZARRS_UINT8
Definition zarrs.h:35
@ ZARRS_FLOAT16
Definition zarrs.h:39
@ ZARRS_INT64
Definition zarrs.h:34
@ ZARRS_FLOAT32
Definition zarrs.h:40
@ ZARRS_UINT16
Definition zarrs.h:36
@ ZARRS_FLOAT64
Definition zarrs.h:41
@ ZARRS_BOOL
Definition zarrs.h:30
@ ZARRS_COMPLEX64
Definition zarrs.h:42
@ ZARRS_UINT64
Definition zarrs.h:38
struct ZarrsShardIndexCache_T * ZarrsShardIndexCache
Definition zarrs.h:92
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)