DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 Tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - downloadIndex: ┃ T V ┃
Length: 15425 (0x3c41) Types: TextFile Names: »V«
└─⟦85b835f43⟧ Bits:30000549 8mm tape, Rational 1000, Xlib rev 6.00 └─ ⟦0c20f784e⟧ »DATA« └─⟦1abbe589f⟧ └─⟦059497ac5⟧ └─⟦this⟧
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;