|
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: 15982 (0x3e6e) 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_Display3; use Xlbt_Display3; with Xlbt_Proc_Var; use Xlbt_Proc_Var; with Xlbt_Rm3; use Xlbt_Rm3; package Xlbit_Library3 is ------------------------------------------------------------------------------ -- X Library Internal State -- -- Xlbit_Library3 - Library State - No packages have any non-constant state -- other than this set of packages. ------------------------------------------------------------------------------ -- 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. ------------------------------------------------------------------------------ -- **************************************************************************** -- * Date - /Name/ Comment -- * -- * 6-NOV-90 - /GEB/ Implement the new multitasking protection scheme for -- * - library state. -- **************************************************************************** --/ if Multitask_Locking then -- Multi-tasking capability *has* been turned on. --/ else --// -- Multi-tasking capability has *not* been turned on. --/ end if; --\f ------------------------------------------------------------------------------ -- X_Lib - Multitasking protected X_Library state. ------------------------------------------------------------------------------ --/ if Multitask_Locking then task X_Lib is --/ else --// --// package x_lib is --// --/ end if; --/ if Multitask_Locking then entry Get_Authorization (Authorization_Name : out U_Char_List; Authorization_Data : out U_Char_List); entry Set_Authorization (Authorization_Name : U_Char_List; Authorization_Data : U_Char_List); --/ else --// procedure Get_Authorization (Authorization_Name : out U_Char_List; --// Authorization_Data : out U_Char_List); --// procedure Set_Authorization (Authorization_Name : U_Char_List; --// Authorization_Data : U_Char_List); --/ end if; ------------------------------------------------------------------------------ -- Authorization_Name - Specifies/Receives the authorization name to use -- Authorization_Data - Specifies/Receives the authorization data to use -- -- Gets/Sets the data used when connecting to a server. It is used to authorize -- access to the server. Values of None_U_Char_List mean that we use the -- default mechanisms and default data. Typically this is the "xhost" -- method. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Get_Debug (On_Off : out Boolean); entry Set_Debug (On_Off : Boolean); --/ else --// procedure Get_Debug (On_Off : out Boolean); --// procedure Set_Debug (On_Off : Boolean); --/ end if; ------------------------------------------------------------------------------ -- On_Off - Specifies TRUE to turn synchronization on. -- -- Turn on/off special debug/synchronization code. When a new display is -- opened, it will have synchronization turned on by default if this flag has -- been previously set to true. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Add_Display (Display : X_Display); entry Remove_Display (Display : X_Display); --/ else --// procedure Add_Display (Display : X_Display); --// procedure Remove_Display (Display : X_Display); --/ end if; ------------------------------------------------------------------------------ -- Display - Specifies the display to affect -- -- Adds a new display to the library's list of open displays or else removes -- a display from that list. This is used to give displays a unique number -- that can be used with the RM as "contexts" for display-specific -- values that aren't entered into a display-specific database. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Get_Report_Error (Proc : out X_Procedure_Variable); entry Set_Report_Error (Proc : X_Procedure_Variable; Old_Proc : out X_Procedure_Variable); --/ else --// procedure Get_Report_Error (Proc : out X_Procedure_Variable); --// procedure Set_Report_Error (Proc : X_Procedure_Variable; --// Old_Proc : out X_Procedure_Variable); --/ end if; ------------------------------------------------------------------------------ -- Proc - Specifies/Receives the procedure to use; a value of -- None_X_Procedure_Variable restores the library default -- value for this procedure. -- Old_Proc - Receives the previous procedure setting. -- -- Actaul type of Proc is X_Report_Error.Pv. -- -- Report_Error is the lowest level error reporter, and is -- called by all of the default higher level reporters. It is used to format -- error messages and to send them to the appropriate file/device/terminal. -- Messages should not be assumed to be fatal conditions. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Get_Error (Display : X_Display; Proc : out X_Procedure_Variable); entry Set_Error (Display : X_Display; Proc : X_Procedure_Variable; Old_Proc : out X_Procedure_Variable; All_Displays : Boolean := True); --/ else --// procedure Get_Error (Display : X_Display; --// Proc : out X_Procedure_Variable); --// procedure Set_Error (Display : X_Display; --// Proc : X_Procedure_Variable; --// Old_Proc : out X_Procedure_Variable; --// All_Displays : Boolean := True); --/ end if; ------------------------------------------------------------------------------ -- Display - Specifies a display to use -- Proc - Specifies/Receives the procedure to use; a value of -- None_X_Procedure_Variable restores the library default -- value for this procedure. -- Old_Proc - Receives the previous procedure setting. -- All_Displays - Specifies TRUE to set a global default -- -- Actaul type of Proc is X_Error_Function.Pv. -- -- The Error procedure will be called whenever an error event is received. -- This is not assumed to be a fatal condition, i.e., it is acceptable for -- this procedure to return. However, Error should NOT perform any operations -- (directly or indirectly) on any X_Display. -- -- All_Displays => True means that we are setting the global default value. -- All_Displays => False means we are setting this display's default value. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Seize_Display_List (Display : out X_Display); entry Release_Display_List; --/ else --// procedure Seize_Display_List (Display : out X_Display); --// procedure Release_Display_List; --/ end if; ------------------------------------------------------------------------------ -- Display - Receives the display list. -- -- Called to Seize the list of all currently open displays. While this list -- is Seized, no displays can be opened or closed. Be sure to Release it. -- Do not modify the list in any way. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Get_Io_Error (Display : X_Display; Proc : out X_Procedure_Variable); entry Set_Io_Error (Display : X_Display; Proc : X_Procedure_Variable; Old_Proc : out X_Procedure_Variable; All_Displays : Boolean := True); --/ else --// procedure Get_Io_Error (Display : X_Display; --// Proc : out X_Procedure_Variable); --// procedure Set_Io_Error (Display : X_Display; --// Proc : X_Procedure_Variable; --// Old_Proc : out X_Procedure_Variable; --// All_Displays : Boolean := True); --/ end if; ------------------------------------------------------------------------------ -- Display - Specifies a display to use -- Proc - Specifies/Receives the procedure to use; a value of -- None_X_Procedure_Variable restores the library default -- value for this procedure. -- Old_Proc - Receives the previous procedure setting. -- All_Displays - Specifies TRUE to set a global default -- -- Actaul type of Proc is X_Io_Error_Function.Pv. -- -- The IO_Error procedure will be called if any sort of network error occurs. -- This is assumed to be a fatal condition, i.e., IO_Error should not return. -- It should abort the program or raise an exception. In a multitasking -- program it should presumably raise an exception. -- -- All_Displays => True means that we are setting the global default value. -- All_Displays => False means we are setting this display's default value. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Seize_Quark_Map (Map : out X_Rm_Quark_Map.Map); entry Release_Quark_Map (Map : in out X_Rm_Quark_Map.Map); --/ else --// procedure Seize_Quark_Map (Map : out X_Rm_Quark_Map.Map); --// procedure Release_Quark_Map (Map : in out X_Rm_Quark_Map.Map); --/ end if; ------------------------------------------------------------------------------ -- Map - Specifies/Receives the quark map for the library -- -- Map of all known Quarks. All displays share the same set of quark values. -- Seize the map, use it in some way, and then Release it. Whatever you -- Release will become the new map for all displays. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Get_Next_Quark (Quark : out X_Rm_Quark); entry Set_Next_Quark (Quark : X_Rm_Quark); --/ else --// procedure Get_Next_Quark (Quark : out X_Rm_Quark); --// procedure Set_Next_Quark (Quark : X_Rm_Quark); --/ end if; ------------------------------------------------------------------------------ -- Quark - Specifies/Receives the new quark value -- -- Used to generate new quark values. The Set interface is only for debugging -- and library testing. ------------------------------------------------------------------------------ --/ if Multitask_Locking then entry Seize_Resource_Quarks (List : out X_Rm_Quark_Bit_List); entry Release_Resource_Quarks (List : in out X_Rm_Quark_Bit_List); --/ else --// procedure Seize_Resource_Quarks (List : out X_Rm_Quark_Bit_List); --// procedure Release_Resource_Quarks (List : in out X_Rm_Quark_Bit_List); --/ end if; ------------------------------------------------------------------------------ -- List - Specifies/Receives the boolean array of known resource quarks -- -- Used by the RM to optimize resource lookup. Seize the list, modify it, -- then Release it so that others can use the modified/reallocated list. ------------------------------------------------------------------------------ -- entry Get_Rm_Conversion_Error (Display : X_Display; -- Proc : out X_Procedure_Variable); -- entry Set_Rm_Conversion_Error (Display : X_Display; -- Proc : X_Procedure_Variable; -- Old_Proc : out X_Procedure_Variable; -- All_Displays : Boolean := True); -- ------------------------------------------------------------------------------ -- -- Display - Specifies a display to use -- -- Proc - Specifies/Receives the procedure to use; a value of -- -- None_X_Procedure_Variable restores the library default -- -- value for this procedure. -- -- Old_Proc - Receives the previous procedure setting. -- -- All_Displays - Specifies TRUE to set a global default -- -- -- -- Actaul type of Proc is X_Rm_Converter_Error.Pv. -- -- -- -- The Rm_Conversion_Error procedure is called whenever a conversion routine -- -- fails. Presumably the From value is invalid or does not map into a To -- -- value. -- -- -- -- All_Displays => True means that we are setting the global default value. -- -- All_Displays => False means we are setting this display's default value. -- ------------------------------------------------------------------------------ -- -- entry Get_Rm_No_Converter (Display : X_Display; -- Proc : out X_Procedure_Variable); -- entry Set_Rm_No_Converter (Display : X_Display; -- Proc : X_Procedure_Variable; -- Old_Proc : out X_Procedure_Variable; -- All_Displays : Boolean := True); -- ------------------------------------------------------------------------------ -- -- Display - Specifies a display to use -- -- Proc - Specifies/Receives the procedure to use; a value of -- -- None_X_Procedure_Variable restores the library default -- -- value for this procedure. -- -- Old_Proc - Receives the previous procedure setting. -- -- All_Displays - Specifies TRUE to set a global default -- -- -- -- Actaul type of Proc is X_Rm_Converter_Error.Pv. -- -- -- -- The Rm_No_Converter procedure is called whenever we need to make a conversion -- -- but there is no routine registered to perform it. -- -- -- -- All_Displays => True means that we are setting the global default value. -- -- All_Displays => False means we are setting this display's default value. -- ------------------------------------------------------------------------------ -- -- entry Seize_Rm_Converter_Table (Table : out X_Rm_Converter_List); -- entry Release_Rm_Converter_Table (Table : in out X_Rm_Converter_List); -- ----Cache of all registered RM type conversion routines. -- end X_Lib; --\f end Xlbit_Library3;