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

⟦f35d71fe2⟧ Ada Source

    Length: 19456 (0x4c00)
    Types: Ada Source
    Notes: 03_class, FILE, R1k_Segment, e3_tag, package Osutils, seg_023931

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 Osutils is

    Usefree : constant := 0;
    Useatalk : constant := 1;
    Useasync : constant := 2;
    Useextclk : constant := 3;
    Usemidi : constant := 4;
    Cursysenvvers : constant := 1;
    Macxlmachine : constant := 0;
    Macmachine : constant := 1;
    Envmac : constant := -1;
    Envxl : constant := -2;
    Envmachunknown : constant := 0;
    Env512ke : constant := 1;
    Envmacplus : constant := 2;
    Envse : constant := 3;
    Envmacii : constant := 4;
    Envmaciix : constant := 5;
    Envmaciicx : constant := 6;
    Envse30 : constant := 7;
    Envportable : constant := 8;
    Envmaciici : constant := 9;
    Envmaciifx : constant := 11;
    Envcpuunknown : constant := 0;
    Env68000 : constant := 1;
    Env68010 : constant := 2;
    Env68020 : constant := 3;
    Env68030 : constant := 4;
    Envunknownkbd : constant := 0;
    Envmackbd : constant := 1;
    Envmacandpad : constant := 2;
    Envmacpluskbd : constant := 3;
    Envaextendkbd : constant := 4;
    Envstandadbkbd : constant := 5;
    Envportadbkbd : constant := 6;
    Envportisoadbkbd : constant := 7;
    Envstdisoadbkbd : constant := 8;
    Envextisoadbkbd : constant := 9;
    False32b : constant := 0;
    True32b : constant := 1;
    Sortsbefore : constant := -1;
    Sortsequal : constant := 0;
    Sortsafter : constant := 1;

    type Qtypes is (Dummytype, Vtype, Ioqtype, Drvqtype,
                    Evtype, Fsqtype, Slqtype, Dtqtype, Nmtype);

    type Traptype is (Ostrap, Tooltrap);

    type Paramblktype is (Ioparam, Fileparam, Volumeparam,
                          Cntrlparam, Slotdevparam, Multidevparam,
                          Accessparam, Objparam, Copyparam, Wdparam);

    type Sysparmtype is
        record
            Valid : Byte;
            Atalka : Byte;
            Atalkb : Byte;
            Config : Byte;
            Porta : Mac_Types.Integer;
            Portb : Mac_Types.Integer;
            Alarm : Longint;
            Font : Mac_Types.Integer;
            Kbdprint : Mac_Types.Integer;
            Volclik : Mac_Types.Integer;
            Misc : Mac_Types.Integer;
        end record;
    type Syspptr is access Sysparmtype;

    type Finfo is
        record
            Fdtype : Ostype;
            Fdcreator : Ostype;
            Fdflags : Mac_Types.Integer;
            Fdlocation : Point;
            Fdfldr : Mac_Types.Integer;
        end record;

    type Qelem;
    type Qelemptr is access Qelem;
    type Qelemfiller is array (1 .. 172) of Signedbyte;
    type Qelem is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Filler : Qelemfiller;
        end record;

    type Array1_8longint is array (1 .. 8) of Longint;
    type Vcb is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Vcbflags : Mac_Types.Integer;
            Vcbsigword : Mac_Types.Integer;
            Vcbcrdate : Longint;
            Vcblsmod : Longint;
            Vcbatrb : Mac_Types.Integer;
            Vcbnmfls : Mac_Types.Integer;
            Vcbvbmst : Mac_Types.Integer;
            Vcballocptr : Mac_Types.Integer;
            Vcbnmalblks : Mac_Types.Integer;
            Vcbalblksiz : Longint;
            Vcbclpsiz : Longint;
            Vcbalblst : Mac_Types.Integer;
            Vcbnxtcnid : Longint;
            Vcbfreebks : Mac_Types.Integer;
            Vcbvn : Str27;
            Vcbdrvnum : Mac_Types.Integer;
            Vcbdrefnum : Mac_Types.Integer;
            Vcbfsid : Mac_Types.Integer;
            Vcbvrefnum : Mac_Types.Integer;
            Vcbmadr : Ptr;
            Vcbbufadr : Ptr;
            Vcbmlen : Mac_Types.Integer;
            Vcbdirindex : Mac_Types.Integer;
            Vcbdirblk : Mac_Types.Integer;
            Vcbvolbkup : Longint;
            Vcbvseqnum : Mac_Types.Integer;
            Vcbwrcnt : Longint;
            Vcbxtclpsiz : Longint;
            Vcbctclpsiz : Longint;
            Vcbnmrtdirs : Mac_Types.Integer;
            Vcbfilcnt : Longint;
            Vcbdircnt : Longint;
            Vcbfndrinfo : Array1_8longint;
            Vcbvcsize : Mac_Types.Integer;
            Vcbvbmcsiz : Mac_Types.Integer;
            Vcbctlcsiz : Mac_Types.Integer;
            Vcbxtalblks : Mac_Types.Integer;
            Vcbctalblks : Mac_Types.Integer;
            Vcbxtref : Mac_Types.Integer;
            Vcbctref : Mac_Types.Integer;
            Vcbctlbuf : Ptr;
            Vcbdiridm : Longint;
            Vcboffsm : Mac_Types.Integer;
        end record;

    type Drvqel is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Dqdrive : Mac_Types.Integer;
            Dqrefnum : Mac_Types.Integer;
            Dqfsid : Mac_Types.Integer;
            Dqdrvsz : Mac_Types.Integer;
            Dqdrvsz2 : Mac_Types.Integer;
        end record;
    type Drvqelptr is access Drvqel;

    type Paramblockfiller is array (1 .. 56) of Signedbyte;
    type Paramblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Filler : Paramblockfiller;
        end record;
    type Parmblkptr is access Paramblockrec;

    type Ioparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Iorefnum : Mac_Types.Integer;
            Ioversnum : Signedbyte;
            Iopermssn : Signedbyte;
            Iomisc : Ptr;
            Iobuffer : Ptr;
            Ioreqcount : Longint;
            Ioactcount : Longint;
            Ioposmode : Mac_Types.Integer;
            Ioposoffset : Longint;
        end record;

    type Fileparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Iofrefnum : Mac_Types.Integer;
            Iofversnum : Signedbyte;
            Filler1 : Signedbyte;
            Iofdirindex : Mac_Types.Integer;
            Ioflattrib : Signedbyte;
            Ioflversnum : Signedbyte;
            Ioflfndrinfo : Finfo;
            Ioflnum : Longint;
            Ioflstblk : Mac_Types.Integer;
            Iofllglen : Longint;
            Ioflpylen : Longint;
            Ioflrstblk : Mac_Types.Integer;
            Ioflrlglen : Longint;
            Ioflrpylen : Longint;
            Ioflcrdat : Longint;
            Ioflmddat : Longint;
        end record;

    type Volumeparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Filler2 : Longint;
            Iovolindex : Mac_Types.Integer;
            Iovcrdate : Longint;
            Iovlsbkup : Longint;
            Iovatrb : Mac_Types.Integer;
            Iovnmfls : Mac_Types.Integer;
            Iovdirst : Mac_Types.Integer;           Iovblln : Mac_Types.Integer;
            Iovnmalblks : Mac_Types.Integer;
            Iovalblksiz : Longint;
            Iovclpsiz : Longint;
            Ioalblst : Mac_Types.Integer;
            Iovnxtfnum : Longint;
            Iovfrblk : Mac_Types.Integer;
        end record;

    type Array1_10integer is array (0 .. 10) of Mac_Types.Integer;
    type Cntrlparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Iocrefnum : Mac_Types.Integer;
            Cscode : Mac_Types.Integer;
            Csparam : Array1_10integer;
        end record;

    type Slotdevparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Filler3 : Longint;
            Iomix : Ptr;
            Ioflags : Mac_Types.Integer;
            Ioslot : Signedbyte;
            Ioid : Signedbyte;
        end record;

    type Multidevparamblockrec is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Iotrap : Mac_Types.Integer;
            Iocmdaddr : Ptr;
            Iocompletion : Procptr;
            Ioresult : Oserr;
            Ionameptr : Stringptr;
            Iovrefnum : Mac_Types.Integer;
            Filler4 : Longint;
            Iommix : Ptr;
            Iomflags : Mac_Types.Integer;
            Ioseblkptr : Ptr;
        end record;

    type Evqel is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Evtqwhat : Mac_Types.Integer;
            Evtqmessage : Longint;
            Evtqwhen : Longint;
            Evtqwhere : Point;
            Evtqmodifiers : Mac_Types.Integer;
        end record;
    type Evqelptr is access Evqel;
    type Varevqelptr is access Evqelptr;

    type Vbltask is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Vbladdr : Procptr;
            Vblcount : Mac_Types.Integer;
            Vblphase : Mac_Types.Integer;
        end record;

    type Qhdr is
        record
            Qflags : Mac_Types.Integer;
            Qhead : Qelemptr;
            Qtail : Qelemptr;
        end record;
    type Qhdrptr is access Qhdr;

    type Datetimerec is
        record
            Year : Mac_Types.Integer;
            Month : Mac_Types.Integer;
            Day : Mac_Types.Integer;
            Hour : Mac_Types.Integer;
            Minute : Mac_Types.Integer;
            Second : Mac_Types.Integer;
            Dayofweek : Mac_Types.Integer;
        end record;

    type Sysenvrec is
        record
            Environsversion : Mac_Types.Integer;
            Machinetype : Mac_Types.Integer;
            Systemversion : Mac_Types.Integer;
            Processor : Mac_Types.Integer;
            Hasfpu : Boolean;
            Hascolorqd : Boolean;
            Keyboardtype : Mac_Types.Integer;
            Atdrvrversnum : Mac_Types.Integer;
            Sysvrefnum : Mac_Types.Integer;
        end record;

    type Deferredtask is
        record
            Qlink : Qelemptr;
            Qtype : Mac_Types.Integer;
            Dtflags : Mac_Types.Integer;
            Dtaddr : Procptr;
            Dtparm : Longint;
            Dtreserved : Longint;
        end record;

    function Getsyspptr return Syspptr;
    pragma Interface (Mpwpascal, Getsyspptr, "GETSYSPPTR");

    procedure Sysbeep (Duration : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Sysbeep, "16#A9C8#");

    function Keytrans (Transdata : Ptr;
                       Keycode : Mac_Types.Integer;
                       State : Varlongint) return Longint;
    pragma Interface (Mpwpascal, Keytrans, "16#A9C3#");

    function Dtinstall (Dttaskptr : Qelemptr) return Oserr;
    pragma Interface (Mpwpascal, Dtinstall, "DTINSTALL");

    function Getmmumode return Signedbyte;
    pragma Interface (Mpwpascal, Getmmumode, "GETMMUMODE");

    procedure Swapmmumode (Mode : in out Signedbyte);
    pragma Interface (Mpwpascal, Swapmmumode, "SWAPMMUMODE");

    function Sysenvirons
                (Versionrequested : Mac_Types.Integer; Theworld : Sysenvrec)
                return Oserr;
    pragma Interface (Mpwpascal, Sysenvirons, "SYSENVIRONS");

    function Readdatetime (Time : Varlongint) return Oserr;
    pragma Interface (Mpwpascal, Readdatetime, "READDATETIME");

    procedure Getdatetime (Secs : in out Longint);
    pragma Interface (Mpwpascal, Getdatetime, "GETDATETIME");

    function Setdatetime (Time : Longint) return Oserr;
    pragma Interface (Mpwpascal, Setdatetime, "SETDATETIME");

    procedure Settime (D : Datetimerec);
    pragma Interface (Mpwpascal, Settime, "SETTIME");

    procedure Gettime (D : in out Datetimerec);
    pragma Interface (Mpwpascal, Gettime, "GETTIME");

    procedure Date2secs (D : Datetimerec; S : in out Longint);
    pragma Interface (Mpwpascal, Date2secs, "DATE2SECS");

    procedure Secs2date (S : Longint; D : in out Datetimerec);
    pragma Interface (Mpwpascal, Secs2date, "SECS2DATE");

    procedure Macdelay (Numticks : Longint; Finalticks : in out Longint);
    pragma Interface (Mpwpascal, Macdelay, "DELAY");

    function Gettrapaddress (Trapnum : Mac_Types.Integer) return Longint;
    pragma Interface (Mpwpascal, Gettrapaddress, "GETTRAPADDRESS");

    procedure Settrapaddress (Trapaddr : Longint; Trapnum : Mac_Types.Integer);
    pragma Interface (Mpwpascal, Settrapaddress, "SETTRAPADDRESS");

    function Ngettrapaddress
                (Trapnum : Mac_Types.Integer; Ttyp : Traptype) return Longint;
    pragma Interface (Mpwpascal, Ngettrapaddress, "NGETTRAPADDRESS");

    procedure Nsettrapaddress (Trapaddr : Longint;
                               Trapnum : Mac_Types.Integer;
                               Ttyp : Traptype);
    pragma Interface (Mpwpascal, Nsettrapaddress, "NSETTRAPADDRESS");

    function Writeparam return Oserr;
    pragma Interface (Mpwpascal, Writeparam, "WRITEPARAM");

    function Equalstring (Str1 : Str255;
                          Str2 : Str255;
                          Casesens : Boolean;
                          Diacsens : Boolean) return Boolean;
    pragma Interface (Mpwpascal, Equalstring, "EQUALSTRING");

    procedure Uprstring (Thestring : in out Str255; Diacsens : Boolean);
    pragma Interface (Mpwpascal, Uprstring, "UPRSTRING");

    procedure Enqueue (Qelement : Qelemptr; Qheader : Qhdrptr);
    pragma Interface (Mpwpascal, Enqueue, "ENQUEUE");

    function Dequeue (Qelement : Qelemptr; Qheader : Qhdrptr) return Oserr;
    pragma Interface (Mpwpascal, Dequeue, "DEQUEUE");

    function Setcurrenta5 return Longint;
    pragma Interface (Mpwpascal, Setcurrenta5, "16#2E8D#,16#2A78#,16#0904#");

    function Seta5 (Newa5 : Longint) return Longint;
    pragma Interface (Mpwpascal, Seta5, "16#2F4D#,16#0004#,16#2A5F#");

    procedure Setupa5;
    pragma Interface (Mpwpascal, Setupa5, "16#2F0D#,16#2A78#,16#0904#");

    procedure Restorea5;
    pragma Interface (Mpwpascal, Restorea5, "16#2A5F#");

    procedure Environs (Rom : in out Mac_Types.Integer;
                        Machine : in out Mac_Types.Integer);
    pragma Interface (Mpwpascal, Environs, "ENVIRONS");

    procedure Restart;
    pragma Interface (Mpwpascal, Restart, "RESTART");

    function Relstring (Str1 : Str255;
                        Str2 : Str255;
                        Casesens : Boolean;
                        Diacsens : Boolean) return Mac_Types.Integer;
    pragma Interface (Mpwpascal, Relstring, "RELSTRING");

    function Handtohand (Thehndl : Varhandle) return Oserr;
    pragma Interface (Mpwpascal, Handtohand, "HANDTOHAND");

    function Ptrtoxhand
                (Srcptr : Ptr; Dsthndl : Handle; Size : Longint) return Oserr;
    pragma Interface (Mpwpascal, Ptrtoxhand, "PTRTOXHAND");

    function Ptrtohand (Srcptr : Ptr; Dsthndl : Varhandle; Size : Longint)
                       return Oserr;
    pragma Interface (Mpwpascal, Ptrtohand, "PTRTOHAND");

    function Handandhand (Hand1 : Handle; Hand2 : Handle) return Oserr;
    pragma Interface (Mpwpascal, Handandhand, "HANDANDHAND");

    function Ptrandhand
                (Ptr1 : Ptr; Hand2 : Handle; Size : Longint) return Oserr;
    pragma Interface (Mpwpascal, Ptrandhand, "PTRANDHAND");

    function Initutil return Oserr;
    pragma Interface (Mpwpascal, Initutil, "16#A03F#,16#3E80#");

    function Swapinstructioncache (Cacheenable : Boolean) return Boolean;
    pragma Interface (Mpwpascal, Swapinstructioncache, "SWAPINSTRUCTIONCACHE");

    procedure Flushinstructioncache;
    pragma Interface (Mpwpascal, Flushinstructioncache,
                      "FLUSHINSTRUCTIONCACHE");

    function Swapdatacache (Cacheenable : Boolean) return Boolean;
    pragma Interface (Mpwpascal, Swapdatacache, "SWAPDATACACHE");

    procedure Flushdatacache;
    pragma Interface (Mpwpascal, Flushdatacache, "FLUSHDATACACHE");

end Osutils;

E3 Meta Data

    nblk1=12
    nid=0
    hdr6=24
        [0x00] rec0=21 rec1=00 rec2=01 rec3=036
        [0x01] rec0=1d rec1=00 rec2=02 rec3=02c
        [0x02] rec0=22 rec1=00 rec2=03 rec3=018
        [0x03] rec0=19 rec1=00 rec2=04 rec3=01c
        [0x04] rec0=1b rec1=00 rec2=05 rec3=034
        [0x05] rec0=1e rec1=00 rec2=06 rec3=032
        [0x06] rec0=1d rec1=00 rec2=07 rec3=014
        [0x07] rec0=1d rec1=00 rec2=08 rec3=002
        [0x08] rec0=1d rec1=00 rec2=09 rec3=016
        [0x09] rec0=20 rec1=00 rec2=0a rec3=032
        [0x0a] rec0=21 rec1=00 rec2=0b rec3=048
        [0x0b] rec0=1f rec1=00 rec2=0c rec3=04c
        [0x0c] rec0=19 rec1=00 rec2=0d rec3=036
        [0x0d] rec0=18 rec1=00 rec2=0e rec3=062
        [0x0e] rec0=16 rec1=00 rec2=0f rec3=04c
        [0x0f] rec0=1b rec1=00 rec2=10 rec3=01c
        [0x10] rec0=16 rec1=00 rec2=11 rec3=05c
        [0x11] rec0=13 rec1=00 rec2=12 rec3=000
    tail 0x2171ef2e6839b4990f9f2 0x42a00088462060003