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

⟦a68495129⟧ Ada Source

    Length: 18432 (0x4800)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Xlbp_Event, seg_004f5a

Derivation

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

E3 Source Code



with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic;  
use Xlbt_Basic;  
with Xlbt_Event;  
use Xlbt_Event;

package Xlbp_Event is
------------------------------------------------------------------------------
-- X Library Event Handling
--
-- Xlbp_Event - Routines for reading, writing, and handling X events.
------------------------------------------------------------------------------
-- 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
    ------------------------------------------------------------------------------
-- Event Controls
------------------------------------------------------------------------------

    procedure X_Flush (Display : X_Display);
------------------------------------------------------------------------------
--  Display - Specifies the display to be flushed.
--
-- Force any buffered server requests to be transmitted immediately.
------------------------------------------------------------------------------

    procedure X_Put_Back_Event (Display : X_Display;  
                                Event   : X_Event);
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  event    - Specifies the event to return.
--
-- Puts an event back onto the head of the queue.
------------------------------------------------------------------------------

    procedure X_Select_Input (Display    : X_Display;  
                              Window     : X_Window;  
                              Event_Mask : X_Event_Mask);
------------------------------------------------------------------------------
--  Display    - Specifies the display to use.
--  Window     - Specifies the window to use.
--  Event_Mask - Specifies the event mask.
--
-- Selects the events to be reported to this client by the specified window.
------------------------------------------------------------------------------

    procedure X_Send_Event (Display    :     X_Display;  
                            Window     :     X_Window;  
                            Propagate  :     Boolean;  
                            Event_Mask :     X_Event_Mask;  
                            Event      :     X_Event;  
                            Status     : out X_Status);
------------------------------------------------------------------------------
--  Display     - Specifies the display to use.
--  Window      - Specifies the window for the event.
--  Propagate   - Specifies True to cause propagation of the event
--  Event_Mask  - Specifies the types of events to send.
--  Event       - Specifies the event to send.
--  Status      - Receives Successful or Failed.
--
-- Sends an event to other applications.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- Event Queue Information
------------------------------------------------------------------------------

    function X_Events_Queued (Display : X_Display;  
                              Mode    : X_Event_Queuing) return S_Long;
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Mode    - Specifies the event queuing mode.
--
-- If Mode = Queued_Already then returns the number of events already in
-- the event queue (and never makes a system call).
--
-- If Mode = Queued_After_Flush then returns the number of events already in
-- the event queue if non-zero and if there are no events in the queue then
-- it flushes the output buffer, attempts to read events from the input
-- connection, and returns the number read.
--
-- If Mode = Queued_After_Reading then returns the number of events already in
-- the event queue if non-zero and if there are no events in the queue then
-- it attempts to read new events from the connection without flushing the
-- output buffer and returns the number read.
--
-- Always returns immediately without doing I/O if there are events in the
-- queue.
------------------------------------------------------------------------------

    function X_Pending (Display : X_Display) return S_Long;
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--
-- Just like X_Event_Queued with Mode = Queued_After_Flush.
------------------------------------------------------------------------------

--\x0c
    ------------------------------------------------------------------------------
-- Event Retrieval
------------------------------------------------------------------------------

    generic  
        type Predicate_Argument_Type is limited private;  
        with procedure Predicate  
                          (Display :        X_Display;  
                           Event   :        X_Event;  
                           Args    : in out Predicate_Argument_Type;  
                           Success : out    X_Status);  
    procedure X_Check_If_Event (Display :        X_Display;  
                                Event   : in out X_Event;  
                                Args    : in out Predicate_Argument_Type;  
                                Status  : out    X_Status);
------------------------------------------------------------------------------
--  Predicate_Argument_Type - The type of the predicates extra data.
--  Predicate               - Boolean function taking an X_Display, an
--                            X_Event, and argument data.
--
--  Display - Specifies the display to use.
--  event   - Receives the event from the queue.
--  Args    - Specifies the predicate argument data.
--  Status  - Receives Successful or Failed.
--
-- Returns the next event that passes the indicated predicate test.  The first
-- event that causes the Predicate to return True will be removed from the
-- queue and returned.  Each event in the queue is checked.  If none of them
-- works then the output buffer is flushed and the routine returns Failed.
------------------------------------------------------------------------------

    procedure X_Check_Mask_Event (Display    :        X_Display;  
                                  Event_Mask :        X_Event_Mask;  
                                  Event      : in out X_Event;  
                                  Status     : out    X_Status);
------------------------------------------------------------------------------
--  Display    - Specifies the display to use.
--  Event_Mask - Specifies the event types to look for.
--  Event      - Receives the event from the queue.
--  Status     - Receives Successful or Failed.
--
-- Returns the next event that matches the event mask.  Each event in the
-- queue is checked.  If none of them works then the output buffer is flushed
-- and the routine returns Failed.
------------------------------------------------------------------------------

    procedure X_Check_Typed_Event (Display :        X_Display;  
                                   Kind    :        X_Event_Code;  
                                   Event   : in out X_Event;  
                                   Status  : out    X_Status);
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Kind    - Specifies the event type to be returned.
--  Event   - Receives the event from the queue.
--  Status  - Receives Successful or Failed.
--
-- Returns the next event that matches with the same Kind.  Each event in the
-- queue is checked.  If none of them works then the output buffer is flushed
-- and the routine returns Failed.
------------------------------------------------------------------------------

    procedure X_Check_Typed_Window_Event  
                 (Display :        X_Display;  
                  Window  :        X_Window;  
                  Kind    :        X_Event_Code;  
                  Event   : in out X_Event;  
                  Status  : out    X_Status);
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Window  - Specifies the window to look for.
--  Kind    - Specifies the event type to be returned.
--  Event   - Receives the event from the queue.
--  Status  - Receives Successful or Failed.
--
-- Returns the next event that matches both the window and the even type.
-- Each event in the queue is checked.  If none of them works then the output
-- buffer is flushed and the routine returns Failed.
------------------------------------------------------------------------------

    procedure X_Check_Window_Event (Display    :        X_Display;  
                                    Window     :        X_Window;  
                                    Event_Mask :        X_Event_Mask;  
                                    Event      : in out X_Event;  
                                    Status     : out    X_Status);
------------------------------------------------------------------------------
--  Display    - Specifies the display to use.
--  Window     - Specifies the window to look for.
--  Event_Mask - Specifies the event types to look for.
--  Event      - Receives the event from the queue.
--  Status     - Receives Successful or Failed.
--
-- Returns the next event that matches both the window and the event mask.
-- Each event in the queue is checked.  If none of them works then the output
-- buffer is flushed and the routine returns Failed.
------------------------------------------------------------------------------
   generic  
        type Predicate_Argument_Type is limited private;  
        with procedure Predicate  
                          (Display :        X_Display;  
                           Event   :        X_Event;  
                           Args    : in out Predicate_Argument_Type;  
                           Success : out    X_Status);  
    procedure X_If_Event (Display :        X_Display;  
                          Event   : out    X_Event;  
                          Args    : in out Predicate_Argument_Type);
------------------------------------------------------------------------------
--  Predicate_Argument_Type - The type of the predicates extra data.
--  Predicate               - Boolean function taking an X_Display, an
--                            X_Event, and argument data.
--
--  Display - Specifies the display to use.
--  Event   - Receives the event from the queue.
--  Args    - Specifies the predicate argument data.
--
-- Returns the next event that passes the indicated predicate test.  The first
-- event that causes the Predicate to return True will be removed from the
-- queue and returned.  Each event in the queue is checked.  If none of them
-- works then the output buffer is flushed and the routine blocks waiting for
-- further events to arrive.
------------------------------------------------------------------------------

    procedure X_Mask_Event (Display    :     X_Display;  
                            Event_Mask :     X_Event_Mask;  
                            Event      : out X_Event);
------------------------------------------------------------------------------
--  Display    - Specifies the display to use.
--  Event_Mask - Specifies the event types to look for.
--  Event      - Returns the event from the queue.
--
-- Returns the next event that matches the event mask.  Each event in the
-- queue is checked.  If none of them works then the output buffer is flushed
-- and the routine blocks waiting for further events to arrive.
------------------------------------------------------------------------------

    procedure X_Next_Event (Display :     X_Display;  
                            Event   : out X_Event);
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Event   - Receives the event from the queue.
--
-- Returns the next event in the event queue.  If the event queue is empty
-- then it flushes the output buffer and waits for an event.
------------------------------------------------------------------------------

    procedure X_Peek_Event (Display :     X_Display;  
                            Event   : out X_Event);
------------------------------------------------------------------------------
--  Display - Specifies the display to use.
--  Event   - Receives the event from the queue.
--
-- Just like X_Next_Event except that the event is not removed from the
-- queue.
------------------------------------------------------------------------------

    generic  
        type Predicate_Argument_Type is limited private;  
        with procedure Predicate  
                          (Display :        X_Display;  
                           Event   :        X_Event;  
                           Args    : in out Predicate_Argument_Type;  
                           Success : out    X_Status);  
    procedure X_Peek_If_Event (Display :        X_Display;  
                               Event   : out    X_Event;  
                               Args    : in out Predicate_Argument_Type);
------------------------------------------------------------------------------
--  Predicate_Argument_Type - The type of the predicates extra data.
--  Predicate               - Boolean function taking an X_Display, an
--                            X_Event, and argument data.
--
--  Display - Specifies the display to use.
--  Event   - Receives the event from the queue.
--  Args    - Specifies the predicate argument data.
--
-- Returns the next event that passes the indicated predicate test.  The first
-- event that causes the Predicate to return True will be returned without
-- removing it from the queue.  Each event in the queue is checked.  If none
-- of them works then the output buffer is flushed and the routine blocks
-- waiting for further events to arrive.
------------------------------------------------------------------------------

    procedure X_Window_Event (Display    :     X_Display;  
                              Window     :     X_Window;  
                              Event_Mask :     X_Event_Mask;  
                              Event      : out X_Event);
------------------------------------------------------------------------------
--  Display    - Specifies the display to use.
--  Window     - Specifies the window to look for.
--  Event_Mask - Specifies the event types to look for.
--  Event      - Receives the event from the queue.
--
-- Returns the next event that matches both the window and the event mask.
-- Each event in the queue is checked.  If none of them works then the output
-- buffer is flushed and the routine blocks waiting for further events to
-- arrive.
------------------------------------------------------------------------------

--\x0c
end Xlbp_Event;  

E3 Meta Data

    nblk1=11
    nid=0
    hdr6=22
        [0x00] rec0=19 rec1=00 rec2=01 rec3=032
        [0x01] rec0=13 rec1=00 rec2=02 rec3=01c
        [0x02] rec0=14 rec1=00 rec2=03 rec3=04c
        [0x03] rec0=14 rec1=00 rec2=04 rec3=02e
        [0x04] rec0=15 rec1=00 rec2=05 rec3=032
        [0x05] rec0=16 rec1=00 rec2=06 rec3=038
        [0x06] rec0=11 rec1=00 rec2=07 rec3=05c
        [0x07] rec0=11 rec1=00 rec2=08 rec3=052
        [0x08] rec0=13 rec1=00 rec2=09 rec3=018
        [0x09] rec0=13 rec1=00 rec2=0a rec3=086
        [0x0a] rec0=13 rec1=00 rec2=0b rec3=002
        [0x0b] rec0=13 rec1=00 rec2=0c rec3=030
        [0x0c] rec0=11 rec1=00 rec2=0d rec3=036
        [0x0d] rec0=14 rec1=00 rec2=0e rec3=010
        [0x0e] rec0=13 rec1=00 rec2=0f rec3=03e
        [0x0f] rec0=12 rec1=00 rec2=10 rec3=012
        [0x10] rec0=0a rec1=00 rec2=11 rec3=000
    tail 0x2150095ec819782143259 0x42a00088462063203