Module index

# Module `ida_entry`

Functions that deal with entry points.

Exported functions are considered as entry points as well.

IDA maintains list of entry points to the program. Each entry point: * has an address * has a name * may have an ordinal number

## Global variables

`var AEF_IDBENC`

  the name is given in the IDB encoding; non-ASCII bytes will be decoded accordingly. Specifying AEF_IDBENC also implies AEF_NODUMMY

`var AEF_NODUMMY`

  automatically prepend the name with '_' if it begins with a dummy suffix. See also AEF_IDBENC

`var AEF_UTF8`

  the name is given in UTF-8 (default)

## Functions

`def add_entry(ord: uval_t, ea: ea_t, name: char const *, makecode: bool, flags: int = 0)`

  add_entry(ord, ea, name, makecode, flags=0) -> bool Add an entry point to the list of entry points.

  @param ord: (C++: uval_t) ordinal number if ordinal number is equal to 'ea' then ordinal is not used @param ea: (C++: ea_t) linear address @param name: (C++: const char ) name of entry point. If the specified location already has a name, the old name will be appended to the regular comment. If name == nullptr, then the old name will be retained. @param makecode: (C++: bool) should the kernel convert bytes at the entry point to instruction(s) @param flags: (C++: int) See AEF_ @return: success (currently always true)

`def get_entry(ord: uval_t)`

  get_entry(ord) -> ea_t Get entry point address by its ordinal

  @param ord: (C++: uval_t) ordinal number of entry point @return: address or BADADDR

`def get_entry_forwarder(ord: uval_t)`

  get_entry_forwarder(ord) -> str Get forwarder name for the entry point by its ordinal.

  @param ord: (C++: uval_t) ordinal number of entry point @return: size of entry forwarder name or -1

`def get_entry_name(ord: uval_t)`

  get_entry_name(ord) -> str Get name of the entry point by its ordinal.

  @param ord: (C++: uval_t) ordinal number of entry point @return: size of entry name or -1

`def get_entry_ordinal(idx: size_t)`

  get_entry_ordinal(idx) -> uval_t Get ordinal number of an entry point.

  @param idx: (C++: size_t) internal number of entry point. Should be in the range 0..get_entry_qty()-1 @return: ordinal number or 0.

`def get_entry_qty()`

  get_entry_qty() -> size_t Get number of entry points.

`def rename_entry(ord: uval_t, name: char const *, flags: int = 0)`

  rename_entry(ord, name, flags=0) -> bool Rename entry point.

  @param ord: (C++: uval_t) ordinal number of the entry point @param name: (C++: const char ) name of entry point. If the specified location already has a name, the old name will be appended to a repeatable comment. @param flags: (C++: int) See AEF_ @return: success

`def set_entry_forwarder(ord: uval_t, name: char const *, flags: int = 0)`

  set_entry_forwarder(ord, name, flags=0) -> bool Set forwarder name for ordinal.

  @param ord: (C++: uval_t) ordinal number of the entry point @param name: (C++: const char ) forwarder name for entry point. @param flags: (C++: int) See AEF_ @return: success