1275970Scy/* tests data packing and unpacking */ 2275970Scy 3275970Scystruct msg { 4275970Scy string /* sender */ from_name = 1; /* be verbose */ 5275970Scy string to_name = 2; 6275970Scy optional struct[kill] attack = 3; 7275970Scy array struct[run] run = 4; 8275970Scy} 9275970Scy 10275970Scystruct kill { 11275970Scy string weapon = 0x10121; 12275970Scy string action = 2; 13275970Scy array int how_often = 3; 14275970Scy} 15275970Scy 16275970Scystruct run { 17275970Scy string how = 1; 18275970Scy optional bytes some_bytes = 2; 19275970Scy 20275970Scy bytes fixed_bytes[24] = 3; 21275970Scy array string notes = 4; 22275970Scy 23275970Scy optional int64 large_number = 5; 24275970Scy array int other_numbers = 6; 25275970Scy} 26