1*2b15cb3dSCy Schubert/* tests data packing and unpacking */ 2*2b15cb3dSCy Schubert 3*2b15cb3dSCy Schubertstruct msg { 4*2b15cb3dSCy Schubert string /* sender */ from_name = 1; /* be verbose */ 5*2b15cb3dSCy Schubert string to_name = 2; 6*2b15cb3dSCy Schubert optional struct[kill] attack = 3; 7*2b15cb3dSCy Schubert array struct[run] run = 4; 8*2b15cb3dSCy Schubert} 9*2b15cb3dSCy Schubert 10*2b15cb3dSCy Schubertstruct kill { 11*2b15cb3dSCy Schubert string weapon = 0x10121; 12*2b15cb3dSCy Schubert string action = 2; 13*2b15cb3dSCy Schubert array int how_often = 3; 14*2b15cb3dSCy Schubert} 15*2b15cb3dSCy Schubert 16*2b15cb3dSCy Schubertstruct run { 17*2b15cb3dSCy Schubert string how = 1; 18*2b15cb3dSCy Schubert optional bytes some_bytes = 2; 19*2b15cb3dSCy Schubert 20*2b15cb3dSCy Schubert bytes fixed_bytes[24] = 3; 21*2b15cb3dSCy Schubert array string notes = 4; 22*2b15cb3dSCy Schubert 23*2b15cb3dSCy Schubert optional int64 large_number = 5; 24*2b15cb3dSCy Schubert array int other_numbers = 6; 25*2b15cb3dSCy Schubert} 26