Removed all code that uses OpenGL from Image.
[io/quag.git] / addons / CFFI / source / IoCFFIDataType.h
bloba07906b6f1bb11092ab05eb3fb47ef704afb6bac
1 /* CFFI - An Io interface to C
2 Copyright (c) 2006 Trevor Fancher. All rights reserved.
3 All code licensed under the New BSD license.
4 */
6 #ifndef IoCFFIDataType_DEFINED
7 #define IoCFFIDataType_DEFINED 1
9 #include "IoObject.h"
10 #include <ffi.h>
12 #define ISCFFIDataType(self) IoObject_hasCloneFunc_(self, (IoTagCloneFunc *)IoCFFIDataType_rawClone)
14 typedef IoObject IoCFFIDataType;
16 typedef struct IoCFFIDataType
18 union
20 char c;
21 unsigned char C;
22 short s;
23 unsigned short S;
24 int i;
25 unsigned int I;
26 long l;
27 unsigned long L;
28 float f;
29 double d;
30 char *str;
31 } type;
32 int needToFreeStr;
33 } IoCFFIDataTypeData;
35 IoTag *IoCFFIDataType_newTag(void *state);
36 IoCFFIDataType *IoCFFIDataType_proto(void *state);
37 IoCFFIDataType *IoCFFIDataType_rawClone(IoCFFIDataType *self);
38 IoCFFIDataType *IoCFFIDataType_new(void *state);
39 void IoCFFIDataType_free(IoCFFIDataType *self);
41 void *IoCFFIDataType_ValuePointerFromObject_(IoObject *o);
43 IoCFFIDataType *IoCFFIDataType_ptr(IoCFFIDataType *self, IoObject *locals, IoMessage *m);
44 IoCFFIDataType *IoCFFIDataType_value(IoCFFIDataType *self, IoObject *locals, IoMessage *m);
45 IoCFFIDataType *IoCFFIDataType_setValue(IoCFFIDataType *self, IoObject *locals, IoMessage *m);
47 ffi_type *IoCFFIDataType_ffiType(IoCFFIDataType *self);
48 IoObject *IoCFFIDataType_objectFromData_(IoCFFIDataType *self, void *data);
49 void *IoCFFIDataType_valuePointer(IoCFFIDataType *self);
51 #endif