DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400 Tapes

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 Tapes

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download
Index: ┃ B T

⟦7c63ec9d0⟧ TextFile

    Length: 49404 (0xc0fc)
    Types: TextFile
    Names: »B«

Derivation

└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00
    └─ ⟦0c20f784e⟧ »DATA« 
        └─⟦1abbe589f⟧ 
            └─⟦059497ac5⟧ 
                └─⟦this⟧ 

TextFile

with Text_Io;  
with Unchecked_Conversion;

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic3;  
with Xlbt_Color;  
with Xlbt_Error3;  
with Xlbt_Event3;  
with Xlbt_Exceptions;  
use Xlbt_Exceptions;  
with Xlbt_Extension4;  
with Xlbt_Font3;  
with Xlbt_Gc3;  
with Xlbt_Geometry;  
with Xlbt_Grab;  
with Xlbt_Graphics3;  
with Xlbt_Hint3;  
with Xlbt_Host3;  
with Xlbt_Image3;  
with Xlbt_Input_Focus;  
with Xlbt_Key3;  
with Xlbt_Keyboard3;  
with Xlbt_Misc;  
with Xlbt_Pointer;  
with Xlbt_Reply3;  
with Xlbt_Request3;  
with Xlbt_Rm3;  
with Xlbt_Screen_Saver;  
with Xlbt_String16;  
with Xlbt_Visual;  
with Xlbt_Window4;

with Xlbit_Hint3;  
with Xlbit_Unused;

with Xlbip_Base_Converters;  
use Xlbip_Base_Converters;

with Xlbmt_Numeric_Types;  
use Xlbmt_Numeric_Types;

with Xlbmp_Error_Log;  
use Xlbmp_Error_Log;  
with Xlbmp_Generic_Converters;  
use Xlbmp_Generic_Converters;

separate (Xlbmp_Debugger)  
procedure Check_Machine_Assumptions is
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
--
--                  All Rights Reserved.
--
-- Permission to use, copy, modify, and distribute this software and its
-- documentation for any purpose and without fee is hereby granted,
-- provided that the above copyright notice(s) appear in all copies and that
-- both that copyright notice(s) and this permission notice appear in
-- supporting documentation, and that the name of Rational not be used in
-- advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- Rational disclaims all warranties with regard to this software, including
-- all implied warranties of merchantability and fitness, in no event shall
-- Rational be liable for any special, indirect or consequential damages or
-- any damages whatsoever resulting from loss of use, data or profits, whether
-- in an action of contract, negligence or other tortious action, arising out
-- of or in connection with the use or performance of this software.
------------------------------------------------------------------------------
-- Check sizes of things where the sizes are crucial to the correct operation
-- of the library.
------------------------------------------------------------------------------
begin

--/ if DEBUG and then Length_Clauses then

----Xlbmt_Numeric_Types

    if 32 /= Thirty_Two_Bits_Signed'Size then  
        raise X_Library_Confusion;  
    end if;

    if 16 /= Sixteen_Bits_Signed'Size then  
        raise X_Library_Confusion;  
    end if;  
    if 16 /= Sixteen_Bits_Unsigned'Size then  
        raise X_Library_Confusion;  
    end if;

    if 8 /= Eight_Bits_Signed'Size then  
        raise X_Library_Confusion;  
    end if;  
    if 8 /= Eight_Bits_Unsigned'Size then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Arithmetic

    if 32 /= S_Long'Size then  
        raise X_Library_Confusion;  
    end if;

    if 16 /= S_Short'Size then  
        raise X_Library_Confusion;  
    end if;  
    if 16 /= U_Short'Size then  
        raise X_Library_Confusion;  
    end if;

    if 8 /= S_Char'Size then  
        raise X_Library_Confusion;  
    end if;  
    if 8 /= U_Char'Size then  
        raise X_Library_Confusion;  
    end if;

    declare  
        subtype S_Char_Array_8  is S_Char_Array (1 .. 8);  
        subtype U_Char_Array_8  is U_Char_Array (1 .. 8);  
        subtype S_Short_Array_4 is S_Short_Array (1 .. 4);  
        subtype U_Short_Array_4 is U_Short_Array (1 .. 4);  
        subtype S_Long_Array_2  is S_Long_Array (1 .. 2);  
        Sc : S_Char_Array_8;  
        Uc : U_Char_Array_8;  
        Ss : S_Short_Array_4;  
        Us : U_Short_Array_4;  
        Sl : S_Long_Array_2;  
    begin  
        if 8 * 8 /= S_Char_Array_8'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 8 * 8 /= U_Char_Array_8'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 16 * 4 /= S_Short_Array_4'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 16 * 4 /= U_Short_Array_4'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 32 * 2 /= S_Long_Array_2'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 8 /= Sc (2)'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 8 /= Uc (4)'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 16 /= Ss (1)'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 16 /= Us (2)'Size then  
            raise X_Library_Confusion;  
        end if;  
        if 32 /= Sl (2)'Size then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbmt_Network_Types

    declare  
        subtype Raw_Array_8 is Xlbmt_Network_Types.X_Raw_Data_Array (1 .. 8);  
        Ra : Raw_Array_8;  
    begin  
        if Xlbmt_Network_Types.X_Raw_Data'Size /= 8 then  
            raise X_Library_Confusion;  -- None of the I/O functions/code that
                                        -- is part of the default "portable"
                                        -- implementation of the Xlib will work
                                        -- if this isn't true.
        end if;  
        if Raw_Array_8'Size /= 8 * 8 then  
            raise X_Library_Confusion;  
        end if;  
        if Ra (3)'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbit_Hint3

    if Xlbit_Hint3.X_Size_Hints_Protocol'Size /= 18 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Basic3

    if Xlbt_Basic3.X_Atom'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Id'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Drawable'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Event_Mask'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Event_Mask_Short'Size /= 16 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Pixel'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Pixmap'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Plane_Mask'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Screen_Number'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Time'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Colormap'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Cursor'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Font'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_G_Context'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Visual_Id'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Basic3.X_Window'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Color

    if Xlbt_Color.X_Color_Flags'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Color.X_Color_Mask'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Color.X_Color'Size /= 3 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Color.X_Colormap_Alloc'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Error3

    if Xlbt_Error3.X_Error_Code'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Error3.X_Error_Code'Pos (Xlbt_Error3.X_Error_Code'Last) /= 255 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Error3.X_Error_With_Atom'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Error3.X_Error_With_Nothing'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Error3.X_Error_With_Resource'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Error3.X_Error_With_Value'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Event3

    if Xlbt_Event3.X_Event_Code_8'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Event_Code_8'Pos (Xlbt_Event3.X_Event_Code_8'Last) /=  
       255 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Button_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Circulate_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Circulate_Request_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Client_Message_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Colormap_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Configure_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Configure_Request_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Create_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Destroy_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Enter_Leave_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Expose_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Focus_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Graphics_Expose_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Gravity_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Keymap_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Key_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Mapping_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Map_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Map_Request_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Motion_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_No_Expose_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Property_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Reparent_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Resize_Request_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Selection_Clear_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Selection_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Selection_Request_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Unmap_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Visibility_Notify_Event'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;

    if Xlbt_Event3.X_Colormap_State'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Enter_Leave_Detail'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Enter_Leave_Flags'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Enter_Leave_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Focus_Detail'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Focus_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Mapping_Request_Type'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Motion_Notify_Detail'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Event3.X_Visibility_Notify_State'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Extension4

    if Xlbt_Extension4.X_Extension_Number'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Font3

    declare  
        subtype Csa2d_26 is X_Char_Struct_Array_2d (1 .. 2, 1 .. 6);  
        Csa : Csa2d_26;  
    begin  
        if Xlbt_Font3.X_Per_Char_Flags'Size /= 16 then  
            raise X_Library_Confusion;  
        end if;  
        if Xlbt_Font3.X_Char_Struct'Size /= 3 * 32 then  
            raise X_Library_Confusion;  
        end if;  
        if Xlbt_Font3.X_Font_Direction'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
        if Xlbt_Font3.X_Font_Prop'Size /= 2 * 32 then  
            raise X_Library_Confusion;  
        end if;  
        if Csa2d_26'Size /= 12 * 3 * 32 then  
            raise X_Library_Confusion;  
        end if;  
        if Csa (1, 3)'Size /= 3 * 32 then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbt_Gc3

    if Xlbt_Gc3.X_Best_Size_Class'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Gc3.X_Clip_Ordering'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Gc3.X_Gc_Components'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Gc3.X_Graphic_Function'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Geometry

    if Xlbt_Geometry.X_Parse_Geometry_Flags'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Grab

    if Xlbt_Grab.X_Allow_Event_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Grab.X_Grab_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Grab.X_Grab_Status'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Graphics3

    if Xlbt_Graphics3.X_Arc'Size /= 3 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Graphics3.X_Coordinate_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Graphics3.X_Point'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Graphics3.X_Polygon_Shape'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Graphics3.X_Rectangle'Size /= 2 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Graphics3.X_Segment'Size /= 2 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Hint3

    if Xlbt_Hint3.X_Icon_Size'Size /= 6 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Hint3.X_Initial_Window_State'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Hint3.X_Size_Hints_Flags'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Hint3.X_Standard_Colormap'Size /= 10 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Hint3.X_Wm_Hints_Flags'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Hint3.X_Wm_Hints'Size /= 9 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Host3

    if Xlbt_Host3.X_Change_Access'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Host3.X_Change_Hosts_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Host3.X_Change_Save_Set_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Host3.X_Close_Down_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Host3.X_Host_Protocol_Family'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Image3

    if Xlbt_Image3.X_Byte_Bit_Order'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Image3.X_Image_Format'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Input_Focus

    if Xlbt_Input_Focus.X_Revert_Focus_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Key3

    declare  
        subtype X_Key_Code_Array_4          is X_Key_Code_Array (1 .. 4);  
        subtype X_Modifier_Key_Code_Array_4 is  
           X_Modifier_Key_Code_Array (1 .. 4);  
        Kca : X_Key_Code_Array_4;  
        Mkc : X_Modifier_Key_Code_Array_4;  
    begin  
        if Xlbt_Key3.X_Key_Button_Mask'Size /= 16 then  
            raise X_Library_Confusion;  
        end if;  
        if Xlbt_Key3.X_Key_Code'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
        if Xlbt_Key3.X_Key_Sym'Size /= 32 then  
            raise X_Library_Confusion;  
        end if;  
        if X_Key_Code_Array_4'Size /= 4 * 8 then  
            raise X_Library_Confusion;  
        end if;  
        if Kca (3)'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
        if X_Modifier_Key_Code_Sub_Array'Size /= 8 * 8 then  
            raise X_Library_Confusion;  
        end if;  
        if X_Modifier_Key_Code_Array_4'Size /= 4 * 8 * 8 then  
            raise X_Library_Confusion;  
        end if;  
        if Mkc (2)'Size /= 8 * 8 then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbt_Keyboard3

    if Xlbt_Keyboard3.X_Auto_Repeat_Mode'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Keyboard_As_Bits'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Keyboard_As_Bits_Short'Size /= 31 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Keyboard_Control_Flags'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Led_Bits'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Led_Mode'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Keyboard3.X_Mapping_Status'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Misc

    if Xlbt_Misc.X_Boolean_Char'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Misc.X_Boolean_Long'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Misc.X_Text_Elt'Size /= 8 * 2 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Pointer

    if Xlbt_Pointer.X_Button_Name'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Pointer.X_Time_Coord'Size /= 2 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Reply3

    declare  
        subtype X_Rgb_Array_4 is Xlbt_Reply3.X_Rgb_Array (1 .. 4);  
        Ra : X_Rgb_Array_4;  
    begin  
        if X_Rgb_Array_4'Size /= 4 * 4 * 16 then  
            raise X_Library_Confusion;  
        end if;  
        if Ra (2)'Size /= 4 * 16 then  
            raise X_Library_Confusion;  
        end if;  
    end;  
    if Xlbt_Reply3.X_Alloc_Color_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Alloc_Color_Cells_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Alloc_Color_Planes_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Alloc_Named_Color_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Atom_Name_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Font_Path_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Geometry_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Image_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Input_Focus_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Keyboard_Control_Reply'Size /= 8 * 52 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Keyboard_Mapping_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Modifier_Mapping_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Motion_Events_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Pointer_Control_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Pointer_Mapping_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Property_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Screen_Saver_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Selection_Owner_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Get_Window_Attributes_Reply'Size /= 8 * 44 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Grab_Keyboard_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Grab_Pointer_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Intern_Atom_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Extensions_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Fonts_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Fonts_With_Info_Reply'Size /= 15 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Hosts_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Wire_Host_Reply'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Installed_Colormaps_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_List_Properties_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Lookup_Color_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Best_Size_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Colors_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Rgb'Size /= 16 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Extension_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Font_Reply'Size /= 15 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Keymap_Reply'Size /= 10 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Pointer_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Text_Extents_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Query_Tree_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Set_Modifier_Mapping_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Set_Pointer_Mapping_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Reply3.X_Translate_Coords_Reply'Size /= 8 * 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Request3

    if Xlbt_Request3.X_Request_Code'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Request_Code'Pos (Xlbt_Request3.X_Request_Code'Last) /=  
       255 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Alloc_Color_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Alloc_Color_Cells_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Alloc_Color_Planes_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Alloc_Named_Color_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Allow_Events_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Bell_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Active_Pointer_Grab_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Gc_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Hosts_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Keyboard_Control_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Keyboard_Mapping_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Pointer_Control_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Property_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Save_Set_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Change_Window_Attributes_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Circulate_Window_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Clear_Area_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Close_Font_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Configure_Window_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Convert_Selection_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Copy_Area_Request'Size /= 32 * 7 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Copy_Colormap_And_Free_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Copy_Gc_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Copy_Plane_Request'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Colormap_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Cursor_Request'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Gc_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Glyph_Cursor_Request'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Pixmap_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Create_Window_Request'Size /= 32 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Delete_Property_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Destroy_Subwindows_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Destroy_Window_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Fill_Poly_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Force_Screen_Saver_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Free_Colormap_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Free_Colors_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Free_Cursor_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Free_Gc_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Free_Pixmap_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Atom_Name_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Font_Path_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Geometry_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Image_Request'Size /= 32 * 5 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Input_Focus_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Keyboard_Control_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Keyboard_Mapping_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Modifier_Mapping_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Motion_Events_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Pointer_Control_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Pointer_Mapping_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Property_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Screen_Saver_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Selection_Owner_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Get_Window_Attributes_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Grab_Button_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Grab_Key_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Grab_Keyboard_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Grab_Pointer_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Grab_Server_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Image_Text16_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Image_Text8_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Install_Colormap_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Intern_Atom_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Kill_Client_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Extensions_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Fonts_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Fonts_With_Info_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Hosts_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Installed_Colormaps_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_List_Properties_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Lookup_Color_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Map_Subwindows_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Map_Window_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_No_Operation_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Open_Font_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Arc_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Fill_Arc_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Fill_Rectangle_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Line_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Point_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Rectangle_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Segment_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Text16_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Poly_Text8_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Put_Image_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Best_Size_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Colors_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Extension_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Font_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Keymap_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Pointer_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Text_Extents_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Query_Tree_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Recolor_Cursor_Request'Size /= 32 * 5 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Reparent_Window_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Rotate_Properties_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Send_Event_Request'Size /= 32 * 11 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Access_Control_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Clip_Rectangles_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Close_Down_Mode_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Dashes_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Font_Path_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Input_Focus_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Modifier_Mapping_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Pointer_Mapping_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Screen_Saver_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Set_Selection_Owner_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Store_Colors_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Color_Item'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Store_Named_Color_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Translate_Coords_Request'Size /= 32 * 4 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Ungrab_Button_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Ungrab_Key_Request'Size /= 32 * 3 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Ungrab_Keyboard_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Ungrab_Pointer_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Ungrab_Server_Request'Size /= 32 * 1 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Uninstall_Colormap_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Unmap_Subwindows_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Unmap_Window_Request'Size /= 32 * 2 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Request3.X_Warp_Pointer_Request'Size /= 32 * 6 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Rm3

    if Xlbt_Rm3.X_Rm_Quark'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Screen_Saver

    if Xlbt_Screen_Saver.X_Screen_Saver_Blanking'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Screen_Saver.X_Screen_Saver_Exposures'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Screen_Saver.X_Screen_Saver_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_String16

    declare  
        subtype S16_8 is Xlbt_String16.X_String16 (1 .. 8);  
        S8 : S16_8;  
    begin  
        if Xlbt_String16.X_Character16'Size /= 16 then  
            raise X_Library_Confusion;  
        end if;  
        if S16_8'Size /= 8 * 16 then  
            raise X_Library_Confusion;  
        end if;  
        if S8 (5)'Size /= 16 then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbt_String

    declare  
        subtype S8_8 is Xlbt_String.X_String (1 .. 8);  
        S8 : S8_8;  
    begin  
        if Xlbt_String.X_Character'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
        if S8_8'Size /= 8 * 8 then  
            raise X_Library_Confusion;  
        end if;  
        if S8 (5)'Size /= 8 then  
            raise X_Library_Confusion;  
        end if;  
    end;

----Xlbt_Visual

    if Xlbt_Visual.X_Display_Class'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Visual.X_Visual_Info_Flags'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;

----Xlbt_Window4

    if Xlbt_Window4.X_Backing_Store_Hint'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Bit_Gravity'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Circulate_Place'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Map_State'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_New_Window_Attributes'Size /= 32 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Property_Mode'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Property_State'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Window_Changes_Mask'Size /= 16 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Window_Class'Size /= 16 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Window_Gravity'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbt_Window4.X_Window_Stacking'Size /= 8 then  
        raise X_Library_Confusion;  
    end if;

----Xlbit_Unused

    if Xlbit_Unused.X_Unused_4'Size /= 4 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_5'Size /= 5 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_8'Size /= 8 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_9'Size /= 9 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_11'Size /= 11 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_14'Size /= 14 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_15'Size /= 15 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_16'Size /= 16 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_18'Size /= 18 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_19'Size /= 19 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_20'Size /= 20 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_21'Size /= 21 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_23'Size /= 23 * 8 then  
        raise X_Library_Confusion;  
    end if;  
    if Xlbit_Unused.X_Unused_25'Size /= 25 * 8 then  
        raise X_Library_Confusion;  
    end if;

------------------------------------------------------------------------------
-- Checks on data layout assumptions - check all of those little assumptions
-- that we make about what bits are where.
------------------------------------------------------------------------------

----Positive_Is_Large
----Make sure that Positive'Size >= S_Long'Size.
--/ if Positive_Is_Large then
    if Positive'Size < S_Long'Size - 1 then  
        raise X_Library_Confusion;  
    end if;
--/ end if;

----Bit0_Sign_Bit
----Make sure that bit(0) of a bit array is (not) the low order bit or else none
--  of our bit masks in the protocol messages will be correct.

    declare  
        type Bl is array (0 .. 31) of Boolean;  
        type Bs is array (0 .. 15) of Boolean;  
        type Bc is array (0 .. 7) of Boolean;
--/ if Length_Clauses then
        for Bl'Size use 32;  
        for Bs'Size use 16;  
        for Bc'Size use 8;
--/ elsif Pack then
--//         pragma Pack (Bl);
--//         pragma Pack (Bs);
--//         pragma Pack (Bc);
--/ else
--//    This test requires some code or it cannot be made.  What should we do?
--//    If you have some way of guaranteeing that the Bit0 and Byte0 parameters
--//    are correct then simply put a big --/if around this entire test and
--//    have it comment itself out for your particular target.
--/ end if;
        Bli : Bl := Bl'(0 => True, others => False);  
        Bsi : Bs := Bs'(1 => True, others => False);  
        Bci : Bc := Bc'(2 => True, others => False);  
        function To_Raw is new Unchecked_Conversion (Bl, S_Long);  
        function To_Raw is new Unchecked_Conversion (Bs, S_Short);  
        function To_Raw is new Unchecked_Conversion (Bc, S_Char);  
        Blb : constant S_Long  := To_Raw (Bli);  
        Bsb : constant S_Short := To_Raw (Bsi);  
        Bcb : constant S_Char  := To_Raw (Bci);  
    begin
--/ if Bit0_Sign_Bit then
        if Blb /= S_Long'First or else  
           Bsb /= 2 ** 14 or else  
           Bcb /= 2 ** 5 then  
            Text_Io.Put_Line  
               ("X Library: Bit(0) of bit arrays isn't high-order (sign)" &  
                " bit any more?!?");  
            raise X_Library_Confusion;  
        end if;
--/ else
--//         if Blb /= 1 or else
--//            Bsb /= 2 or else
--//            Bcb /= 4 then
--//             X_Report_Error
--//                ("X Library: Bit(0) of bit arrays isn't low-order (even/odd)" &
--//                 " bit any more?!?");
--//             raise X_Library_Confusion;
--//         end if;
--/ end if;
    end;

----Byte0_Sign_Byte
----Make sure that element(0) of a Raw Data array is (not) the low order
--  element or else none of our protocol messages will be correct.

    declare  
        A_Long  : S_Long := 3 * 2 ** 16 + 2 * 2 ** 8 + 1;  
        A_Array : X_Raw_Data_Array (1 .. 4);  
    begin  
        To_Raw (A_Array, A_Long);
--/ if Byte0_Sign_Byte then
        if A_Array (A_Array'First + 0) /= 0 or else  
           A_Array (A_Array'First + 1) /= 3 or else  
           A_Array (A_Array'First + 2) /= 2 or else  
           A_Array (A_Array'First + 3) /= 1 then  
            Text_Io.Put_Line ("X Library: Element(0) of raw data arrays" &  
                              " isn't high-order (contains sign) element" &  
                              " any more?!?");  
            raise X_Library_Confusion;  
        end if;
--/ else
--//         if A_Array (A_Array'First + 0) /= 1 or else
--//            A_Array (A_Array'First + 1) /= 2 or else
--//            A_Array (A_Array'First + 2) /= 3 or else
--//            A_Array (A_Array'First + 3) /= 0 then
--//             X_Report_Error
--//                ("X Library: Element(0) of raw data arrays" &
--//                 " isn't low-order (contains the even/odd bit)" &
--//                 " element any more?!?");
--//             raise X_Library_Confusion;
--//         end if;
--/ end if;
    end;

----Row_Major_Order
----Make sure that arrays are Row/Column major as indicated by our flag.

    declare  
        type Arry is array (Integer range 3 .. 6,  
                            Integer range 8 .. 10) of S_Long;  
        procedure To_Raw is new Convert_Private_To_Raw (Arry);  
        Blob : Arry                      := ((1, 2, 3),  
                                             (4, 5, 6),  
                                             (7, 8, 9),  
                                             (10, 11, 12));  
        Raw  : X_Raw_Data_Array (1 .. Arry'Size / X_Raw_Data'Size);  
        Off  : constant X_Raw_Data_Index := S_Long'Size / X_Raw_Data'Size;  
    begin  
        To_Raw (Raw, Blob);
--/ if Row_Major_Order then
        if Raw (Raw'First + Off * 1 - 1) /= 1 or else  
           Raw (Raw'First + Off * 2 - 1) /= 2 or else  
           Raw (Raw'First + Off * 3 - 1) /= 3 or else  
           Raw (Raw'First + Off * 4 - 1) /= 4 or else  
           Raw (Raw'First + Off * 9 - 1) /= 9 then  
            Text_Io.Put_Line ("X Library: We aren't row major any more!?!");  
            raise X_Library_Confusion;  
        end if;
--/ else
--//         if Raw (Raw'First + Off * 1 - 1) /= 1 or else
--//            Raw (Raw'First + Off * 2 - 1) /= 4 or else
--//            Raw (Raw'First + Off * 3 - 1) /= 7 or else
--//            Raw (Raw'First + Off * 4 - 1) /= 10 or else
--//            Raw (Raw'First + Off * 5 - 1) /= 2 or else
--//            Raw (Raw'First + Off * 10 - 1) /= 9 then
--//             Report_Error ("X Library: We aren't column major any more!?!");
--//             raise X_Library_Confusion;
--//         end if;
--/ end if;
    end;

--/ else -- not (DEBUG and then Length_Clauses)
--//
--//    null;
--//
--/ end if; -- DEBUG and then Length_Clauses

end Check_Machine_Assumptions;