1channel TestChannel { 2 message { 3 uint8 dummy_byte; // so structure is not aligned 4 uint32 data_size; 5 uint64 *data[data_size] @marshall; 6 } ShortDataSubMarshall; 7 8 message { 9 int8 name[] @end; 10 } ArrayMessage; 11 12 message { 13 uint8 res1 @zero; 14 uint16 n; 15 uint32 res2 @zero; 16 } Zeroes; 17 18 message { 19 uint32 num_of_channels; 20 uint16 channels[num_of_channels] @end; 21 } @ctype(SpiceMsgChannels) channels_list; 22 23 message { 24 uint32 dummy[2]; 25 uint8 data[] @end; 26 } LenMessage; 27 28 message { 29 uint8 txt1[4] @zero_terminated; 30 uint8 sep1; 31 uint32 txt2_len; 32 uint8 *txt2[txt2_len] @zero_terminated; 33 uint8 txt3[txt2_len] @to_ptr @zero_terminated; 34 uint32 n; 35 uint16 txt4_len; 36 uint8 txt4[txt4_len] @end @zero_terminated; 37 } @declare ZeroLen1; 38}; 39 40protocol Spice { 41 TestChannel main = 1; 42}; 43