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

⟦917f07be4⟧ Ada Source

    Length: 25600 (0x6400)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Xlbt_Basic3, seg_004f9d

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 Unchecked_Deallocation;

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;

package Xlbt_Basic3 is
------------------------------------------------------------------------------
-- X Library Basic Types - Full Interface
--
-- Xlbt_Basic3 - Types are declared here because they are "low level" types.
-- They are types which are used to create many other composite types.
-- They are in some sense "primitive" types.
------------------------------------------------------------------------------
-- Copyright 1989 - 1991 by Rational, Santa Clara, California.
-- Copyright 1985 - 1989 by the Massachusetts Institute of Technology
--
--                  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 names of MIT or Rational not be
-- used in advertising or publicity pertaining to distribution of the software
-- without specific, written prior permission.
--
-- MIT and Rational disclaim all warranties with regard to this software,
-- including all implied warranties of merchantability and fitness, in no
-- event shall MIT or 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.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- X_Atom - a blob used to refer to a string whose contents are known mutually
--          between us and the server; shorter and easier to use than the string.
--
--  None_X_Atom         - No atom in particular
--  Any_Property_Type   - Special Atom, passed to X_Get_Window_Property.
------------------------------------------------------------------------------

    type X_Atom is  
        record  
            Number : S_Long;  
        end record;

--/ if Length_Clauses then
    for X_Atom'Size use 32;
--/ end if;

    type X_Atom_Array is array (S_Natural range <>) of X_Atom;  
    type X_Atom_List  is access X_Atom_Array;

--/ if Pack then
--//     pragma Pack (X_Atom_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Atom_List);
--/ end if;

    None_X_Atom       : constant X_Atom      := (Number => 0);  
    None_X_Atom_List  : constant X_Atom_List := null;  
    Any_Property_Type : constant X_Atom      := (Number => 0);

    procedure Free_X_Atom_List is  
       new Unchecked_Deallocation (X_Atom_Array,  
                                   X_Atom_List);

------------------------------------------------------------------------------
-- X_Display_Number - simple index to the N'th display of a library
------------------------------------------------------------------------------

    type X_Display_Number is new S_Natural;

    None_X_Display_Number : constant X_Display_Number := 0;

------------------------------------------------------------------------------
-- X's Resource Type
------------------------------------------------------------------------------

    type X_Id is  
        record  
            Number : S_Long;  
        end record;

--/ if Length_Clauses then
    for X_Id'Size use 32;
--/ end if;

    None_X_Id : constant X_Id := (Number => 0);
    ----Special value indicating no-ID-specified

    All_Temporary : constant X_Id := (Number => 0);
    ----Special Resource ID passed to X_Kill_Client

    Release_By_Freeing_Colormap : constant X_Id := (Number => 1);
    ----Special Resource ID used in X_Standard_Colormap.Kill_Id.

------------------------------------------------------------------------------
-- X_Drawable
------------------------------------------------------------------------------

    type X_Drawable is  
        record  
            Id : X_Id;  
        end record;

--/ if Length_Clauses then
    for X_Drawable'Size use 32;
--/ end if;

    None_X_Drawable : constant X_Drawable := (Id => (Number => 0));

    type X_Drawable_Array is array (S_Natural range <>) of X_Drawable;  
    type X_Drawable_List  is access X_Drawable_Array;

--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Drawable_List);
--/ end if;

    None_X_Drawable_List : constant X_Drawable_List := null;
    --
    procedure Free_X_Drawable_List is  
       new Unchecked_Deallocation (X_Drawable_Array,  
                                   X_Drawable_List);

------------------------------------------------------------------------------
-- X_Event_Mask - Input Event Masks.  Used as event-mask window attribute and
--                as arguments to Grab requests.  Not to be confused with event
--                names.
------------------------------------------------------------------------------

--/ if Bit0_Sign_Bit then

    type X_Event_Mask_Index is  
       (Xemi31, Xemi30, Xemi29, Xemi28, Xemi27, Xemi26, Xemi25,  -- Unused
        Owner_Grab_Button_Mask,  
        Colormap_Change_Mask,  
        Property_Change_Mask,  
        Focus_Change_Mask,  
        Substructure_Redirect_Mask,  
        Substructure_Notify_Mask,  
        Resize_Redirect_Mask,  
        Structure_Notify_Mask,  
        Visibility_Change_Mask,  
        Exposure_Mask,  
        Keymap_State_Mask,  
        Button_Motion_Mask,  
        Button_5_Motion_Mask,  
        Button_4_Motion_Mask,  
        Button_3_Motion_Mask,  
        Button_2_Motion_Mask,  
        Button_1_Motion_Mask,  
        Pointer_Motion_Hint_Mask,  
        Pointer_Motion_Mask,  
        Leave_Window_Mask,  
        Enter_Window_Mask,  
        Button_Release_Mask,  
        Button_Press_Mask,  
        Key_Release_Mask,  
        Key_Press_Mask);

--/ else -- not Bit0_Sign_Bit then
--//
--//     type X_Event_Mask_Index is
--//        (Key_Press_Mask,
--//         Key_Release_Mask,
--//         Button_Press_Mask,
--//         Button_Release_Mask,
--//         Enter_Window_Mask,
--//         Leave_Window_Mask,
--//         Pointer_Motion_Mask,
--//         Pointer_Motion_Hint_Mask,
--//         Button_1_Motion_Mask,
--//         Button_2_Motion_Mask,
--//         Button_3_Motion_Mask,
--//         Button_4_Motion_Mask,
--//         Button_5_Motion_Mask,
--//         Button_Motion_Mask,
--//         Keymap_State_Mask,
--//         Exposure_Mask,
--//         Visibility_Change_Mask,
--//         Structure_Notify_Mask,
--//         Resize_Redirect_Mask,
--//         Substructure_Notify_Mask,
--//         Substructure_Redirect_Mask,
--//         Focus_Change_Mask,
--//         Property_Change_Mask,
--//         Colormap_Change_Mask,
--//         Owner_Grab_Button_Mask,
--//         Xemi25, Xemi26, Xemi27, Xemi28, Xemi29, Xemi30, Xemi31);  -- Unused
--//
--/ end if;

    type X_Event_Mask_Array is array (X_Event_Mask_Index range <>) of Boolean;

    type X_Event_Mask is  
       new X_Event_Mask_Array  
              (X_Event_Mask_Index'First .. X_Event_Mask_Index'Last);

--/ if not R1000_Size_Bug and then Length_Clauses then
--//     for X_Event_Mask'Size use 32;
--/ elsif Pack then
--//     pragma Pack (X_Event_Mask_Array);
--/ end if;

--/ if Bit0_Sign_Bit then

    type X_Event_Mask_Short is  
       new X_Event_Mask_Array (Exposure_Mask .. Key_Press_Mask);

--/ else -- not Bit0_Sign_Bit then
--//
--//     type X_Event_Mask_Short is
--//        new X_Event_Mask_Array (Key_Press_Mask .. Exposure_Mask);
--//
--/ end if;

--/ if not R1000_Size_Bug and then Length_Clauses then
--//     for X_Event_Mask_Short'Size use 16;
--/ end if;

    None_X_Event_Mask : constant X_Event_Mask :=  
       (others => False);

    All_Pointers : constant X_Event_Mask :=  
       X_Event_Mask'(Pointer_Motion_Mask | Pointer_Motion_Hint_Mask |  
                     Button_Motion_Mask => True,  
                     others             => False);

    All_Buttons : constant X_Event_Mask :=  
       X_Event_Mask'(Button_1_Motion_Mask | Button_2_Motion_Mask |  
                     Button_3_Motion_Mask | Button_4_Motion_Mask |  
                     Button_5_Motion_Mask => True,  
                     others               => False);

    All_Event_Mask : constant X_Event_Mask :=  
       X_Event_Mask'  
          (Xemi31 | Xemi30 | Xemi29 | Xemi28 | Xemi27 | Xemi26 | Xemi25 =>  
              False,  
           Owner_Grab_Button_Mask | Colormap_Change_Mask |  
           Property_Change_Mask | Focus_Change_Mask |  
           Substructure_Redirect_Mask | Substructure_Notify_Mask |  
           Resize_Redirect_Mask | Structure_Notify_Mask |  
           Visibility_Change_Mask | Exposure_Mask | Keymap_State_Mask |  
           Button_Motion_Mask | Button_5_Motion_Mask |  
           Button_4_Motion_Mask | Button_3_Motion_Mask |  
           Button_2_Motion_Mask | Button_1_Motion_Mask |  
           Pointer_Motion_Hint_Mask | Pointer_Motion_Mask |  
           Leave_Window_Mask | Enter_Window_Mask | Button_Release_Mask |  
           Button_Press_Mask | Key_Release_Mask | Key_Press_Mask => True);

    function X_Event_Mask_Short_To_Long  
                (A : X_Event_Mask_Short) return X_Event_Mask;
-----------------------------------------------------------------------------
--  A   - Specifies a short event mask
--
-- Called to convert a short event mask into a long event mask.
------------------------------------------------------------------------------

------------------------------------------------------------------------------
-- X_Pixel - encodes what a Pixel is
------------------------------------------------------------------------------

    type X_Pixel       is new S_Long;  
    type X_Pixel_Array is array (S_Natural range <>) of X_Pixel;  
    type X_Pixel_List  is access X_Pixel_Array;

--/ if Length_Clauses then
    for X_Pixel'Size use 32;
--/ end if;
--/ if Pack then
--//     pragma Pack (X_Pixel_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Pixel_List);
--/ end if;

    None_X_Pixel      : constant X_Pixel      := 0;  
    None_X_Pixel_List : constant X_Pixel_List := null;

    procedure Free_X_Pixel_List is  
       new Unchecked_Deallocation (X_Pixel_Array,  
                                   X_Pixel_List);

------------------------------------------------------------------------------
-- X_Pixmap
------------------------------------------------------------------------------

    type X_Pixmap is  
        record  
            Drawable : X_Drawable;  
        end record;

--/ if Length_Clauses then
    for X_Pixmap'Size use 32;
--/ end if;

    None_X_Pixmap : constant X_Pixmap := (Drawable => (Id => (Number => 0)));

    Copy_From_Parent_Pixmap : constant X_Pixmap :=  
       (Drawable => (Id => (Number => 0)));
    ----Border pixmap in X_Create_Window and X_Change_Window_Attributes

    Parent_Relative : constant X_Pixmap := (Drawable => (Id => (Number => 1)));
    ----Background pixmap in X_Create_Window and X_Change_Window_Attributes

------------------------------------------------------------------------------
-- X_Plane_Mask - used to indicate the display planes affected by an operation
------------------------------------------------------------------------------

    type X_Plane_Mask is new S_Long;

--/ if Length_Clauses then
    for X_Plane_Mask'Size use 32;
--/ end if;

    type X_Plane_Mask_Array is array (S_Natural range <>) of X_Plane_Mask;  
    type X_Plane_Mask_List  is access X_Plane_Mask_Array;

--/ if Pack then
--//     pragma Pack (X_Plane_Mask_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Plane_Mask_List);
--/ end if;

    None_X_Plane_Mask      : constant X_Plane_Mask      := 0;  
    None_X_Plane_Mask_List : constant X_Plane_Mask_List := null;  
    No_Planes              : constant X_Plane_Mask      := 0;  
    All_Planes             : constant X_Plane_Mask      := -1;

    procedure Free_X_Plane_Mask_List is  
       new Unchecked_Deallocation (X_Plane_Mask_Array,  
                                   X_Plane_Mask_List);

------------------------------------------------------------------------------
-- X_Screen_Number - simple index to the N'th screen of the display
------------------------------------------------------------------------------

    type X_Screen_Number is new U_Char;

--/ if Length_Clauses then
    for X_Screen_Number'Size use 8;
--/ end if;

    None_X_Screen_Number : constant X_Screen_Number := 0;

------------------------------------------------------------------------------
-- X_Time - it is important to be able to do arithmetic with these
------------------------------------------------------------------------------

    type X_Time is new S_Long;

--/ if Length_Clauses then
    for X_Time'Size use 32;
--/ end if;

    Current_Time : constant X_Time := 0;  
    None_X_Time  : constant X_Time := 0;

--\x0c
    ------------------------------------------------------------------------------
-- X_Colormap
------------------------------------------------------------------------------

    type X_Colormap is  
        record  
            Id : X_Id;  
        end record;

--/ if Length_Clauses then
    for X_Colormap'Size use 32;
--/ end if;

    type X_Colormap_Array is array (S_Natural range <>) of X_Colormap;  
    type X_Colorma_List  is access X_Colormap_Array;

--/ if Pack then
--//     pragma Pack (X_Colormap_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Colormap_List);
--/ end if;

    None_X_Colormap           : constant X_Colormap := (Id => (Number => 0));  
    None_X_Colormap_List      : constant X_Colormap_List := null;  
    Copy_From_Parent_Colormap : constant X_Colormap := (Id => (Number => 0));

    procedure Free_X_Colormap_List is  
       new Unchecked_Deallocation (X_Colormap_Array,  
                                   X_Colormap_List);

------------------------------------------------------------------------------
-- X_Cursor
------------------------------------------------------------------------------

    type X_Cursor is  
        record  
            Id : X_Id;  
        end record;

--/ if Length_Clauses then
    for X_Cursor'Size use 32;
--/ end if;

    None_X_Cursor : constant X_Cursor := (Id => (Number => 0));

------------------------------------------------------------------------------
-- X_Font
------------------------------------------------------------------------------

    type X_Font is  
        record  
            Id : X_Id;  
        end record;

--/ if Length_Clauses then
    for X_Font'Size use 32;
--/ end if;

    None_X_Font : constant X_Font := (Id => (Number => 0));

    Font_Change : constant := 255;

------------------------------------------------------------------------------
-- X_G_Context
------------------------------------------------------------------------------

    type X_G_Context is  
        record  
            Id : X_Id;  
        end record;

--/ if Length_Clauses then
    for X_G_Context'Size use 32;
--/ end if;

    None_X_G_Context : constant X_G_Context := (Id => (Number => 0));

------------------------------------------------------------------------------
-- X_Status - Status for Procedure returns
------------------------------------------------------------------------------

    type X_Status is (Failed,       -- Operation did not succeed/work/complete
                      Successful);  -- Operation completed/worked

------------------------------------------------------------------------------
-- X_Visual_Id
------------------------------------------------------------------------------

    type X_Visual_Id is  
        record  
            Number : S_Long;  
        end record;

--/ if Length_Clauses then
    for X_Visual_Id'Size use 32;
--/ end if;

    None_X_Visual_Id : constant X_Visual_Id := (Number => 0);

    Copy_From_Parent_Visual_Id : constant X_Visual_Id := (Number => 0);

------------------------------------------------------------------------------
-- X_Window
--
--  Input_Focus     - Destination window in X_Send_Event
--  Pointer_Window  - Destination window in X_Send_Event
--  Pointer_Root    - Focus window in X_Set_Input_Focus
------------------------------------------------------------------------------

    type X_Window is  
        record  
            Drawable : X_Drawable;  
        end record;

--/ if Length_Clauses then
    for X_Window'Size use 32;
--/ end if;

    type X_Window_Array is array (S_Natural range <>) of X_Window;  
    type X_Window_List  is access X_Window_Array;

--/ if Pack then
--//     pragma Pack (X_Window_Array);
--/ end if;
--/ if Enable_Deallocation then
    pragma Enable_Deallocation (X_Window_List);
--/ end if;

    None_X_Window  : constant X_Window := (Drawable => (Id => (Number => 0)));  
    Input_Focus    : constant X_Window := (Drawable => (Id => (Number => 1)));  
    Pointer_Root   : constant X_Window := (Drawable => (Id => (Number => 1)));  
    Pointer_Window : constant X_Window := (Drawable => (Id => (Number => 0)));

    None_X_Window_List : constant X_Window_List := null;

    procedure Free_X_Window_List is  
       new Unchecked_Deallocation (X_Window_Array,  
                                   X_Window_List);

end Xlbt_Basic3;  

E3 Meta Data

    nblk1=18
    nid=0
    hdr6=30
        [0x00] rec0=18 rec1=00 rec2=01 rec3=00e
        [0x01] rec0=10 rec1=00 rec2=02 rec3=08e
        [0x02] rec0=1f rec1=00 rec2=03 rec3=052
        [0x03] rec0=02 rec1=00 rec2=18 rec3=00a
        [0x04] rec0=1c rec1=00 rec2=04 rec3=03c
        [0x05] rec0=1e rec1=00 rec2=05 rec3=09c
        [0x06] rec0=1b rec1=00 rec2=06 rec3=02e
        [0x07] rec0=1f rec1=00 rec2=07 rec3=030
        [0x08] rec0=20 rec1=00 rec2=08 rec3=006
        [0x09] rec0=19 rec1=00 rec2=09 rec3=02e
        [0x0a] rec0=11 rec1=00 rec2=0a rec3=08e
        [0x0b] rec0=1d rec1=00 rec2=0b rec3=03c
        [0x0c] rec0=00 rec1=00 rec2=17 rec3=022
        [0x0d] rec0=1d rec1=00 rec2=0c rec3=000
        [0x0e] rec0=18 rec1=00 rec2=0d rec3=032
        [0x0f] rec0=02 rec1=00 rec2=16 rec3=034
        [0x10] rec0=22 rec1=00 rec2=0e rec3=024
        [0x11] rec0=00 rec1=00 rec2=15 rec3=002
        [0x12] rec0=1e rec1=00 rec2=0f rec3=06a
        [0x13] rec0=01 rec1=00 rec2=14 rec3=000
        [0x14] rec0=23 rec1=00 rec2=10 rec3=004
        [0x15] rec0=1b rec1=00 rec2=11 rec3=06a
        [0x16] rec0=1e rec1=00 rec2=12 rec3=00c
        [0x17] rec0=04 rec1=00 rec2=13 rec3=000
    tail 0x217007116819783d008fd 0x42a00088462063203