%cstring_bounded_output_none(char *buf, MAXSTR); %cstring_bounded_output_none(char *optlibs, MAXSTR); // FIXME: Are these really useful? %ignore iterate_func_chunks; %ignore get_idasgn_desc; %ignore get_idasgn_header_by_short_name; // Kernel-only & unexported symbols %ignore del_regargs; %ignore write_regargs; %ignore find_regarg; %ignore free_regarg; %ignore determine_rtl; %ignore init_signatures; %ignore save_signatures; %ignore term_signatures; %ignore init_funcs; %ignore save_funcs; %ignore term_funcs; %ignore move_funcs; %ignore copy_noret_info; %ignore recalc_func_noret_flag; %ignore plan_for_noret_analysis; %ignore invalidate_sp_analysis; %ignore create_func_eas_array; %ignore auto_add_func_tails; %ignore read_tails; %rename (get_idasgn_desc) py_get_idasgn_desc; %include "funcs.hpp" %clear(char *buf); %clear(char *optlibs); %inline %{ //----------------------------------------------------------------------- /* # def get_fchunk_referer(ea, idx): pass # */ static ea_t get_fchunk_referer(ea_t ea, size_t idx) { func_t *pfn = get_fchunk(ea); func_parent_iterator_t dummy(pfn); // read referer info if (idx >= pfn->refqty || pfn->referers == NULL) return BADADDR; else return pfn->referers[idx]; } //----------------------------------------------------------------------- /* # def get_idasgn_desc(n): """ Get information about a signature in the list. It returns both: signame - the name of the signature optlibs - the names of the optional libraries @param n: number of signature in the list (0..get_idasgn_qty()-1) @return: None on failure or tuple(signame, optlibs) """ # */ static PyObject *ida_export py_get_idasgn_desc(int n) { char signame[MAXSTR]; char optlibs[MAXSTR]; if ( get_idasgn_desc(n, signame, sizeof(signame), optlibs, sizeof(optlibs)) == -1 ) Py_RETURN_NONE; else return Py_BuildValue("(ss)", signame, optlibs); } %}