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

⟦47ad12f46⟧ TextFile

    Length: 3710 (0xe7e)
    Types: TextFile
    Names: »V«

Derivation

└─⟦d10a02448⟧ Bits:30000409 8mm tape, Rational 1000, ENVIRONMENT, D_12_7_3
    └─ ⟦fc9b38f02⟧ »DATA« 
        └─⟦9b46a407a⟧ 
            └─⟦12c68c704⟧ 
                └─⟦this⟧ 
└─⟦5f3412b64⟧ Bits:30000745 8mm tape, Rational 1000, ENVIRONMENT 12_6_5 TOOLS 
    └─ ⟦91c658230⟧ »DATA« 
        └─⟦458657fb6⟧ 
            └─⟦220843204⟧ 
                └─⟦this⟧ 

TextFile

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;