summaryrefslogtreecommitdiffstats
path: root/sys/message.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/message.c')
-rw-r--r--sys/message.c15
1 files changed, 15 insertions, 0 deletions
diff --git a/sys/message.c b/sys/message.c
new file mode 100644
index 0000000..7c871ce
--- /dev/null
+++ b/sys/message.c
@@ -0,0 +1,15 @@
+#include "message.h"
+#include "hal/obj.h"
+
+void *
+message_data(jove_owned_obj_t *obj)
+{
+ uintptr_t objptr = (uintptr_t)obj_deref(obj);
+ return (void*)(objptr & ~0xFFF);
+}
+
+size_t
+message_len(jove_owned_obj_t *obj)
+{
+ return (obj_getvalue(obj) & 0xFFF) << 12;
+}