dynamiC  0.1
dynamic_types.h
Go to the documentation of this file.
1 
15 #include <stdint.h>
16 
17 #ifndef DYNAMIC_TYPES_C_H
18 #define DYNAMIC_TYPES_C_H
19 
22 typedef enum {
23  DYN_FALSE = 0,
24  DYN_TRUE = 1,
25  DYN_NONE = -1
26 } trilean;
27 
30 typedef char dyn_char;
33 typedef unsigned char dyn_byte;
36 typedef char* dyn_str;
39 typedef const char* dyn_const_str;
40 
43 typedef uint16_t dyn_ushort;
46 typedef int16_t dyn_short;
49 typedef int32_t dyn_int;
52 typedef uint32_t dyn_uint;
55 typedef float dyn_float;
56 
60 typedef enum {
61  NONE,
62  BOOL,
63  BYTE,
67  LIST,
68  SET,
69  DICT,
70 // TEMP, ///< not used
76 } TYPE;
77 
80 typedef struct dynamic dyn_c;
83 typedef struct dynamic_list dyn_list;
86 typedef struct dynamic_dict dyn_dict;
89 typedef struct dynamic_function dyn_fct;
90 
98 struct dynamic {
99 
100  union { /*@{*/
108  const void* ex;
110 
111  } data;
112  char type;
113 } __attribute__ ((packed));
114 
120 struct dynamic_list {
124 } __attribute__ ((packed));
125 
131 struct dynamic_dict {
134 } __attribute__ ((packed));
135 
143  void* ptr;
145 } __attribute__ ((packed));
146 
147 
148 #endif // DYNAMIC_TYPES_C_H
dyn_c * ref
reference pointer to dynamic elements
float 32 bit
Definition: dynamic_types.h:65
represents boolean false
Definition: dynamic_types.h:23
const char * dyn_const_str
Standard dynamic C const string.
Definition: dynamic_types.h:39
represents boolean true
Definition: dynamic_types.h:24
dyn_ushort type
0 basic C-fct, 1 system C-fct, else procedure (length of bytecode)
dyn_list * list
pointer to dynamic list
int32_t dyn_int
32bit signed integer, standard Integer type.
Definition: dynamic_types.h:49
dictionary of type dyn_dict
Definition: dynamic_types.h:69
uint32_t dyn_uint
32bit unsigned integer
Definition: dynamic_types.h:52
dyn_char b
boolean value
dyn_c* for internal usage only
Definition: dynamic_types.h:73
dyn_float f
float value
dyn_c * container
pointer to an array of dynamic elements
void * ptr
pointer to function
not used
Definition: dynamic_types.h:63
dyn_ushort space
elements available
set of type dyn_list
Definition: dynamic_types.h:68
can be used for different purposes
Definition: dynamic_types.h:75
void*
Definition: dynamic_types.h:72
function pointer of type dyn_fct
Definition: dynamic_types.h:71
represents a third unknown state, which is not true or false
Definition: dynamic_types.h:25
Boolean 0==False, 1==True.
Definition: dynamic_types.h:62
unsigned char dyn_byte
Basic 8bit integer (0 - 255)
Definition: dynamic_types.h:33
list of type dyn_list
Definition: dynamic_types.h:67
char dyn_char
Basic 8bit signed integer.
Definition: dynamic_types.h:30
dyn_fct * fct
pointer to function
Basic container for dictionaries.
int16_t dyn_short
16bit signed integer
Definition: dynamic_types.h:46
signed integer 32 bit
Definition: dynamic_types.h:64
char*
Definition: dynamic_types.h:66
uint16_t dyn_ushort
16bit unsigned integer
Definition: dynamic_types.h:43
dyn_ushort length
elements in use
None type without any value.
Definition: dynamic_types.h:61
dyn_c*, explicite reference
Definition: dynamic_types.h:74
TYPE
Basic data type definitions.
Definition: dynamic_types.h:60
Basic container for lists.
dyn_dict * dict
pointer to dynamic dictionary
dyn_c value
dynamic element of type dyn_list
dyn_int i
basic integer
dyn_str * key
array to C strings used as identifiers
dyn_str info
info string
trilean
basic return type for truth values
Definition: dynamic_types.h:22
float dyn_float
basic float definition (32 bit)
Definition: dynamic_types.h:55
const void * ex
external (pointer to everything)
char * dyn_str
Standard dynamic C string.
Definition: dynamic_types.h:36
char type
type definition
Basic container/pointer to functions.
dyn_str str
pointer to character-array
Basic container for dynamic data types.
Definition: dynamic_types.h:98