diff options
Diffstat (limited to 'docs/application/type.md')
| -rw-r--r-- | docs/application/type.md | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/docs/application/type.md b/docs/application/type.md index 40546c1..bb9534b 100644 --- a/docs/application/type.md +++ b/docs/application/type.md @@ -9,11 +9,12 @@ typedef enum : uint8_t { // ... } kpl_type_template; -typedef enum { +typedef enum : uint8_t { CONST = 1 << 0, EMPTY = 1 << 1, REF = 1 << 2, - SHARED = 1 << 3 + SHARED = 1 << 3, + RETURN = 1 << 4 } kpl_type_qualifiers; typedef union { @@ -32,5 +33,16 @@ typedef struct { kpl_type_body body; } kpl_type; -// TODO SLAB WITH POOL +uint16_t array_index, slab_count; + +typedef struct _kpl_type_slab { + struct _kpl_type_slab *next; + kpl_type array[UINT16_MAX]; +} kpl_type_slab; + +kpl_type_slab *type_slab; + +kpl_ptr type_pool; + +kpl_mutex type_mutex; ``` |
