DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Rational R1000/400

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦ab41faebe⟧ Ada Source

    Length: 88064 (0x15800)
    Types: Ada Source
    Notes: 03_class, FILE, Long Ada Source, R1k_Segment, e3_tag, package Gl, seg_01c480

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦cfc2e13cd⟧ »Space Info Vol 2« 
        └─⟦this⟧ 

E3 Source Code



with Gl_System_Types;
with Gl_Flags;
with Device;
package Gl is
    use Gl_System_Types;
    subtype Short_Natural is Natural
                                range 0 .. Natural (Gl_System_Types.Int16'Last);
    subtype Short_Positive is Short_Natural range 1 .. Short_Natural'Last;
    type Angle is new Gl_System_Types.Int16;
    type Colorindex is new Gl_System_Types.Uint16;
    type Coord is new Gl_System_Types.Float32;
    type Icoord is new Gl_System_Types.Int32;
    type Linestyle is new Gl_System_Types.Ushort;
    type Object is new Gl_System_Types.Long;
    type Offset is new Gl_System_Types.Long;
    type Rgbvalue is new Gl_System_Types.Uint8;
    type Scoord is new Gl_System_Types.Int16;
    type Screencoord is new Gl_System_Types.Int16;
    type Tag is new Gl_System_Types.Long;
    Starttag : constant Tag := -2;
    Endtag : constant Tag := -3;
    type X_Display_Pointer is new Gl_System_Types.Int32;
    type X_Window is new Gl_System_Types.Int32;
    type Rgb_Value is new Gl_System_Types.Int16
                             range 0 .. Gl_System_Types.Int16'Last;
    subtype Rgba_Value is Rgb_Value;
    type Basis_Id_Type is new Gl_System_Types.Int32;
    type Cursor_Id_Type is new Gl_System_Types.Int16;
    type Font_Id_Type is new Gl_System_Types.Int32;
    type Linestyle_Id_Type is new Gl_System_Types.Int32;
    Default_Linestyle : constant Linestyle_Id_Type := 0;
    type Lm_Id_Type is new Gl_System_Types.Int32;
    type Map_Id_Type is new Gl_System_Types.Int16;
    type Menu_Id_Type is new Gl_System_Types.Int32;
    type Pattern_Id_Type is new Gl_System_Types.Int32;
    type Window_Id_Type is new Gl_System_Types.Int32;
    type Rgb_Bit_Plane_Type is range 0 .. 7;
    package Rgb_Write_Mask_Flags is new Gl_Flags
                                           (Base_Type => Gl_System_Types.Uint16,
                                            Numbering => Rgb_Bit_Plane_Type);
    type Rgb_Write_Mask_Type is new Rgb_Write_Mask_Flags.Flags_Type;
    package Packed_Rgb_Write_Mask_Flags is
       new Gl_Flags (Base_Type => Gl_System_Types.Uint8,
                     Numbering => Rgb_Bit_Plane_Type);
    type Packed_Rgb_Write_Mask_Type is
       new Packed_Rgb_Write_Mask_Flags.Flags_Type;
    type Packed_Rgba_Write_Masks_Type is
        record
            Alpha : Packed_Rgb_Write_Mask_Type;
            Blue : Packed_Rgb_Write_Mask_Type;
            Green : Packed_Rgb_Write_Mask_Type;
            Red : Packed_Rgb_Write_Mask_Type;
        end record;
    for Packed_Rgba_Write_Masks_Type use
        record
            Alpha at 0 range 0 .. 7;
            Blue at 0 range 8 .. 15;
            Green at 0 range 16 .. 23;
            Red at 0 range 24 .. 31;
        end record;
    type Bit_Plane_Type is range 0 .. 11;
    package Write_Mask_Flags is new Gl_Flags
                                       (Base_Type => Gl_System_Types.Uint16,
                                        Numbering => Bit_Plane_Type);
    type Write_Mask_Type is new Write_Mask_Flags.Flags_Type;
    type Lamp_Number_Type is range 0 .. 7;
    package Lamp_Flags is new Gl_Flags (Base_Type => Gl_System_Types.Uint8,
                                        Numbering => Lamp_Number_Type);
    type Lamps_Type is new Lamp_Flags.Flags_Type;
    type Z_Bit_Plane_Type is range 0 .. 31;
    package Z_Write_Mask_Flags is new Gl_Flags
                                         (Base_Type => Gl_System_Types.Uint32,
                                          Numbering => Z_Bit_Plane_Type);
    type Z_Write_Mask_Type is new Z_Write_Mask_Flags.Flags_Type;
    type Dial_And_Box_Light_Number_Type is range 0 .. 31;
    package Dial_And_Box_Light_Flags is
       new Gl_Flags (Base_Type => Gl_System_Types.Uint32,
                     Numbering => Dial_And_Box_Light_Number_Type);
    type Dial_And_Box_Lights_Type is new Dial_And_Box_Light_Flags.Flags_Type;
    type Floatangle is new Gl_System_Types.Float32;
    type Colorindices is array (Natural range <>) of Colorindex;
    type Colorfloatindex is new Gl_System_Types.Float32;
    type Dcoord is new Gl_System_Types.Float64;
    type Vertical_Retraces_Type is new Gl_System_Types.Int16;
    type Font_Pixels_Type is new Gl_System_Types.Int16;
    type Linestyle_Repeat_Type is new Gl_System_Types.Int32;
    type Z_Value_Type is new Gl_System_Types.Int32
                                range -16#800000# .. 16#7FFFFF#;
    type Z_Values_Type is array (Positive range <>) of Z_Value_Type;
    pragma Pack (Z_Values_Type);
    type Name_Type is new Gl_System_Types.Int16;
    type Names_Type is array (Positive range <>) of Name_Type;
    pragma Pack (Names_Type);
    type Aspect_Ratio_Type is new Gl_System_Types.Float32;
    type Menu_Item_Type is new Gl_System_Types.Int32;
    No_Menu_Item : constant Menu_Item_Type := -1;
    type Pixels is new Gl_System_Types.Int32
                          range 0 .. Gl_System_Types.Int32'Last;
    type Short_Pixels is new Gl_System_Types.Int16
                                range 0 .. Gl_System_Types.Int16'Last;
    No_Object : constant Object := -1;
    subtype Scale_Factor is Float;
    subtype Axis_Type is Character;  
    X_Axis : constant Axis_Type := 'x';
    Y_Axis : constant Axis_Type := 'y';
    Z_Axis : constant Axis_Type := 'z';
    subtype Coordinate_Axis_Type is Natural range 0 .. 3;
    X : constant Coordinate_Axis_Type := 0;
    Y : constant Coordinate_Axis_Type := 1;
    Z : constant Coordinate_Axis_Type := 2;
    W : constant Coordinate_Axis_Type := 3;
    subtype Control_Point_Coordinate_Type is Coordinate_Axis_Type;
    Wx : constant Control_Point_Coordinate_Type := 0;
    Wy : constant Control_Point_Coordinate_Type := 1;
    Wz : constant Control_Point_Coordinate_Type := 2;
    Ww : constant Control_Point_Coordinate_Type := 2;
    type Ivector_2d is array (X .. Y) of Icoord;
    for Ivector_2d'Size use 2 * Icoord'Size;
    type Ivectors_2d is array (Natural range <>) of Ivector_2d;
    pragma Pack (Ivectors_2d);
    type Svector_2d is array (X .. Y) of Scoord;
    for Svector_2d'Size use 2 * Scoord'Size;
    type Svectors_2d is array (Natural range <>) of Svector_2d;
    pragma Pack (Svectors_2d);
    type Vector_2d is array (X .. Y) of Coord;
    for Vector_2d'Size use 2 * Coord'Size;
    type Vectors_2d is array (Natural range <>) of Vector_2d;
    pragma Pack (Vectors_2d);
    type Dvector_2d is array (X .. Y) of Dcoord;
    for Dvector_2d'Size use 2 * Dcoord'Size;
    type Dvectors_2d is array (Natural range <>) of Dvector_2d;
    pragma Pack (Dvectors_2d);
    type Ivector_3d is array (X .. Z) of Icoord;
    for Ivector_3d'Size use 3 * Icoord'Size;
    type Ivectors_3d is array (Natural range <>) of Ivector_3d;
    pragma Pack (Ivectors_3d);
    type Svector_3d is array (X .. Z) of Scoord;
    for Svector_3d'Size use 3 * Scoord'Size;
    type Svectors_3d is array (Natural range <>) of Svector_3d;
    pragma Pack (Svectors_3d);
    type Vector_3d is array (X .. Z) of Coord;
    for Vector_3d'Size use 3 * Coord'Size;
    type Vectors_3d is array (Natural range <>) of Vector_3d;
    pragma Pack (Vectors_3d);
    type Dvector_3d is array (X .. Z) of Dcoord;
    for Dvector_3d'Size use 3 * Dcoord'Size;
    type Dvectors_3d is array (Natural range <>) of Dvector_3d;
    pragma Pack (Dvectors_3d);
    type Svector_4d is array (X .. W) of Scoord;
    for Svector_4d'Size use 4 * Scoord'Size;
    type Svectors_4d is array (Natural range <>) of Svector_4d;
    pragma Pack (Svectors_4d);
    type Ivector_4d is array (X .. W) of Icoord;
    for Ivector_4d'Size use 4 * Icoord'Size;
    type Ivectors_4d is array (Natural range <>) of Ivector_4d;
    pragma Pack (Ivectors_4d);
    type Vector_4d is array (X .. W) of Coord;
    for Vector_4d'Size use 4 * Coord'Size;
    type Vectors_4d is array (Natural range <>) of Vector_4d;
    pragma Pack (Vectors_4d);
    type Dvector_4d is array (X .. W) of Dcoord;
    for Dvector_4d'Size use 4 * Dcoord'Size;
    type Dvectors_4d is array (Natural range <>) of Dvector_4d;
    pragma Pack (Dvectors_4d);
    type Points_3d is array (Natural range <>) of Vector_3d;
    pragma Pack (Points_3d);
    subtype Points4_3d is Points_3d (1 .. 4);
    subtype Rationalcurvecontrol_Type is Vectors_4d;
    subtype Rationalcurvecontrol4_Type is Rationalcurvecontrol_Type (0 .. 3);
    subtype Nurbs_Control_Point_2d is Dvector_2d;
    subtype Nurbs_Control_Point_3d is Dvector_3d;
    subtype Nurbs_Control_Point_4d is Dvector_4d;
    subtype Nurbs_Control_Points_2d is Dvectors_2d;
    subtype Nurbs_Control_Points_3d is Dvectors_3d;
    subtype Nurbs_Control_Points_4d is Dvectors_4d;
    type Nurbs_Control_Matrix_3d is
       array (Natural range <>, Natural range <>) of Nurbs_Control_Point_3d;
    pragma Pack (Nurbs_Control_Matrix_3d);
    type Nurbs_Control_Matrix_4d is
       array (Natural range <>, Natural range <>) of Nurbs_Control_Point_4d;
    pragma Pack (Nurbs_Control_Matrix_4d);
    type Bitplanes_Type is new Gl_System_Types.Int32;
    type Matrix_Element_Type is new Gl_System_Types.Float32;
    type Matrix is array (1 .. 4, 1 .. 4) of Matrix_Element_Type;
    for Matrix'Size use 16 * Matrix_Element_Type'Size;
    type Bitmap_Element_Type is new Gl_System_Types.Uint16;
    type Bitmap_Type is array (Natural range <>) of Bitmap_Element_Type;
    pragma Pack (Bitmap_Type);
    type Rgb_Values is array (Natural range <>) of Rgb_Value;
    pragma Pack (Rgb_Values);
    type Rgbvalues is array (Natural range <>) of Rgbvalue;
    pragma Pack (Rgbvalues);
    type Alphavalue is range 0 .. 255;
    for Alphavalue'Size use 8;
    subtype Rgba_Component_Type is Natural range 0 .. 3;
    subtype Rgb_Component_Type is Rgba_Component_Type range 0 .. 2;
    Red : constant Rgba_Component_Type := 0;
    Green : constant Rgba_Component_Type := 1;
    Blue : constant Rgba_Component_Type := 2;
    Alpha : constant Rgba_Component_Type := 3;
    type Rgb_Float_Value_Type is new Float range 0.0 .. 1.0;
    subtype Rgba_Float_Value_Type is Rgb_Float_Value_Type;
    type Rgb_Color_Type is array (Rgb_Component_Type) of Rgb_Value;
    for Rgb_Color_Type'Size use 48;
    type Rgb_Float_Color_Type is
       array (Rgb_Component_Type) of Rgb_Float_Value_Type;
    for Rgb_Float_Color_Type'Size use 3 * Rgb_Float_Value_Type'Size;
    type Rgba_Color_Type is array (Rgba_Component_Type) of Rgba_Value;
    for Rgba_Color_Type'Size use 64;
    type Rgba_Float_Color_Type is
       array (Rgba_Component_Type) of Rgba_Float_Value_Type;
    for Rgba_Float_Color_Type'Size use 4 * Rgba_Float_Value_Type'Size;
    type S_Rgb_Color_Type is array (Rgb_Component_Type) of Short_Integer;
    for S_Rgb_Color_Type'Size use 48;
    type I_Rgb_Color_Type is array (Rgb_Component_Type) of Integer;
    for I_Rgb_Color_Type'Size use 96;
    type S_Rgba_Color_Type is array (Rgba_Component_Type) of Short_Integer;
    for S_Rgba_Color_Type'Size use 64;
    type I_Rgba_Color_Type is array (Rgba_Component_Type) of Integer;
    for I_Rgba_Color_Type'Size use 128;
    type Buffer_Mode_Type is (Nobuffer, Bckbuffer, Frntbuffer,
                              Bothbuffers, Drawzbuffer);
    for Buffer_Mode_Type use (0, 1, 2, 3, 4);
    type Nurbs_Property_Type is (N_Pixel_Tolerance, N_Culling, N_Display,
                                 N_Errorchecking, N_Subdivisions,
                                 N_S_Steps, N_T_Steps, N_Tiles);
    for Nurbs_Property_Type use (1, 2, 3, 4, 5, 6, 7, 8);
    type Control_Point_Type is (N_St, N_Stw, N_Wst, N_Xyz, N_Xyzw, N_Wxyz);
    for Control_Point_Type use (16#8#, 16#D#, 16#F#, 16#4C#, 16#51#, 16#53#);
    subtype Nurbs_Curve_Control_Point_Type is
       Control_Point_Type range N_St .. N_Stw;
    subtype Nurbs_Surface_Control_Point_Type is
       Control_Point_Type range N_Xyz .. N_Xyzw;
    type Shade_Model_Type is (Flat, Gouraud);
    for Shade_Model_Type use (0, 1);
    type Matrix_Mode_Type is (Msingle, Mprojection, Mviewing);
    for Matrix_Mode_Type use (0, 1, 2);
    type Display_Mode_Type is (Dmrgb, Dmsingle, Dmdouble, Dmrgbdouble);
    for Display_Mode_Type use (0, 1, 2, 5);
    type Lm_Target_Type is (Material, Light0, Light1, Light2, Light3,
                            Light4, Light5, Light6, Light7, Lmodel);
    for Lm_Target_Type use (1000, 1100, 1101, 1102, 1103,
                            1104, 1105, 1106, 1107, 1200);
    type Lm_Definition_Type is (Defmaterial, Deflight, Deflmodel);
    for Lm_Definition_Type use (0, 100, 200);
    type Lm_Property_Type is new Gl_System_Types.Float32;
    type Lm_Property_List_Type is array (Natural range <>) of Lm_Property_Type;
    package Lm_Properties is
        Emission : constant Lm_Property_Type := Lm_Property_Type (1);
        Ambient : constant Lm_Property_Type := Lm_Property_Type (2);
        Diffuse : constant Lm_Property_Type := Lm_Property_Type (3);
        Specular : constant Lm_Property_Type := Lm_Property_Type (4);
        Shininess : constant Lm_Property_Type := Lm_Property_Type (5);
        Colorindexes : constant Lm_Property_Type := Lm_Property_Type (6);
        Alpha : constant Lm_Property_Type := Lm_Property_Type (7);
        Lcolor : constant Lm_Property_Type := Lm_Property_Type (101);
        Position : constant Lm_Property_Type := Lm_Property_Type (102);
        Spotdirection : constant Lm_Property_Type := Lm_Property_Type (103);
        Spotlight : constant Lm_Property_Type := Lm_Property_Type (104);
        Localviewer : constant Lm_Property_Type := Lm_Property_Type (201);
        Attenuation : constant Lm_Property_Type := Lm_Property_Type (202);
        Lmnull : constant Lm_Property_Type := 0.0;
    end Lm_Properties;
    type Lm_Color_Type is (Lmc_Color, Lmc_Emission, Lmc_Ambient,
                           Lmc_Diffuse, Lmc_Specular, Lmc_Ad, Lmc_Null);
    for Lm_Color_Type use (0, 1, 2, 3, 4, 5, 6);
    type Logical_Operation_Type is (Lo_Zero, Lo_And, Lo_Andr, Lo_Src,
                                    Lo_Andi, Lo_Dst, Lo_Xor, Lo_Or, Lo_Nor,
                                    Lo_Xnor, Lo_Ndst, Lo_Orr, Lo_Nsrc,
                                    Lo_Ori, Lo_Nand, Lo_One, Lo_Min, Lo_Max,
                                    Lo_Avg, Lo_Dms, Lo_Smd, Lo_Sum);
    for Logical_Operation_Type use (0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11,
                                    12, 13, 14, 15, 16, 17, 18, 19, 20, 21);
    type Readsource_Type is (Src_Auto, Src_Front, Src_Back, Src_Zbuffer,
                             Src_Pup, Src_Over, Src_Under);
    for Readsource_Type use (0, 1, 2, 3, 4, 5, 6);
    Maxlights : constant := 8;
    type Pop_Up_Enable_Type is (Pup_None, Pup_Grey);
    for Pop_Up_Enable_Type use (0, 1);
    Pup_Clear : constant := 0;
    Pup_Color : constant := 1;
    Pup_Black : constant := 2;
    Pup_White : constant := 3;
    package Map_Colors is
        Black : constant Colorindex := 0;
        White : constant Colorindex := 1;
        Green : constant Colorindex := 2;
        Yellow : constant Colorindex := 3;
        Blue : constant Colorindex := 4;
        Magenta : constant Colorindex := 5;
        Cyan : constant Colorindex := 6;
        Red : constant Colorindex := 7;
    end Map_Colors;
    type Z_Source_Type is (Zsrc_Depth, Zsrc_Color);
    for Z_Source_Type use (0, 1);
    type Z_Function_Type is (Zf_Never, Zf_Less, Zf_Equal, Zf_Lequal,
                             Zf_Greater, Zf_Notequal, Zf_Gequal, Zf_Always);
    for Z_Function_Type use (0, 1, 2, 3, 4, 5, 6, 7);
    type Blending_Factor is (Bf_Zero, Bf_One, Bf_Sc, Bf_Msc,
                             Bf_Sa, Bf_Msa, Bf_Da, Bf_Mda);
    for Blending_Factor use (0, 1, 2, 3, 4, 5, 6, 7);
    Bf_Dc : constant Blending_Factor := Bf_Sc;
    Bf_Mdc : constant Blending_Factor := Bf_Msc;
    subtype Events_Count_Type is Short_Natural
                                    range 0 .. Short_Natural'Last / 2;
    type Packed_Rgba_Type is
        record
            Alpha : Alphavalue;
            Blue, Green, Red : Rgbvalue;
        end record;
    for Packed_Rgba_Type'Size use 32;
    for Packed_Rgba_Type use
        record
            Alpha at 0 range 0 .. 7;
            Blue at 0 range 8 .. 15;
            Green at 0 range 16 .. 23;
            Red at 0 range 24 .. 31;
        end record;
    type Packed_Rgbas_Type is array (Natural range <>) of Packed_Rgba_Type;
    pragma Pack (Packed_Rgbas_Type);
    type Packed_Rgb_Type is new Gl_System_Types.Int32 range 0 .. 16#FFFFFF#;
    type Packed_Rgbs_Type is array (Natural range <>) of Packed_Rgb_Type;
    pragma Pack (Packed_Rgbs_Type);
    type Cursor_Origin_Type is new Gl_System_Types.Int16;
    type Cursor_Kind_Type is (C16x1, C16x2, C32x1, C32x2, Ccross);
    for Cursor_Kind_Type'Size use Gl_System_Types.Int32'Size;
    for Cursor_Kind_Type use (0, 1, 2, 3, 4);
    type Raster_Columns_Type is new Gl_System_Types.Int8;
    subtype Raster_Rows_Type is Raster_Columns_Type;
    type Fontchar is
        record
            Offset : Gl_System_Types.Uint16;
            W : Raster_Columns_Type;
            H : Raster_Rows_Type;
            Xoff : Raster_Columns_Type;
            Yoff : Raster_Rows_Type;
            Width : Short_Pixels;
        end record;
    for Fontchar use
        record
            Offset at 0 range 0 .. 15;
            W at 0 range 16 .. 23;
            H at 0 range 24 .. 31;
            Xoff at 0 range 32 .. 39;
            Yoff at 0 range 40 .. 47;
            Width at 0 range 48 .. 63;
        end record;
    type Fontchars_Type is array (Natural range <>) of Fontchar;
    type Draw_Mode_Type is (Normaldraw, Pupdraw, Overdraw,
                            Underdraw, Cursordraw);
    for Draw_Mode_Type use (0, 1, 2, 3, 4);
    type Gammaramp_Value_Type is new Gl_System_Types.Int16;
    type Gammaramp_Values_Type is
       array (Rgb_Value range 0 .. 255) of Gammaramp_Value_Type;
    type Button_State_Type is new Gl_System_Types.Int32;
    Button_Up : constant Button_State_Type := 0;
    Button_Down : constant Button_State_Type := 1;
    Invalid_Button : constant Button_State_Type := -1;
    type Nurbs_Property_Value is new Gl_System_Types.Float32;
    type Noise_Delta_Type is new Gl_System_Types.Int16;
    type Knot_Type is new Gl_System_Types.Float64;
    type Knots_Type is array (Positive range <>) of Knot_Type;
    type Zoom_Factor_Type is new Gl_System_Types.Float32;
    type Bell_Sound_Type is (Off, Short, Long);
    for Bell_Sound_Type use (Off => 0, Short => 1, Long => 2);
    Sml_On : constant Boolean := True;
    Sml_Off : constant Boolean := False;
    Smp_On : constant Boolean := True;
    Smp_Off : constant Boolean := False;
    type Font_Type is (Ft_Sbcs, Ft_Dbcs);
    for Font_Type'Size use 32;
    for Font_Type use (0, 1);
    type Getgdesc_Inquiry_Type is new Gl_System_Types.Int32;
    Gd_Xpmax : constant Getgdesc_Inquiry_Type := 1;
    Gd_Ypmax : constant Getgdesc_Inquiry_Type := 2;
    Gd_Zmin : constant Getgdesc_Inquiry_Type := 3;
    Gd_Zmax : constant Getgdesc_Inquiry_Type := 4;
    Gd_Bits_Zbuffer : constant Getgdesc_Inquiry_Type := 5;
    Gd_Bits_Overlay : constant Getgdesc_Inquiry_Type := 6;
    Gd_Bits_Underlay : constant Getgdesc_Inquiry_Type := 7;
    Gd_Bits_Norm_Dbl_Rgb : constant Getgdesc_Inquiry_Type := 8;
    Gd_Bits_Norm_Dbl_Cmode : constant Getgdesc_Inquiry_Type := 9;
    Gd_Bits_Norm_Sng_Rgb : constant Getgdesc_Inquiry_Type := 10;
    Gd_Bits_Norm_Sng_Cmode : constant Getgdesc_Inquiry_Type := 11;
    Gd_Bits_Alphabuffer : constant Getgdesc_Inquiry_Type := 12;
    Gd_Bits_Cursor : constant Getgdesc_Inquiry_Type := 13;
    Gd_Bits_Plane_Mask : constant Getgdesc_Inquiry_Type := 14;
    Gd_Overunder_Shared : constant Getgdesc_Inquiry_Type := 15;
    Gd_Large_Map_Size : constant Getgdesc_Inquiry_Type := 16;
    Gd_Small_Map_Size : constant Getgdesc_Inquiry_Type := 17;
    Gd_Num_Small_Maps : constant Getgdesc_Inquiry_Type := 18;
    Gd_Pointsmooth_Cmode : constant Getgdesc_Inquiry_Type := 19;
    Gd_Pointsmooth_Rgb : constant Getgdesc_Inquiry_Type := 20;
    Gd_Linesmooth_Cmode : constant Getgdesc_Inquiry_Type := 21;
    Gd_Linesmooth_Rgb : constant Getgdesc_Inquiry_Type := 22;
    Gd_Shademodel : constant Getgdesc_Inquiry_Type := 23;
    Gd_Shadebuffers : constant Getgdesc_Inquiry_Type := 24;
    Gd_Rgbmode : constant Getgdesc_Inquiry_Type := 25;
    Gd_Dither : constant Getgdesc_Inquiry_Type := 26;
    Gd_Subpixel_Line : constant Getgdesc_Inquiry_Type := 27;
    Gd_Subpixel_Pnt : constant Getgdesc_Inquiry_Type := 28;
    Gd_Subpixel_Poly : constant Getgdesc_Inquiry_Type := 29;
    Gd_Polymode : constant Getgdesc_Inquiry_Type := 30;
    Gd_Bits_Linestyle : constant Getgdesc_Inquiry_Type := 31;
    Gd_Max_Lsrepeat : constant Getgdesc_Inquiry_Type := 32;
    Gd_Max_Nurbs_Order : constant Getgdesc_Inquiry_Type := 33;
    Gd_Max_Trim_Order : constant Getgdesc_Inquiry_Type := 34;
    Gd_Max_Pattern_Size : constant Getgdesc_Inquiry_Type := 35;
    Gd_Max_Verts : constant Getgdesc_Inquiry_Type := 36;
    Gd_Max_Attr_Stackdepth : constant Getgdesc_Inquiry_Type := 37;
    Gd_Max_Matrix_Stackdepth : constant Getgdesc_Inquiry_Type := 38;
    Gd_Max_Viewport_Stackdepth : constant Getgdesc_Inquiry_Type := 39;
    Gd_Zdraw_Geom : constant Getgdesc_Inquiry_Type := 40;
    Gd_Zdraw_Pixels : constant Getgdesc_Inquiry_Type := 41;
    Gd_Blend : constant Getgdesc_Inquiry_Type := 42;
    Gd_Lighting_Twoside : constant Getgdesc_Inquiry_Type := 43;
    Gd_Butbox : constant Getgdesc_Inquiry_Type := 44;
    Gd_Dials : constant Getgdesc_Inquiry_Type := 45;
    Gd_Vert_Retrace_Freq : constant Getgdesc_Inquiry_Type := 46;
    Gd_Textport : constant Getgdesc_Inquiry_Type := 47;
    Gd_Wsys : constant Getgdesc_Inquiry_Type := 48;
    Gd_Xmmax : constant Getgdesc_Inquiry_Type := 49;
    Gd_Ymmax : constant Getgdesc_Inquiry_Type := 50;
    Gd_Bf_Under : constant := 16#01#;
    Gd_Bf_Over : constant := 16#02#;
    Gd_Bf_Main : constant := 16#04#;
    Gd_Bf_Alpha : constant := 16#08#;
    Gd_Shademodel_Flat : constant := 16#01#;
    Gd_Shademodel_Gouraud : constant := 16#02#;
    Gd_Shademodel_Phong : constant := 16#04#;
    Gd_Shademodel_Pseudo_Phong_Flat : constant := 16#08#;
    Gd_Wsys_None : constant := 0;
    Gd_Wsys_4s : constant := 1;
    Gd_Wsys_Aix113 : constant := 2;
    Gd_Wsys_Aix114 : constant := 3;
    type Pixmode_Mode_Type is (Pm_Fastmode, Pm_Ttob, Pm_Size, Pm_Stride);
    for Pixmode_Mode_Type'Size use 32;
    for Pixmode_Mode_Type use (0, 1, 2, 3);
    Xmaxscreen : constant := 1279;
    Ymaxscreen : constant := 1023;
    Xmax170 : constant := 645;
    Ymax170 : constant := 484;
    Xmaxpal : constant := 779;
    Ymaxpal : constant := 574;
    Hash_Table_Size : constant := 128;
    Attribstackdepth : constant := 10;
    Vpstackdepth : constant := 8;
    Matrixstackdepth : constant := 32;
    Namestackdepth : constant := 1025;
    N_Shaded : constant := 1.0;
    Bm_Set : constant := 1;
    Bm_Clr : constant := 2;
    Bm_Xor : constant := 3;
    Bm_Tile : constant := 2048;
    procedure Addtopup (Menu : Menu_Id_Type; Item : String);
    procedure Addtopopup (Menu : Menu_Id_Type; Item : String) renames Addtopup;
    procedure Arc (X, Y : Coord;
                   Radius : Coord;
                   Starting_Angle, Ending_Angle : Angle);
    procedure Arci (X, Y : Icoord;
                    Radius : Icoord;
                    Starting_Angle, Ending_Angle : Angle);
    procedure Arc (X, Y : Icoord;
                   Radius : Icoord;
                   Starting_Angle, Ending_Angle : Angle) renames Arci;
    procedure Arcs (X, Y : Scoord;
                    Radius : Scoord;
                    Starting_Angle, Ending_Angle : Angle);
    procedure Arc (X, Y : Scoord;
                   Radius : Scoord;
                   Starting_Angle, Ending_Angle : Angle) renames Arcs;
    procedure Arcf (X, Y : Coord;
                    Radius : Coord;
                    Starting_Angle, Ending_Angle : Angle);
    procedure Filledarc (X, Y : Coord;
                         Radius : Coord;
                         Starting_Angle, Ending_Angle : Angle) renames Arcf;
    procedure Arcfi (X, Y : Icoord;
                     Radius : Icoord;
                     Starting_Angle, Ending_Angle : Angle);
    procedure Filledarc (X, Y : Icoord;
                         Radius : Icoord;
                         Starting_Angle, Ending_Angle : Angle) renames Arcfi;
    procedure Arcfs (X, Y : Scoord;
                     Radius : Scoord;
                     Starting_Angle, Ending_Angle : Angle);
    procedure Filledarc (X, Y : Scoord;
                         Radius : Scoord;
                         Starting_Angle, Ending_Angle : Angle) renames Arcfs;
    procedure Attachcursor (Device1 : Device.Device; Device2 : Device.Device);
    procedure Backbuffer (Enable_Drawing_Into_Back_Buffer : Boolean);
    procedure Backface (Enable_Backfacing_Polygon_Removal : Boolean);
    procedure Bbox2 (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Coord);
    procedure Boundingbox (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Coord)
        renames Bbox2;
    procedure Bbox2s (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Scoord);
    procedure Boundingbox (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Scoord)
        renames Bbox2s;
    procedure Bbox2i (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Icoord);
    procedure Boundingbox (X_Min, Y_Min : Screencoord; X1, Y1, X2, Y2 : Icoord)
        renames Bbox2i;
    procedure Bgnclosedline;
    procedure Beginclosedline renames Bgnclosedline;
    procedure Bgnline;
    procedure Beginline renames Bgnline;
    procedure Bgnpoint;
    procedure Beginpoint renames Bgnpoint;
    procedure Bgnpolygon;
    procedure Beginpolygon renames Bgnpolygon;
    procedure Bgnsurface;
    procedure Beginsurface renames Bgnsurface;
    procedure Bgntmesh;
    procedure Begintrianglemesh renames Bgntmesh;
    procedure Bgntrim;
    procedure Begintrim renames Bgntrim;
    procedure Blankscreen (Blank_The_Screen : Boolean);
    procedure Blanktime (Frames : Natural);
    procedure Blendfunction (Source, Destination : Blending_Factor);
    procedure Blink (Retraces_Per_Blink : Vertical_Retraces_Type;
                     Color : Colorindex;
                     Red, Green, Blue : Rgb_Value);
    procedure Blkqread (Events : out Device.Events_Type;
                        Events_Read : out Events_Count_Type;
                        Maximum_Events : Events_Count_Type);
    procedure Blockqueueread (Events : out Device.Events_Type;
                              Events_Read : out Events_Count_Type;
                              Maximum_Events : Events_Count_Type)
        renames Blkqread;
    procedure Blkqread (Events : out Device.Events_Type;
                        Events_Read : out Events_Count_Type);
    procedure Blockqueueread (Events : out Device.Events_Type;
                              Events_Read : out Events_Count_Type)
        renames Blkqread;
    procedure Color (Color : Colorindex);
    pragma Interface (C, Color);
    procedure C3i (Rgb : I_Rgb_Color_Type);
    procedure Color (Rgb : I_Rgb_Color_Type) renames C3i;
    procedure C3s (Rgb : S_Rgb_Color_Type);
    procedure Color (Rgb : S_Rgb_Color_Type) renames C3s;
    procedure C3f (Rgb : Rgb_Float_Color_Type);
    procedure Color (Rgb : Rgb_Float_Color_Type) renames C3f;
    procedure C4i (Rgba : I_Rgba_Color_Type);
    procedure Color (Rgba : I_Rgba_Color_Type) renames C4i;
    procedure C4s (Rgba : S_Rgba_Color_Type);
    procedure Color (Rgba : S_Rgba_Color_Type) renames C4s;
    procedure C4f (Rgba : Rgba_Float_Color_Type);
    procedure Color (Rgba : Rgba_Float_Color_Type) renames C4f;
    procedure Color (Rgb : Rgb_Color_Type);
    procedure Color (Rgba : Rgba_Color_Type);
    procedure Callobj (The_Object : Object);
    procedure Callobject (The_Object : Object) renames Callobj;
    procedure Charstr (Text : String);
    procedure Characterstring (Text : String) renames Charstr;
    procedure Put (Text : String) renames Charstr;
    procedure Chunksize (Bytes : Natural);
    procedure Circ (X, Y : Coord; Radius : Coord);
    procedure Circle (X, Y : Coord; Radius : Coord) renames Circ;
    procedure Circi (X, Y : Icoord; Radius : Icoord);
    procedure Circle (X, Y : Icoord; Radius : Icoord) renames Circi;
    procedure Circs (X, Y : Scoord; Radius : Scoord);
    procedure Circle (X, Y : Scoord; Radius : Scoord) renames Circs;
    procedure Circf (X, Y : Coord; Radius : Coord);
    procedure Filledcircle (X, Y : Coord; Radius : Coord) renames Circf;
    procedure Circfi (X, Y : Icoord; Radius : Icoord);
    procedure Filledcircle (X, Y : Icoord; Radius : Icoord) renames Circfi;
    procedure Circfs (X, Y : Scoord; Radius : Scoord);
    procedure Filledcircle (X, Y : Scoord; Radius : Scoord) renames Circfs;
    procedure Clear;
    pragma Interface (C, Clear);
    procedure Clkoff;
    procedure Clickoff renames Clkoff;
    procedure Clkon;
    procedure Clickon renames Clkon;
    procedure Closeobj;
    procedure Closeobject renames Closeobj;
    procedure Cmode;
    procedure Colormapmode renames Cmode;
    procedure Cmov (X, Y, Z : Coord);
    procedure Settextposition (X, Y, Z : Coord) renames Cmov;
    procedure Cmovi (X, Y, Z : Icoord);
    procedure Settextposition (X, Y, Z : Icoord) renames Cmovi;
    procedure Cmovs (X, Y, Z : Scoord);
    procedure Settextposition (X, Y, Z : Scoord) renames Cmovs;
    procedure Cmov2 (X, Y : Coord);
    procedure Settextposition (X, Y : Coord) renames Cmov2;
    procedure Cmov2i (X, Y : Icoord);
    procedure Settextposition (X, Y : Icoord) renames Cmov2i;
    procedure Cmov2s (X, Y : Scoord);
    procedure Settextposition (X, Y : Scoord) renames Cmov2s;
    procedure Colorf (Color : Colorfloatindex);
    pragma Interface (C, Colorf);
    procedure Color (Color : Colorfloatindex) renames Colorf;
    procedure Compactify (The_Object : Object);
    procedure Concave (Draw_Accurate_Concave_Polygons : Boolean);
    procedure Cpack (Color : Packed_Rgb_Type);
    pragma Interface (C, Cpack);
    procedure Color (Color : Packed_Rgb_Type) renames Cpack;
    procedure Cpack (Color : Packed_Rgba_Type);
    procedure Color (Color : Packed_Rgba_Type) renames Cpack;
    procedure Crv (Points : Points4_3d);
    procedure Crvn (Number_Of_Points : Natural; Points : Points_3d);
    procedure Curve (Number_Of_Points : Natural; Points : Points_3d)
        renames Crvn;
    procedure Curve (Points : Points_3d);
    procedure Curorigin (Cursor : Cursor_Id_Type; X, Y : Cursor_Origin_Type);
    procedure Cursororigin (Cursor : Cursor_Id_Type; X, Y : Cursor_Origin_Type)
        renames Curorigin;
    procedure Cursoff;
    procedure Cursoroff renames Cursoff;
    procedure Curson;
    procedure Cursoron renames Curson;
    procedure Curstype (Cursor_Type : Cursor_Kind_Type);
    procedure Cursortype (Cursor_Type : Cursor_Kind_Type) renames Curstype;
    procedure Curvebasis (Basis : Basis_Id_Type);
    procedure Curveit (Count : Short_Natural);
    procedure Curveprecision (Segments : Short_Natural);
    procedure Cyclemap (Duration : Vertical_Retraces_Type;
                        Map : Map_Id_Type;
                        Next_Map : Map_Id_Type);
    procedure Czclear (Color : Colorindex; Depth : Z_Value_Type);
    procedure Clear (Color : Colorindex; Depth : Z_Value_Type) renames Czclear;
    procedure Czclear (Color : Packed_Rgb_Type; Depth : Z_Value_Type);
    procedure Clear (Color : Packed_Rgb_Type; Depth : Z_Value_Type)
        renames Czclear;
    pragma Interface (C, Czclear);
    procedure Czclear (Color : Packed_Rgba_Type; Depth : Z_Value_Type);
    procedure Clear (Color : Packed_Rgba_Type; Depth : Z_Value_Type)
        renames Czclear;
    procedure Defbasis (Basis : Basis_Id_Type; M : Matrix);
    procedure Definebasis (Basis : Basis_Id_Type; M : Matrix) renames Defbasis;
    procedure Defcursor (Cursor : Cursor_Id_Type; Bitmap : Bitmap_Type);
    procedure Definecursor (Cursor : Cursor_Id_Type; Bitmap : Bitmap_Type)
        renames Defcursor;
    procedure Deflinestyle
                 (Linestyle : Linestyle_Id_Type; Style : Gl.Linestyle);
    procedure Definelinestyle
                 (Linestyle : Linestyle_Id_Type; Style : Gl.Linestyle)
        renames Deflinestyle;
    procedure Defpattern (Pattern : Pattern_Id_Type;
                          Size : Natural;  
                          Bitmap : Bitmap_Type);
    procedure Definepattern (Pattern : Pattern_Id_Type;
                             Size : Natural;  
                             Bitmap : Bitmap_Type) renames Defpattern;
    function Defpup (Item : String) return Menu_Id_Type;
    function Definepopup (Item : String) return Menu_Id_Type renames Defpup;
    procedure Defrasterfont (Font : Font_Id_Type;
                             Maximum_Height : Short_Pixels;
                             Count : Short_Natural;
                             Characters : Fontchars_Type;
                             Raster_Length : Short_Natural;
                             Raster : Bitmap_Type);
    procedure Definerasterfont (Font : Font_Id_Type;
                                Maximum_Height : Short_Pixels;
                                Count : Short_Natural;
                                Characters : Fontchars_Type;
                                Raster_Length : Short_Natural;
                                Raster : Bitmap_Type) renames Defrasterfont;
    procedure Defrasterfont (Font : Font_Id_Type;
                             Maximum_Height : Short_Pixels;
                             Characters : Fontchars_Type;
                             Raster : Bitmap_Type);
    procedure Definerasterfont (Font : Font_Id_Type;
                                Maximum_Height : Short_Pixels;
                                Characters : Fontchars_Type;
                                Raster : Bitmap_Type) renames Defrasterfont;
    procedure Delobj (The_Object : Object);
    procedure Deleteobject (The_Object : Object) renames Delobj;
    procedure Deltag (The_Tag : Tag);
    procedure Deletetag (The_Tag : Tag) renames Deltag;
    procedure Depthcue (On : Boolean);
    function Dopup (Menu : Menu_Id_Type) return Menu_Item_Type;
    function Dopopup (Menu : Menu_Id_Type) return Menu_Item_Type renames Dopup;
    procedure Doublebuffer;
    procedure Draw (X, Y, Z : Coord);
    procedure Drawi (X, Y, Z : Icoord);
    procedure Draw (X, Y, Z : Icoord) renames Drawi;
    procedure Draws (X, Y, Z : Scoord);
    procedure Draw (X, Y, Z : Scoord) renames Draws;
    procedure Draw2 (X, Y : Coord);
    procedure Draw (X, Y : Coord) renames Draw2;
    procedure Draw2i (X, Y : Icoord);
    procedure Draw (X, Y : Icoord) renames Draw2i;
    procedure Draw2s (X, Y : Scoord);
    procedure Draw (X, Y : Scoord) renames Draw2s;
    procedure Drawmode (Mode : Draw_Mode_Type);
    procedure Editobj (The_Object : Object);
    procedure Editobject (The_Object : Object) renames Editobj;
    procedure Endclosedline;
    procedure Endfullscrn;
    procedure Endfullscreen renames Endfullscrn;
    procedure Endline;
    procedure Endsurface;
    procedure Endtrim;
    procedure Endpick (Names : out Names_Type; Hits : out Integer);
    procedure Endpoint;
    procedure Endpolygon;
    procedure Endselect (Names : in out Names_Type; Hits : out Integer);
    procedure Endtmesh;
    procedure Endtrianglemesh renames Endtmesh;
    procedure Finish;
    procedure Font (Font : Font_Id_Type);
    procedure Foreground;
    procedure Freepup (Menu : Menu_Id_Type);
    procedure Freepopup (Menu : Menu_Id_Type) renames Freepup;
    procedure Frontbuffer (Enable_Drawing_In_Front_Buffer : Boolean);
    procedure Frontface (Enable_Frontfacing_Polygon_Removal : Boolean);
    procedure Fudge (X, Y : Pixels);
    procedure Fullscrn;
    procedure Fullscreen renames Fullscrn;
    procedure Gammaramp (Red, Green, Blue : Gammaramp_Values_Type);
    procedure Gbegin;
    procedure Gconfig;
    procedure Configure renames Gconfig;
    function Genobj return Object;
    function Generateobject return Object renames Genobj;
    function Gentag return Tag;
    function Generatetag return Tag renames Gentag;
    function Getbackface return Boolean;
    function Getbuffer return Buffer_Mode_Type;
    function Getbutton (The_Device : Device.Device) return Button_State_Type;
    function Getcmmode return Boolean;
    function Getcolormapmode return Boolean renames Getcmmode;
    function Getcolor return Colorindex;
    procedure Getcpos (X, Y : out Screencoord);
    procedure Getcharacterposition (X, Y : out Screencoord) renames Getcpos;
    procedure Getcursor (Cursor : out Cursor_Id_Type; Visible : out Boolean);
    function Getdcm return Boolean;
    function Getdepthcuemode return Boolean renames Getdcm;
    function Getdescender return Pixels;
    subtype Device_Count_Type is Natural range 0 .. 128;
    procedure Getdev (Number_Of_Devices : Device_Count_Type;
                      Devices : out Device.Devices_Type;
                      Values : out Device.Device_Values_Type);
    procedure Getdevices (Number_Of_Devices : Device_Count_Type;
                          Devices : out Device.Devices_Type;
                          Values : out Device.Device_Values_Type)
        renames Getdev;
    procedure Getdev (Devices : out Device.Devices_Type;
                      Values : out Device.Device_Values_Type);
    procedure Getdevices (Devices : out Device.Devices_Type;
                          Values : out Device.Device_Values_Type)
        renames Getdev;
    function Getdisplaymode return Display_Mode_Type;
    function Getdrawmode return Draw_Mode_Type;
    function Getfont return Font_Id_Type;
    function Getfontencoding return String;
    function Getfonttype return Font_Type;
    function Getgdesc (Inquiry : Getgdesc_Inquiry_Type) return Integer;
    function Getgdesc (Inquiry : Getgdesc_Inquiry_Type) return Boolean;
    procedure Getgpos (X, Y, Z, W : out Coord);
    procedure Getgraphicsposition (X, Y, Z, W : out Coord) renames Getgpos;
    function Getheight return Pixels;
    function Getlsrepeat return Linestyle_Repeat_Type;
    function Getlinestylerepeat return Linestyle_Repeat_Type
        renames Getlsrepeat;
    function Getlstyle return Linestyle_Id_Type;
    function Getlinestyle return Linestyle_Id_Type renames Getlstyle;
    function Getlwidth return Pixels;
    function Getlinewidth return Pixels renames Getlwidth;
    function Getmap return Map_Id_Type;
    procedure Getmatrix (M : out Matrix);
    procedure Getmcolor (Color : Colorindex; Red, Green, Blue : out Rgb_Value);
    procedure Getmcolors (Starting, Ending : Colorindex;
                          Red, Green, Blue : out Rgb_Values);
    function Getmmode return Matrix_Mode_Type;
    function Getmatrixmode return Matrix_Mode_Type renames Getmmode;
    procedure Getnurbsproperty (Property : Nurbs_Property_Type;
                                Value : out Nurbs_Property_Value);
    function Getopenobj return Object;
    function Getopenobject return Object renames Getopenobj;
    procedure Getorigin (X, Y : out Pixels);
    function Getpattern return Pattern_Id_Type;
    function Getplanes return Bitplanes_Type;
    procedure Getscrmask (Left, Right, Bottom, Top : out Screencoord);
    procedure Getscreenmask (Left, Right, Bottom, Top : out Screencoord)
        renames Getscrmask;
    procedure Getsize (X, Y : out Pixels);
    function Getsm return Shade_Model_Type;
    function Getshademodel return Shade_Model_Type renames Getsm;
    function Getvaluator (From : Device.Device)
                         return Device.Valuator_Value_Type;
    procedure Getviewport (Left, Right, Bottom, Top : out Screencoord);
    function Getwritemask return Write_Mask_Type;
    function Getxdpy return X_Display_Pointer;
    function Getxwid return X_Window;
    function Getzbuffer return Boolean;
    procedure Gexit;
    procedure Ginit;
    procedure Initialize renames Ginit;
    procedure Greset;
    procedure Reset renames Greset;
    procedure Grgbcolor (Red, Green, Blue : out Rgb_Value);
    procedure Getrgbcolor (Red, Green, Blue : out Rgb_Value) renames Grgbcolor;
    procedure Grgbmask (Red, Green, Blue : out Rgb_Write_Mask_Type);
    procedure Getrgbmask (Red, Green, Blue : out Rgb_Write_Mask_Type)
        renames Grgbmask;
    procedure Gselect (Names : out Names_Type; Maximum_Names : Positive);
    procedure Gselect (Names : out Names_Type);
    procedure Gsync;
    procedure Sync renames Gsync;
    function Gversion return String;
    function Version return String renames Gversion;
    procedure Iconsize (X, Y : Pixels);
    procedure Icontitle (Title : String);
    procedure Initnames;
    procedure Initializenames renames Initnames;
    function Isobj (This : Object) return Boolean;
    function Isobject (This : Object) return Boolean renames Isobj;
    function Isqueued (This_Device : Device.Device) return Boolean;
    function Istag (This_Tag : Tag) return Boolean;
    procedure Keepaspect (X, Y : Integer);
    procedure Lampon (Lamps : Lamps_Type);
    procedure Lampoff (Lamps : Lamps_Type);
    procedure Lgetdepth (Near, Far : out Z_Value_Type);
    procedure Getdepth (Near, Far : out Z_Value_Type) renames Lgetdepth;
    procedure Linesmooth (Enable_Smooth_Lines : Boolean);
    procedure Linewidth (Width : Short_Pixels);
    procedure Lmbind (Target : Lm_Target_Type; Id : Lm_Id_Type);
    procedure Lmcolor (Mode : Lm_Color_Type);
    procedure Lmdef (Lm_Definition : Lm_Definition_Type;
                     Lm_Id : Lm_Id_Type;
                     Count : Short_Positive;
                     Properties : Lm_Property_List_Type);
    procedure Lmdef (Lm_Definition : Lm_Definition_Type;
                     Lm_Id : Lm_Id_Type;
                     Properties : Lm_Property_List_Type);
    procedure Loadmatrix (M : in Matrix);
    procedure Loadname (Name : Name_Type);
    procedure Loadxfont (Font : Font_Id_Type; Font_Name : String);
    procedure Logicop (Operation : Logical_Operation_Type);
    procedure Logicaloperation (Operation : Logical_Operation_Type)
        renames Logicop;
    procedure Lookat (View_X, View_Y, View_Z : Coord;
                      Point_X, Point_Y, Point_Z : Coord;
                      Twist : Angle);
    procedure Lrectread (Lower_Left_X, Lower_Left_Y : Screencoord;
                         Upper_Right_X, Upper_Right_Y : Screencoord;
                         Number_Of_Pixels : out Pixels;
                         Colors : out Packed_Rgbs_Type);
    procedure Rectangleread (Lower_Left_X, Lower_Left_Y : Screencoord;
                             Upper_Right_X, Upper_Right_Y : Screencoord;
                             Number_Of_Pixels : out Pixels;
                             Colors : out Packed_Rgbs_Type) renames Lrectread;
    procedure Lrectread (Lower_Left_X, Lower_Left_Y : Screencoord;
                         Upper_Right_X, Upper_Right_Y : Screencoord;
                         Number_Of_Pixels : out Pixels;
                         Colors : out Packed_Rgbas_Type);
    procedure Rectangleread (Lower_Left_X, Lower_Left_Y : Screencoord;
                             Upper_Right_X, Upper_Right_Y : Screencoord;
                             Number_Of_Pixels : out Pixels;
                             Colors : out Packed_Rgbas_Type) renames Lrectread;
    procedure Lrectread (Lower_Left_X, Lower_Left_Y : Screencoord;
                         Upper_Right_X, Upper_Right_Y : Screencoord;
                         Number_Of_Pixels : out Pixels;
                         Z_Values : out Z_Values_Type);
    procedure Rectangleread (Lower_Left_X, Lower_Left_Y : Screencoord;
                             Upper_Right_X, Upper_Right_Y : Screencoord;
                             Number_Of_Pixels : out Pixels;
                             Z_Values : out Z_Values_Type) renames Lrectread;
    procedure Lrectwrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                          Upper_Right_X, Upper_Right_Y : Screencoord;
                          Colors : Packed_Rgbs_Type);
    procedure Rectanglewrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                              Upper_Right_X, Upper_Right_Y : Screencoord;
                              Colors : Packed_Rgbs_Type) renames Lrectwrite;
    procedure Lrectwrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                          Upper_Right_X, Upper_Right_Y : Screencoord;
                          Colors : Packed_Rgbas_Type);
    procedure Rectanglewrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                              Upper_Right_X, Upper_Right_Y : Screencoord;
                              Colors : Packed_Rgbas_Type) renames Lrectwrite;
    procedure Lrectwrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                          Upper_Right_X, Upper_Right_Y : Screencoord;
                          Z_Values : Z_Values_Type);
    procedure Rectanglewrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                              Upper_Right_X, Upper_Right_Y : Screencoord;
                              Z_Values : Z_Values_Type) renames Lrectwrite;
    procedure Lrgbrange (Red_Min, Green_Min, Blue_Min : Rgb_Value;
                         Red_Max, Green_Max, Blue_Max : Rgb_Value;
                         Z_Near, Z_Far : Z_Value_Type);
    procedure Lsetdepth (Near, Far : in Z_Value_Type);
    procedure Lshaderange (Low, High : Colorindex; Near, Far : Z_Value_Type);
    procedure Lsrepeat (Factor : Linestyle_Repeat_Type);
    procedure Linestylerepeat (Factor : Linestyle_Repeat_Type) renames Lsrepeat;
    procedure Makeobj (The_Object : Object);
    procedure Makeobject (The_Object : Object) renames Makeobj;
    procedure Maketag (The_Tag : Tag);
    procedure Mapcolor (Color : Colorindex; Red, Green, Blue : Rgb_Value);
    procedure Mapcolors (Starting, Ending : Colorindex;
                         Red, Green, Blue : Rgb_Values);
    procedure Mapw (Viewing_Object : Object;
                    Screen_X, Screen_Y : Screencoord;
                    X1, Y1, Z1 : out Coord;
                    X2, Y2, Z2 : out Coord);
    procedure Mapw2 (Viewing_Object : Object;
                     Screen_X, Screen_Y : Screencoord;
                     X, Y : out Coord);
    procedure Maxsize (X, Y : Pixels);
    procedure Minsize (X, Y : Pixels);
    procedure Mmode (Mode : Matrix_Mode_Type);
    procedure Matrixmode (Mode : Matrix_Mode_Type) renames Mmode;
    procedure Move (X, Y, Z : Coord);
    procedure Movei (X, Y, Z : Icoord);
    procedure Move (X, Y, Z : Icoord) renames Movei;
    procedure Moves (X, Y, Z : Scoord);
    procedure Move (X, Y, Z : Scoord) renames Moves;
    procedure Move2 (X, Y : Coord);
    procedure Move (X, Y : Coord) renames Move2;
    procedure Move2i (X, Y : Icoord);
    procedure Move (X, Y : Icoord) renames Move2i;
    procedure Move2s (X, Y : Scoord);
    procedure Move (X, Y : Scoord) renames Move2s;
    procedure Multimap;
    procedure Multmatrix (M : in Matrix);
    procedure N3f (Normal : Vector_3d);
    function Newpup return Menu_Id_Type;
    function Newpopup return Menu_Id_Type renames Newpup;
    procedure Newtag (New_Tag : Tag; Old_Tag : Tag; The_Offset : Offset);
    procedure Noborder;
    procedure Noise (Valuator : Device.Device; Noise_Delta : Noise_Delta_Type);
    procedure Noport;
    procedure Normal (Normal : Vector_3d);
    procedure Nurbscurve (Knot_Count : Natural;
                          Knots : Knots_Type;
                          Control_Points : Nurbs_Control_Points_2d;
                          Order : Natural);
    procedure Nurbscurve (Knots : Knots_Type;
                          Control_Points : Nurbs_Control_Points_2d;
                          Order : Natural);
    procedure Nurbscurve (Knot_Count : Natural;
                          Knots : Knots_Type;
                          Control_Points : Nurbs_Control_Points_3d;
                          Order : Natural);
    procedure Nurbscurve (Knots : Knots_Type;
                          Control_Points : Nurbs_Control_Points_3d;
                          Order : Natural);
    procedure Nurbssurface (S_Knot_Count : Positive;
                            S_Knots : Knots_Type;
                            T_Knot_Count : Positive;
                            T_Knots : Knots_Type;
                            Control_Points : Nurbs_Control_Matrix_3d;
                            S_Order : Natural;
                            T_Order : Natural);
    procedure Nurbssurface (S_Knots : Knots_Type;
                            T_Knots : Knots_Type;
                            Control_Points : Nurbs_Control_Matrix_3d;
                            S_Order : Natural;
                            T_Order : Natural);
    procedure Nurbssurface (S_Knot_Count : Positive;
                            S_Knots : Knots_Type;
                            T_Knot_Count : Positive;
                            T_Knots : Knots_Type;
                            Control_Points : Nurbs_Control_Matrix_4d;
                            S_Order : Natural;
                            T_Order : Natural);
    procedure Nurbssurface (S_Knots : Knots_Type;
                            T_Knots : Knots_Type;
                            Control_Points : Nurbs_Control_Matrix_4d;
                            S_Order : Natural;
                            T_Order : Natural);
    procedure Objdelete (Tag1, Tag2 : Tag);
    procedure Objectdelete (Tag1, Tag2 : Tag) renames Objdelete;
    procedure Objinsert (The_Tag : Tag);
    procedure Objectinsert (The_Tag : Tag) renames Objinsert;
    procedure Objreplace (The_Tag : Tag);
    procedure Objectreplace (The_Tag : Tag) renames Objreplace;
    procedure Onemap;
    procedure Ortho (Left, Right, Bottom, Top, Near, Far : Coord);
    procedure Coordinatesystem (Left, Right, Bottom, Top, Near, Far : Coord)
        renames Ortho;
    procedure Ortho2 (Left, Right, Bottom, Top : Coord);
    procedure Coordinatesystem (Left, Right, Bottom, Top : Coord)
        renames Ortho2;
    procedure Overlay (Planes : Bitplanes_Type);
    procedure Patch (X, Y, Z : Matrix);
    procedure Patchbasis (U_Basis, V_Basis : Basis_Id_Type);
    procedure Patchcurves (U_Curves, V_Curves : Natural);
    procedure Patchprecision (U_Segments, V_Segments : Natural);
    procedure Pclos;
    procedure Polygonclose renames Pclos;
    procedure Pdr (X, Y, Z : Coord);
    procedure Polygondraw (X, Y, Z : Coord) renames Pdr;
    procedure Pdri (X, Y, Z : Icoord);
    procedure Polygondraw (X, Y, Z : Icoord) renames Pdri;
    procedure Pdrs (X, Y, Z : Scoord);
    procedure Polygondraw (X, Y, Z : Scoord) renames Pdrs;
    procedure Pdr2 (X, Y : Coord);
    procedure Polygondraw (X, Y : Coord) renames Pdr2;
    procedure Pdr2i (X, Y : Icoord);
    procedure Polygondraw (X, Y : Icoord) renames Pdr2i;
    procedure Pdr2s (X, Y : Scoord);
    procedure Polygondraw (X, Y : Scoord) renames Pdr2s;
    procedure Perspective (Field_Of_View : Angle;
                           Aspect : Aspect_Ratio_Type;
                           Near, Far : Coord);
    procedure Pick (Names : in out Names_Type);
    procedure Picksize (X, Y : Short_Pixels);
    procedure Pixmode (Mode : Pixmode_Mode_Type; Value : Integer);
    procedure Pixmode (Mode : Pixmode_Mode_Type; Value : Boolean);
    procedure Pmv (X, Y, Z : Coord);
    procedure Polygonmove (X, Y, Z : Coord) renames Pmv;
    procedure Pmvi (X, Y, Z : Icoord);
    procedure Polygonmove (X, Y, Z : Icoord) renames Pmvi;
    procedure Pmvs (X, Y, Z : Scoord);
    procedure Polygonmove (X, Y, Z : Scoord) renames Pmvs;
    procedure Pmv2 (X, Y : Coord);
    procedure Polygonmove (X, Y : Coord) renames Pmv2;
    procedure Pmv2i (X, Y : Icoord);
    procedure Polygonmove (X, Y : Icoord) renames Pmv2i;
    procedure Pmv2s (X, Y : Scoord);
    procedure Polygonmove (X, Y : Scoord) renames Pmv2s;
    procedure Pnt (X, Y, Z : Coord);
    procedure Point (X, Y, Z : Coord) renames Pnt;
    procedure Pnti (X, Y, Z : Icoord);
    procedure Point (X, Y, Z : Icoord) renames Pnti;
    procedure Pnts (X, Y, Z : Scoord);
    procedure Point (X, Y, Z : Scoord) renames Pnts;
    procedure Pnt2 (X, Y : Coord);
    procedure Point (X, Y : Coord) renames Pnt2;
    procedure Pnt2i (X, Y : Icoord);
    procedure Point (X, Y : Icoord) renames Pnt2i;
    procedure Pnt2s (X, Y : Scoord);
    procedure Point (X, Y : Scoord) renames Pnt2s;
    procedure Pntsmooth (Turn_On_Antialiasing : Boolean);
    procedure Pointsmooth (Turn_On_Antialiasing : Boolean) renames Pntsmooth;
    procedure Polarview (Distance : Coord;
                         Azimuth : Angle;
                         Incidence : Angle;
                         Twist : Angle);
    procedure Polf (N : Natural; Vertices : Vectors_3d);
    procedure Polf (Vertices : Vectors_3d);
    procedure Filledpolygon (N : Natural; Vertices : Vectors_3d) renames Polf;
    procedure Filledpolygon (Vertices : Vectors_3d) renames Polf;
    procedure Polfs (N : Natural; Vertices : Svectors_3d);
    procedure Polfs (Vertices : Svectors_3d);
    procedure Filledpolygon (N : Natural; Vertices : Svectors_3d) renames Polfs;
    procedure Filledpolygon (Vertices : Svectors_3d) renames Polfs;
    procedure Polfi (N : Natural; Vertices : Ivectors_3d);
    procedure Polfi (Vertices : Ivectors_3d);
    procedure Filledpolygon (N : Natural; Vertices : Ivectors_3d) renames Polfi;
    procedure Filledpolygon (Vertices : Ivectors_3d) renames Polfi;
    procedure Polf2 (N : Natural; Vertices : Vectors_2d);
    procedure Polf2 (Vertices : Vectors_2d);
    procedure Filledpolygon (N : Natural; Vertices : Vectors_2d) renames Polf2;
    procedure Filledpolygon (Vertices : Vectors_2d) renames Polf2;
    procedure Polf2s (N : Natural; Vertices : Svectors_2d);
    procedure Polf2s (Vertices : Svectors_2d);
    procedure Filledpolygon (N : Natural; Vertices : Svectors_2d)
        renames Polf2s;
    procedure Filledpolygon (Vertices : Svectors_2d) renames Polf2s;
    procedure Polf2i (N : Natural; Vertices : Ivectors_2d);
    procedure Polf2i (Vertices : Ivectors_2d);
    procedure Filledpolygon (N : Natural; Vertices : Ivectors_2d)
        renames Polf2i;
    procedure Filledpolygon (Vertices : Ivectors_2d) renames Polf2i;
    procedure Poly (N : Natural; Vertices : Vectors_3d);
    procedure Poly (Vertices : Vectors_3d);
    procedure Polygon (N : Natural; Vertices : Vectors_3d) renames Poly;
    procedure Polygon (Vertices : Vectors_3d) renames Poly;
    procedure Polys (N : Natural; Vertices : Svectors_3d);
    procedure Polys (Vertices : Svectors_3d);
    procedure Polygon (N : Natural; Vertices : Svectors_3d) renames Polys;
    procedure Polygon (Vertices : Svectors_3d) renames Polys;
    procedure Polyi (N : Natural; Vertices : Ivectors_3d);
    procedure Polyi (Vertices : Ivectors_3d);
    procedure Polygon (N : Natural; Vertices : Ivectors_3d) renames Polyi;
    procedure Polygon (Vertices : Ivectors_3d) renames Polyi;
    procedure Poly2 (N : Natural; Vertices : Vectors_2d);
    procedure Poly2 (Vertices : Vectors_2d);
    procedure Polygon (N : Natural; Vertices : Vectors_2d) renames Poly2;
    procedure Polygon (Vertices : Vectors_2d) renames Poly2;
    procedure Poly2s (N : Natural; Vertices : Svectors_2d);
    procedure Poly2s (Vertices : Svectors_2d);
    procedure Polygon (N : Natural; Vertices : Svectors_2d) renames Poly2s;
    procedure Polygon (Vertices : Svectors_2d) renames Poly2s;
    procedure Poly2i (N : Natural; Vertices : Ivectors_2d);
    procedure Poly2i (Vertices : Ivectors_2d);
    procedure Polygon (N : Natural; Vertices : Ivectors_2d) renames Poly2i;
    procedure Polygon (Vertices : Ivectors_2d) renames Poly2i;
    procedure Popattributes;
    procedure Popmatrix;
    procedure Popname;
    procedure Popviewport;
    procedure Prefposition (X1, X2, Y1, Y2 : Pixels);
    procedure Preferredposition (X1, X2, Y1, Y2 : Pixels) renames Prefposition;
    procedure Prefsize (X, Y : Pixels);
    procedure Preferredsize (X, Y : Pixels) renames Prefsize;
    procedure Pushattributes;
    procedure Pushmatrix;
    procedure Pushname (Name : Name_Type);
    procedure Pushviewport;
    procedure Pwlcurve (Number_Of_Points : Positive;
                        Points : Nurbs_Control_Points_2d);
    procedure Piecewiselinearcurve
                 (Number_Of_Points : Positive; Points : Nurbs_Control_Points_2d)
        renames Pwlcurve;
    procedure Pwlcurve (Points : Nurbs_Control_Points_2d);
    procedure Piecewiselinearcurve (Points : Nurbs_Control_Points_2d)
        renames Pwlcurve;
    procedure Qdevice (The_Device : Device.Device);
    procedure Queuedevice (The_Device : Device.Device) renames Qdevice;
    procedure Qenter (The_Device : Device.Device;
                      Value : Device.Device_Value_Type);
    procedure Queueenter
                 (The_Device : Device.Device; Value : Device.Device_Value_Type)
        renames Qenter;
    procedure Qread (The_Device : out Device.Device;
                     Value : out Device.Device_Value_Type);
    procedure Queueread (The_Device : out Device.Device;
                         Value : out Device.Device_Value_Type) renames Qread;
    procedure Qreset;
    procedure Queuereset renames Qreset;
    function Qtest return Device.Device;
    function Queuetest return Device.Device renames Qtest;
    procedure Rcrv (Control_Points : Rationalcurvecontrol4_Type);
    procedure Rcrvn (N : Natural; Control_Points : Rationalcurvecontrol_Type);
    procedure Rationalcurve
                 (N : Natural; Control_Points : Rationalcurvecontrol_Type)
        renames Rcrvn;
    procedure Rationalcurve (Control_Points : Rationalcurvecontrol_Type);
    procedure Rdr (X, Y, Z : Coord);
    procedure Relativedraw (X, Y, Z : Coord) renames Rdr;
    procedure Rdri (X, Y, Z : Icoord);
    procedure Relativedraw (X, Y, Z : Icoord) renames Rdri;
    procedure Rdrs (X, Y, Z : Scoord);
    procedure Relativedraw (X, Y, Z : Scoord) renames Rdrs;
    procedure Rdr2 (X, Y : Coord);
    procedure Relativedraw (X, Y : Coord) renames Rdr2;
    procedure Rdr2i (X, Y : Icoord);
    procedure Relativedraw (X, Y : Icoord) renames Rdr2i;
    procedure Rdr2s (X, Y : Scoord);
    procedure Relativedraw (X, Y : Scoord) renames Rdr2s;
    procedure Readpixels (Read_This_Many : Short_Natural;
                          Colors : out Colorindices;
                          Number_Of_Pixels : out Integer);
    procedure Readpixels (Colors : out Colorindices;
                          Number_Of_Pixels : out Integer);
    procedure Readrgb (Read_This_Many : Short_Natural;
                       Red, Green, Blue : out Rgbvalues;
                       Number_Of_Pixels : out Integer);
    procedure Readrgb (Red, Green, Blue : out Rgbvalues;
                       Number_Of_Pixels : out Integer);
    procedure Readsource (Source : Readsource_Type);
    procedure Rect (X1, Y1, X2, Y2 : Coord);
    procedure Rectangle (X1, Y1, X2, Y2 : Coord) renames Rect;
    procedure Recti (X1, Y1, X2, Y2 : Icoord);
    procedure Rectangle (X1, Y1, X2, Y2 : Icoord) renames Recti;
    procedure Rects (X1, Y1, X2, Y2 : Scoord);
    procedure Rectangle (X1, Y1, X2, Y2 : Scoord) renames Rects;
    procedure Rectf (X1, Y1, X2, Y2 : Coord);
    procedure Filledrectangle (X1, Y1, X2, Y2 : Coord) renames Rectf;
    procedure Rectfi (X1, Y1, X2, Y2 : Icoord);
    procedure Filledrectangle (X1, Y1, X2, Y2 : Icoord) renames Rectfi;
    procedure Rectfs (X1, Y1, X2, Y2 : Scoord);
    procedure Filledrectangle (X1, Y1, X2, Y2 : Scoord) renames Rectfs;
    procedure Rectcopy (Lower_Left_X, Lower_Left_Y : Screencoord;
                        Upper_Right_X, Upper_Right_Y : Screencoord;
                        X, Y : Screencoord);
    procedure Rectanglecopy (Lower_Left_X, Lower_Left_Y : Screencoord;
                             Upper_Right_X, Upper_Right_Y : Screencoord;
                             X, Y : Screencoord) renames Rectcopy;
    procedure Rectread (Lower_Left_X, Lower_Left_Y : Screencoord;
                        Upper_Right_X, Upper_Right_Y : Screencoord;
                        Number_Of_Pixels : out Pixels;
                        Colors : out Colorindices);
    procedure Rectangleread (Lower_Left_X, Lower_Left_Y : Screencoord;
                             Upper_Right_X, Upper_Right_Y : Screencoord;
                             Number_Of_Pixels : out Pixels;
                             Colors : out Colorindices) renames Rectread;
    procedure Rectwrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                         Upper_Right_X, Upper_Right_Y : Screencoord;
                         Colors : Colorindices);
    procedure Rectanglewrite (Lower_Left_X, Lower_Left_Y : Screencoord;
                              Upper_Right_X, Upper_Right_Y : Screencoord;
                              Colors : Colorindices) renames Rectwrite;
    procedure Rectzoom (X_Factor, Y_Factor : Zoom_Factor_Type);
    procedure Rectanglezoom (X_Factor, Y_Factor : Zoom_Factor_Type)
        renames Rectzoom;
    procedure Reshapeviewport;
    procedure Rgbcolor (Red, Green, Blue : Rgb_Value);
    pragma Interface (C, Rgbcolor);
    pragma Interface_Information (Rgbcolor, ".RGBcolor");
    procedure Rgbcolor (Color : Rgb_Color_Type);
    procedure Rgbmode;
    procedure Rgbwritemask (Red, Green, Blue : Rgb_Write_Mask_Type);
    procedure Ringbell;
    procedure Rmv (X, Y, Z : Coord);
    procedure Relativemove (X, Y, Z : Coord) renames Rmv;
    procedure Rmvi (X, Y, Z : Icoord);
    procedure Relativemove (X, Y, Z : Icoord) renames Rmvi;
    procedure Rmvs (X, Y, Z : Scoord);
    procedure Relativemove (X, Y, Z : Scoord) renames Rmvs;
    procedure Rmv2 (X, Y : Coord);
    procedure Relativemove (X, Y : Coord) renames Rmv2;
    procedure Rmv2i (X, Y : Icoord);
    procedure Relativemove (X, Y : Icoord) renames Rmv2i;
    procedure Rmv2s (X, Y : Scoord);
    procedure Relativemove (X, Y : Scoord) renames Rmv2s;
    procedure Rot (Amount : Floatangle; Axis : Axis_Type);
    procedure Rotate (Amount : Floatangle; Axis : Axis_Type) renames Rot;
    procedure Rotate (Amount : Angle; Axis : Axis_Type);
    procedure Rpatch (X, Y, Z, W : Matrix);
    procedure Rationalpatch (X, Y, Z, W : Matrix) renames Rpatch;
    procedure Rpdr (X, Y, Z : Coord);
    procedure Relativepolygondraw (X, Y, Z : Coord) renames Rpdr;
    procedure Rpdri (X, Y, Z : Icoord);
    procedure Relativepolygondraw (X, Y, Z : Icoord) renames Rpdri;
    procedure Rpdrs (X, Y, Z : Scoord);
    procedure Relativepolygondraw (X, Y, Z : Scoord) renames Rpdrs;
    procedure Rpdr2 (X, Y : Coord);
    procedure Relativepolygondraw (X, Y : Coord) renames Rpdr2;
    procedure Rpdr2i (X, Y : Icoord);
    procedure Relativepolygondraw (X, Y : Icoord) renames Rpdr2i;
    procedure Rpdr2s (X, Y : Scoord);
    procedure Relativepolygondraw (X, Y : Scoord) renames Rpdr2s;
    procedure Rpmv (X, Y, Z : Coord);
    procedure Relativepolygonmove (X, Y, Z : Coord) renames Rpmv;
    procedure Rpmvi (X, Y, Z : Icoord);
    procedure Relativepolygonmove (X, Y, Z : Icoord) renames Rpmvi;
    procedure Rpmvs (X, Y, Z : Scoord);
    procedure Relativepolygonmove (X, Y, Z : Scoord) renames Rpmvs;
    procedure Rpmv2 (X, Y : Coord);
    procedure Relativepolygonmove (X, Y : Coord) renames Rpmv2;
    procedure Rpmv2i (X, Y : Icoord);
    procedure Relativepolygonmove (X, Y : Icoord) renames Rpmv2i;
    procedure Rpmv2s (X, Y : Scoord);
    procedure Relativepolygonmove (X, Y : Scoord) renames Rpmv2s;
    procedure Sbox (X1, Y1, X2, Y2 : Coord);
    procedure Screenbox (X1, Y1, X2, Y2 : Coord) renames Sbox;
    procedure Sboxi (X1, Y1, X2, Y2 : Icoord);
    procedure Screenbox (X1, Y1, X2, Y2 : Icoord) renames Sboxi;
    procedure Sboxs (X1, Y1, X2, Y2 : Scoord);
    procedure Screenbox (X1, Y1, X2, Y2 : Scoord) renames Sboxs;
    procedure Sboxf (X1, Y1, X2, Y2 : Coord);
    procedure Filledscreenbox (X1, Y1, X2, Y2 : Coord) renames Sboxf;
    procedure Sboxfi (X1, Y1, X2, Y2 : Icoord);
    procedure Filledscreenbox (X1, Y1, X2, Y2 : Icoord) renames Sboxfi;
    procedure Sboxfs (X1, Y1, X2, Y2 : Scoord);
    procedure Filledscreenbox (X1, Y1, X2, Y2 : Scoord) renames Sboxfs;
    procedure Scale (X, Y, Z : Scale_Factor);
    procedure Screenspace;
    procedure Scrmask (Left, Right, Bottom, Top : Screencoord);
    procedure Screenmask (Left, Right, Bottom, Top : Screencoord)
        renames Scrmask;
    procedure Setbell (Bell_Sound : Bell_Sound_Type);
    procedure Setcursor (Cursor : Cursor_Id_Type;
                         Color : Colorindex;  
                         Writemask : Colorindex  
                         );
    pragma Interface (C, Setcursor);
    procedure Setcursor (Cursor : Cursor_Id_Type);
    procedure Setdblights (Lights : Dial_And_Box_Lights_Type);
    procedure Setdialandboxlights (Lights : Dial_And_Box_Lights_Type)
        renames Setdblights;
    procedure Setlinestyle (Linestyle : Linestyle_Id_Type);
    procedure Setmap (Map : Map_Id_Type);
    procedure Setnurbsproperty (Property : Nurbs_Property_Type;
                                Value : Nurbs_Property_Value);
    procedure Setpattern (Pattern : Pattern_Id_Type);
    procedure Setpup (Menu : Menu_Id_Type;
                      Item : Menu_Item_Type;
                      Mode : Pop_Up_Enable_Type);
    procedure Setpopup (Menu : Menu_Id_Type;
                        Item : Menu_Item_Type;
                        Mode : Pop_Up_Enable_Type) renames Setpup;
    procedure Setvaluator (The_Device : Device.Device;
                           Initial, Minimum, Maximum :
                              Device.Valuator_Value_Type);
    procedure Shademodel (Model : Shade_Model_Type);
    procedure Singlebuffer;
    procedure Splf (N : Natural; Vertices : Vectors_3d; Colors : Colorindices);
    procedure Splf (Vertices : Vectors_3d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Vectors_3d; Colors : Colorindices)
        renames Splf;
    procedure Shadedfilledpolygon (Vertices : Vectors_3d; Colors : Colorindices)
        renames Splf;
    procedure Splfs (N : Natural;
                     Vertices : Svectors_3d;
                     Colors : Colorindices);
    procedure Splfs (Vertices : Svectors_3d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Svectors_3d; Colors : Colorindices)
        renames Splfs;
    procedure Shadedfilledpolygon
                 (Vertices : Svectors_3d; Colors : Colorindices) renames Splfs;
    procedure Splfi (N : Natural;
                     Vertices : Ivectors_3d;
                     Colors : Colorindices);
    procedure Splfi (Vertices : Ivectors_3d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Ivectors_3d; Colors : Colorindices)
        renames Splfi;
    procedure Shadedfilledpolygon
                 (Vertices : Ivectors_3d; Colors : Colorindices) renames Splfi;
    procedure Splf2 (N : Natural; Vertices : Vectors_2d; Colors : Colorindices);
    procedure Splf2 (Vertices : Vectors_2d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Vectors_2d; Colors : Colorindices)
        renames Splf2;
    procedure Shadedfilledpolygon (Vertices : Vectors_2d; Colors : Colorindices)
        renames Splf2;
    procedure Splf2s (N : Natural;
                      Vertices : Svectors_2d;
                      Colors : Colorindices);
    procedure Splf2s (Vertices : Svectors_2d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Svectors_2d; Colors : Colorindices)
        renames Splf2s;
    procedure Shadedfilledpolygon
                 (Vertices : Svectors_2d; Colors : Colorindices) renames Splf2s;
    procedure Splf2i (N : Natural;
                      Vertices : Ivectors_2d;
                      Colors : Colorindices);
    procedure Splf2i (Vertices : Ivectors_2d; Colors : Colorindices);
    procedure Shadedfilledpolygon
                 (N : Natural; Vertices : Ivectors_2d; Colors : Colorindices)
        renames Splf2i;
    procedure Shadedfilledpolygon
                 (Vertices : Ivectors_2d; Colors : Colorindices) renames Splf2i;
    procedure Stepunit (X, Y : Pixels);
    function Strwidth (S : String) return Pixels;
    function Stringwidth (S : String) return Pixels renames Strwidth;
    procedure Subpixel (Smooth : Boolean);
    procedure Swapbuffers;
    procedure Swapinterval (Count : Vertical_Retraces_Type);
    procedure Swaptmesh;
    procedure Swaptrianglemesh renames Swaptmesh;
    function Swinopen (Parent : Window_Id_Type) return Window_Id_Type;
    function Subwindowopen (Parent : Window_Id_Type) return Window_Id_Type
        renames Swinopen;
    procedure Textport (Left, Right, Bottom, Top : Screencoord);
    procedure Tie (Button : Device.Device;
                   Valuator1, Valuator2 : Device.Device := Device.Nulldev);
    procedure Tpoff;
    procedure Textportoff renames Tpoff;
    procedure Tpon;
    procedure Textporton renames Tpon;
    procedure Translate (X, Y, Z : Coord);
    procedure Underlay (Planes : Bitplanes_Type);
    procedure Unqdevice (The_Device : Device.Device);
    procedure Unqueuedevice (The_Device : Device.Device) renames Unqdevice;
    procedure V2s (Vertex : Svector_2d);
    procedure Vertex (Vertex : Svector_2d) renames V2s;
    procedure V2i (Vertex : Ivector_2d);
    procedure Vertex (Vertex : Ivector_2d) renames V2i;
    procedure V2f (Vertex : Vector_2d);
    procedure Vertex (Vertex : Vector_2d) renames V2f;
    procedure V2d (Vertex : Dvector_2d);
    procedure Vertex (Vertex : Dvector_2d) renames V2d;
    procedure V3s (Vertex : Svector_3d);
    procedure Vertex (Vertex : Svector_3d) renames V3s;
    procedure V3i (Vertex : Ivector_3d);
    procedure Vertex (Vertex : Ivector_3d) renames V3i;
    procedure V3f (Vertex : Vector_3d);
    procedure Vertex (Vertex : Vector_3d) renames V3f;
    procedure V3d (Vertex : Dvector_3d);
    procedure Vertex (Vertex : Dvector_3d) renames V3d;
    procedure V4s (Vertex : Svector_4d);
    procedure Vertex (Vertex : Svector_4d) renames V4s;
    procedure V4i (Vertex : Ivector_4d);
    procedure Vertex (Vertex : Ivector_4d) renames V4i;
    procedure V4f (Vertex : Vector_4d);
    procedure Vertex (Vertex : Vector_4d) renames V4f;
    procedure V4d (Vertex : Dvector_4d);
    procedure Vertex (Vertex : Dvector_4d) renames V4d;
    procedure Viewport (Left, Right, Bottom, Top : Screencoord);
    procedure Winclose (Window : Window_Id_Type);
    procedure Windowclose (Window : Window_Id_Type) renames Winclose;
    procedure Winconstraints;
    procedure Windowconstraints renames Winconstraints;
    function Windepth (Window : Window_Id_Type) return Integer;
    function Windowdepth (Window : Window_Id_Type) return Integer
        renames Windepth;
    procedure Window (Left, Right, Bottom, Top, Near, Far : Coord);
    function Winget return Window_Id_Type;
    function Windowget return Window_Id_Type renames Winget;
    procedure Winmove (X, Y : Pixels);
    procedure Windowmove (X, Y : Pixels) renames Winmove;
    function Winopen (Name : String) return Window_Id_Type;
    function Windowopen (Name : String) return Window_Id_Type renames Winopen;
    procedure Winpop;
    procedure Windowpop renames Winpop;
    procedure Winposition (X1, X2, Y1, Y2 : Pixels);
    procedure Windowposition (X1, X2, Y1, Y2 : Pixels) renames Winposition;
    procedure Winpush;
    procedure Windowpush renames Winpush;
    procedure Winset (Window : Window_Id_Type);
    procedure Windowset (Window : Window_Id_Type) renames Winset;
    procedure Wintitle (Title : String);
    procedure Windowtitle (Title : String) renames Wintitle;
    function Winx (Dpy : X_Display_Pointer; Xid : X_Window)
                  return Window_Id_Type;
    procedure Writemask (Mask : Write_Mask_Type);
    pragma Interface (C, Writemask);
    procedure Wmpack (Mask : Packed_Rgba_Write_Masks_Type);
    procedure Writemask (Mask : Packed_Rgba_Write_Masks_Type) renames Wmpack;
    procedure Writepixels (Write_This_Many : Short_Natural;
                           Colors : Colorindices);
    procedure Writepixels (Colors : Colorindices);
    procedure Writergb (Write_This_Many : Short_Natural;
                        Red, Green, Blue : Rgbvalues);
    procedure Writergb (Red, Green, Blue : Rgbvalues);
    procedure Zbuffer (Enable_Z_Buffer : Boolean);
    procedure Zclear;
    procedure Zdraw (Enable_Z_Buffer_Drawing : Boolean);
    procedure Zfunction (F : Z_Function_Type);
    procedure Zsource (F : Z_Source_Type);
    procedure Zwritemask (Mask : Z_Write_Mask_Type);
private
    pragma Interface (C, Arc);
    pragma Interface (C, Attachcursor);
    pragma Interface (C, Backbuffer);
    pragma Interface (C, Backface);
    pragma Interface (C, Bgnclosedline);
    pragma Interface (C, Bgnline);
    pragma Interface (C, Bgnpoint);
    pragma Interface (C, Bgnpolygon);
    pragma Interface (C, Bgnsurface);
    pragma Interface (C, Bgntmesh);
    pragma Interface (C, Bgntrim);
    pragma Interface (C, Blankscreen);
    pragma Interface (C, Blanktime);
    pragma Interface (C, Blendfunction);
    pragma Interface (C, Blink);
    pragma Interface (C, Boundingbox);
    pragma Interface (C, Callobj);
    pragma Interface (C, Chunksize);
    pragma Interface (C, Circle);
    pragma Interface (C, Clkoff);
    pragma Interface (C, Clkon);
    pragma Interface (C, Closeobj);
    pragma Interface (C, Cmode);
    pragma Interface (C, Compactify);
    pragma Interface (C, Concave);
    pragma Interface (C, Curorigin);
    pragma Interface (C, Cursoff);
    pragma Interface (C, Curson);
    pragma Interface (C, Curstype);
    pragma Interface (C, Curvebasis);
    pragma Interface (C, Curveit);
    pragma Interface (C, Curveprecision);
    pragma Interface (C, Cyclemap);
    pragma Interface (C, Defbasis);
    pragma Interface (C, Deflinestyle);
    pragma Interface (C, Delobj);
    pragma Interface (C, Deltag);
    pragma Interface (C, Depthcue);
    pragma Interface (C, Dopup);
    pragma Interface (C, Doublebuffer);
    pragma Interface (C, Draw);
    pragma Interface (C, Drawmode);
    pragma Interface (C, Editobj);
    pragma Interface (C, Endclosedline);
    pragma Interface (C, Endfullscreen);
    pragma Interface (C, Endline);
    pragma Interface (C, Endpoint);
    pragma Interface (C, Endpolygon);
    pragma Interface (C, Endsurface);
    pragma Interface (C, Endtmesh);
    pragma Interface (C, Endtrim);
    pragma Interface (C, Finish);
    pragma Interface (C, Filledarc);
    pragma Interface (C, Font);
    pragma Interface (C, Filledcircle);
    pragma Interface (C, Foreground);
    pragma Interface (C, Freepup);
    pragma Interface (C, Frontbuffer);
    pragma Interface (C, Frontface);
    pragma Interface (C, Fudge);
    pragma Interface (C, Fullscrn);
    pragma Interface (C, Gbegin);
    pragma Interface (C, Gconfig);
    pragma Interface (C, Genobj);
    pragma Interface (C, Gentag);
    pragma Interface (C, Getbackface);
    pragma Interface (C, Getbuffer);
    pragma Interface (C, Getbutton);
    pragma Interface (C, Getcmmode);
    pragma Interface (C, Getcolor);
    pragma Interface (C, Getdcm);
    pragma Interface (C, Getdescender);
    pragma Interface (C, Getdisplaymode);
    pragma Interface (C, Getdrawmode);
    pragma Interface (C, Getfont);
    pragma Interface (C, Getfonttype);
    function Integer_Getgdesc (Inquiry : Getgdesc_Inquiry_Type) return Integer
        renames Getgdesc;
    pragma Interface (C, Integer_Getgdesc);
    pragma Interface_Information (Integer_Getgdesc, ".getgdesc");
    function Boolean_Getgdesc (Inquiry : Getgdesc_Inquiry_Type) return Boolean
        renames Getgdesc;
    pragma Interface (C, Boolean_Getgdesc);
    pragma Interface_Information (Boolean_Getgdesc, ".getgdesc");
    pragma Interface (C, Getheight);
    pragma Interface (C, Getlsrepeat);
    pragma Interface (C, Getlstyle);
    pragma Interface (C, Getlwidth);
    pragma Interface (C, Getmap);
    pragma Interface (C, Getmmode);
    pragma Interface (C, Getopenobj);
    pragma Interface (C, Getpattern);
    pragma Interface (C, Getplanes);
    pragma Interface (C, Getsm);
    pragma Interface (C, Getvaluator);
    pragma Interface (C, Getwritemask);
    pragma Interface (C, Getxdpy);
    pragma Interface_Information (Getxdpy, ".getXdpy");
    pragma Interface (C, Getxwid);
    pragma Interface_Information (Getxwid, ".getXwid");
    pragma Interface (C, Getzbuffer);
    pragma Interface (C, Gexit);
    pragma Interface (C, Ginit);
    pragma Interface (C, Greset);
    pragma Interface (C, Gsync);
    pragma Interface (C, Iconsize);
    pragma Interface (C, Initnames);
    pragma Interface (C, Isobj);
    pragma Interface (C, Isqueued);
    pragma Interface (C, Istag);
    pragma Interface (C, Keepaspect);
    pragma Interface (C, Lrgbrange);
    pragma Interface_Information (Lrgbrange, ".lRGBrange");
    pragma Interface (C, Lampoff);
    pragma Interface (C, Lampon);
    pragma Interface (C, Lsetdepth);
    pragma Interface (C, Linesmooth);
    pragma Interface (C, Linewidth);
    pragma Interface (C, Lmbind);
    pragma Interface (C, Lmcolor);
    pragma Interface (C, Logicop);
    pragma Interface (C, Loadname);
    pragma Interface (C, Lookat);
    pragma Interface (C, Lshaderange);
    pragma Interface (C, Lsrepeat);
    pragma Interface (C, Makeobj);
    pragma Interface (C, Maketag);
    pragma Interface (C, Mapcolor);
    pragma Interface (C, Maxsize);
    pragma Interface (C, Minsize);
    pragma Interface (C, Mmode);
    pragma Interface (C, Move);
    pragma Interface (C, Multimap);
    pragma Interface (C, Newpup);
    pragma Interface (C, Newtag);
    pragma Interface (C, Noborder);
    pragma Interface (C, Noise);
    pragma Interface (C, Noport);
    pragma Interface (C, Objdelete);
    pragma Interface (C, Objinsert);
    pragma Interface (C, Objreplace);
    pragma Interface (C, Onemap);
    pragma Interface (C, Ortho);
    pragma Interface (C, Ortho2);
    pragma Interface (C, Overlay);
    pragma Interface (C, Patchbasis);
    pragma Interface (C, Patchcurves);
    pragma Interface (C, Patchprecision);
    pragma Interface (C, Pclos);
    pragma Interface (C, Popattributes);
    pragma Interface (C, Polygondraw);
    pragma Interface (C, Pmv);
    pragma Interface (C, Pmvi);
    pragma Interface (C, Pmvs);
    pragma Interface (C, Pmv2);
    pragma Interface (C, Pmv2i);
    pragma Interface (C, Pmv2s);
    pragma Interface (C, Point);
    pragma Interface (C, Popmatrix);
    pragma Interface (C, Popname);
    pragma Interface (C, Popviewport);
    pragma Interface (C, Prefposition);
    pragma Interface (C, Prefsize);
    pragma Interface (C, Pushattributes);
    pragma Interface (C, Pushmatrix);
    pragma Interface (C, Pushviewport);
    pragma Interface (C, Qreset);
    pragma Interface (C, Rect);
    pragma Interface (C, Recti);
    pragma Interface (C, Rects);
    pragma Interface (C, Rectf);
    pragma Interface (C, Rectfi);
    pragma Interface (C, Rectfs);
    pragma Interface (C, Relativedraw);
    pragma Interface (C, Relativemove);
    pragma Interface (C, Relativepolygondraw);
    pragma Interface (C, Relativepolygonmove);
    pragma Interface (C, Reshapeviewport);
    pragma Interface (C, Rgbmode);
    pragma Interface_Information (Rgbmode, ".RGBmode");
    pragma Interface (C, Rgbwritemask);
    pragma Interface_Information (Rgbwritemask, ".RGBwritemask");
    pragma Interface (C, Ringbell);
    pragma Interface (C, Rotate);
    pragma Interface (C, Rot);
    pragma Interface (C, Setdblights);
    pragma Interface (C, Settextposition);
    pragma Interface (C, Screenspace);
    pragma Interface (C, Scale);
    pragma Interface (C, Setbell);
    pragma Interface (C, Singlebuffer);
    pragma Interface (C, Swapbuffers);
    pragma Interface (C, Swaptmesh);
    pragma Interface (C, Tpoff);
    pragma Interface (C, Tpon);
    pragma Interface (C, Translate);
    pragma Interface (C, Winpop);
    pragma Interface (C, Winconstraints);
    pragma Interface (C, Winpush);
    pragma Interface (C, Zbuffer);
    pragma Interface (C, Zclear);
    pragma Interface (C, Perspective);
    pragma Interface (C, Picksize);
    procedure Integer_Pixmode (Mode : Pixmode_Mode_Type; Value : Integer)
        renames Pixmode;
    pragma Interface (C, Integer_Pixmode);
    pragma Interface_Information (Integer_Pixmode, ".pixmode");
    procedure Boolean_Pixmode (Mode : Pixmode_Mode_Type; Value : Boolean)
        renames Pixmode;
    pragma Interface (C, Boolean_Pixmode);
    pragma Interface_Information (Boolean_Pixmode, ".pixmode");
    pragma Interface (C, Pntsmooth);
    pragma Interface (C, Polarview);
    pragma Interface (C, Pushname);
    pragma Interface (C, Qdevice);
    pragma Interface (C, Qenter);
    pragma Interface (C, Qtest);
    pragma Interface (C, Readsource);
    pragma Interface (C, Rectcopy);
    pragma Interface (C, Rectzoom);
    pragma Interface (C, Sbox);
    pragma Interface (C, Sboxi);
    pragma Interface (C, Sboxs);
    pragma Interface (C, Sboxf);
    pragma Interface (C, Sboxfi);
    pragma Interface (C, Sboxfs);
    pragma Interface (C, Setlinestyle);
    pragma Interface (C, Setmap);
    pragma Interface (C, Setpup);
    pragma Interface (C, Setvaluator);
    pragma Interface (C, Shademodel);
    pragma Interface (C, Scrmask);
    pragma Interface (C, Setpattern);
    pragma Interface (C, Subpixel);
    pragma Interface (C, Stepunit);
    pragma Interface (C, Swinopen);
    pragma Interface (C, Textport);
    pragma Interface (C, Tie);
    pragma Interface (C, Underlay);
    pragma Interface (C, Unqdevice);
    pragma Interface (C, Swapinterval);
    pragma Interface (C, Winclose);
    pragma Interface (C, Winx);
    pragma Interface (C, Viewport);
    pragma Interface (C, Windepth);
    pragma Interface (C, Window);
    pragma Interface (C, Winget);
    pragma Interface (C, Winmove);
    pragma Interface (C, Winset);
    pragma Interface (C, Winposition);
    pragma Interface (C, Zdraw);
    pragma Interface (C, Zfunction);
    pragma Interface (C, Zsource);
    pragma Interface (C, Setnurbsproperty);
    pragma Interface (C, Zwritemask);
end Gl;

E3 Meta Data

    nblk1=55
    nid=0
    hdr6=aa
        [0x00] rec0=18 rec1=00 rec2=01 rec3=05e
        [0x01] rec0=12 rec1=00 rec2=02 rec3=054
        [0x02] rec0=17 rec1=00 rec2=03 rec3=058
        [0x03] rec0=10 rec1=00 rec2=04 rec3=05e
        [0x04] rec0=12 rec1=00 rec2=05 rec3=076
        [0x05] rec0=15 rec1=00 rec2=06 rec3=008
        [0x06] rec0=14 rec1=00 rec2=07 rec3=056
        [0x07] rec0=15 rec1=00 rec2=08 rec3=02c
        [0x08] rec0=14 rec1=00 rec2=09 rec3=01e
        [0x09] rec0=13 rec1=00 rec2=0a rec3=00c
        [0x0a] rec0=12 rec1=00 rec2=0b rec3=022
        [0x0b] rec0=11 rec1=00 rec2=0c rec3=004
        [0x0c] rec0=11 rec1=00 rec2=0d rec3=010
        [0x0d] rec0=0e rec1=00 rec2=0e rec3=082
        [0x0e] rec0=12 rec1=00 rec2=0f rec3=014
        [0x0f] rec0=15 rec1=00 rec2=10 rec3=020
        [0x10] rec0=16 rec1=00 rec2=11 rec3=072
        [0x11] rec0=1a rec1=00 rec2=12 rec3=028
        [0x12] rec0=13 rec1=00 rec2=13 rec3=032
        [0x13] rec0=11 rec1=00 rec2=14 rec3=06c
        [0x14] rec0=11 rec1=00 rec2=15 rec3=00c
        [0x15] rec0=10 rec1=00 rec2=16 rec3=01e
        [0x16] rec0=17 rec1=00 rec2=17 rec3=02e
        [0x17] rec0=18 rec1=00 rec2=18 rec3=018
        [0x18] rec0=14 rec1=00 rec2=19 rec3=046
        [0x19] rec0=11 rec1=00 rec2=1a rec3=04c
        [0x1a] rec0=15 rec1=00 rec2=1b rec3=066
        [0x1b] rec0=13 rec1=00 rec2=1c rec3=06e
        [0x1c] rec0=12 rec1=00 rec2=1d rec3=068
        [0x1d] rec0=16 rec1=00 rec2=1e rec3=054
        [0x1e] rec0=14 rec1=00 rec2=1f rec3=00e
        [0x1f] rec0=12 rec1=00 rec2=20 rec3=02e
        [0x20] rec0=13 rec1=00 rec2=21 rec3=022
        [0x21] rec0=10 rec1=00 rec2=22 rec3=086
        [0x22] rec0=13 rec1=00 rec2=23 rec3=006
        [0x23] rec0=17 rec1=00 rec2=24 rec3=020
        [0x24] rec0=15 rec1=00 rec2=25 rec3=09a
        [0x25] rec0=12 rec1=00 rec2=26 rec3=05c
        [0x26] rec0=13 rec1=00 rec2=27 rec3=02e
        [0x27] rec0=11 rec1=00 rec2=28 rec3=08c
        [0x28] rec0=15 rec1=00 rec2=29 rec3=026
        [0x29] rec0=14 rec1=00 rec2=2a rec3=068
        [0x2a] rec0=13 rec1=00 rec2=2b rec3=032
        [0x2b] rec0=0f rec1=00 rec2=2c rec3=080
        [0x2c] rec0=0f rec1=00 rec2=2d rec3=058
        [0x2d] rec0=0e rec1=00 rec2=2e rec3=068
        [0x2e] rec0=12 rec1=00 rec2=2f rec3=004
        [0x2f] rec0=15 rec1=00 rec2=30 rec3=072
        [0x30] rec0=14 rec1=00 rec2=31 rec3=010
        [0x31] rec0=12 rec1=00 rec2=32 rec3=03c
        [0x32] rec0=13 rec1=00 rec2=33 rec3=054
        [0x33] rec0=15 rec1=00 rec2=34 rec3=010
        [0x34] rec0=14 rec1=00 rec2=35 rec3=01e
        [0x35] rec0=13 rec1=00 rec2=36 rec3=04a
        [0x36] rec0=10 rec1=00 rec2=37 rec3=086
        [0x37] rec0=11 rec1=00 rec2=38 rec3=076
        [0x38] rec0=13 rec1=00 rec2=39 rec3=010
        [0x39] rec0=14 rec1=00 rec2=3a rec3=016
        [0x3a] rec0=13 rec1=00 rec2=3b rec3=020
        [0x3b] rec0=12 rec1=00 rec2=3c rec3=068
        [0x3c] rec0=11 rec1=00 rec2=3d rec3=05e
        [0x3d] rec0=0f rec1=00 rec2=3e rec3=058
        [0x3e] rec0=15 rec1=00 rec2=3f rec3=02e
        [0x3f] rec0=12 rec1=00 rec2=40 rec3=036
        [0x40] rec0=13 rec1=00 rec2=41 rec3=00e
        [0x41] rec0=13 rec1=00 rec2=42 rec3=028
        [0x42] rec0=13 rec1=00 rec2=43 rec3=00e
        [0x43] rec0=13 rec1=00 rec2=44 rec3=04a
        [0x44] rec0=13 rec1=00 rec2=45 rec3=004
        [0x45] rec0=14 rec1=00 rec2=46 rec3=034
        [0x46] rec0=14 rec1=00 rec2=47 rec3=01c
        [0x47] rec0=14 rec1=00 rec2=48 rec3=00e
        [0x48] rec0=13 rec1=00 rec2=49 rec3=014
        [0x49] rec0=12 rec1=00 rec2=4a rec3=05e
        [0x4a] rec0=1a rec1=00 rec2=4b rec3=046
        [0x4b] rec0=1b rec1=00 rec2=4c rec3=026
        [0x4c] rec0=1a rec1=00 rec2=4d rec3=044
        [0x4d] rec0=17 rec1=00 rec2=4e rec3=030
        [0x4e] rec0=1a rec1=00 rec2=4f rec3=00c
        [0x4f] rec0=1b rec1=00 rec2=50 rec3=00a
        [0x50] rec0=1a rec1=00 rec2=51 rec3=04c
        [0x51] rec0=19 rec1=00 rec2=52 rec3=03c
        [0x52] rec0=18 rec1=00 rec2=53 rec3=032
        [0x53] rec0=1b rec1=00 rec2=54 rec3=02c
        [0x54] rec0=04 rec1=00 rec2=55 rec3=001
    tail 0x2171988cc83657ce386b4 0x42a00088462060003