diff options
| author | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-11 11:16:36 -0400 |
|---|---|---|
| committer | Jon Santmyer <jon@jonsantmyer.com> | 2026-09-11 11:16:36 -0400 |
| commit | bb08472a04127c994d3ea5a2cbc195f7116a03b8 (patch) | |
| tree | c55910449fae5cc2a722c4b6619f4c8dde8d5b56 /sys/link.h | |
| parent | 880dc3ee72809e74a5bde2275fc8f419a762b255 (diff) | |
| download | jove-kernel-bb08472a04127c994d3ea5a2cbc195f7116a03b8.tar.gz jove-kernel-bb08472a04127c994d3ea5a2cbc195f7116a03b8.tar.bz2 jove-kernel-bb08472a04127c994d3ea5a2cbc195f7116a03b8.zip | |
preliminary object linking support. needs testing
Diffstat (limited to 'sys/link.h')
| -rw-r--r-- | sys/link.h | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/sys/link.h b/sys/link.h new file mode 100644 index 0000000..37fa1e8 --- /dev/null +++ b/sys/link.h @@ -0,0 +1,21 @@ +#ifndef _JOVE_SYS_LINK_HPP +#define _JOVE_SYS_LINK_HPP 1 + +#include "hal/obj.h" + +struct obj_link +{ + size_t refcount; + jove_obj_t obj; +}; + +void *obj_deref_linked(jove_owned_obj_t *obj); +uint8_t obj_gettype_linked(jove_owned_obj_t *obj); +uint64_t obj_getvalue_linked(jove_owned_obj_t *obj); + +jove_owned_obj_t *link_deref(jove_owned_obj_t *link); +jove_obj_t link_unlink(jove_owned_obj_t *link); + +jove_owned_obj_t *link_new(jove_obj_t *tgt, jove_owned_obj_t *dst); + +#endif |
