DataMuseum.dk

Presents historical artifacts from the history of:

DANOSI

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

See our Wiki for more about DANOSI

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f2d840943⟧ TextFile

    Length: 13642 (0x354a)
    Types: TextFile
    Names: »RTPSTD86.ENV«

Derivation

└─⟦a2a1ee6f0⟧ Bits:30010509 PN:798-55-071 DVBS1.SW2114.rel.2.19-1
    └─⟦this⟧ »RTPSTD86.ENV« 

TextFile

\f

\r\r
$listoff\r\r
stdenv;     (* standard environment       TOG 870927 *)\r\r
\r\r
(***** PREDEFINED CONSTANTS *****)\r\r
CONST\r\r
maxint = 32767;\r\r
minint = -32768;\r\r
\r\r
\r\r
(***** PREDEFINED TYPES *****)\r\r
TYPE\r\r
\r\r
bit = 0..1;\r\r
\r\r
byte = 0..255;\r\r
\r\r
conn_service = (cs_normal, cs_high);\r\r
\r\r
const create_ok=0;\r\r
--    no_memory=1;\r\r
      create_no_memory=1;\r\r
      \r\r
type create_result = create_ok .. create_no_memory;\r\r
\r\r
const\r\r
minpriority = 254;\r\r
stdpriority = 200;\r\r
maxpriority = 129;\r\r
\r\r
type\r\r
prio_type=maxpriority..minpriority;\r\r
\r\r
event_type = (not_event, message_event, answer_event,\r\r
              process_removed, port_closed, disconnected,\r\r
              letter_sent, letter_arrived,\r\r
              local_connect, remote_connect,\r\r
              reset_indication, reset_completion,\r\r
              credit, data_sent, data_arrived, data_overrun,\r\r
              dummy_letter, dummy_lcnct, dummy_rcnct,\r\r
              dummy_rindic, dummy_rcmpl, dummy_credit,\r\r
              dummy_sent, dummy_arrived);\r\r
\r\r
const link_ok=0;\r\r
      file_not_found=1;\r\r
      file_not_object=2;\r\r
      no_mem=3;\r\r
      missing_subprogram=4;\r\r
      link_already_linked=5;\r\r
      link_not_found=6;\r\r
              \r\r
--    already_linked=5;\r\r
--    external_not_found=6;\r\r
      \r\r
type link_result=link_ok..link_not_found;\r\r
\r\r
const unlink_ok=0;\r\r
      unlink_no_program_linked=1;\r\r
      unlink_program_busy=2;\r\r
--    no_program_linked=1;\r\r
--    existing_incarnations=2;\r\r
      \r\r
type unlink_result = unlink_ok .. unlink_program_busy;\r\r
\r\r
const mem_private = 0;\r\r
      mem_dualport = 1;\r\r
      mem_bord = 2;\r\r
\r\r
type mem_type = MEM_PRIVATE .. MEM_BORD;\r\r
\r\r
reason_type = (reason_ok, reason_name, reason_resource,\r\r
               reason_closed, reason_network);\r\r
\r\r
scope_type = (anonymous, local, regional, global);\r\r
\r\r
string(length: byte) = ARRAY(1..length) OF CHAR;\r\r
\r\r
alfa = string(12);\r\r
\r\r
activation = (a_mailbox, a_delay);\r\r
\r\r
control_type = packed record \r\r
                 rcv_all,\r\r
                 get_credit: boolean;\r\r
               end;\r\r
               \r\r
(* shielded type declarations *)\r\r
(******************************)\r\r
\r\r
mailbox_ = record\r\r
  mbx:          INTEGER;\r\r
  s:            INTEGER;\r\r
  next:         ^integer; --^mailbox_\r\r
end;\r\r
\r\r
pool_ = record\r\r
  mbx:          INTEGER;\r\r
  s:            INTEGER;\r\r
  size:         INTEGER;\r\r
  mem:          BYTE;\r\r
  bufs:         INTEGER;\r\r
  next:         ^integer; --^pool_\r\r
end;\r\r
\r\r
process_ = record\r\r
  proc:         INTEGER;\r\r
  next:         ^integer; --^process_\r\r
end;\r\r
\r\r
reference_ = record\r\r
  topbuf:       INTEGER;\r\r
  locked:       INTEGER;\r\r
  next:         ^integer; --^reference_\r\r
end;\r\r
\r\r
chain_ = record\r\r
  curbuf:       INTEGER;\r\r
  locked:       INTEGER;\r\r
  start:        INTEGER;\r\r
  length:       INTEGER;\r\r
  next:         ^integer; --^chain_\r\r
end;\r\r
\r\r
port_ = record\r\r
  prt:          INTEGER;\r\r
  state:        BYTE;\r\r
  next:         ^integer; --^port_\r\r
end;\r\r
\r\r
program_descriptor= record\r\r
  state:        BYTE;\r\r
  paramdesc:    ^integer;\r\r
  poolparam:    BYTE;\r\r
  LBDR:         ^integer; --^extenal_lbdr\r\r
  prgname:      array(1..13) of char;\r\r
  count:        INTEGER;\r\r
  paramptr:     ^integer;\r\r
  noparams:     BYTE;\r\r
  next:         ^integer; --program_descriptor\r\r
end;\r\r
\r\r
\r\r
(*****  PREDEFINED ROUTINES  *****)\r\r
(*********************************)\r\r
\r\r
\r\r
\r\r
function abs(n: integer): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure alloc = getbuf( var r: reference; var p: pool; var ra: mailbox);\r\r
external;\r\r
\r\r
function allocdelay = getbufdelay(var r: reference; var p:pool; var ra: mailbox; \r\r
                                  ms: 0..maxint): activation;\r\r
external;\r\r
\r\r
function allocmempool = allocpool(var p: pool; no_of_bufs, bufsize: 0..maxint;\r\r
mem: mem_type): 0..maxint;\r\r
EXTERNAL;\r\r
\r\r
function allocpool(var p: pool; no_of_bufs, bufsize: 0..maxint): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure break(VAR proc: process; fault: integer);\r\r
EXTERNAL;\r\r
\r\r
function bufcount(var r: reference): 0..maxint;\r\r
openroutine;\r\r
\r\r
function bufsize(var r: rtype    ): 0..maxint;\r\r
openroutine;\r\r
\r\r
function bytecount(var r: rtype   ): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure chaindequeue(var ref: reference; var ch: chain);\r\r
external;\r\r
\r\r
procedure chaindown(var ch: chain);\r\r
external;\r\r
\r\r
procedure chainenqueue(var ref: reference; var ch: chain);\r\r
external;\r\r
\r\r
function chainlength(var ch: chain): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure chainreset(var ch: chain);\r\r
external;\r\r
\r\r
procedure chainstart(var ch: chain);\r\r
external;\r\r
\r\r
procedure chainup(var ch: chain);\r\r
external;\r\r
\r\r
function ord(v: btype): integer;\r\r
openroutine;\r\r
\r\r
function chr(v: byte): char;    openroutine;\r\r
function ord(v: wtype): integer; \r\r
openroutine;\r\r
\r\r
function create(inspect incname: string; var prog: program_descriptor;\r\r
     var pr: process; size: 0..maxint; prio: prio_type): create_result;\r\r
external;\r\r
\r\r
function creditcount(var r: reference): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure dec(var v: byte);\r\r
openroutine;\r\r
\r\r
procedure dec(var v: integer);\r\r
openroutine;\r\r
\r\r
procedure delay(ms: 0..maxint);\r\r
external;\r\r
\r\r
function eventkind(var r: rtype): event_type;\r\r
openroutine;\r\r
\r\r
procedure exception = fault(c: integer);\r\r
external;\r\r
\r\r
function hometest(var r: rtype; var p: pool): boolean;\r\r
openroutine;\r\r
\r\r
procedure inc(var v:byte);\r\r
openroutine;\r\r
\r\r
procedure inc(var v:integer);\r\r
openroutine;\r\r
\r\r
function index(var r:reference): byte;\r\r
openroutine;\r\r
\r\r
function link(inspect incname: string;var prog: program_descriptor): \r\r
              link_result;\r\r
external;\r\r
 \r\r
function locked(var m:mailbox): boolean;\r\r
openroutine;\r\r
\r\r
procedure new(var p: ptype); external;\r\r
\r\r
function nil(var p:ptype  ): boolean;\r\r
openroutine;\r\r
\r\r
function nil(var p:reference): boolean;\r\r
openroutine;\r\r
\r\r
function nil(var p:process): boolean;\r\r
openroutine;\r\r
\r\r
function offset(var r:rtype    ): 0..maxint;\r\r
openroutine;\r\r
\r\r
function open(var m:mailbox): boolean; openroutine;\r\r
function openpool(var p: pool): boolean;\r\r
openroutine;\r\r
\r\r
(* ord see chr *)\r\r
\r\r
function passive(var m:mailbox): boolean;\r\r
openroutine;\r\r
\r\r
procedure pop(var b,s: reference);\r\r
external;\r\r
\r\r
function pred(v: btype): btype;\r\r
openroutine;\r\r
\r\r
function pred(v: wtype): wtype;\r\r
openroutine;\r\r
\r\r
procedure push(var b,s: reference);\r\r
external;\r\r
\r\r
function reason(var r:reference): reason_type;\r\r
openroutine;\r\r
\r\r
procedure release = putbuf(var r: reference);\r\r
external;\r\r
\r\r
function releasepool(var p:pool; bufs: 1..maxint): 0..maxint;\r\r
external;\r\r
\r\r
procedure remove(var pr: process);\r\r
external;\r\r
\r\r
procedure resetevent(var r: rtype);\r\r
openroutine;\r\r
\r\r
procedure resume(var pr: process);\r\r
external;\r\r
\r\r
procedure return(var r:reference);\r\r
external;\r\r
\r\r
procedure setbytecount(var r: rtype    ; v: 0..maxint);\r\r
openroutine;\r\r
\r\r
procedure setoffset(var r: rtype    ; v: 0..maxint);\r\r
openroutine;\r\r
\r\r
procedure settop(var r: rtype    ; v: 0..maxint);\r\r
openroutine;\r\r
\r\r
procedure setu1(var r: rtype    ; v: byte);\r\r
openroutine;\r\r
\r\r
procedure setu2(var r: rtype    ; v: byte);\r\r
openroutine;\r\r
\r\r
procedure setu3(var r: rtype    ; v: byte);\r\r
openroutine;\r\r
\r\r
procedure setu4(var r: rtype    ; v: byte);\r\r
openroutine;\r\r
\r\r
procedure signal(var r: reference; var m:mailbox);\r\r
external;\r\r
\r\r
function stackdepth(var r:reference  ): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure start(var pr: process; prio: prio_type);\r\r
openroutine;\r\r
\r\r
procedure stop(var p: process);\r\r
external;\r\r
\r\r
function succ(v:btype): btype;\r\r
openroutine;\r\r
\r\r
function succ(v:wtype): wtype;\r\r
openroutine;\r\r
\r\r
procedure tofrom(var toref: reference; toindex: integer;\r\r
                 var fromref: reference; fromindex: integer;\r\r
                 bytes: integer );\r\r
EXTERNAL;\r\r
\r\r
function top(var r:rtype    ): 0..maxint;\r\r
openroutine;\r\r
\r\r
procedure trace(f: integer);\r\r
external;\r\r
\r\r
procedure stacktrace = dtrace(f: integer);\r\r
external;\r\r
\r\r
function unlink(var prog: program_descriptor): unlink_result; external;\r\r
\r\r
function u1(var r:rtype    ): byte;\r\r
openroutine;\r\r
\r\r
function u2(var r:rtype    ): byte;\r\r
openroutine;\r\r
\r\r
function u3(var r:rtype    ): byte;\r\r
openroutine;\r\r
\r\r
function u4(var r:rtype    ): byte;\r\r
openroutine;\r\r
\r\r
procedure wait( var r: reference; var m: mailbox);\r\r
external;\r\r
\r\r
function waitdelay(var r: reference; var m: mailbox;\r\r
                   ms: 0..maxint): activation;\r\r
external;\r\r
\r\r
procedure closeport(var p: port);\r\r
external;\r\r
\r\r
procedure connect(var p:port; index:1..maxint; var compl, disc: reference;\r\r
                  inspect remote_name:string; service: conn_service);\r\r
external;\r\r
\r\r
procedure disconnect(var p:port; index:1..maxint);\r\r
external;\r\r
\r\r
procedure getconnection(var p:port; index:1..maxint; var compl, disc:reference);\r\r
external;\r\r
\r\r
procedure getcredit(var p:port; index:1..maxint; var credbuf: reference);\r\r
external;\r\r
\r\r
procedure getreset(var p:port; index:1..maxint; var indic: reference);\r\r
external;\r\r
\r\r
function maxconnections:0..maxint;\r\r
external;\r\r
\r\r
procedure openport(var p:port; var closebuf: reference;\r\r
                   inspect name:string; scope: scope_type;\r\r
                   no_of_cons: byte; cntrl: control_type);\r\r
external;\r\r
\r\r
procedure receive(var p:port; index:1..maxint; var databuf: reference);\r\r
external;\r\r
\r\r
procedure receiveall(var p:port; var databuf: reference);\r\r
external;\r\r
\r\r
procedure reset(var p:port; index:1..maxint; var compl: reference);\r\r
external;\r\r
\r\r
procedure send(var p:port; index:1..maxint; var databuf: reference);\r\r
external;\r\r
\r\r
(* general implementation dependent standard routines and types *)\r\r
\r\r
type\r\r
coded_date=RECORD\r\r
             year_after_1900: 0..127;\r\r
             month: 0..12;\r\r
             day: 0..31;\r\r
           END;\r\r
           \r\r
coded_time=RECORD\r\r
             ? : 0..31;\r\r
             hour: 0..23;\r\r
             minute: 0..59;\r\r
           END;\r\r
           \r\r
coded_secs=RECORD\r\r
             sec: 0..59;\r\r
             msec: 0..999;\r\r
           END;\r\r
\r\r
coded_inc= RECORD\r\r
             days: 0..31;\r\r
             hours: 0..23;\r\r
             mins: 0..59;\r\r
             secs: 0..59;\r\r
             msecs: 0..999;\r\r
           END;\r\r
\r\r
delaytype= PACKED RECORD\r\r
             prev_date: coded_date;\r\r
             prev_time: coded_time;\r\r
             prev_secs: coded_secs;\r\r
             inc : coded_inc;\r\r
           END;\r\r
\r\r
clocktype= PACKED RECORD\r\r
             date: coded_date;\r\r
             time: coded_time;\r\r
             secs: coded_secs;\r\r
           END;\r\r
\r\r
tversion= RECORD\r\r
            release, subrelease: byte;\r\r
          END;\r\r
\r\r
tmoduleversion= RECORD\r\r
                  moduledate: coded_date;\r\r
                  moduletime: coded_time;\r\r
                  moduleversion: tversion;\r\r
                  compilationdate: coded_date;\r\r
                  compilationtime: coded_time;\r\r
                END;\r\r
\r\r
function clock_difference( var t1, t2: clocktype ): coded_inc;\r\r
external;\r\r
\r\r
function clock_increment( var t: clocktype; var inc: coded_inc ): clocktype;\r\r
external;\r\r
\r\r
function clock_less_than( var t1, t2: clocktype ): boolean;\r\r
external;\r\r
\r\r
FUNCTION deletemailbox(INSPECT mbx_name: string): integer;\r\r
EXTERNAL;\r\r
\r\r
FUNCTION getclock: clocktype;\r\r
EXTERNAL;\r\r
\r\r
FUNCTION namemailbox(VAR m: mailbox; INSPECT mbx_name: string): integer;\r\r
EXTERNAL;\r\r
\r\r
FUNCTION ownname = own_name(VAR name:string): byte;\r\r
EXTERNAL;\r\r
\r\r
FUNCTION ownprogramname(VAR name:string): byte;\r\r
EXTERNAL;\r\r
\r\r
PROCEDURE ownversion(VAR myversion: tmoduleversion);\r\r
EXTERNAL;\r\r
\r\r
FUNCTION searchmailbox(INSPECT mbx_name: string): ^mailbox;\r\r
EXTERNAL;\r\r
\r\r
PROCEDURE sendtimer(VAR ref: reference );\r\r
EXTERNAL;\r\r
\r\r
PROCEDURE setownname(INSPECT name: string );\r\r
EXTERNAL;\r\r
\r\r
function swap(n: integer): integer;\r\r
openroutine;\r\r
\r\r
(* implementation dependent open routines *)\r\r
\r\r
procedure breakpoint;\r\r
openroutine;\r\r
\r\r
function data_segment(var r:rtype    ): integer;\r\r
openroutine;\r\r
\r\r
procedure disable;\r\r
openroutine;\r\r
\r\r
procedure enable;\r\r
openroutine;\r\r
\r\r
function equalhome(var a: rtype    ; var b: rtype    ): boolean;\r\r
openroutine;\r\r
\r\r
function first(var r:rtype    ): 0..maxint;\r\r
openroutine;\r\r
\r\r
function homeless(var r: rtype    ): boolean; external;\r\r
\r\r
function input_byte(ioport: integer): byte;\r\r
openroutine;\r\r
\r\r
function input_word(ioport: integer): integer;\r\r
openroutine;\r\r
\r\r
function last(var r:rtype    ): -1..maxint-1;\r\r
openroutine;\r\r
\r\r
function next(var r: rtype   ): 0..maxint;\r\r
openroutine;\r\r
\r\r
function mailbox_state(var m:mailbox): integer; openroutine;\r\r
function pool_state(var m:pool): integer;\r\r
openroutine;\r\r
\r\r
procedure output_byte(ioport: integer; data: byte);\r\r
openroutine;\r\r
\r\r
procedure output_word(ioport: integer; data: integer);\r\r
openroutine;\r\r
\r\r
function own_stack_bound: integer;\r\r
openroutine;\r\r
\r\r
function own_stack_size: integer;\r\r
openroutine;\r\r
\r\r
function ownpriority: byte;\r\r
openroutine;\r\r
\r\r
function priority(var p: process): byte;\r\r
openroutine;\r\r
\r\r
function ref(var m: mailbox):^mailbox;\r\r
openroutine;\r\r
\r\r
function rest_of_delay: integer;\r\r
openroutine;\r\r
\r\r
procedure setfirst(var r: rtype    ; v: 0..maxint);\r\r
openroutine;\r\r
\r\r
procedure setlast(var r: rtype    ; v: -1..maxint-1);\r\r
openroutine;\r\r
\r\r
procedure setnext(var r: rtype    ; v: 0..maxint);\r\r
openroutine;\r\r
\r\r
procedure setpriority(prio: integer);\r\r
openroutine;\r\r
\r\r
function stack_bound(var p: process): integer;\r\r
openroutine;\r\r
\r\r
function stack_size(var p: process): integer;\r\r
openroutine;\r\r
\r\r
\r\r
.\r\r