diff options
Diffstat (limited to 'include/kpl/class.h')
| -rw-r--r-- | include/kpl/class.h | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/include/kpl/class.h b/include/kpl/class.h new file mode 100644 index 0000000..b1b7054 --- /dev/null +++ b/include/kpl/class.h @@ -0,0 +1,34 @@ +/* + * The kpl class a 64bit value with an table of functions + */ + +typedef uint8_t kpl_utf8[4]; + +typedef union { + uint8_t u8; + int8_t i8; + uint16_t u16; + int16_t i16; + uint32_t u32; + int32_t i32; + uint64_t u64; + int64_t i64; + kpl_utf8 utf8; + float f32; + double f64; + void *ptr; +} kpl_value; + +typedef struct { + kpl_value value; + int64_t tag; +} kpl_result; + +typedef struct { +// TODO KPL INTERFACE +} kpl_interface; + +typedef struct { + kpl_value value; + kpl_interface *interface; +} kpl_class; |
