From 912f8ee96e1cc4783220d90864d73401a714b36d Mon Sep 17 00:00:00 2001 From: spv420 Date: Sun, 31 Jul 2022 22:56:38 -0400 Subject: types --- src/stage4/lib/native_ptr.js | 29 ++++++++++++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) (limited to 'src/stage4/lib') 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 -- cgit v1.2.3