# set\_member\_type

Change structure member type.

This function can be used in two forms. First form: long set\_member\_type(long id, long member\_offset, long flag, long typeid, long nitems);

Second form: long set\_member\_type(long id, long member\_offset, long flag, long typeid, long nitems, long target, long tdelta, long reftype);

arguments: id - structure type ID member\_offset - offset of the member flag - new type of the 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\_...](https://docs.hex-rays.com/9.0/developer-guide/idc/idc-api-reference/alphabetical-list-of-idc-functions/283)). 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 nitems - number of items in the member the remaining arguments are allowed only if [is\_off0(flag)](https://docs.hex-rays.com/9.0/developer-guide/idc/idc-api-reference/alphabetical-list-of-idc-functions/181) 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.

long set\_member\_type(long id, long member\_offset, long flag, long typeid, long nitems, long target, long tdelta, long reftype);
