summaryrefslogtreecommitdiff
path: root/src/stage4/lib
diff options
context:
space:
mode:
authorspv420 <spv@spv.sh>2022-07-31 22:56:38 -0400
committerspv420 <spv@spv.sh>2022-07-31 22:56:38 -0400
commit912f8ee96e1cc4783220d90864d73401a714b36d (patch)
treec5830dba1a7ea03466be29936fb8d659bf6cbca0 /src/stage4/lib
parent35f5555e9c0fb88827201d6660988b619abb2bd2 (diff)
types
Diffstat (limited to 'src/stage4/lib')
-rw-r--r--src/stage4/lib/native_ptr.js29
1 files changed, 28 insertions, 1 deletions
diff --git a/src/stage4/lib/native_ptr.js b/src/stage4/lib/native_ptr.js
index d15fec5..39c9fef 100644
--- a/src/stage4/lib/native_ptr.js
+++ b/src/stage4/lib/native_ptr.js
@@ -62,4 +62,31 @@ function native_ptr_type(size, buf_to_obj, obj_to_buf) {
ret.prototype.obj_to_buf = obj_to_buf;
return ret;
-} \ No newline at end of file
+}
+
+/*
+typedef struct{
+ void* address;
+ mach_msg_size_t count;
+ boolean_t deallocate: 8;
+ mach_msg_copy_options_t copy: 8;
+ mach_msg_type_name_t disposition : 8;
+ mach_msg_descriptor_type_t type : 8;
+} mach_msg_ool_ports_descriptor_t;
+ */
+function mach_msg_ool_ports_descriptor_t_buf_to_obj(buf) {
+ var ret = {};
+
+ ret.address = u8x4_to_u32(buf);
+ ret.count = u8x4_to_u32([buf[4], buf[5], buf[6], buf[7]]);
+ ret.deallocate = buf[8];
+ ret.copy = buf[9];
+ ret.disposition = buf[10];
+ ret.type = buf[11];
+
+ return ret;
+}
+
+var mach_msg_ool_ports_descriptor_t = native_ptr_type(12,
+ mach_msg_ool_ports_descriptor_t_buf_to_obj,
+ function(){}); \ No newline at end of file