| package Rep_Clause3 is |
| |
| type Record1 is |
| record |
| Page_Handle : Integer range 0 .. 255; |
| Page_Owner : Integer range 0 .. 15; |
| end record; |
| for Record1 use |
| record |
| Page_Handle at 0 range 0 .. 15; |
| Page_Owner at 0 range 16 .. 19; |
| end record; |
| for Record1'Size use 20; |
| |
| type Range_A is range 1 .. 7; |
| for Range_A'Size use 16; |
| |
| type Array_Type is array (Range_A) of Record1; |
| pragma Pack (Array_Type); |
| for Array_Type'Size use 7 * 20; |
| -- for array_Type'alignment use 1; |
| |
| type Record2 is |
| record |
| Page_Tree_Index : Range_A; |
| Page_Tree : Array_Type; |
| end record; |
| |
| for Record2 use |
| record |
| Page_Tree_Index at 0 range 0 .. 15; |
| Page_Tree at 0 range 16 .. 15 + (7 * 20); |
| end record; |
| for Record2'Size use 16 + (7 * 20); |
| |
| end Rep_Clause3; |