| IDA SDK

Functions
Functions: built-in choosers

## Detailed Description

Convenience functions for ui_choose and choose_type_t.

## Functions
char * | choose_idasgn (void)
| Choose a signature (ui_choose, chtype_idasgn). More...
bool | choose_til (qstring *buf)
| Choose a type library (ui_choose, chtype_idatil). More...
ea_t | choose_entry (const char *title)
| Choose an entry point (ui_choose, chtype_entry). More...
ea_t | choose_name (const char *title)
| Choose a name (ui_choose, chtype_name). More...
ea_t | choose_stkvar_xref (func_t *pfn, tid_t srkvar_tid)
| Choose an xref to a stack variable (ui_choose, chtype_name). More...
ea_t | choose_xref (ea_t to)
| Choose an xref to an address (ui_choose, chtype_xref). More...
bool | choose_enum (tinfo_t *out, const char *title, uint32 default_ord)
| Choose an enum (ui_choose, chtype_enum). More...
bool | choose_enum_by_value (tinfo_t *out, const char *title, uint32 default_ord, uint64 value, int nbytes, uchar *serial)
| Choose an enum, restricted by value & size (ui_choose, chtype_enum_by_value_and_size). More...
func_t * | choose_func (const char *title, ea_t default_ea)
| Choose a function (ui_choose, chtype_func). More...
segment_t * | choose_segm (const char *title, ea_t default_ea)
| Choose a segment (ui_choose, chtype_segm). More...
bool | choose_struct (tinfo_t *out, const char *title)
| Choose a structure (ui_choose, chtype_struct). More...
sreg_range_t * | choose_srcp (const char *title)
| Choose a segment register change point (ui_choose, chtype_srcp). More...

## Function Documentation

## ◆ choose_idasgn()

char * choose_idasgn | ( | void |  | ) |
| inline

Choose a signature (ui_choose, chtype_idasgn).

Returns
  name of selected signature, nullptr if none selected

## ◆ choose_til()

bool choose_til | ( | qstring * | buf | ) |
| inline

Choose a type library (ui_choose, chtype_idatil).

Parameters

  buf | output buffer to store the library name

Return values

  true | 'buf' was filled with the name of the selected til
  false | otherwise

## ◆ choose_entry()

ea_t choose_entry | ( | const char * | title | ) |
| inline

Choose an entry point (ui_choose, chtype_entry).

Parameters

  title | chooser title

Returns
  ea of selected entry point, BADADDR if none selected

## ◆ choose_name()

ea_t choose_name | ( | const char * | title | ) |
| inline

Choose a name (ui_choose, chtype_name).

Parameters

  title | chooser title

Returns
  ea of selected name, BADADDR if none selected

## ◆ choose_stkvar_xref()

ea_t choose_stkvar_xref | ( | func_t * | pfn,
|  | tid_t | srkvar_tid
| ) |  |
| inline

Choose an xref to a stack variable (ui_choose, chtype_name).

Parameters

  pfn | function
  srkvar_tid | frame variable TID

Returns
  ea of the selected xref, BADADDR if none selected

## ◆ choose_xref()

ea_t choose_xref | ( | ea_t | to | ) |
| inline

Choose an xref to an address (ui_choose, chtype_xref).

Parameters

  to | referenced address

Returns
  ea of selected xref, BADADDR if none selected

## ◆ choose_enum()

bool choose_enum | ( | tinfo_t * | out,
|  | const char * | title,
|  | uint32 | default_ord
| ) |  |
| inline

Choose an enum (ui_choose, chtype_enum).

Parameters

  [out] | out | the selected enum type
  | title | chooser title
  | default_ord | ordinal of enum to select by default

Return values

  true | the selected type is in OUT
  false | nothing was selected

## ◆ choose_enum_by_value()

bool choose_enum_by_value | ( | tinfo_t * | out,
|  | const char * | title,
|  | uint32 | default_ord,
|  | uint64 | value,
|  | int | nbytes,
|  | uchar * | serial
| ) |  |
| inline

Choose an enum, restricted by value & size (ui_choose, chtype_enum_by_value_and_size).

If the given value cannot be found initially, this function will ask if the user would like to import a standard enum.

Parameters

  [out] | out | the selected enum type
  | title | chooser title
  | default_ord | ordinal of enum to select by default
  | value | value to search for
  | nbytes | size of value
  [out] | serial | serial number of imported enum member, if one was found

Return values

  true | the selected type is in OUT
  false | nothing was selected

## ◆ choose_func()

func_t * choose_func | ( | const char * | title,
|  | ea_t | default_ea
| ) |  |
| inline

Choose a function (ui_choose, chtype_func).

Parameters

  title | chooser title
  default_ea | ea of function to select by default

Returns
  pointer to function that was selected, nullptr if none selected

## ◆ choose_segm()

segment_t * choose_segm | ( | const char * | title,
|  | ea_t | default_ea
| ) |  |
| inline

Choose a segment (ui_choose, chtype_segm).

Parameters

  title | chooser title
  default_ea | ea of segment to select by default

Returns
  pointer to segment that was selected, nullptr if none selected

## ◆ choose_struct()

bool choose_struct | ( | tinfo_t * | out,
|  | const char * | title
| ) |  |
| inline

Choose a structure (ui_choose, chtype_struct).

Parameters

  [out] | out | the selected structure type
  [in] | title | chooser title

Return values

  true | the selected type is in OUT
  false | nothing was selected

## ◆ choose_srcp()

sreg_range_t * choose_srcp | ( | const char * | title | ) |
| inline

Choose a segment register change point (ui_choose, chtype_srcp).

Parameters

  title | chooser title

Returns
  pointer to segment register range of selected change point, nullptr if none selected