DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦8686d908e⟧ TextFile

    Length: 9344 (0x2480)
    Types: TextFile
    Names: »KNEL.ID«

Derivation

└─⟦909f4eb2b⟧ Bits:30009789/_.ft.Ibm2.50006622.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »KNEL.ID« 
└─⟦ddcd65152⟧ Bits:30009789/_.ft.Ibm2.50006617.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »KNEL.ID« 

TextFile

 
æ*****************************************************************
                        Copyright 1984 by
                        NCR Corporation
                        Dayton, Ohio  U.S.A.
                        All Rights Reserved
******************************************************************
                        EOS Software produced by:
                        NCR Systems Engineering - Copenhagen
                        Copenhagen
                        DENMARK
*****************************************************************å
 
æ Eos Pascal Kernel Family Prefix. Ver. 2.00 - 83-11-11.
  ======================================================
å
æ  OBJECT knelfam; it would be nice to have a separate name scope å
 
æ************** Create & Delete *********************å
 
function DeclGen
       (
         var obj: ownSet; var manager: manSet; var envelope: refEnv;
         locals: integer; termProc: integer;
         dealloc, maxStack: sizeType;
         temps: integer; tempData: integer; controlProc: integer;
         implementation: address; callStack: sizeType;
         callAllowed: boolean
       ): resultType;
       æexternalå forward;
 
function SetCallStack
       (
         var envelope: refEnv; callStack: sizeType
       ): resultType;
       æexternalå forward;
 
function DeclSeg
       (
         var obj: ownSet; noOfBytes: integer
       ): resultType;
       æexternalå forward;
 
æ DeclSub
       (
         var obj: ownSet; <subsegment argument>
       ): resultType;
å
 
function NewSeg
       (
         var obj: ownSet; noOfBytes: integer
       ): resultType;
       æexternalå forward;
 
æ NewSub
       (
         var obj: ownSet; <subsegment argument>
       ): resultType;
å
 
æ Dealloc
       (
         var owner: ownSet; var obj: refObj;
         <reference actuals> <value actuals>
       ): resultType;
å
 
function DelEnv
       (
         var obj: ownSet; var manager: manSet
       ): resultType;
       æexternalå forward;
 
function MakeReentrant
       (
         var envelope: refEnv
       ): resultType;
       æexternalå forward;
 
æ************** Pointer Manipulation ****************å
 
function Copy
       (
         var source, destination: simpleRef
       ): resultType;
       æexternalå forward;
 
function MoveOwn
       (
         var obj: refObj; var newset: ownSet
       ): resultType;
       æexternalå forward;
 
function MoveMan
       (
         var envelope: refEnv; var newset: manSet
       ): resultType;
       æexternalå forward;
 
function NextInSet
       (
         var refSet: ref; var current: simpleRef
       ): resultType;
       æexternalå forward;
 
function FirstInSet
       (
         var refSet: ref; var first: simpleRef
       ): resultType;
       æexternalå forward;
 
function refEqual
       (
         var ref1, ref2: ref
       ): resultType;
       æexternalå forward;
 
function sameEntity                   æ*** may generate an exception ***å
       (
         var ref1, ref2: ref
       ): boolean;
var res : resultType;
begin
     res:=refEqual(ref1,ref2);
     if res.main = ok then sameEntity:= true else
     if res.main = æstatuså pointerValueIllegal then sameEntity:= false else
     exception(res);
end ;
 
æ************** Process Management ******************å
 
æ DeclProc
       (
         var process: ownSet; entry: long;
         <reference actuals> <value actuals>
       ): resultType;
å
 
æ************** Abort & Speed-Up ********************å
 
type
  propMode = long;
const
  propNone = 0; propReject = 1; propAll = 2;
type
  speedUpStatus = long;
const
  noSpeedUp = 0; rejectSpeedUp = 1; dummyfySpeedUp = 2;
 
function Abort
       (
         var envelope: refEnv
       ): resultType;
       æexternalå forward;
 
function SpeedUp
       (
         var envelope: refEnv
       ): resultType;
       æexternalå forward;
 
function Propagate
       (
         mode : propMode
       ): resultType;
       æexternalå forward;
 
function TestSpeedUp
       (
         var status: speedUpStatus
       ): resultType;
       æexternalå forward;
 
æ************** Identification **********************å
 
function DeclEnv
       (
         var obj: ownSet; var manager: manSet; var envelope: refEnv;
         locals: integer; termProc: integer;
         dealloc, maxStack: sizeType
       ): resultType;
       æexternalå forward;
 
function InspObj
       (
         var obj: refObj; var manager: refEnv; var envelope: refEnv;
         var index: integer
       ): resultType;
       æexternalå forward;
 
function InspAct
       (
         var formal: ref; var manager: refEnv; var envelope: refEnv;
         var index: integer; var count: integer
       ): resultType;
       æexternalå forward;
 
function InspCaller
       (
         count: integer; var manager: refEnv; var envelope: refEnv;
         var index: integer
       ): resultType;
       æexternalå forward;
 
function InspProc
       (
         var manager: refEnv; var envelope: refEnv; var index: integer
       ): resultType;
       æexternalå forward;
 
æ SetCap
       (
         var obj: refObj; <reference actuals> <value actuals>
       ): resultType;
å
 
æ************** Execution Control *******************å
 
function SetSlice
       (
         slice: integer
       ): resultType;
       æexternalå forward;
 
function SetWorkSet
       (
         noOfBytes: integer
       ): resultType;
       æexternalå forward;
 
type   uSecType=record
         highOrder : integer;
         lowOrder  : integer;
       end ;
 
function GetTime
       (
         var elapsed, used: uSecType
       ): resultType;
       æexternalå forward;
 
æ************** Size Arithmetic *********************å
 
function OkResult: resultType;
  var r: resultType;
begin
  with r do begin
    orgNo := 0;
    family := 0;
    main := 0;
    orgSys := 0;
    auxCause := 0;
    argNo := 0;
  end;
  OkResult := r;
end;
 
function ClearSize(VAR s: sizeType): resultType;
begin
  s.kernel:= 0; s.user:=0;
  ClearSize := OkResult;
end;
 
function AddEnv (VAR s: sizeType; r: integer): resultType;
begin
  s.kernel:=s.kernel+72+14*r;
  AddEnv := OkResult;
end;
 
function AddGen (VAR s : sizeType; r : integer): resultType;
begin
  s.kernel := s.kernel + 30;
  AddGen := AddEnv (s, r);
end;
 
function AddSeg (VAR s: sizeType; b: integer): resultType;
begin
  s.kernel:=s.kernel+50; s.user:=s.user+(b+255)DIV 256 * 256;
  AddSeg := OkResult;
end;
 
function AddEmbSeg (VAR s : sizeType; b : integer): resultType;
begin
  s.kernel := s.kernel + 50;
  s.user   := s.user + (b + 255) DIV 256 * 256;
  AddEmbSeg := OkResult;
end;
 
function AddSub (VAR s: sizeType ): resultType;
begin
  s.kernel := s.kernel + 32;
  AddSub := OkResult;
end;
 
function AddEmbSub (VAR s: sizeType ): resultType;
begin
  s.kernel := s.kernel +64;
  AddEmbSub := OkResult;
end;
 
function AddCall ( var s: sizeType; var obj: ref;
         ptrFormals, subFormals, valParams, valBytes: integer ): resultType;
begin end;
 
function AddDealloc ( var s: sizeType; var obj: ref;
         ptrFormals, subFormals, valParams, valBytes: integer ): resultType;
begin end;
 
function AddCtx ( var s: sizeType; ptrFormals, subFormals,
         valParams, valBytes, temps, tempData: integer ): resultType;
begin end;
 
function AddProc ( var s: sizeType; var envelope: ref;
         ptrFormals, subFormals, valParams, valBytes: integer ): resultType;
begin end;
 
function AddSize ( var s: sizeType; s1: sizeType ): resultType;
begin
  s.kernel := s.kernel + s1.kernel;
  s.user   := s.user   + s1.user;
  AddSize := OkResult;
end;
 
function MaxSize ( var s: sizeType; s1, s2: sizeType ): resultType;
begin
  if s1.kernel > s2.kernel then s.kernel := s1.kernel
                           else s.kernel := s2.kernel;
  if s1.user > s2.user then s.user := s1.user
                       else s.user := s2.user;
  MaxSize := OkResult;
end;
 
function NoOfBytes ( s: sizeType; var bytes: integer ): resultType;
begin
  bytes := s.kernel + s.user;
  NoOfBytes := OkResult;
end;
 
FUNCTION makeSize
  (user,kernel: integer)
  : sizeType;
  VAR s: sizeType;
BEGIN
  s.user:=user;  s.kernel:=kernel;
  makeSize:=s;
END æ***makeSize***å;
 
 
æ************** Io Calls ****************************å
 
type
       useType = integer;
const
       useExecute = 4; useRead = 1; useWrite = 2;
 
function IoBegin
       (
         var resptr: ref; univ var absaddr: long;
         var length: integer; var use: useType
       ): resultType;
       æexternalå forward;
 
function IoEnd
       (
         var resptr: ref; univ var absaddr: long;
         var length: integer; var use: useType
       ): resultType;
       æexternalå forward;
 
function IoAddr
       (
         var resptr: ref; univ var absaddr: long;
         var length: integer; var use: useType
       ): resultType;
       æexternalå forward;
æ end;  knelfam   å
 
æ End EOS Kernel Family Preface å
«eof»