#ifndef WOLFRAMRAWARRAYLIBRARY_H
#define WOLFRAMRAWARRAYLIBRARY_H
#include "WolframLibrary.h"
#ifdef __cplusplus
extern "C" {
#endif
enum MRawArray_Data_Type {
MRawArray_Type_Undef = 0,
MRawArray_Type_Bit8 = 1,
MRawArray_Type_Ubit8,
MRawArray_Type_Bit16,
MRawArray_Type_Ubit16,
MRawArray_Type_Bit32,
MRawArray_Type_Ubit32,
MRawArray_Type_Bit64,
MRawArray_Type_Ubit64,
MRawArray_Type_Real32,
MRawArray_Type_Real64,
MRawArray_Type_Float_Complex,
MRawArray_Type_Double_Complex
};
typedef enum MRawArray_Data_Type rawarray_t;
typedef struct st_WolframRawArrayLibrary_Functions
{
int(*MRawArray_new)(rawarray_t, mint, mint const*, MRawArray *);
void (*MRawArray_free)(MRawArray);
int(*MRawArray_clone)(MRawArray, MRawArray *);
void (*MRawArray_disown)(MRawArray);
void (*MRawArray_disownAll)(MRawArray);
mint (*MRawArray_shareCount)(MRawArray);
rawarray_t (*MRawArray_getType)( MRawArray);
mint (*MRawArray_getRank)(MRawArray);
mint const * (*MRawArray_getDimensions)(MRawArray);
mint (*MRawArray_getFlattenedLength)(MRawArray);
void* (*MRawArray_getData)(MRawArray);
MRawArray (*MRawArray_convertType)(MRawArray, rawarray_t);
} *WolframRawArrayLibrary_Functions;
#ifdef __cplusplus
}
#endif
#endif