<s> from idaapi import stroffflag , offflag <EOL> sid = GetStrucIdByName ( "<STR_LIT>" ) <EOL> if sid != - <NUM_LIT:1> : <EOL> DelStruc ( sid ) <EOL> sid = AddStrucEx ( - <NUM_LIT:1> , "<STR_LIT>" , <NUM_LIT:0> ) <EOL> print "<STR_LIT>" % sid <EOL> simple_types = [ FF_BYTE , FF_WORD , FF_DWRD , FF_QWRD , FF_TBYT , FF_OWRD , FF_FLOAT , FF_DOUBLE , FF_PACKREAL ] <EOL> simple_sizes = [ <NUM_LIT:1> , <NUM_LIT:2> , <NUM_LIT:4> , <NUM_LIT:8> , <NUM_LIT:10> , <NUM_LIT:16> , <NUM_LIT:4> , <NUM_LIT:8> , <NUM_LIT:10> ] <EOL> i = <NUM_LIT:0> <EOL> for t , nsize in zip ( simple_types , simple_sizes ) : <EOL> print "<STR_LIT>" % ( ( t | FF_DATA ) & <NUM_LIT> ) , AddStrucMember ( sid , "<STR_LIT>" % i , BADADDR , ( t | FF_DATA ) & <NUM_LIT> , - <NUM_LIT:1> , nsize ) <EOL> i += <NUM_LIT:1> <EOL> print "<STR_LIT>" , AddStrucMember ( sid , "<STR_LIT>" , - <NUM_LIT:1> , FF_ASCI | FF_DATA , ASCSTR_C , <NUM_LIT:8> ) <EOL> msid = GetStrucIdByName ( "<STR_LIT>" ) <EOL> if msid != - <NUM_LIT:1> : <EOL> DelStruc ( msid ) <EOL> msid = AddStrucEx ( - <NUM_LIT:1> , "<STR_LIT>" , <NUM_LIT:0> ) <EOL> print AddStrucMember ( msid , "<STR_LIT>" , - <NUM_LIT:1> , ( FF_DWRD | FF_DATA ) & <NUM_LIT> , - <NUM_LIT:1> , <NUM_LIT:4> ) <EOL> print AddStrucMember ( msid , "<STR_LIT>" , - <NUM_LIT:1> , ( FF_DWRD | FF_DATA ) & <NUM_LIT> , - <NUM_LIT:1> , <NUM_LIT:4> ) <EOL> msize = GetStrucSize ( msid ) <EOL> print "<STR_LIT>" , AddStrucMember ( sid , "<STR_LIT>" , - <NUM_LIT:1> , FF_STRU | FF_DATA , msid , msize ) <EOL> print "<STR_LIT>" , AddStrucMember ( sid , "<STR_LIT>" , - <NUM_LIT:1> , stroffflag ( ) | FF_DWRD , msid , <NUM_LIT:4> ) <EOL> print "<STR_LIT>" , AddStrucMember ( sid , "<STR_LIT>" , - <NUM_LIT:1> , offflag ( ) | FF_DATA | FF_DWRD , <NUM_LIT:0> , <NUM_LIT:4> ) <EOL> print "<STR_LIT>" , SetMemberType ( sid , <NUM_LIT:0> , offflag ( ) | FF_DATA | FF_DWRD , <NUM_LIT:0> , <NUM_LIT:4> ) <EOL> print "<STR_LIT>" </s>
