IDA SDK
Macros
Find UDT member flags

Detailed Description

used by 'strmem_flags' parameter to find_udt_member()

Macros

#define STRMEM_MASK   0x0007
 
#define STRMEM_OFFSET   0x0000
 get member by offset More...
 
#define STRMEM_INDEX   0x0001
 get member by number More...
 
#define STRMEM_AUTO   0x0002
 get member by offset if struct, or get member by index if union More...
 
#define STRMEM_NAME   0x0003
 get member by name More...
 
#define STRMEM_TYPE   0x0004
 get member by type. More...
 
#define STRMEM_SIZE   0x0005
 get member by size. More...
 
#define STRMEM_MINS   0x0006
 get smallest member by size.
 
#define STRMEM_MAXS   0x0007
 get biggest member by size.
 
#define STRMEM_SKIP_EMPTY   0x20000000
 can be combined with STRMEM_OFFSET, STRMEM_AUTO skip empty members (i.e. More...
 
#define STRMEM_CASTABLE_TO   0x40000000
 can be combined with STRMEM_TYPE: member type must be castable to the specified type
 
#define STRMEM_ANON   0x80000000
 can be combined with STRMEM_NAME: look inside anonymous members too. More...
 

Macro Definition Documentation

#define STRMEM_OFFSET   0x0000

get member by offset

  • in: udm->offset - is a member offset in bits
#define STRMEM_INDEX   0x0001

get member by number

  • in: udm->offset - is a member number
#define STRMEM_AUTO   0x0002

get member by offset if struct, or get member by index if union

  • nb: union: index is stored in the udm->offset field!
  • nb: struct: offset is in bytes (not in bits)!
#define STRMEM_NAME   0x0003

get member by name

  • in: udm->name - the desired member name.
#define STRMEM_TYPE   0x0004

get member by type.

  • in: udm->type - the desired member type. member types are compared with tinfo_t::equals_to()
#define STRMEM_SIZE   0x0005

get member by size.

  • in: udm->size - the desired member size.
#define STRMEM_SKIP_EMPTY   0x20000000

can be combined with STRMEM_OFFSET, STRMEM_AUTO skip empty members (i.e.

having zero size) only last empty member can be returned

#define STRMEM_ANON   0x80000000

can be combined with STRMEM_NAME: look inside anonymous members too.