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

⟦e98e60f05⟧ Ada Source

    Length: 11264 (0x2c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, generic, package Memory, seg_02221f

Derivation

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

E3 Source Code



--      Copyright (c) 1990 Meridian Software Systems, Inc.      --
with Mac_Types;
use Mac_Types;
package Memory is

    Maxsize : constant := 16#800000#;

    type Zone is
        record
            Bklim : Ptr;
            Purgeptr : Ptr;
            Hfstfree : Ptr;
            Zcbfree : Longint;
            Gzproc : Procptr;
            Moremast : Mac_Types.Integer;
            Flags : Mac_Types.Integer;
            Cntrel : Mac_Types.Integer;
            Maxrel : Mac_Types.Integer;
            Cntnrel : Mac_Types.Integer;
            Maxnrel : Mac_Types.Integer;
            Cntempty : Mac_Types.Integer;
            Cnthandles : Mac_Types.Integer;
            Mincbfree : Longint;
            Purgeproc : Procptr;
            Spareptr : Ptr;
            Allocptr : Ptr;
            Heapdata : Mac_Types.Integer;
        end record;
    type Thz is access Zone;

    subtype Size is Longint;
    type Varsize is access Size;

    function Getappllimit return Ptr;
    pragma Interface (Mpwpascal, Getappllimit, "16#2EB8#,16#0130#");

    function Getzone return Thz;
    pragma Interface (Mpwpascal, Getzone, "GETZONE");

    function Systemzone return Thz;
    pragma Interface (Mpwpascal, Systemzone, "16#2EB8#,16#02A6#");

    function Appliczone return Thz;
    pragma Interface (Mpwpascal, Appliczone, "16#2EB8#,16#02AA#");

    function Newhandle (Bytecount : Size) return Handle;
    pragma Interface (Mpwpascal, Newhandle, "NEWHANDLE");

    function Newhandlesys (Bytecount : Size) return Handle;
    pragma Interface (Mpwpascal, Newhandlesys, "NEWHANDLESYS");

    function Newhandleclear (Bytecount : Size) return Handle;
    pragma Interface (Mpwpascal, Newhandleclear, "NEWHANDLECLEAR");

    function Newhandlesysclear (Bytecount : Size) return Handle;
    pragma Interface (Mpwpascal, Newhandlesysclear, "NEWHANDLESYSCLEAR");

    function Handlezone (H : Handle) return Thz;
    pragma Interface (Mpwpascal, Handlezone, "HANDLEZONE");

    function Recoverhandle (P : Ptr) return Handle;
    pragma Interface (Mpwpascal, Recoverhandle, "RECOVERHANDLE");

    function Newptr (Bytecount : Size) return Ptr;
    pragma Interface (Mpwpascal, Newptr, "NEWPTR");

    function Newptrsys (Bytecount : Size) return Ptr;
    pragma Interface (Mpwpascal, Newptrsys, "NEWPTRSYS");

    function Newptrclear (Bytecount : Size) return Ptr;
    pragma Interface (Mpwpascal, Newptrclear, "NEWPTRCLEAR");

    function Newptrsysclear (Bytecount : Size) return Ptr;
    pragma Interface (Mpwpascal, Newptrsysclear, "NEWPTRSYSCLEAR");

    function Ptrzone (P : Ptr) return Thz;
    pragma Interface (Mpwpascal, Ptrzone, "PTRZONE");

    function Gzsavehnd return Handle;
    pragma Interface (Mpwpascal, Gzsavehnd, "16#2EB8#,16#0328#");

    function Topmem return Ptr;
    pragma Interface (Mpwpascal, Topmem, "16#2EB8#,16#0108#");

    function Maxblock return Longint;
    pragma Interface (Mpwpascal, Maxblock, "MAXBLOCK");

    function Stackspace return Longint;
    pragma Interface (Mpwpascal, Stackspace, "STACKSPACE");

    function Newemptyhandle return Handle;
    pragma Interface (Mpwpascal, Newemptyhandle, "NEWEMPTYHANDLE");

    procedure Hlock (H : Handle);
    pragma Interface (Mpwpascal, Hlock, "HLOCK");

    procedure Hunlock (H : Handle);
    pragma Interface (Mpwpascal, Hunlock, "HUNLOCK");

    procedure Hpurge (H : Handle);
    pragma Interface (Mpwpascal, Hpurge, "HPURGE");

    procedure Hnopurge (H : Handle);
    pragma Interface (Mpwpascal, Hnopurge, "HNOPURGE");

    function Stripaddress (Theaddress : Ptr) return Ptr;
    pragma Interface (Mpwpascal, Stripaddress, "STRIPADDRESS");

    function Mfmaxmem (Grow : Varsize) return Size;
    pragma Interface (Mpwpascal, Mfmaxmem, "16#3F3C#,16#0015#,16#A88F#");

    function Mffreemem return Longint;
    pragma Interface (Mpwpascal, Mffreemem, "16#3F3C#,16#0018#,16#A88F#");

    function Mftempnewhandle
                (Logicalsize : Size; Resultcode : Varoserr) return Handle;
    pragma Interface (Mpwpascal, Mftempnewhandle, "16#3F3C#,16#001D#,16#A88F#");

    procedure Mftemphlock (H : Handle; Resultcode : in out Oserr);
    pragma Interface (Mpwpascal, Mftemphlock, "16#3F3C#,16#001E#,16#A88F#");

    procedure Mftemphunlock (H : Handle; Resultcode : in out Oserr);
    pragma Interface (Mpwpascal, Mftemphunlock, "16#3F3C#,16#001F#,16#A88F#");

    procedure Mftempdisposhandle (H : Handle; Resultcode : in out Oserr);
    pragma Interface (Mpwpascal, Mftempdisposhandle,
                      "16#3F3C#,16#0020#,16#A88F#");

    function Mftopmem return Ptr;
    pragma Interface (Mpwpascal, Mftopmem, "16#3F3C#,16#0016#,16#A88F#");

    procedure Initapplzone;
    pragma Interface (Mpwpascal, Initapplzone, "INITAPPLZONE");

    procedure Initzone (Pgrowzone : Procptr;
                        Cmoremasters : Mac_Types.Integer;
                        Limitptr : Ptr;
                        Startptr : Ptr);
    pragma Interface (Mpwpascal, Initzone, "INITZONE");

    procedure Setzone (Hz : Thz);
    pragma Interface (Mpwpascal, Setzone, "SETZONE");

    function Compactmem (Cbneeded : Size) return Size;
    pragma Interface (Mpwpascal, Compactmem, "COMPACTMEM");

    procedure Purgemem (Cbneeded : Size);
    pragma Interface (Mpwpascal, Purgemem, "PURGEMEM");

    function Freemem return Longint;
    pragma Interface (Mpwpascal, Freemem, "FREEMEM");

    procedure Resrvmem (Cbneeded : Size);
    pragma Interface (Mpwpascal, Resrvmem, "RESRVMEM");

    function Maxmem (Grow : Varsize) return Size;
    pragma Interface (Mpwpascal, Maxmem, "MAXMEM");

    procedure Setgrowzone (Growzone : Procptr);
    pragma Interface (Mpwpascal, Setgrowzone, "SETGROWZONE");

    procedure Setappllimit (Zonelimit : Ptr);
    pragma Interface (Mpwpascal, Setappllimit, "SETAPPLLIMIT");

    procedure Movehhi (H : Handle);
    pragma Interface (Mpwpascal, Movehhi, "MOVEHHI");

    procedure Disposptr (P : Ptr);
    pragma Interface (Mpwpascal, Disposptr, "DISPOSPTR");

    function Getptrsize (P : Ptr) return Size;
    pragma Interface (Mpwpascal, Getptrsize, "GETPTRSIZE");

    procedure Setptrsize (P : Ptr; Newsize : Size);
    pragma Interface (Mpwpascal, Setptrsize, "SETPTRSIZE");

    procedure Disposhandle (H : Handle);
    pragma Interface (Mpwpascal, Disposhandle, "DISPOSHANDLE");

    function Gethandlesize (H : Handle) return Size;
    pragma Interface (Mpwpascal, Gethandlesize, "GETHANDLESIZE");

    procedure Sethandlesize (H : Handle; Newsize : Size);
    pragma Interface (Mpwpascal, Sethandlesize, "SETHANDLESIZE");

    procedure Emptyhandle (H : Handle);
    pragma Interface (Mpwpascal, Emptyhandle, "EMPTYHANDLE");

    procedure Reallochandle (H : Handle; Bytecount : Size);
    pragma Interface (Mpwpascal, Reallochandle, "REALLOCHANDLE");

    procedure Hsetrbit (H : Handle);
    pragma Interface (Mpwpascal, Hsetrbit, "HSETRBIT");

    procedure Hclrrbit (H : Handle);
    pragma Interface (Mpwpascal, Hclrrbit, "HCLRRBIT");

    procedure Moremasters;
    pragma Interface (Mpwpascal, Moremasters, "MOREMASTERS");

    procedure Blockmove (Srcptr : Ptr; Destptr : Ptr; Bytecount : Size);
    pragma Interface (Mpwpascal, Blockmove, "BLOCKMOVE");

    function Memerror return Oserr;
    pragma Interface (Mpwpascal, Memerror, "16#3EB8#,16#0220#");

    procedure Purgespace (Total : in out Longint; Contig : in out Longint);
    pragma Interface (Mpwpascal, Purgespace, "PURGESPACE");

    function Hgetstate (H : Handle) return Signedbyte;
    pragma Interface (Mpwpascal, Hgetstate, "HGETSTATE");

    procedure Hsetstate (H : Handle; Flags : Signedbyte);
    pragma Interface (Mpwpascal, Hsetstate, "HSETSTATE");

    procedure Setapplbase (Startptr : Ptr);
    pragma Interface (Mpwpascal, Setapplbase, "SETAPPLBASE");

    procedure Maxapplzone;
    pragma Interface (Mpwpascal, Maxapplzone, "MAXAPPLZONE");

    generic
        with function Routine (Cbneeded : Size) return Longint;
    procedure Usergrowroutine;

end Memory;


E3 Meta Data

    nblk1=a
    nid=6
    hdr6=12
        [0x00] rec0=23 rec1=00 rec2=01 rec3=018
        [0x01] rec0=19 rec1=00 rec2=02 rec3=01c
        [0x02] rec0=1a rec1=00 rec2=03 rec3=048
        [0x03] rec0=1c rec1=00 rec2=04 rec3=056
        [0x04] rec0=17 rec1=00 rec2=05 rec3=03c
        [0x05] rec0=1b rec1=00 rec2=0a rec3=054
        [0x06] rec0=1b rec1=00 rec2=07 rec3=028
        [0x07] rec0=1a rec1=00 rec2=08 rec3=04c
        [0x08] rec0=0d rec1=00 rec2=09 rec3=000
        [0x09] rec0=56 rec1=5c rec2=f2 rec3=284
    tail 0x2171de9f683914c03d09e 0x42a00088462060003
Free Block Chain:
  0x6: 0000  00 00 03 fc 80 1b 61 73 74 65 72 73 20 3a 20 4d  ┆      asters : M┆