add_struc_member
Add structure member.
This function can be used in two forms.
First form:
long add_struc_member(long id, string name, long offset, long flag,
long typeid, long nbytes);
Second form:
long add_struc_member(long id, string name, long offset, long flag,
long typeid, long nbytes,
long target, long tdelta, long reftype);
arguments:
id - structure type ID
name - name of the new member
offset - offset of the new member
-1 means to add at the end of the structure
flag - type of the new member. Should be one of
FF_BYTE..FF_PACKREAL (see above)
combined with FF_DATA
typeid - if is_struct(flag) then typeid specifies
the structure id for the member
if is_off0(flag) then typeid specifies
the offset base.
if is_strlit(flag) then typeid specifies
the string type (STRTYPE_...).
if is_stroff(flag) then typeid specifies
the structure id
if is_enum(flag) then typeid specifies
the enum id
Otherwise typeid should be -1
nbytes - number of bytes in the new member
the remaining arguments are allowed only if isOff0(flag) and you want
to specify a complex offset expression
target - target address of the offset expr. You may specify it as
-1, ida will calculate it itself
tdelta - offset target delta. usually 0
reftype - see REF_... definitions
returns: 0-ok, otherwise error code TERR_...
long add_struc_member(long id, string name, long offset, long flag, long typeid, long nbytes,
long target, long tdelta, long reftype);
// Constants used with begin_type_updating() and end_type_updating()
#define UTP_ENUM 0
#define UTP_STRUCT 1
See more: STRTYPE_...
Last updated