summaryrefslogtreecommitdiffstats
path: root/sys/link.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/link.h')
-rw-r--r--sys/link.h21
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