Initial commit: GKERN glyph kernel
This commit is contained in:
@@ -0,0 +1,48 @@
|
||||
#ifndef GLYPH_TYPES_H
|
||||
#define GLYPH_TYPES_H
|
||||
#include <stdint.h>
|
||||
#include <stdbool.h>
|
||||
#include <stddef.h>
|
||||
typedef uint64_t TraitMask;
|
||||
typedef uint32_t HandleId;
|
||||
typedef enum { HANDLE_UNKNOWN = 0, HANDLE_MEMORY_REGION = 1, HANDLE_GVM = 2, HANDLE_CHANNEL = 3, HANDLE_FILE = 4 } HandleKind;
|
||||
typedef struct { HandleKind kind; uint32_t payload; } Handle;
|
||||
typedef struct { HandleId id; uint8_t *bytes; uint32_t size; TraitMask traits; float resonance; float stability; uint32_t lineage_id; bool sealed; uint32_t mutation_count; } MemoryRegion;
|
||||
typedef struct { HandleId dst; HandleId src; uint32_t tag; uint8_t *data; uint32_t data_len; } Message;
|
||||
typedef struct { uint8_t family_id; uint8_t sub_id; uint8_t mode; uint8_t opclass; uint16_t opcode_local; } GlyphInstr;
|
||||
typedef enum { EXT_NONE = 0, EXT_STORE = 1, EXT_CMP_PROFILE = 2, EXT_TRAITS = 3, EXT_MISC = 4 } ExtKind;
|
||||
typedef struct { ExtKind kind; union { struct { uint32_t size; uint32_t integrity; TraitMask traits; } store; struct { uint32_t profile_id; HandleId dst_handle; } cmp_profile; struct { TraitMask mask; } trait; struct { uint32_t a; uint32_t b; } misc; } data; } ExtSlot;
|
||||
#define MODE_USER 0
|
||||
#define MODE_KERNEL 1
|
||||
#define MODE_SYSTEM 2
|
||||
#define MODE_RESERVED 3
|
||||
#define OPCLASS_MEM 0
|
||||
#define OPCLASS_CMP 1
|
||||
#define OPCLASS_CTL 2
|
||||
#define OPCLASS_IPC 3
|
||||
#define OPCLASS_SYS 4
|
||||
#define OPCLASS_APP 5
|
||||
#define OPCLASS_EXT 6
|
||||
#define OPCLASS_EXT2 7
|
||||
#define FAMILY_MEM_START 0
|
||||
#define FAMILY_MEM_END 7
|
||||
#define FAMILY_CMP_START 8
|
||||
#define FAMILY_CMP_END 15
|
||||
#define FAMILY_CTL_START 16
|
||||
#define FAMILY_CTL_END 23
|
||||
#define FAMILY_IPC_START 24
|
||||
#define FAMILY_IPC_END 31
|
||||
#define FAMILY_SYS_START 32
|
||||
#define FAMILY_SYS_END 47
|
||||
#define FAMILY_APP_START 48
|
||||
#define FAMILY_APP_END 63
|
||||
#define GOBJ_MAGIC "GLYPHOBJ"
|
||||
#define GOBJ_VERSION 1
|
||||
typedef struct { char magic[8]; uint32_t version; uint32_t code_len; uint32_t ext_len; } GobjHeader;
|
||||
#define MAX_HANDLES 256
|
||||
#define MAX_REGIONS 64
|
||||
#define MAX_MAILBOX 128
|
||||
#define MAX_EXT_SLOTS 1024
|
||||
#define MAX_CODE_SIZE 65536
|
||||
#define MAX_CALL_DEPTH 64
|
||||
#endif
|
||||
Reference in New Issue
Block a user