Created
December 7, 2012 19:28
-
-
Save juntalis/4235803 to your computer and use it in GitHub Desktop.
CTypes Bindings to libjit
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| from ctypes import * | |
| _libraries = {} | |
| _libraries['libjit-0.dll'] = CDLL('libjit-0.dll') | |
| STRING = c_char_p | |
| jit_abi_vararg = 1 | |
| jit_abi_cdecl = 0 | |
| jit_abi_fastcall = 3 | |
| jit_abi_stdcall = 2 | |
| jit_sbyte = c_char | |
| jit_ubyte = c_ubyte | |
| jit_short = c_short | |
| jit_ushort = c_ushort | |
| jit_int = c_int | |
| jit_uint = c_uint | |
| jit_nint = c_int | |
| jit_nuint = c_uint | |
| jit_long = c_longlong | |
| jit_ulong = c_ulonglong | |
| jit_float32 = c_float | |
| jit_float64 = c_double | |
| jit_nfloat = c_longdouble | |
| jit_ptr = c_void_p | |
| class _jit_context(Structure): | |
| pass | |
| jit_context_t = POINTER(_jit_context) | |
| _jit_context._fields_ = [ | |
| ] | |
| class _jit_function(Structure): | |
| pass | |
| _jit_function._fields_ = [ | |
| ] | |
| jit_function_t = POINTER(_jit_function) | |
| class _jit_block(Structure): | |
| pass | |
| _jit_block._fields_ = [ | |
| ] | |
| jit_block_t = POINTER(_jit_block) | |
| class _jit_insn(Structure): | |
| pass | |
| _jit_insn._fields_ = [ | |
| ] | |
| jit_insn_t = POINTER(_jit_insn) | |
| class _jit_value(Structure): | |
| pass | |
| jit_value_t = POINTER(_jit_value) | |
| _jit_value._fields_ = [ | |
| ] | |
| class _jit_type(Structure): | |
| pass | |
| jit_type_t = POINTER(_jit_type) | |
| _jit_type._fields_ = [ | |
| ] | |
| class jit_stack_trace(Structure): | |
| pass | |
| jit_stack_trace._fields_ = [ | |
| ] | |
| jit_stack_trace_t = POINTER(jit_stack_trace) | |
| jit_label_t = jit_nuint | |
| jit_meta_free_func = CFUNCTYPE(None, c_void_p) | |
| jit_on_demand_func = CFUNCTYPE(c_int, jit_function_t) | |
| jit_on_demand_driver_func = CFUNCTYPE(c_void_p, jit_function_t) | |
| jit_type_void = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_void') | |
| jit_type_sbyte = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sbyte') | |
| jit_type_ubyte = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_ubyte') | |
| jit_type_short = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_short') | |
| jit_type_ushort = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_ushort') | |
| jit_type_int = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_int') | |
| jit_type_uint = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_uint') | |
| jit_type_nint = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_nint') | |
| jit_type_nuint = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_nuint') | |
| jit_type_long = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_long') | |
| jit_type_ulong = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_ulong') | |
| jit_type_float32 = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_float32') | |
| jit_type_float64 = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_float64') | |
| jit_type_nfloat = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_nfloat') | |
| jit_type_void_ptr = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_void_ptr') | |
| jit_type_sys_bool = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_bool') | |
| jit_type_sys_char = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_char') | |
| jit_type_sys_schar = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_schar') | |
| jit_type_sys_uchar = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_uchar') | |
| jit_type_sys_short = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_short') | |
| jit_type_sys_ushort = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_ushort') | |
| jit_type_sys_int = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_int') | |
| jit_type_sys_uint = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_uint') | |
| jit_type_sys_long = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_long') | |
| jit_type_sys_ulong = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_ulong') | |
| jit_type_sys_longlong = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_longlong') | |
| jit_type_sys_ulonglong = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_ulonglong') | |
| jit_type_sys_float = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_float') | |
| jit_type_sys_double = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_double') | |
| jit_type_sys_long_double = (jit_type_t).in_dll(_libraries['libjit-0.dll'], 'jit_type_sys_long_double') | |
| # values for enumeration 'jit_abi_t' | |
| jit_abi_t = c_int # enum | |
| jit_closure_func = CFUNCTYPE(None, jit_type_t, c_void_p, POINTER(c_void_p), c_void_p) | |
| class jit_closure_va_list(Structure): | |
| pass | |
| jit_closure_va_list_t = POINTER(jit_closure_va_list) | |
| jit_closure_va_list._fields_ = [ | |
| ] | |
| class jit_debugger(Structure): | |
| pass | |
| jit_debugger_t = POINTER(jit_debugger) | |
| jit_debugger._fields_ = [ | |
| ] | |
| jit_debugger_thread_id_t = jit_nint | |
| jit_debugger_breakpoint_id_t = jit_nint | |
| class jit_debugger_event(Structure): | |
| pass | |
| jit_debugger_event._fields_ = [ | |
| ('type', c_int), | |
| ('thread', jit_debugger_thread_id_t), | |
| ('function', jit_function_t), | |
| ('data1', jit_nint), | |
| ('data2', jit_nint), | |
| ('id', jit_debugger_breakpoint_id_t), | |
| ('trace', jit_stack_trace_t), | |
| ] | |
| jit_debugger_event_t = jit_debugger_event | |
| class jit_debugger_breakpoint_info(Structure): | |
| pass | |
| jit_debugger_breakpoint_info._fields_ = [ | |
| ('flags', c_int), | |
| ('thread', jit_debugger_thread_id_t), | |
| ('function', jit_function_t), | |
| ('data1', jit_nint), | |
| ('data2', jit_nint), | |
| ] | |
| jit_debugger_breakpoint_info_t = POINTER(jit_debugger_breakpoint_info) | |
| jit_debugger_hook_func = CFUNCTYPE(None, jit_function_t, jit_nint, jit_nint) | |
| class jit_readelf(Structure): | |
| pass | |
| jit_readelf._fields_ = [ | |
| ] | |
| jit_readelf_t = POINTER(jit_readelf) | |
| class jit_writeelf(Structure): | |
| pass | |
| jit_writeelf_t = POINTER(jit_writeelf) | |
| jit_writeelf._fields_ = [ | |
| ] | |
| jit_exception_func = CFUNCTYPE(c_void_p, c_int) | |
| class jit_intrinsic_descr_t(Structure): | |
| pass | |
| jit_intrinsic_descr_t._fields_ = [ | |
| ('return_type', jit_type_t), | |
| ('ptr_result_type', jit_type_t), | |
| ('arg1_type', jit_type_t), | |
| ('arg2_type', jit_type_t), | |
| ] | |
| class jit_insn_iter_t(Structure): | |
| pass | |
| jit_insn_iter_t._fields_ = [ | |
| ('block', jit_block_t), | |
| ('posn', c_int), | |
| ] | |
| class _jit_meta(Structure): | |
| pass | |
| jit_meta_t = POINTER(_jit_meta) | |
| _jit_meta._fields_ = [ | |
| ] | |
| class jit_objmodel(Structure): | |
| pass | |
| jit_objmodel._fields_ = [ | |
| ] | |
| jit_objmodel_t = POINTER(jit_objmodel) | |
| class jitom_class(Structure): | |
| pass | |
| jitom_class._fields_ = [ | |
| ] | |
| jitom_class_t = POINTER(jitom_class) | |
| class jitom_field(Structure): | |
| pass | |
| jitom_field_t = POINTER(jitom_field) | |
| jitom_field._fields_ = [ | |
| ] | |
| class jitom_method(Structure): | |
| pass | |
| jitom_method_t = POINTER(jitom_method) | |
| jitom_method._fields_ = [ | |
| ] | |
| class jit_opcode_info(Structure): | |
| pass | |
| jit_opcode_info_t = jit_opcode_info | |
| jit_opcode_info._fields_ = [ | |
| ('name', STRING), | |
| ('flags', c_int), | |
| ] | |
| jit_opcodes = (jit_opcode_info_t * 422).in_dll(_libraries['libjit-0.dll'], 'jit_opcodes') | |
| class _jit_arch_unwind_t(Structure): | |
| pass | |
| _jit_arch_unwind_t._fields_ = [ | |
| ('ebx', c_int), | |
| ('esi', c_int), | |
| ('edi', c_int), | |
| ('ebp', c_int), | |
| ('esp', c_int), | |
| ] | |
| class jit_unwind_context_t(Structure): | |
| pass | |
| jit_unwind_context_t._fields_ = [ | |
| ('frame', c_void_p), | |
| ('cache', c_void_p), | |
| ('context', jit_context_t), | |
| ] | |
| class N14jit_constant_t3DOLLAR_6E(Union): | |
| pass | |
| N14jit_constant_t3DOLLAR_6E._fields_ = [ | |
| ('ptr_value', c_void_p), | |
| ('int_value', jit_int), | |
| ('uint_value', jit_uint), | |
| ('nint_value', jit_nint), | |
| ('nuint_value', jit_nuint), | |
| ('long_value', jit_long), | |
| ('ulong_value', jit_ulong), | |
| ('float32_value', jit_float32), | |
| ('float64_value', jit_float64), | |
| ('nfloat_value', jit_nfloat), | |
| ] | |
| class jit_constant_t(Structure): | |
| pass | |
| jit_constant_t._fields_ = [ | |
| ('type', jit_type_t), | |
| ('un', N14jit_constant_t3DOLLAR_6E), | |
| ] | |
| class jit_crawl_mark_t(Structure): | |
| pass | |
| jit_crawl_mark_t._fields_ = [ | |
| ('mark', c_void_p), | |
| ] | |
| __all__ = ['jit_type_void', 'jit_ulong', 'jit_readelf_t', | |
| 'jit_type_uint', 'jit_ubyte', 'jitom_class', | |
| 'jit_writeelf_t', 'jit_type_short', 'jit_float32', | |
| 'jit_label_t', 'jit_uint', 'jit_type_sys_uchar', | |
| 'jit_type_sys_ulong', 'jit_nuint', 'jit_type_sys_int', | |
| 'jit_type_sys_long_double', 'jit_type_nfloat', | |
| 'jit_type_sys_ulonglong', 'jit_short', '_jit_function', | |
| 'jit_abi_stdcall', 'jit_readelf', 'jit_opcodes', | |
| 'jit_type_float32', 'jit_meta_free_func', | |
| 'jit_type_sys_schar', 'jitom_field', | |
| 'jit_unwind_context_t', 'jit_debugger_event_t', | |
| 'jit_meta_t', '_jit_value', 'jit_long', 'jit_writeelf', | |
| 'jitom_field_t', 'jit_abi_cdecl', 'jit_debugger_hook_func', | |
| 'jit_objmodel_t', 'jit_debugger_breakpoint_id_t', | |
| 'jit_type_sys_short', 'jit_stack_trace_t', | |
| 'jit_on_demand_driver_func', 'jit_closure_va_list', | |
| 'jit_constant_t', 'jit_function_t', 'jit_type_ubyte', | |
| 'jit_sbyte', 'jit_type_sys_char', 'jit_crawl_mark_t', | |
| 'jit_debugger_t', 'jit_type_nint', 'jit_float64', | |
| '_jit_arch_unwind_t', 'jit_insn_t', '_jit_insn', | |
| 'jit_closure_va_list_t', 'jit_type_int', | |
| 'jit_debugger_event', 'jit_stack_trace', | |
| 'jit_on_demand_func', 'jit_nint', | |
| 'jit_debugger_breakpoint_info_t', 'jit_nfloat', | |
| 'jit_type_t', 'jit_type_ulong', 'jit_value_t', | |
| 'jit_type_sys_bool', 'jit_type_sbyte', '_jit_block', | |
| 'jit_type_sys_double', 'jit_intrinsic_descr_t', | |
| 'jit_type_sys_longlong', 'jit_context_t', | |
| 'jit_type_sys_float', 'jit_block_t', 'jit_type_sys_long', | |
| 'jit_ushort', 'jit_type_long', 'jit_type_void_ptr', | |
| 'jit_objmodel', 'jit_ptr', 'jitom_method', | |
| 'jit_type_float64', 'jit_abi_t', 'jit_type_ushort', | |
| 'jit_opcode_info_t', 'jit_debugger_thread_id_t', | |
| '_jit_context', 'jitom_method_t', 'jitom_class_t', | |
| '_jit_meta', 'jit_abi_fastcall', 'jit_debugger', | |
| 'jit_exception_func', 'jit_insn_iter_t', '_jit_type', | |
| 'jit_type_nuint', 'N14jit_constant_t3DOLLAR_6E', | |
| 'jit_type_sys_uint', 'jit_closure_func', 'jit_opcode_info', | |
| 'jit_int', 'jit_abi_vararg', 'jit_type_sys_ushort', | |
| 'jit_debugger_breakpoint_info'] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment