| library fidl.test.padding; | 
 |  | 
 | type Padding1ByteEnd = struct { | 
 |     a uint16; | 
 |     b uint8; | 
 |     // 1 byte padding | 
 | }; | 
 |  | 
 | type Padding2ByteEnd = struct { | 
 |     a uint32; | 
 |     b uint16; | 
 |     // 2 byte padding | 
 | }; | 
 |  | 
 | type Padding3ByteEnd = struct { | 
 |     a uint32; | 
 |     b uint8; | 
 |     // 3 byte padding | 
 | }; | 
 |  | 
 | type Padding4ByteEnd = struct { | 
 |     a uint64; | 
 |     b uint32; | 
 |     // 4 byte padding | 
 | }; | 
 |  | 
 | type Padding5ByteEnd = struct { | 
 |     a uint64; | 
 |     b uint16; | 
 |     c uint8; | 
 |     // 5 byte padding | 
 | }; | 
 |  | 
 | type Padding6ByteEnd = struct { | 
 |     a uint64; | 
 |     b uint16; | 
 |     // 6 byte padding | 
 | }; | 
 |  | 
 | type Padding7ByteEnd = struct { | 
 |     a uint64; | 
 |     b uint8; | 
 |     // 7 byte padding | 
 | }; | 
 |  | 
 | type Padding1ByteMiddle = struct { | 
 |     a uint8; | 
 |     // 1 byte padding | 
 |     b uint16; | 
 | }; | 
 |  | 
 | type Padding2ByteMiddle = struct { | 
 |     a uint16; | 
 |     // 2 byte padding | 
 |     b uint32; | 
 | }; | 
 |  | 
 | type Padding3ByteMiddle = struct { | 
 |     a uint8; | 
 |     // 3 byte padding | 
 |     b uint32; | 
 | }; | 
 |  | 
 | type Padding4ByteMiddle = struct { | 
 |     a uint32; | 
 |     // 4 byte padding | 
 |     b uint64; | 
 | }; | 
 |  | 
 | type Padding5ByteMiddle = struct { | 
 |     a uint16; | 
 |     b uint8; | 
 |     // 5 byte padding | 
 |     c uint64; | 
 | }; | 
 |  | 
 | type Padding6ByteMiddle = struct { | 
 |     a uint16; | 
 |     // 6 byte padding | 
 |     b uint64; | 
 | }; | 
 |  | 
 | type Padding7ByteMiddle = struct { | 
 |     a uint8; | 
 |     // 7 byte padding | 
 |     b uint64; | 
 | }; | 
 |  | 
 | // The following structs test generation of padding masks for bindings that use | 
 | // them. For example, for a 4-byte aligned struct with length 12, two masks | 
 | // might be generated to cover the length - an 8-byte and 4-byte mask. | 
 |  | 
 | type Padding4ByteAlignmentLength12 = struct { | 
 |     a uint32; | 
 |     b uint8; | 
 |     // 1 byte padding | 
 |     c uint16; | 
 |     d uint16; | 
 |     // 2 bytes padding | 
 | }; | 
 |  | 
 | type Padding2ByteAlignmentLength6 = struct { | 
 |     // 4 byte padding mask starts here. | 
 |     a uint8; | 
 |     // 1 byte padding | 
 |     b uint16; | 
 |     // 2 byte padding mask starts here. | 
 |     c uint8; | 
 |     // 1 byte padding | 
 | }; |