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: ┃ T V

⟦864cc7aee⟧ TextFile

    Length: 15425 (0x3c41)
    Types: TextFile
    Names: »V«

Derivation

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

TextFile

with Xlbt_Arithmetic;  
use Xlbt_Arithmetic;  
with Xlbt_Basic3;  
use Xlbt_Basic3;  
with Xlbt_Event3;  
use Xlbt_Event3;  
with Xlbt_Proc_Var;  
use Xlbt_Proc_Var;  
with Xlbt_Request;  
use Xlbt_Request;  
with Xlbt_Univ_Ptr;  
use Xlbt_Univ_Ptr;

with Xlbit_Unused;  
use Xlbit_Unused;

--/ if Record_Rep_Clauses then
--// with Xlbmt_Parameters;
--// use Xlbmt_Parameters;
--/ end if;

package Xlbt_Error3 is
------------------------------------------------------------------------------
-- X Library Protocol Error Codes and Packets - Full Interface
--
-- Xlbt_Error3 - Record definitions of the protocol error packets
------------------------------------------------------------------------------
-- 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.
------------------------------------------------------------------------------

--\f

------------------------------------------------------------------------------
-- X_Error_Code
------------------------------------------------------------------------------

    type X_Error_Code is  
       (

        Success,       --  0 -- everything's okay
        Bad_Request,   --  1 -- bad request code
        Bad_Value,     --  2 -- int parameter out of range
        Bad_Window,    --  3 -- parameter not a Window
        Bad_Pixmap,    --  4 -- parameter not a Pixmap
        Bad_Atom,      --  5 -- parameter not an Atom
        Bad_Cursor,    --  6 -- parameter not a Cursor
        Bad_Font,      --  7 -- parameter not a Font
        Bad_Match,     --  8 -- parameter mismatch
        Bad_Drawable,  --  9 -- parameter not a Pixmap or Window
        Bad_Access,    -- 10 -- depending on context:
                       --       - key/button already grabbed
                       --       - attempt to free an illegal color map entry
                       --       - attempt to store into a read-only color map
                       --           entry.
                       --       - attempt to modify the access control list
                       --           from other than the local host.
        Bad_Alloc,     -- 11 -- insufficient resources
        Bad_Color,     -- 12 -- no such colormap
        Bad_Gc,        -- 13 -- parameter not a GC
        Bad_Id_Choice, -- 14 -- choice not in range or already used
        Bad_Name,      -- 15 -- font or color name doesn't exist
        Bad_Length,    -- 16 -- Request length incorrect

        Bad_Implementation, -- 17 -- server defective

        Xe18,          -- 18 .. 127 -- Unassigned protocol errors
        Xe19, Xe20, Xe21, Xe22, Xe23, Xe24, Xe25, Xe26, Xe27, Xe28, Xe29, Xe30,  
        Xe31, Xe32, Xe33, Xe34, Xe35, Xe36, Xe37, Xe38, Xe39, Xe40, Xe41, Xe42,  
        Xe43, Xe44, Xe45, Xe46, Xe47, Xe48, Xe49, Xe50, Xe51, Xe52, Xe53, Xe54,  
        Xe55, Xe56, Xe57, Xe58, Xe59, Xe60, Xe61, Xe62, Xe63, Xe64, Xe65, Xe66,  
        Xe67, Xe68, Xe69, Xe70, Xe71, Xe72, Xe73, Xe74, Xe75, Xe76, Xe77,  
        Xe78, Xe79, Xe80, Xe81, Xe82, Xe83, Xe84, Xe85, Xe86, Xe87, Xe88,  
        Xe89, Xe90, Xe91, Xe92, Xe93, Xe94, Xe95, Xe96, Xe97, Xe98, Xe99,  
        Xe100, Xe101, Xe102, Xe103, Xe104, Xe105, Xe106, Xe107, Xe108, Xe109,  
        Xe110, Xe111, Xe112, Xe113, Xe114, Xe115, Xe116, Xe117, Xe118,  
        Xe119, Xe120, Xe121, Xe122, Xe123, Xe124, Xe125, Xe126, Xe127,

        First_Extension_Error, -- 128

        Xe129,         -- 129 .. 254 -- Unassigned extension errors
        Xe130, Xe131, Xe132, Xe133, Xe134, Xe135, Xe136, Xe137, Xe138, Xe139,  
        Xe140, Xe141, Xe142, Xe143, Xe144, Xe145, Xe146, Xe147, Xe148, Xe149,  
        Xe150, Xe151, Xe152, Xe153, Xe154, Xe155, Xe156, Xe157, Xe158, Xe159,  
        Xe160, Xe161, Xe162, Xe163, Xe164, Xe165, Xe166, Xe167, Xe168, Xe169,  
        Xe170, Xe171, Xe172, Xe173, Xe174, Xe175, Xe176, Xe177, Xe178, Xe179,  
        Xe180, Xe181, Xe182, Xe183, Xe184, Xe185, Xe186, Xe187, Xe188, Xe189,  
        Xe190, Xe191, Xe192, Xe193, Xe194, Xe195, Xe196, Xe197, Xe198, Xe199,  
        Xe200, Xe201, Xe202, Xe203, Xe204, Xe205, Xe206, Xe207, Xe208, Xe209,  
        Xe210, Xe211, Xe212, Xe213, Xe214, Xe215, Xe216, Xe217, Xe218,  
        Xe219, Xe220, Xe221, Xe222, Xe223, Xe224, Xe225, Xe226, Xe227,  
        Xe228, Xe229, Xe230, Xe231, Xe232, Xe233, Xe234, Xe235, Xe236,  
        Xe237, Xe238, Xe239, Xe240, Xe241, Xe242, Xe243, Xe244, Xe245,  
        Xe246, Xe247, Xe248, Xe249, Xe250, Xe251, Xe252, Xe253, Xe254,

        Last_Extension_Error);  -- 255

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

    None_X_Error_Code : constant X_Error_Code := X_Error_Code'Val (0);

--\f

------------------------------------------------------------------------------
-- An Error Event containing an Atom Id (X_Id)
------------------------------------------------------------------------------

    type X_Error_With_Atom is  
        record  
            Kind            : X_Event_Code_8;  
            Code            : X_Error_Code;  
            Sequence_Number : U_Short;  
            Atom_Id         : X_Atom;  
            Minor_Opcode    : U_Short;  
            Major_Opcode    : X_Request_Code;  
            Pad             : X_Unused_21;  
        end record;

--/ if Length_Clauses then
    for X_Error_With_Atom'Size use 8 * 32;
--/ end if;

------------------------------------------------------------------------------
-- An Error Event containing nothing other than the op-codes.
------------------------------------------------------------------------------

    type X_Error_With_Nothing is  
        record  
            Kind            : X_Event_Code_8;  
            Code            : X_Error_Code;  
            Sequence_Number : U_Short;  
            Pad0            : X_Unused_4;  
            Minor_Opcode    : U_Short;  
            Major_Opcode    : X_Request_Code;  
            Pad             : X_Unused_21;  
        end record;

--/ if Length_Clauses then
    for X_Error_With_Nothing'Size use 8 * 32;
--/ end if;

--\f

------------------------------------------------------------------------------
-- An Error Event containing a Resource Id (X_Id)
------------------------------------------------------------------------------

    type X_Error_With_Resource is  
        record  
            Kind            : X_Event_Code_8;  
            Code            : X_Error_Code;  
            Sequence_Number : U_Short;  
            Resource_Id     : X_Id;  
            Minor_Opcode    : U_Short;  
            Major_Opcode    : X_Request_Code;  
            Pad             : X_Unused_21;  
        end record;

--/ if Length_Clauses then
    for X_Error_With_Resource'Size use 8 * 32;
--/ end if;

------------------------------------------------------------------------------
-- An Error Event containing a 32-bit value of unknown type.
------------------------------------------------------------------------------

    type X_Error_With_Value is  
        record  
            Kind            : X_Event_Code_8;  
            Code            : X_Error_Code;  
            Sequence_Number : U_Short;  
            Value           : S_Long;  
            Minor_Opcode    : U_Short;  
            Major_Opcode    : X_Request_Code;  
            Pad             : X_Unused_21;  
        end record;

--/ if Length_Clauses then
    for X_Error_With_Value'Size use 8 * 32;
--/ end if;

--\f

--/ if Record_Rep_Clauses then
--//
--//     for X_Error_With_Atom use
--//         record
--//             Kind            at 0 * X_Word range X_Byte0a .. X_Byte0b;
--//             Code            at 0 * X_Word range X_Byte1a .. X_Byte1b;
--//             Sequence_Number at 0 * X_Word range X_Half1a .. X_Half1b;
--//             Atom_Id         at 1 * X_Word range X_Word0a .. X_Word0b;
--//             Minor_Opcode    at 2 * X_Word range X_Half0a .. X_Half0b;
--//             Major_Opcode    at 2 * X_Word range X_Byte2a .. X_Byte2b;
--//             Pad             at 2 * X_Word range X_Byte3a ..
--//                                                    X_Byte3a + 21 * 8 - 1;
--//         end record;
--//
--//     for X_Error_With_Nothing use
--//         record
--//             Kind            at 0 * X_Word range X_Byte0a .. X_Byte0b;
--//             Code            at 0 * X_Word range X_Byte1a .. X_Byte1b;
--//             Sequence_Number at 0 * X_Word range X_Half1a .. X_Half1b;
--//             Pad0            at 1 * X_Word range X_Word0a .. X_Word0b;
--//             Minor_Opcode    at 2 * X_Word range X_Half0a .. X_Half0b;
--//             Major_Opcode    at 2 * X_Word range X_Byte2a .. X_Byte2b;
--//             Pad             at 2 * X_Word range X_Byte3a ..
--//                                                    X_Byte3a + 21 * 8 - 1;
--//         end record;
--//
--//     for X_Error_With_Resource use
--//         record
--//             Kind            at 0 * X_Word range X_Byte0a .. X_Byte0b;
--//             Code            at 0 * X_Word range X_Byte1a .. X_Byte1b;
--//             Sequence_Number at 0 * X_Word range X_Half1a .. X_Half1b;
--//             Resource_Id     at 1 * X_Word range X_Word0a .. X_Word0b;
--//             Minor_Opcode    at 2 * X_Word range X_Half0a .. X_Half0b;
--//             Major_Opcode    at 2 * X_Word range X_Byte2a .. X_Byte2b;
--//             Pad             at 2 * X_Word range X_Byte3a ..
--//                                                    X_Byte3a + 21 * 8 - 1;
--//         end record;
--//
--//     for X_Error_With_Value use
--//         record
--//             Kind            at 0 * X_Word range X_Byte0a .. X_Byte0b;
--//             Code            at 0 * X_Word range X_Byte1a .. X_Byte1b;
--//             Sequence_Number at 0 * X_Word range X_Half1a .. X_Half1b;
--//             Value           at 1 * X_Word range X_Word0a .. X_Word0b;
--//             Minor_Opcode    at 2 * X_Word range X_Half0a .. X_Half0b;
--//             Major_Opcode    at 2 * X_Word range X_Byte2a .. X_Byte2b;
--//             Pad             at 2 * X_Word range X_Byte3a ..
--//                                                    X_Byte3a + 21 * 8 - 1;
--//         end record;
--//
--/ end if;

--\f

------------------------------------------------------------------------------
-- "None" Error Values
------------------------------------------------------------------------------

    None_X_Error_With_Atom : constant X_Error_With_Atom :=  
       (Error_Event, Bad_Atom, 0, (Number => 0),  
        0, Invalid_Request, (others => 0));

    None_X_Error_With_Nothing : constant X_Error_With_Nothing :=  
       (Error_Event, Bad_Request, 0, (others => 0),  
        0, Invalid_Request, (others => 0));

    None_X_Error_With_Resource : constant X_Error_With_Resource :=  
       (Error_Event, Bad_Window, 0, (Number => 0),  
        0, Invalid_Request, (others => 0));

    None_X_Error_With_Value : constant X_Error_With_Value :=  
       (Error_Event, Bad_Value, 0, 0, 0, Invalid_Request, (others => 0));

--\f

------------------------------------------------------------------------------
-- Extensions have events using these types of record.
------------------------------------------------------------------------------

    type X_Error_With_Universal_Pointer is  
        record  
            Kind            : X_Event_Code_8;  
            Code            : X_Error_Code;  
            Sequence_Number : U_Short;  
            Pointer         : X_Universal_Pointer;  
            Free_Pointer    : X_Procedure_Variable;  
            Minor_Opcode    : U_Short;  
            Major_Opcode    : X_Request_Code;  
            Pad             : X_Unused_21;  
        end record;

    type X_Extension_Error_Kind is  
       (Error_With_Atom,                -- Error with an Atom value.
        Error_With_Nothing,             -- Error with no value.
        Error_With_Resource,            -- Error with Resource ID value.
        Error_With_Value,               -- Error with numeric value.
        Error_With_Universal_Pointer);  -- Error with extension's own format.

    type X_Extension_Error (Kind : X_Extension_Error_Kind := Error_With_Atom) is  
        record  
            Serial : S_Long := 0;         -- # of last req. processed by server
            Send_Event : Boolean := False;-- True if sent by Client not Server
            case Kind is  
                when Error_With_Atom =>  
                    Atom : X_Error_With_Atom;

                when Error_With_Nothing =>  
                    Nothing : X_Error_With_Nothing;

                when Error_With_Resource =>  
                    Resource : X_Error_With_Resource;

                when Error_With_Value =>  
                    Value : X_Error_With_Value;

                when Error_With_Universal_Pointer =>  
                    Universal_Pointer : X_Error_With_Universal_Pointer;

            end case;  
        end record;

--\f

------------------------------------------------------------------------------
-- Error Events are differentiated using this record type.
------------------------------------------------------------------------------

    type X_Error_Contents (Kind : X_Error_Code := Success) is  
        record  
            Serial : S_Long := 0;         -- # of last req. processed by server
            Send_Event : Boolean := False;-- True if sent by Client not Server
            case Kind is  
                when Bad_Atom =>  
                    Atom : X_Error_With_Atom;

                when Bad_Request |  
                     Bad_Match |  
                     Bad_Access |  
                     Bad_Alloc |  
                     Bad_Name |  
                     Bad_Length |  
                     Bad_Implementation =>  
                    Nothing : X_Error_With_Nothing;

                when Bad_Window |  
                     Bad_Pixmap |  
                     Bad_Cursor |  
                     Bad_Font |  
                     Bad_Drawable |  
                     Bad_Color |  
                     Bad_Gc |  
                     Bad_Id_Choice =>  
                    Resource : X_Error_With_Resource;

                when Bad_Value =>  
                    Value : X_Error_With_Value;

                when others =>
                    ----These are assumed to be extensions.
                    Extension : X_Extension_Error;

            end case;  
        end record;

end Xlbt_Error3;