|
|
DataMuseum.dkPresents historical artifacts from the history of: Rational R1000/400 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Rational R1000/400 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: Ada Source
Notes: 03_class, FILE, R1k_Segment, e3_tag, package Limit_Operations, pragma Module_Name 4 3554, pragma Subsystem Directory, seg_001ce9
└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
└─⟦5a81ac88f⟧ »Space Info Vol 1«
└─⟦this⟧
with Directory;
with System;
package Limit_Operations is
pragma Subsystem (Directory);
pragma Module_Name (4, 3554);
-- Accepts a limit (as in compilation or show usage) and builds the
-- necessary data structures to make enquiries.
-- There are two items of interest, limit specifiers and contexts.
-- A limit specifier specifies how to interpret a 'context'.
-- A context is a set of directory.objects, and is interpreted as directed
-- by the limit string. For example, if the limit string is
-- <WORLDS>, all objects in the same worlds as the contexts are ok.
-- Since there can be many contexts, many worlds can be specified.
-- The valid limit strings are:
--
-- <UNITS> Exact match of context(s)
-- <SUBUNITS> Context(s) and all subunits
-- <DIRECTORY> <DIRECTORIES> Library containing the context(s)
-- <WORLDS> World containing the context(s)
-- <ALL_WORLDS> Anything
-- <ACTIVITY> Worlds in the default activity
-- are used as context. Implies
-- <WORLDS>
-- Any naming string/set. The objects specified by the
-- expression. If an activity is
-- given, it is decomposed. The
-- change limit is set to the
-- 'highest' object encountered
-- (object, library, world)
--
-- Prefixes of the limit strings are accepted
type Error_Status is
(Successful, Unknown_Limit_Specifier, Lock_Error,
Naming_Error, -- If set, name_status has further info
Other_Error);
function Is_Bad (Status : Error_Status) return Boolean;
procedure Initialize (Limit_String : String;
Context : String;
In_Heap : System.Segment;
Change_Limit : out Directory.Change_Limit;
Context_Set : out Directory.Object_Set.Set;
Status : out Error_Status;
Name_Status : out Directory.Naming.Name_Status);
-- The iterator is consumed here. As such it might have to be
-- reset after this call
procedure Initialize (Limit_String : String;
Context : in out Directory.Naming.Iterator;
In_Heap : System.Segment;
Change_Limit : out Directory.Change_Limit;
Context_Set : out Directory.Object_Set.Set;
Status : out Error_Status;
Name_Status : out Directory.Naming.Name_Status);
function Is_In_Limit
(Object : Directory.Object;
Change_Limit : Directory.Change_Limit;
Context_Set : Directory.Object_Set.Set) return Boolean;
procedure Initialize (Limit_String : String;
Context : Directory.Object;
In_Heap : System.Segment;
Change_Limit : out Directory.Change_Limit;
Context_Set : out Directory.Object_Set.Set;
Status : out Error_Status;
Name_Status : out Directory.Naming.Name_Status);
end Limit_Operations;
nblk1=4
nid=0
hdr6=8
[0x00] rec0=19 rec1=00 rec2=01 rec3=038
[0x01] rec0=13 rec1=00 rec2=02 rec3=000
[0x02] rec0=13 rec1=00 rec2=03 rec3=04e
[0x03] rec0=12 rec1=00 rec2=04 rec3=000
tail 0x20100fa707da18e2a5a5d 0x42a00088462065003