### Start and Range Settings Source: https://cpp.docs.hex-rays.com/ida_8hpp.html Functions to get and set the starting instruction pointer, entry point, stack pointer, main function address, and minimum/maximum effective addresses. ```APIDOC ## inf_get_start_ip ### Description Gets the starting instruction pointer address. ### Method ea_t inf_get_start_ip() ## inf_set_start_ip ### Description Sets the starting instruction pointer address. ### Method bool inf_set_start_ip(ea_t _v) ## inf_get_start_ea ### Description Gets the starting effective address (entry point). ### Method ea_t inf_get_start_ea() ## inf_set_start_ea ### Description Sets the starting effective address (entry point). ### Method bool inf_set_start_ea(ea_t _v) ## inf_get_start_sp ### Description Gets the starting stack pointer address. ### Method ea_t inf_get_start_sp() ## inf_set_start_sp ### Description Sets the starting stack pointer address. ### Method bool inf_set_start_sp(ea_t _v) ## inf_get_main ### Description Gets the address of the main function. ### Method ea_t inf_get_main() ## inf_set_main ### Description Sets the address of the main function. ### Method bool inf_set_main(ea_t _v) ## inf_get_min_ea ### Description Gets the minimum effective address of the program. ### Method ea_t inf_get_min_ea() ## inf_set_min_ea ### Description Sets the minimum effective address of the program. ### Method bool inf_set_min_ea(ea_t _v) ## inf_get_max_ea ### Description Gets the maximum effective address of the program. ### Method ea_t inf_get_max_ea() ## inf_set_max_ea ### Description Sets the maximum effective address of the program. ### Method bool inf_set_max_ea(ea_t _v) ## inf_get_omin_ea ### Description Gets the minimum offset address. ### Method ea_t inf_get_omin_ea() ## inf_set_omin_ea ### Description Sets the minimum offset address. ### Method bool inf_set_omin_ea(ea_t _v) ## inf_get_omax_ea ### Description Gets the maximum offset address. ### Method ea_t inf_get_omax_ea() ## inf_set_omax_ea ### Description Sets the maximum offset address. ### Method bool inf_set_omax_ea(ea_t _v) ``` -------------------------------- ### start() const Source: https://cpp.docs.hex-rays.com/structmba__ranges__t-members.html Returns the starting address of the first range. ```APIDOC ## start() const ### Description Returns the starting address of the first range in the `mba_ranges_t` object. ### Method N/A (member function) ### Parameters None ### Returns The starting address (`ea_t`) of the first range. ``` -------------------------------- ### Start Process Helper Source: https://cpp.docs.hex-rays.com/idd_8hpp_source.html Inline helper function to start a new process. Requires path, arguments, environment, and flags. ```cpp inline drc_t start_process( const char *path, const char *args, launch_env_t *envs, const char *startdir, uint32 dbg_proc_flags, const char *input_path, uint32 input_file_crc32, qstring *errbuf=nullptr); ``` -------------------------------- ### Setup Low-Level Register Functions Source: https://cpp.docs.hex-rays.com/expr_8hpp_source.html Sets up low-level register access functions for IDC. Requires pointers to get and set register values. ```cpp idaman void ida_export setup_lowcnd_regfuncs(idc_func_t *getreg, idc_func_t *setreg); ``` -------------------------------- ### Start Segment Selectors Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the start segment selectors for the program. ```APIDOC ## inf_get_start_ss ### Description Retrieves the start segment selector (SS). ### Method inline sel_t ### Parameters None ### Response - sel_t: The start segment selector value. ## inf_set_start_ss ### Description Sets the start segment selector (SS). ### Method inline bool ### Parameters - _v (sel_t): The new start segment selector value. ### Response - bool: True if the start segment selector was successfully set, false otherwise. ``` -------------------------------- ### processor_t::ev_setup_til Source: https://cpp.docs.hex-rays.com/idp_8hpp_source.html Sets up default type libraries. ```APIDOC ## processor_t::ev_setup_til ### Description Setup default type libraries. ### Method Not applicable (event callback) ### Endpoint Not applicable (event callback) ``` -------------------------------- ### install_optinsn_handler Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a handler for optimized instructions. ```APIDOC ## install_optinsn_handler ### Description Installs a handler for optimized instructions. ### Signature `inline void install_optinsn_handler(optinsn_t *opt)` ``` -------------------------------- ### install_optinsn_handler Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Install an instruction level custom optimizer. ```APIDOC ## install_optinsn_handler ### Description Install an instruction level custom optimizer. ### Signature ```cpp void hexapi install_optinsn_handler(optinsn_t *opt) ``` ``` -------------------------------- ### Private Range Start EA Source: https://cpp.docs.hex-rays.com/ida_8hpp.html Gets or sets the start address of the private range. ```APIDOC ## inf_get_privrange_start_ea ### Description Gets the start address of the private range. ### Return Value ea_t ``` ```APIDOC ## inf_set_privrange_start_ea ### Description Sets the start address of the private range. ### Parameters - **_v** (ea_t) - The start address to set. ### Return Value bool ``` -------------------------------- ### setup_til Source: https://cpp.docs.hex-rays.com/idp_8hpp_source.html Sets up the type information library. ```APIDOC ## setup_til ### Description Sets up the type information library. ### Signature `ssize_t setup_til();` ``` -------------------------------- ### setup Source: https://cpp.docs.hex-rays.com/structea__helper__t.html Initializes the ea_helper_t with a flag indicating whether the environment is 64-bit. ```APIDOC ## setup() ### Description Initializes the ea_helper_t with a flag indicating whether the environment is 64-bit. ### Method void setup(bool _is_64bit) ### Parameters * **_is_64bit** (bool) - Indicates if the environment is 64-bit. ``` -------------------------------- ### Start Stack Pointer Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the start stack pointer (SP) address. ```APIDOC ## inf_get_start_sp ### Description Retrieves the start stack pointer (SP) address. ### Method inline ea_t ### Parameters None ### Response - ea_t: The start stack pointer address. ## inf_set_start_sp ### Description Sets the start stack pointer (SP) address. ### Method inline bool ### Parameters - _v (ea_t): The new start stack pointer address. ### Response - bool: True if the start stack pointer was successfully set, false otherwise. ``` -------------------------------- ### install_hexrays_callback Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a Hex-Rays callback function. Returns true if the callback was successfully installed, false otherwise. ```APIDOC ## install_hexrays_callback ### Description Installs a Hex-Rays callback function. ### Signature ```cpp inline bool install_hexrays_callback(hexrays_cb_t *callback, void *ud) ``` ### Parameters - **callback** (hexrays_cb_t *): Pointer to the callback function. - **ud** (void *): User-defined data to pass to the callback. ### Return Value - **bool**: True if the callback was installed successfully, false otherwise. ``` -------------------------------- ### ev_setup_til Source: https://cpp.docs.hex-rays.com/structprocessor__t.html Optional callback to set up default type libraries, memory model, and other type system configurations after loading a new file. ```APIDOC ## ev_setup_til ### Description Setup default type libraries. (called after loading a new file into the database). The processor module may load tils, setup memory model and perform other actions required to set up the type system. This is an optional callback. ### Parameters - **none** ### Return values - **void** ``` -------------------------------- ### Start Effective Address Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the start effective address (EA) of the program. ```APIDOC ## inf_get_start_ea ### Description Retrieves the start effective address (EA) of the program. ### Method inline ea_t ### Parameters None ### Response - ea_t: The start effective address. ## inf_set_start_ea ### Description Sets the start effective address (EA) of the program. ### Method inline bool ### Parameters - _v (ea_t): The new start effective address. ### Response - bool: True if the start effective address was successfully set, false otherwise. ``` -------------------------------- ### Start Instruction Pointer Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the start instruction pointer (IP) address. ```APIDOC ## inf_get_start_ip ### Description Retrieves the start instruction pointer (IP) address. ### Method inline ea_t ### Parameters None ### Response - ea_t: The start instruction pointer address. ## inf_set_start_ip ### Description Sets the start instruction pointer (IP) address. ### Method inline bool ### Parameters - _v (ea_t): The new start instruction pointer address. ### Response - bool: True if the start instruction pointer was successfully set, false otherwise. ``` -------------------------------- ### setup_outctx Source: https://cpp.docs.hex-rays.com/structoutctx__t.html Initializes the output context, typically used by the kernel. ```APIDOC ## ◆ setup_outctx() virtual void idaapi outctx_t::setup_outctx(const char *_prefix_, int _makeline_flags_) overridevirtual ``` -------------------------------- ### startup Source: https://cpp.docs.hex-rays.com/structidcfuncs__t-members.html Initializes the IDC environment. ```APIDOC ## startup ### Description Initializes the IDC environment. ### Signature error_t(idaapi *startup)(void) ``` -------------------------------- ### Start Code Segment Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the start code segment (CS) information. ```APIDOC ## inf_get_start_cs ### Description Retrieves the start code segment selector (CS). ### Method inline sel_t ### Parameters None ### Response - sel_t: The start code segment selector value. ## inf_set_start_cs ### Description Sets the start code segment selector (CS). ### Method inline bool ### Parameters - _v (sel_t): The new start code segment selector value. ### Response - bool: True if the start code segment selector was successfully set, false otherwise. ``` -------------------------------- ### Get Argument Offset Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper to get the starting address of the function arguments within the frame. ```cpp inline ea_t frame_off_args(const func_t *pfn) { range_t range; get_frame_part(&range, pfn, FPC_ARGS); return range.start_ea; } ``` -------------------------------- ### setup_outctx Source: https://cpp.docs.hex-rays.com/structoutctx__base__t-members.html Sets up the output context with a prefix and flags. ```APIDOC ## setup_outctx ### Description Sets up the output context with a prefix and flags. ### Signature `setup_outctx(const char *prefix, int makeline_flags)` ### Parameters - **prefix** (const char *) - The prefix string for the output context. - **makeline_flags** (int) - Flags to control line generation. ### Class outctx_base_t ``` -------------------------------- ### Start Process Function Source: https://cpp.docs.hex-rays.com/dbg_8hpp_source.html Starts a new process for debugging. Allows specifying the executable path, command-line arguments, and working directory. ```cpp inline int idaapi start_process( const char *path = nullptr, const char *args = nullptr, const char *sdir = nullptr) { return callui(ui_dbg_start_process, path, args, sdir).i; } ``` -------------------------------- ### setup_outctx Source: https://cpp.docs.hex-rays.com/structoutctx__t-members.html Sets up the output context with a prefix and flags. ```APIDOC ## setup_outctx ### Description Sets up the output context, typically used for initialization. ### Method `setup_outctx(const char *prefix, int flags) override` ### Parameters - **prefix** (const char *) - The prefix string for the output context. - **flags** (int) - Flags to configure the output context. ``` -------------------------------- ### Get Chunk Start Address Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Returns the starting address of the memory chunk containing the given address. ```cpp idaman ea_t ida_export chunk_start(ea_t ea); ``` -------------------------------- ### Get Local Variables Offset Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper to get the starting address of the local variables within the frame. ```cpp inline ea_t frame_off_lvars(const func_t *pfn) { range_t range; get_frame_part(&range, pfn, FPC_LVARS); return range.start_ea; } ``` -------------------------------- ### qcreate() Source: https://cpp.docs.hex-rays.com/pro_8h.html Creates a new file with read/write permissions. Sets 'qerrno' on error. ```APIDOC ## qcreate() ### Description Create new file with O_RDWR, sets qerrno. ### Parameters - **file** (const char *) - The name of the file to create. - **stat** (int) - File creation flags or mode. ### Returns - **int** - A file handle if successful, or -1 on error. ``` -------------------------------- ### Get Saved Registers Offset Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper to get the starting address of the saved registers within the frame. ```cpp inline ea_t frame_off_savregs(const func_t *pfn) { range_t range; get_frame_part(&range, pfn, FPC_SAVREGS); return range.start_ea; } ``` -------------------------------- ### Setup Type Information Library Source: https://cpp.docs.hex-rays.com/idp_8hpp_source.html Sets up the type information library. Returns the result of the notify call. ```cpp inline ssize_t processor_t::setup_til() { return notify(ev_setup_til); } ``` -------------------------------- ### Install Microcode Filter Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs or uninstalls a microcode filter. The `install` parameter defaults to true, enabling the filter. ```cpp bool hexapi install_microcode_filter(microcode_filter_t *filter, bool install=true); ``` -------------------------------- ### outctx_t::setup_outctx Source: https://cpp.docs.hex-rays.com/ua_8hpp_source.html Initializes the output context. Typically used internally by IDA. ```APIDOC ## setup_outctx ### Description Initialization function for the output context. Normally used only by the kernel. ### Method `virtual void idaapi setup_outctx(const char *prefix, int flags)` ### Parameters * **prefix** (const char *) - A prefix string for the output. * **flags** (int) - Flags to control the initialization. ``` -------------------------------- ### Get Return Address Offset Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper to get the starting address of the return address within the frame. ```cpp inline ea_t frame_off_retaddr(const func_t *pfn) { range_t range; get_frame_part(&range, pfn, FPC_RETADDR); return range.start_ea; } ``` -------------------------------- ### Optimizer Handler Installation Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Functions for installing and removing optimizer instruction and block handlers. ```APIDOC ## Optimizer Handler Installation ### `hx_install_optinsn_handler` Installs a handler for optimizer instructions. ### `hx_remove_optinsn_handler` Removes a handler for optimizer instructions. ### `hx_install_optblock_handler` Installs a handler for optimizer blocks. ### `hx_remove_optblock_handler` Removes a handler for optimizer blocks. ``` -------------------------------- ### begin() Source: https://cpp.docs.hex-rays.com/class__qstring.html Get a const pointer to the beginning of the qstring. ```APIDOC ## begin() ### Description Get a const pointer to the beginning of the qstring. ### Signature ```cpp template const_iterator _qstring< qchar >::begin() const ``` ``` -------------------------------- ### Get Item Head Address Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html A convenience inline function to get the starting address of the item at the given address. ```cpp inline ea_t idaapi get_item_head(ea_t ea); ``` -------------------------------- ### Get Arguments Section Start Address Source: https://cpp.docs.hex-rays.com/frame_8hpp.html Returns the starting address of the arguments section within the function frame. ```cpp ea_t frame_off_args( const func_t *_pfn_ ) ``` -------------------------------- ### setup_graph_subsystem Source: https://cpp.docs.hex-rays.com/gdl_8hpp.html Sets up the user-defined graph colors and the graph viewer program. ```APIDOC ## setup_graph_subsystem ### Description Setup the user-defined graph colors and graph viewer program. ### Signature `void ida_export setup_graph_subsystem(const char *_grapher, bgcolor_t(idaapi *get_graph_color)(int color))` ### Parameters - **_grapher** (const char *) - The name or path of the graph viewer program. - **get_graph_color** (bgcolor_t(idaapi * )(int color)) - A callback function to get graph colors. ``` -------------------------------- ### get_ea Source: https://cpp.docs.hex-rays.com/classsource__item__t.html Get starting address of the item. ```APIDOC ## get_ea() ### Description Get starting address of the item. ### Method `ea_t idaapi get_ea() const` ### Parameters None ``` -------------------------------- ### setup_logging_output Source: https://cpp.docs.hex-rays.com/structserver__dispatcher__t-members.html Sets up the logging output. ```APIDOC ## setup_logging_output ### Description Sets up the logging output. ### Method server_dispatcher_t::setup_logging_output() ``` -------------------------------- ### Setup Graph Subsystem Source: https://cpp.docs.hex-rays.com/gdl_8hpp_source.html Initializes the graph subsystem with a specified grapher and a callback for graph coloring. ```cpp void ida_export setup_graph_subsystem(const char *_grapher, bgcolor_t (idaapi *get_graph_color)(int color)); ``` -------------------------------- ### Get Return Address Section Start Address Source: https://cpp.docs.hex-rays.com/frame_8hpp.html Returns the starting address of the return address section within the function frame. ```cpp ea_t frame_off_retaddr( const func_t *_pfn_ ) ``` -------------------------------- ### hx_install_hexrays_callback Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a callback for Hex-Rays events. ```APIDOC ## hx_install_hexrays_callback ### Description Installs a callback for Hex-Rays events. ### Definition hexrays.hpp:9090 ``` -------------------------------- ### Get Next Chunk Start Address Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Finds the starting address of the next memory chunk. Useful for navigating segmented memory. ```cpp idaman ea_t ida_export next_chunk(ea_t ea); ``` -------------------------------- ### for_all_topinsns() Source: https://cpp.docs.hex-rays.com/classmba__t.html Visits all top-level instructions using a provided minsn_visitor_t. ```APIDOC ## for_all_topinsns() ### Description Visit all top level instructions. ### Parameters * **_mv** (minsn_visitor_t &) - The instruction visitor. ### Returns * (int) - Non-zero value returned by `mv.visit_mop()` or zero. ``` -------------------------------- ### processor_t::setup_til Source: https://cpp.docs.hex-rays.com/idp_8hpp_source.html Sets up the Type Information Library (TIL). This function is likely used to initialize or load type information for the processor. ```APIDOC ## processor_t::setup_til ### Description Initializes or sets up the Type Information Library (TIL) for the processor. This is essential for type analysis and management. ### Signature ```cpp ssize_t setup_til() ``` ### Returns - A status code indicating the result of the operation. ``` -------------------------------- ### prev_head Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Gets the start address of the previous defined item. ```APIDOC ## prev_head ### Description Gets the start address of the previous defined item. ### Signature ```cpp idaman ea_t ida_export prev_head(ea_t ea, ea_t minea) ``` ### Parameters * **ea** (ea_t) - The current address. * **minea** (ea_t) - The minimum address to consider. ### Returns The start address of the previous defined item. ``` -------------------------------- ### get_edge_ports Source: https://cpp.docs.hex-rays.com/classdrawable__graph__t-members.html Gets the start and end points (ports) of an edge. ```APIDOC ## get_edge_ports ### Description Retrieves the start and destination points (ports) of a given edge. ### Signature `void get_edge_ports(edge_t e, point_t &s, point_t &d) const` ### Parameters * `e` (edge_t) - The identifier of the edge. * `s` (point_t &) - Reference to a point_t to store the start point of the edge. * `d` (point_t &) - Reference to a point_t to store the destination point of the edge. ``` -------------------------------- ### init() Source: https://cpp.docs.hex-rays.com/structchooser__base__t-members.html Initializes the chooser. ```APIDOC ## init() ### Description This virtual function performs initialization for the chooser. It can be overridden by derived classes. ``` -------------------------------- ### Install Hex-Rays callback Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a callback function to receive Hex-Rays events. The callback is provided with user data and the event details. ```cpp bool hexapi install_hexrays_callback(hexrays_cb_t *callback, void *ud); ``` -------------------------------- ### setup_graph_subsystem Source: https://cpp.docs.hex-rays.com/gdl_8hpp_source.html Sets up the graph subsystem with a custom graph viewer and color callback. ```APIDOC ## setup_graph_subsystem ### Description Sets up the user-defined graph colors and graph viewer program. ### Prototype ```cpp void idaapi setup_graph_subsystem(const char *_grapher, bgcolor_t(idaapi *get_graph_color)(int color)) ``` ### Parameters * **_grapher** (const char *) - The path to the external graph viewer program. * **get_graph_color** (bgcolor_t(idaapi * )(int color)) - A callback function to get graph colors. ``` -------------------------------- ### Get Previous Chunk Start Address Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Finds the starting address of the previous memory chunk. Useful for navigating segmented memory backwards. ```cpp idaman ea_t ida_export prev_chunk(ea_t ea); ``` -------------------------------- ### next_head Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Gets the starting address of the next defined item in the program. ```APIDOC ## next_head ### Description Get start of next defined item. ### Signature `idaman ea_t ida_export next_head(ea_t ea, ea_t maxea)` ``` -------------------------------- ### netnode::blobsize Source: https://cpp.docs.hex-rays.com/netnode_8hpp_source.html Gets the size of a blob starting from a specified index and tag. ```APIDOC ## netnode::blobsize ### Description Get size of blob. ### Signature size_t blobsize(nodeidx_t _start, uchar tag) ### Definition netnode.hpp:933 ``` -------------------------------- ### begin() Source: https://cpp.docs.hex-rays.com/classqvector.html Returns an iterator to the beginning of the QVector. ```APIDOC ## begin() [1/2] ### Description Returns an iterator pointing to the first element in the qvector. ### Method `iterator begin(void)` ### Returns - `iterator` - An iterator to the first element. ``` ```APIDOC ## begin() [2/2] ### Description Returns a const iterator pointing to the first element in the qvector. This version is for const qvectors. ### Method `const_iterator begin(void) const` ### Returns - `const_iterator` - A const iterator to the first element. ``` -------------------------------- ### get_item_head Source: https://cpp.docs.hex-rays.com/bytes_8hpp_source.html Gets the starting address of the item (instruction or data) at a given address. ```APIDOC ## get_item_head ### Description Given an address `ea`, this function returns the starting address of the item (instruction or data chunk) that `ea` belongs to. If `ea` is part of a tail (e.g., multi-byte instruction), it will return the address of the head of that item. ### Parameters - **ea** (ea_t) - The address to query. ``` -------------------------------- ### setup_graph_subsystem Source: https://cpp.docs.hex-rays.com/gdl_8hpp.html Sets up user-defined graph colors and the graph viewer program. This function is typically called by the GUI at startup. ```APIDOC ## setup_graph_subsystem() ### Description Setup the user-defined graph colors and graph viewer program. This function is called by the GUI at the beginning, so no need to call it again. ### Parameters - **__grapher_** (const char *) - Identifier for the grapher. - **__** (bgcolor_t(idaapi *get_graph_color)(int color)) - Callback function to get graph colors. ``` -------------------------------- ### next_chunk() Source: https://cpp.docs.hex-rays.com/bytes_8hpp.html Gets the starting address of the next contiguous chunk of memory in the program. ```APIDOC ## next_chunk() ### Description Get the first address of next contiguous chunk in the program. ### Returns - #BADADDR if next chunk doesn't exist. ``` -------------------------------- ### starts_with() (const _qstring &) Source: https://cpp.docs.hex-rays.com/class__qstring.html Does the string start with the specified prefix? ```APIDOC ## starts_with() (const _qstring &) ### Description Does the string start with the specified prefix? ### Signature ```cpp template bool _qstring< qchar >::starts_with (const _qstring< qchar > & _str_) const ``` ``` -------------------------------- ### Get Bit Offset Source: https://cpp.docs.hex-rays.com/bitrange_8hpp_source.html Returns the starting bit offset of the bit range. ```cpp inline uint bitrange_t::bitoff() const { return offset; } ``` -------------------------------- ### hx_block_chains_begin Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Gets the beginning of block chains. ```APIDOC ## hx_block_chains_begin ### Description Gets the beginning of block chains. ### Definition hexrays.hpp:8633 ``` -------------------------------- ### for_all_insns() Source: https://cpp.docs.hex-rays.com/classmba__t.html Visits all instructions and subinstructions using a provided minsn_visitor_t. ```APIDOC ## for_all_insns() ### Description Visit all instructions. This function visits all instructions and subinstructions. ### Parameters * **_mv** (minsn_visitor_t &) - The instruction visitor. ### Returns * (int) - Non-zero value returned by `mv.visit_mop()` or zero. ``` -------------------------------- ### frame_off_args Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper function to get the start address of the arguments section of a function frame. ```APIDOC ## frame_off_args ### Description Gets the start address of the arguments section of a function frame. ### Method `inline ea_t frame_off_args(const func_t *pfn)` ### Parameters - **pfn** (`const func_t *`) - Pointer to the function structure. ### Returns `ea_t` - The starting address of the arguments. ``` -------------------------------- ### install_optblock_handler Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a handler for optimized blocks. ```APIDOC ## install_optblock_handler ### Description Installs a handler for optimized blocks. ### Signature `inline void install_optblock_handler(optblock_t *opt)` ``` -------------------------------- ### qmkdir Source: https://cpp.docs.hex-rays.com/pro_8h.html Create an empty directory. ```APIDOC ## qmkdir() Create an empty directory. ### Parameters - `_file_` (const char *) - name (or full path) of directory to be created - `_mode_` (int) - permissions (only used on unix systems) ### Returns - error code ### Return values - 0 success - -1 otherwise and qerrno is set ``` -------------------------------- ### netnode::supnext Source: https://cpp.docs.hex-rays.com/netnode_8hpp_source.html Gets the index of the next existing element in a supval array, starting from the current element. ```APIDOC ## netnode::supnext ### Description Get next existing element of supval array. ### Method `nodeidx_t supnext(nodeidx_t cur, uchar tag=stag) const` ### Definition netnode.hpp:713 ``` -------------------------------- ### qseek Source: https://cpp.docs.hex-rays.com/pro_8h.html Works the same as its counterpart from Clib. The only difference is that it sets 'qerrno' variable too. ```APIDOC ## qseek() Works the same as it's counterpart from Clib. The only difference is that it sets 'qerrno' variable too. ### Parameters - `_h_` (int) - `_offset_` (int64) - `_whence_` (int) ``` -------------------------------- ### Private Range Settings Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Functions to get and set the private memory range start and end addresses. ```APIDOC ## inf_get_privrange_start_ea ### Description Retrieves the start address of the private memory range. ### Method inline ea_t ### Returns - ea_t - The start address of the private range. ``` ```APIDOC ## inf_set_privrange_start_ea ### Description Sets the start address of the private memory range. ### Method inline bool ### Parameters - `_v` (ea_t) - The new start address for the private range. ### Returns - bool - True if the operation was successful, false otherwise. ``` ```APIDOC ## inf_get_privrange_end_ea ### Description Retrieves the end address of the private memory range. ### Method inline ea_t ### Returns - ea_t - The end address of the private range. ``` ```APIDOC ## inf_set_privrange_end_ea ### Description Sets the end address of the private memory range. ### Method inline bool ### Parameters - `_v` (ea_t) - The new end address for the private range. ### Returns - bool - True if the operation was successful, false otherwise. ``` -------------------------------- ### frame_off_lvars Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper function to get the start address of the local variables section of a function frame. ```APIDOC ## frame_off_lvars ### Description Gets the start address of the local variables section of a function frame. ### Method `inline ea_t frame_off_lvars(const func_t *pfn)` ### Parameters - **pfn** (`const func_t *`) - Pointer to the function structure. ### Returns `ea_t` - The starting address of the local variables. ``` -------------------------------- ### install_optblock_handler Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Install a block level custom optimizer. ```APIDOC ## install_optblock_handler ### Description Install a block level custom optimizer. ### Signature ```cpp void hexapi install_optblock_handler(optblock_t *opt) ``` ``` -------------------------------- ### qfsync Source: https://cpp.docs.hex-rays.com/pro_8h.html Works the same as its counterpart from Clib. The only difference is that it sets 'qerrno' variable too. ```APIDOC ## qfsync() Works the same as it's counterpart from Clib. The only difference is that it sets 'qerrno' variable too. ### Parameters - `_h_` (int) ``` -------------------------------- ### frame_off_savregs Source: https://cpp.docs.hex-rays.com/frame_8hpp_source.html Inline helper function to get the start address of the saved registers section of a function frame. ```APIDOC ## frame_off_savregs ### Description Gets the start address of the saved registers section of a function frame. ### Method `inline ea_t frame_off_savregs(const func_t *pfn)` ### Parameters - **pfn** (`const func_t *`) - Pointer to the function structure. ### Returns `ea_t` - The starting address of the saved registers. ``` -------------------------------- ### install_optinsn_handler Function Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a handler for instruction optimization. ```cpp void hexapi install_optinsn_handler(optinsn_t *opt); ``` -------------------------------- ### EA Helper Setup (64-bit) Source: https://cpp.docs.hex-rays.com/ida_8hpp_source.html Configures the EA helper for 64-bit addressing, setting the appropriate mask and size. ```cpp void setup(bool is_64bit) { if ( enabled ) { mask = is_64bit ? mask64 : mask32; ea_size = is_64bit ? 8 : 4; } } ``` -------------------------------- ### netnode::charprev Source: https://cpp.docs.hex-rays.com/netnode_8hpp_source.html Gets the index of the previous character element associated with a given tag, starting from the current index. ```APIDOC ## netnode::charprev ### Description Get the index of the previous character element associated with a given tag. ### Method `nodeidx_t charprev(nodeidx_t cur, uchar tag) const` ### Definition netnode.hpp:557 ``` -------------------------------- ### start_recording Source: https://cpp.docs.hex-rays.com/classrecording__rpc__engine__t-members.html Starts the recording process, specifying the directory for recordings. ```APIDOC ## start_recording ### Description Initiates the recording of RPC communications. ### Method void start_recording(const qstring &convs_dir) ### Parameters - **convs_dir** (const qstring &): The directory where conversation recordings will be saved. ``` -------------------------------- ### Get Macro Instruction Head Source: https://cpp.docs.hex-rays.com/idp_8hpp_source.html Retrieves the starting address of a macro instruction. Returns the result of the notify call. ```cpp inline ssize_t processor_t::get_macro_insn_head(ea_t *head, ea_t ip) { return notify(ev_get_macro_insn_head, head, ip); } ``` -------------------------------- ### install_optblock_handler Function Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Installs a handler for block optimization. ```cpp void hexapi install_optblock_handler(optblock_t *opt); ``` -------------------------------- ### init() Member Function Source: https://cpp.docs.hex-rays.com/structlumina__credentials__t.html Initializes the credentials, optionally setting them as primary. ```APIDOC ## init(bool set_as_primary) ### Description Initializes the credentials. If `set_as_primary` is true, this instance is marked as the primary credential set. ### Signature void lumina_credentials_t::init(bool set_as_primary = true) ``` -------------------------------- ### Get Previous Fixup EA Source: https://cpp.docs.hex-rays.com/fixup_8hpp_source.html Retrieves the previous address that has fixup information associated with it, starting from a given address. ```cpp idaman ea_t ida_export get_prev_fixup_ea(ea_t ea); ``` -------------------------------- ### Get Next Fixup EA Source: https://cpp.docs.hex-rays.com/fixup_8hpp_source.html Retrieves the next address that has fixup information associated with it, starting from a given address. ```cpp idaman ea_t ida_export get_next_fixup_ea(ea_t ea); ``` -------------------------------- ### begin() const Source: https://cpp.docs.hex-rays.com/classsimple__graph__t-members.html Returns an iterator to the beginning of the graph. ```APIDOC ## begin() const ### Description Returns an iterator to the beginning of the graph. ### Method const ### Endpoint N/A ### Parameters None ### Request Example None ### Response #### Success Response (Iterator to the beginning) None #### Response Example None ``` -------------------------------- ### Get Trace Base Address Source: https://cpp.docs.hex-rays.com/dbg_8hpp_source.html Retrieves the base address for the current trace. This is the starting point for trace-related address calculations. ```cpp inline ea_t idaapi get_trace_base_address(void) { ea_t ea; callui(ui_dbg_get_trace_base_address, &ea); return ea; } ``` -------------------------------- ### init_plugins Source: https://cpp.docs.hex-rays.com/loader_8hpp_source.html Initializes all plugins with a specified flag. ```APIDOC ## init_plugins ### Description Initializes plugins with the specified flag. ### Method ida_export void init_plugins(int flag) ### Parameters - **flag** (int) - The flag to use for initialization. ### Response None ``` -------------------------------- ### Get beginning iterator for udcall_map Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Returns an iterator pointing to the first element in the udcall_map. Use this to start iterating through the map. ```cpp inline udcall_map_iterator_t udcall_map_begin(const udcall_map_t *map) { udcall_map_iterator_t p; HEXDSP(hx_udcall_map_begin, &p, map); return p; } ``` -------------------------------- ### ui_create_desktop_widget Source: https://cpp.docs.hex-rays.com/kernwin_8hpp.html Callback to create a widget that will be placed in the widget tree at desktop-creation time. ```APIDOC ## ui_create_desktop_widget ### Description Create a widget, to be placed in the widget tree (at desktop-creation time.) ### Parameters - **title** (const char *) - The title for the new widget. - **cfg** (const jobj_t *) - Configuration object for the widget. ### Returns TWidget * - The created widget, or null if creation failed. ``` -------------------------------- ### Get iterator to the beginning of lvar mapping Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Returns an iterator pointing to the first element of the lvar_mapping_t. Use this to start iterating through the map. ```cpp inline lvar_mapping_iterator_t lvar_mapping_begin(const lvar_mapping_t *map) { lvar_mapping_iterator_t p; HEXDSP(hx_lvar_mapping_begin, &p, map); return p; } ``` -------------------------------- ### Get Address by Name Source: https://cpp.docs.hex-rays.com/name_8hpp_source.html Finds the address associated with a given name, starting the search from a specified address. This is a fundamental function for name resolution. ```cpp idaman ea_t ida_export get_name_ea(ea_t from, const char *name); ``` -------------------------------- ### setup_blocks Source: https://cpp.docs.hex-rays.com/structmerge__data__t_1_1item__block__locator__t.html Sets up block-specific information before updating a region. Returns false if no changes were made. ```APIDOC ## setup_blocks() ### Description Setup block-specific info before region updating. Returns FALSE if nothing was changed. ### Signature virtual bool merge_data_t::item_block_locator_t::setup_blocks(merge_data_t &md, diff_source_idx_t from, diff_source_idx_t to, const diff_range_t ®ion) = 0 ### Parameters - **md** (merge_data_t &) - Reference to merge data structure. - **from** (diff_source_idx_t) - The source index to start from. - **to** (diff_source_idx_t) - The source index to update to. - **region** (const diff_range_t &) - The region to update. ``` -------------------------------- ### minsn_t::ea Source: https://cpp.docs.hex-rays.com/hexrays_8hpp_source.html Gets the address of the instruction. ```APIDOC ## minsn_t::ea ### Description Instruction address. ### Field ea_t ea ### Definition hexrays.hpp:3612 ```