| little_endian_packets |
| |
| // Preliminary definitions |
| |
| enum Enum7 : 7 { |
| A = 1, |
| B = 2, |
| } |
| |
| enum Enum16 : 16 { |
| A = 0xaabb, |
| B = 0xccdd, |
| } |
| |
| struct SizedStruct { |
| a: 8, |
| } |
| |
| struct UnsizedStruct { |
| _size_(array): 2, |
| _reserved_: 6, |
| array: 8[], |
| } |
| |
| enum MaxDiscriminantEnum : 64 { |
| Max = 0xffffffffffffffff, |
| } |
| |
| // Packet bit fields |
| |
| // The parser must be able to handle bit fields with scalar values |
| // up to 64 bits wide. The parser should generate a static size guard. |
| packet Packet_Scalar_Field { |
| a: 7, |
| c: 57, |
| } |
| |
| // The parser must be able to handle bit fields with enum values |
| // up to 64 bits wide. The parser should generate a static size guard. |
| packet Packet_Enum_Field { |
| a: Enum7, |
| c: 57, |
| } |
| |
| // Array fields |
| // Array element types |
| |
| // The parser must be able to handle bit fields with size fields |
| // up to 64 bits wide. The parser should generate a static size guard. |
| packet Packet_Size_Field { |
| _size_(b): 3, |
| a: 61, |
| b: 8[], |
| } |
| |
| |
| // The parser must be able to handle bit fields with count fields |
| // up to 64 bits wide. The parser should generate a static size guard. |
| packet Packet_Count_Field { |
| _count_(b): 3, |
| a: 61, |
| b: 8[], |
| } |
| |
| packet Packet_Array_Field_ByteElement_ConstantSize { |
| array: 8[4], |
| } |
| |
| packet Packet_Array_Field_ByteElement_UnknownSize { |
| array: 8[], |
| } |
| |
| packet Packet_Array_Field_ScalarElement_ConstantSize { |
| array: 16[4], |
| } |
| |
| packet Packet_Array_Field_ScalarElement_UnknownSize { |
| array: 16[], |
| } |
| |
| packet Packet_Array_Field_EnumElement_ConstantSize { |
| array: Enum16[4], |
| } |
| |
| packet Packet_Array_Field_EnumElement_UnknownSize { |
| array: Enum16[], |
| } |
| |
| packet Packet_Array_Field_SizedElement_ConstantSize { |
| array: SizedStruct[4], |
| } |
| |
| packet Packet_Array_Field_SizedElement_UnknownSize { |
| array: SizedStruct[], |
| } |
| |
| packet Packet_Array_Field_UnsizedElement_ConstantSize { |
| array: UnsizedStruct[4], |
| } |
| |
| packet Packet_Array_Field_UnsizedElement_VariableSize { |
| _size_(array) : 4, |
| _reserved_: 4, |
| array: UnsizedStruct[], |
| } |
| |
| packet Packet_Array_Field_UnsizedElement_VariableCount { |
| _count_(array) : 4, |
| _reserved_: 4, |
| array: UnsizedStruct[], |
| } |
| |
| packet Packet_Array_Field_UnsizedElement_UnknownSize { |
| array: UnsizedStruct[], |
| } |