You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
42 lines
729 B
42 lines
729 B
#ifndef __DYNTYPE_H__
|
|
#define __DYNTYPE_H__
|
|
|
|
#include <sys/types.h>
|
|
|
|
#include "cclass.h"
|
|
|
|
struct DYNTYPE;
|
|
|
|
#include "dyntype/hash.h"
|
|
|
|
|
|
enum DYNTYPE_TYPES {
|
|
DYNTYPE_TYPE_NULL = 0,
|
|
DYNTYPE_TYPE_BOOLEAN,
|
|
DYNTYPE_TYPE_INT,
|
|
DYNTYPE_TYPE_FLOAT,
|
|
DYNTYPE_TYPE_STRING,
|
|
DYNTYPE_TYPE_ARRAY,
|
|
DYNTYPE_TYPE_HASH
|
|
};
|
|
|
|
|
|
struct DYNTYPE {
|
|
const struct CCLASS * const class;
|
|
enum DYNTYPE_TYPES type;
|
|
size_t size;
|
|
union _data {
|
|
unsigned char _boolean;
|
|
int _int;
|
|
double _float;
|
|
char * _string;
|
|
struct DYNTYPE ** _array;
|
|
struct DYNTYPE_HASH * _hash;
|
|
} data;
|
|
};
|
|
|
|
extern const struct CCLASS * const DYNTYPE;
|
|
|
|
#endif//__DYNTYPE_H__
|
|
|
|
// vim: set et ts=4 sw=4:
|