mirror of
https://github.com/python-pillow/Pillow.git
synced 2025-12-06 01:34:29 +03:00
Co-authored-by: Andrew Murray <3112309+radarhere@users.noreply.github.com> Co-authored-by: Hugo van Kemenade <1324225+hugovk@users.noreply.github.com>
49 lines
1.1 KiB
C
49 lines
1.1 KiB
C
#include <stdint.h>
|
|
#include <assert.h>
|
|
|
|
// Apache License 2.0.
|
|
// Source apache arrow project
|
|
// https://arrow.apache.org/docs/format/CDataInterface.html
|
|
|
|
#ifndef ARROW_C_DATA_INTERFACE
|
|
#define ARROW_C_DATA_INTERFACE
|
|
|
|
#define ARROW_FLAG_DICTIONARY_ORDERED 1
|
|
#define ARROW_FLAG_NULLABLE 2
|
|
#define ARROW_FLAG_MAP_KEYS_SORTED 4
|
|
|
|
struct ArrowSchema {
|
|
// Array type description
|
|
const char *format;
|
|
const char *name;
|
|
const char *metadata;
|
|
int64_t flags;
|
|
int64_t n_children;
|
|
struct ArrowSchema **children;
|
|
struct ArrowSchema *dictionary;
|
|
|
|
// Release callback
|
|
void (*release)(struct ArrowSchema *);
|
|
// Opaque producer-specific data
|
|
void *private_data;
|
|
};
|
|
|
|
struct ArrowArray {
|
|
// Array data description
|
|
int64_t length;
|
|
int64_t null_count;
|
|
int64_t offset;
|
|
int64_t n_buffers;
|
|
int64_t n_children;
|
|
const void **buffers;
|
|
struct ArrowArray **children;
|
|
struct ArrowArray *dictionary;
|
|
|
|
// Release callback
|
|
void (*release)(struct ArrowArray *);
|
|
// Opaque producer-specific data
|
|
void *private_data;
|
|
};
|
|
|
|
#endif // ARROW_C_DATA_INTERFACE
|