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
71#ifndef __cplusplus
72typedef int32_t ZarrsResult;
73#endif // __cplusplus
74
76
78
80
82
86typedef struct ZarrsArray_T *ZarrsArray;
87
92
97
101typedef struct ZarrsGroup_T *ZarrsGroup;
102
103#ifdef __cplusplus
104extern "C" {
105#endif // __cplusplus
106
115ZarrsResult zarrsArrayGetAttributes(ZarrsArray array, bool pretty, char **pAttributesString);
116
125ZarrsResult zarrsArrayGetAttributesString(ZarrsArray array, bool pretty, char **pAttributesString);
126
139 size_t dimensionality,
140 uint64_t *pChunkGridShape);
141
152 size_t dimensionality,
153 const uint64_t *pChunkIndices,
154 uint64_t *pChunkOrigin);
155
166 size_t dimensionality,
167 const uint64_t *pChunkIndices,
168 uint64_t *pChunkShape);
169
180 size_t dimensionality,
181 const uint64_t *pChunkIndices,
182 size_t *chunkSize);
183
196 size_t dimensionality,
197 const uint64_t *pSubsetStart,
198 const uint64_t *pSubsetShape,
199 uint64_t *pChunksStart,
200 uint64_t *pChunksShape);
201
212
223
234 size_t dimensionality,
235 uint64_t *pInnerChunkGridShape);
236
248 size_t dimensionality,
249 bool *pIsSharded,
250 uint64_t *pInnerChunkShape);
251
260ZarrsResult zarrsArrayGetMetadataString(ZarrsArray array, bool pretty, char **pMetadataString);
261
273 size_t dimensionality,
274 uint64_t *pShape);
275
286 size_t dimensionality,
287 const uint64_t *pSubsetShape,
288 size_t *subsetSize);
289
304 size_t dimensionality,
305 const uint64_t *pChunkIndices,
306 size_t chunkBytesCount,
307 uint8_t *pChunkBytes);
308
324 size_t dimensionality,
325 const uint64_t *pChunkIndices,
326 size_t chunkBytesCount,
327 uint8_t *pChunkBytes);
328
343 size_t dimensionality,
344 const uint64_t *pSubsetStart,
345 const uint64_t *pSubsetShape,
346 size_t subsetBytesCount,
347 uint8_t *pSubsetBytes);
348
364 size_t dimensionality,
365 const uint64_t *pSubsetStart,
366 const uint64_t *pSubsetShape,
367 size_t subsetBytesCount,
368 uint8_t *pSubsetBytes);
369
380 const char* attributes);
381
396 size_t dimensionality,
397 const uint64_t *pChunkIndices,
398 size_t chunkBytesCount,
399 const uint8_t *pChunkBytes);
400
411
426 size_t dimensionality,
427 const uint64_t *pSubsetStart,
428 const uint64_t *pSubsetShape,
429 size_t subsetBytesCount,
430 const uint8_t *pSubsetBytes);
431
442 const char* path,
443 const char* metadata,
444 ZarrsArray *pArray);
445
456 const char* path,
457 const char* metadata,
458 ZarrsGroup *pGroup);
459
470
480
491
502
513
524
532
541ZarrsResult zarrsGroupGetAttributes(ZarrsGroup group, bool pretty, char **pAttributesString);
542
553 const char* attributes);
554
565
571char *zarrsLastError(void);
572
581ZarrsResult zarrsOpenArrayRW(ZarrsStorage storage, const char* path, ZarrsArray *pArray);
582
591ZarrsResult zarrsOpenGroupRW(ZarrsStorage storage, const char* path, ZarrsGroup *pGroup);
592
598uint32_t zarrsVersion(void);
599
603uint32_t zarrsVersionMajor(void);
604
608uint32_t zarrsVersionMinor(void);
609
613uint32_t zarrsVersionPatch(void);
614
615#ifdef __cplusplus
616} // extern "C"
617#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_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:86
ZarrsResult zarrsArrayGetInnerChunkShape(ZarrsArray array, size_t dimensionality, bool *pIsSharded, uint64_t *pInnerChunkShape)
struct ZarrsStorage_T * ZarrsStorage
Definition zarrs.h:96
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:101
ZarrsResult zarrsFreeString(char *string)
struct ZarrsShardIndexCache_T ZarrsShardIndexCache_T
Definition zarrs.h:79
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:77
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:81
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:75
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:91
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)