DataMuseum.dk

Presents historical artifacts from the history of:

Rational R1000/400

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

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦caf71074d⟧ Ada Source

    Length: 12288 (0x3000)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, seg_018ba6

Derivation

└─⟦8527c1e9b⟧ Bits:30000544 8mm tape, Rational 1000, Arrival backup of disks in PAM's R1000
    └─ ⟦5a81ac88f⟧ »Space Info Vol 1« 
        └─⟦this⟧ 

E3 Source Code



--    The use of this system is subject to the software license terms and
--    conditions agreed upon between Rational and the Customer.
--
--                Copyright 1988, 1989, 1990 by Rational.
--
--                          RESTRICTED RIGHTS LEGEND
--
--    Use, duplication, or disclosure by the Government is subject to
--    restrictions as set forth in subdivision (b)(3)(ii) of the Rights in
--    Technical Data and Computer Software clause at 52.227-7013.
--
--
--                Rational
--                3320 Scott Boulevard
--                Santa Clara, California 95054-3197
--
--   PROPRIETARY AND CONFIDENTIAL INFORMATION OF RATIONAL;
--   USE OR COPYING WITHOUT EXPRESS WRITTEN AUTHORIZATION
--   IS STRICTLY PROHIBITED.  THIS MATERIAL IS PROTECTED AS
--   AN UNPUBLISHED WORK UNDER THE U.S. COPYRIGHT ACT OF
--   1976.  CREATED 1988, 1989, 1990.  ALL RIGHTS RESERVED.
--
--

WITH System;
WITH Unchecked_Conversion;

PACKAGE Unix_Base_Types IS

   --
   -- This package defines fundamental C and Unix data types.
   --
   -- Note:  This package is subject to change.
   --

   TYPE Tiny_Integer IS RANGE -128 .. 127;
   FOR Tiny_Integer'Size USE 1 * System.Storage_Unit;

   -- characters
   SUBTYPE Char          IS Tiny_Integer;
   SUBTYPE Unsigned_Char IS Character;
   SUBTYPE U_Char        IS Unsigned_Char;
   SUBTYPE Uchar         IS Unsigned_Char;

   -- short integers
   SUBTYPE Short          IS Short_Integer;
   TYPE    Unsigned_Short IS RANGE 0 .. 2 ** 16 - 1;
   FOR Unsigned_Short'Size USE 16;
   SUBTYPE U_Short IS Unsigned_Short;
   SUBTYPE Ushort  IS Unsigned_Short;

   -- integers
   SUBTYPE Int          IS Integer;
   SUBTYPE Unsigned_Int IS Integer;   -- Long_Integer range 0 .. 2 ** 32 - 1;
   SUBTYPE U_Int        IS Unsigned_Int;  
   SUBTYPE Uint         IS Unsigned_Int;
   SUBTYPE Unsigned     IS Unsigned_Int;

   -- long integers
   SUBTYPE Long          IS Integer;  
   SUBTYPE Unsigned_Long IS Integer;  -- Long_Integer range 0 .. 2 ** 32 - 1;
   SUBTYPE U_Long        IS Unsigned_Long;

   -- pointers
   TYPE Char_Ptr IS ACCESS Character;
   TYPE Int_Ptr  IS ACCESS Int;
   TYPE Long_Ptr IS ACCESS Long;

   -- arrays of pointers
   TYPE Char_Ptrs IS ARRAY (Natural RANGE <>) OF Char_Ptr;

   -- null pointers
   Null_Long_Ptr : CONSTANT Unix_Base_Types.Long_Ptr := NULL;
   Null_Char_Ptr : CONSTANT Unix_Base_Types.Char_Ptr := NULL;

   -- pointer conversion functions
   FUNCTION To_Char_Ptr IS NEW Unchecked_Conversion (System.Address, Char_Ptr);
   FUNCTION To_Char_Ptr (Object : String)   RETURN Char_Ptr;
   FUNCTION To_String   (Object : Char_Ptr) RETURN String;
   FUNCTION To_Int_Ptr  IS NEW Unchecked_Conversion (System.Address, Int_Ptr);
   FUNCTION To_Long_Ptr IS NEW Unchecked_Conversion (System.Address, Long_Ptr);

   -- signals
   --
   -- The following signal definitions can be used in an interrupt handler
   -- pragma like this:
   --
   -- pragma Interrupt_Handler(
   --   Handler => Some_Handler,
   --   Vector  => System.To_Address( Unix_Base_Types.Sigint ) );
   --
   Sighup : CONSTANT := 1;    -- Hangup (Terminate)
   Sigint : CONSTANT := 2;    -- Interrupt (Terminate)
   Sigquit : CONSTANT := 3;   -- Quit (Terminate, Core)
   Sigill : CONSTANT := 4;    -- Illegal instruction (Terminate, Core, Noreset)
   Sigtrap : CONSTANT := 5;   -- Trace trap (Terminate, Core, Noreset)
   Sigabrt : CONSTANT := 6;   -- Software gen'd abort (Terminate, Core)
   Sigiot : CONSTANT := 6;    -- Software gen'd (Terminate, Core)
   Sigemt : CONSTANT := 7;    -- Software gen'd (Terminate, Core)
   Sigfpe : CONSTANT := 8;    -- Floating Point (Terminate, Core)
   Sigkill : CONSTANT := 9;   -- Kill (Terminate, Noignore, Nocatch, Nohold)
   Sigbus : CONSTANT := 10;   -- Buss error (Terminate, Core)
   Sigsegv : CONSTANT := 11;  -- Segmentation violation (Terminate, Core)
   Sigsys : CONSTANT := 12;   -- Bad arg to sys call (Terminate, Core)
   Sigpipe : CONSTANT := 13;  -- Pipe write w/o reader (Terminate)
   Sigalrm : CONSTANT := 14;  -- Alarm clock (Terminate)  Sigterm : CONSTANT := 15;  -- Software termination (Terminate)
   Sigusr1 : CONSTANT := 16;  -- User sig (Terminate)
   Sigusr2 : CONSTANT := 17;  -- User sig (Terminate)
   Sigchld : CONSTANT := 18;  -- Death of child (Ignore)
   Sigcld : CONSTANT := 18;   -- Death of child (Ignore)
   Sigpwr : CONSTANT := 19;   -- Power fail (Noreset, Ignore)
   Sigvtalrm : CONSTANT := 20;-- Virtual timer (Terminate)
   Sigprof : CONSTANT := 21;  -- Profiling timer (Terminate)
   Sigio : CONSTANT := 22;    -- Async I/O (Ignore)
   Sigwindow : CONSTANT := 23;-- Window change or mouse (Itnore)
   Sigstop : CONSTANT := 24;  -- Stop (Noignore, Nocatch, Stop)
   Sigtstp : CONSTANT := 25;  -- Stop from keyboard (Stop)
   Sigcont : CONSTANT := 26;  -- Continue after stop (Nohold, Ignore)
   Sigttin : CONSTANT := 27;  -- Background read from cntl term (Stop)
   Sigttou : CONSTANT := 28;  -- Background write to cntl term (Stop)
   Sigurg : CONSTANT := 29;   -- Urgent data on I/O (Ignore)
   Siglost : CONSTANT := 30;  -- File lock lost in NFS (Terminate)

   -- The following data structures are built for access via the
   -- Signal_Info_Pointer parameter passed to an Ada signal handler.

   TYPE Signal_Context IS
      RECORD
         Sc_Syscall : Unix_Base_Types.Int;           -- interrupted system
                                                     --   call if any
         Sc_Syscall_Action : Unix_Base_Types.Char;   -- what to do after
                                                     --   system call
         Sc_Pad1 : Unix_Base_Types.Char;
         Sc_Pad2 : Unix_Base_Types.Char;
         Sc_Onstack : Unix_Base_Types.Char;          -- sigstack state to
                                                     --   restore
         Sc_Mask : Unix_Base_Types.Int;              -- signal mask to
                                                     --   restore
         Sc_Sp : Unix_Base_Types.Int;                -- sp to restore
         Sc_Ps : Unix_Base_Types.Short;              -- ps to restore
         Sc_Pc : Unix_Base_Types.Int;                -- pc to restore
      END RECORD;

   FOR Signal_Context USE
      RECORD
         Sc_Syscall        AT 0  RANGE 0 .. 31;
         Sc_Syscall_Action AT 4  RANGE 0 .. 7;
         Sc_Pad1           AT 5  RANGE 0 .. 7;
         Sc_Pad2           AT 6  RANGE 0 .. 7;
         Sc_Onstack        AT 7  RANGE 0 .. 7;
         Sc_Mask           AT 8  RANGE 0 .. 31;
         Sc_Sp             AT 12 RANGE 0 .. 31;
         Sc_Ps             AT 16 RANGE 0 .. 15;
         Sc_Pc             AT 20 RANGE 0 .. 31;
      END RECORD;

   TYPE Signal_Context_Pointer IS ACCESS Signal_Context;
   TYPE Signal_Info IS
      RECORD
         Number  : Unix_Base_Types.Int;       -- signal number
         Code    : Unix_Base_Types.Int;       -- code subselect
         Context : Signal_Context_Pointer;    -- pointer to signal context
      END RECORD;

   FOR Signal_Info USE
      RECORD
         Number  AT 0 RANGE 0 .. 31;
         Code    AT 4 RANGE 0 .. 31;
         Context AT 8 RANGE 0 .. 31;
      END RECORD;

   TYPE Signal_Info_Pointer IS ACCESS Signal_Info; -- passed to handler
END Unix_Base_Types;

E3 Meta Data

    nblk1=b
    nid=8
    hdr6=14
        [0x00] rec0=1d rec1=00 rec2=01 rec3=02a
        [0x01] rec0=20 rec1=00 rec2=02 rec3=03a
        [0x02] rec0=05 rec1=00 rec2=0a rec3=038
        [0x03] rec0=1a rec1=00 rec2=03 rec3=00a
        [0x04] rec0=01 rec1=00 rec2=09 rec3=00c
        [0x05] rec0=0f rec1=00 rec2=04 rec3=002
        [0x06] rec0=10 rec1=00 rec2=05 rec3=008
        [0x07] rec0=12 rec1=00 rec2=06 rec3=034
        [0x08] rec0=1a rec1=00 rec2=07 rec3=012
        [0x09] rec0=08 rec1=00 rec2=0b rec3=000
        [0x0a] rec0=00 rec1=09 rec2=00 rec3=006
    tail 0x2151518fe8357639a5e0e 0x489e0066482863c01
Free Block Chain:
  0x8: 0000  00 00 00 20 00 1d 20 20 20 20 20 20 20 20 20 2d  ┆               -┆