diff options
Diffstat (limited to 'src/stage4/lib')
| -rw-r--r-- | src/stage4/lib/native_ptr.js | 29 |
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 |
