quasardb C API
 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
Data Structures | Macros | Typedefs
arrow_abi.h File Reference
#include <stdint.h>

Data Structures

struct  ArrowSchema
 Array type description. More...
 
struct  ArrowArray
 Array data description. More...
 
struct  ArrowDeviceArray
 ArrowDeviceArray type description. More...
 
struct  ArrowArrayStream
 ArrowArrayStream type description. More...
 
struct  ArrowDeviceArrayStream
 
struct  ArrowAsyncTask
 
struct  ArrowAsyncProducer
 
struct  ArrowAsyncDeviceStreamHandler
 

Macros

#define ARROW_C_DATA_INTERFACE
 
#define ARROW_DEVICE_CPU   1
 CPU device, same as using ArrowArray directly.
 
#define ARROW_DEVICE_CUDA   2
 CUDA GPU Device.
 
#define ARROW_DEVICE_CUDA_HOST   3
 Pinned CUDA CPU memory by cudaMallocHost.
 
#define ARROW_DEVICE_OPENCL   4
 OpenCL Device.
 
#define ARROW_DEVICE_VULKAN   7
 Vulkan buffer for next-gen graphics.
 
#define ARROW_DEVICE_METAL   8
 Metal for Apple GPU.
 
#define ARROW_DEVICE_VPI   9
 Verilog simulator buffer.
 
#define ARROW_DEVICE_ROCM   10
 ROCm GPUs for AMD GPUs.
 
#define ARROW_DEVICE_ROCM_HOST   11
 Pinned ROCm CPU memory allocated by hipMallocHost.
 
#define ARROW_DEVICE_EXT_DEV   12
 Reserved for extension.
 
#define ARROW_DEVICE_CUDA_MANAGED   13
 CUDA managed/unified memory allocated by cudaMallocManaged.
 
#define ARROW_DEVICE_ONEAPI   14
 unified shared memory allocated on a oneAPI non-partitioned device.
 
#define ARROW_DEVICE_WEBGPU   15
 GPU support for next-gen WebGPU standard.
 
#define ARROW_DEVICE_HEXAGON   16
 Qualcomm Hexagon DSP.
 

Typedefs

typedef int32_t ArrowDeviceType
 Spec and Documentation: More...
 

Macro Definition Documentation

#define ARROW_C_DATA_INTERFACE

file abi.h Arrow C Data Interface

The Arrow C Data interface defines a very small, stable set of C definitions which can be easily copied into any project's source code and vendored to be used for columnar data interchange in the Arrow format. For non-C/C++ languages and runtimes, it should be almost as easy to translate the C definitions into the corresponding C FFI declarations.

Applications and libraries can therefore work with Arrow memory without necessarily using the Arrow libraries or reinventing the wheel. Developers can choose between tight integration with the Arrow software project or minimal integration with the Arrow format only.

Typedef Documentation

typedef int32_t ArrowDeviceType

Spec and Documentation:

DeviceType for the allocated memory