|  | 
| "qstring *" | compile_idc_file (*args) | 
|  | compile_idc_file(nonnul_line) -> str 
 | 
|  | 
| "qstring *" | compile_idc_text (*args) | 
|  | compile_idc_text(nonnul_line) -> str 
 | 
|  | 
| "size_t" | py_get_call_idc_func (*args) | 
|  | py_get_call_idc_func() -> size_t 
 | 
|  | 
| "size_t" | pyw_register_idc_func (*args) | 
|  | pyw_register_idc_func(name, args, py_fp) -> size_t 
 | 
|  | 
| "bool" | pyw_unregister_idc_func (*args) | 
|  | pyw_unregister_idc_func(ctxptr) -> bool 
 | 
|  | 
| "bool" | pyw_convert_defvals (*args) | 
|  | pyw_convert_defvals(out, py_seq) -> bool 
 | 
|  | 
| "bool" | py_add_idc_func (*args) | 
|  | py_add_idc_func(name, fp_ptr, args, defvals, flags) -> bool 
 | 
|  | 
| "qstring *" | eval_expr (*args) | 
|  | eval_expr(rv, where, line) -> str Compile and calculate an expression. 
 | 
|  | 
| "qstring *" | eval_idc_expr (*args) | 
|  | eval_idc_expr(rv, where, line) -> str Same as eval_expr(), but will always use the IDC interpreter regardless of the currently installed extlang. 
 | 
|  | 
| "error_t" | idcv_long (*args) | 
|  | idcv_long(v) -> error_t Convert IDC variable to a long (32/64bit) number. 
 | 
|  | 
| "error_t" | idcv_int64 (*args) | 
|  | idcv_int64(v) -> error_t Convert IDC variable to a 64bit number. 
 | 
|  | 
| "error_t" | idcv_num (*args) | 
|  | idcv_num(v) -> error_t Convert IDC variable to a long number. 
 | 
|  | 
| "error_t" | idcv_string (*args) | 
|  | idcv_string(v) -> error_t Convert IDC variable to a text string. 
 | 
|  | 
| "error_t" | idcv_float (*args) | 
|  | idcv_float(v) -> error_t Convert IDC variable to a floating point. 
 | 
|  | 
| "error_t" | idcv_object (*args) | 
|  | idcv_object(v, icls=None) -> error_t Create an IDC object. 
 | 
|  | 
| "error_t" | move_idcv (*args) | 
|  | move_idcv(dst, src) -> error_t Move 'src' to 'dst'. 
 | 
|  | 
| "error_t" | copy_idcv (*args) | 
|  | copy_idcv(dst, src) -> error_t Copy 'src' to 'dst'. 
 | 
|  | 
| "error_t" | deep_copy_idcv (*args) | 
|  | deep_copy_idcv(dst, src) -> error_t Deep copy an IDC object. 
 | 
|  | 
| "void" | free_idcv (*args) | 
|  | free_idcv(v) Free storage used by VT_STR/VT_OBJ IDC variables. 
 | 
|  | 
| "void" | swap_idcvs (*args) | 
|  | swap_idcvs(v1, v2) Swap 2 variables. 
 | 
|  | 
| "qstring *" | get_idcv_class_name (*args) | 
|  | get_idcv_class_name(obj) -> str Retrieves the IDC object class name. 
 | 
|  | 
| "error_t" | get_idcv_attr (*args) | 
|  | get_idcv_attr(res, obj, attr, may_use_getattr=False) -> error_t Get an object attribute. 
 | 
|  | 
| "error_t" | set_idcv_attr (*args) | 
|  | set_idcv_attr(obj, attr, value, may_use_setattr=False) -> error_t Set an object attribute. 
 | 
|  | 
| "error_t" | del_idcv_attr (*args) | 
|  | del_idcv_attr(obj, attr) -> error_t Delete an object attribute. 
 | 
|  | 
| "char const *" | first_idcv_attr (*args) | 
|  | first_idcv_attr(obj) -> char const * 
 | 
|  | 
| "char const *" | last_idcv_attr (*args) | 
|  | last_idcv_attr(obj) -> char const * 
 | 
|  | 
| "char const *" | next_idcv_attr (*args) | 
|  | next_idcv_attr(obj, attr) -> char const * 
 | 
|  | 
| "char const *" | prev_idcv_attr (*args) | 
|  | prev_idcv_attr(obj, attr) -> char const * 
 | 
|  | 
| "qstring *" | print_idcv (*args) | 
|  | print_idcv(v, name=None, indent=0) -> str Get text representation of idc_value_t. 
 | 
|  | 
| "error_t" | get_idcv_slice (*args) | 
|  | get_idcv_slice(res, v, i1, i2, flags=0) -> error_t Get slice. 
 | 
|  | 
| "error_t" | set_idcv_slice (*args) | 
|  | set_idcv_slice(v, i1, i2, _in, flags=0) -> error_t Set slice. 
 | 
|  | 
| "idc_class_t *" | add_idc_class (*args) | 
|  | add_idc_class(name, super=None) -> idc_class_t * Create a new IDC class. 
 | 
|  | 
| "idc_class_t *" | find_idc_class (*args) | 
|  | find_idc_class(name) -> idc_class_t * Find an existing IDC class by its name. 
 | 
|  | 
| "idc_value_t *" | deref_idcv (*args) | 
|  | deref_idcv(v, vref_flags) -> idc_value_t Dereference a VT_REF variable. 
 | 
|  | 
| "bool" | create_idcv_ref (*args) | 
|  | create_idcv_ref(ref, v) -> bool Create a variable reference. 
 | 
|  | 
| "idc_value_t *" | add_idc_gvar (*args) | 
|  | add_idc_gvar(name) -> idc_value_t Add global IDC variable. 
 | 
|  | 
| "idc_value_t *" | find_idc_gvar (*args) | 
|  | find_idc_gvar(name) -> idc_value_t Find an existing global IDC variable by its name. 
 | 
|  | 
| "qstring *" | find_idc_func (*args) | 
|  | find_idc_func(prefix, n=0) -> str 
 | 
|  | 
| "bool" | set_header_path (*args) | 
|  | set_header_path(path, add) -> bool Set or append a header path. 
 | 
|  | 
| "char const *" | get_idc_filename (*args) | 
|  | get_idc_filename(file) -> str Get full name of IDC file name. 
 | 
|  | 
| "bool" | exec_system_script (*args) | 
|  | exec_system_script(file, complain_if_no_file=True) -> bool Compile and execute "main" function from system file. 
 | 
|  | 
| "qstring *" | compile_idc_snippet (*args) | 
|  | compile_idc_snippet(func, text, resolver=None, only_safe_funcs=False) -> str Compile text with IDC statements. 
 | 
|  | 
| "qstring *" | exec_idc_script (*args) | 
|  | exec_idc_script(result, path, func, args, argsnum) -> str Compile and execute IDC function(s) from file. 
 | 
|  | 
| "error_t" | throw_idc_exception (*args) | 
|  | throw_idc_exception(r, desc) -> error_t Create an idc execution exception object. 
 | 
|  | 
|  | del_idc_func (name) | 
|  | Unregisters the specified IDC function. 
 | 
|  | 
|  | add_idc_func (name, fp, args, defvals=(), flags=0) | 
|  | Extends the IDC language by exposing a new IDC function that is backed up by a Python function. 
 | 
|  |