Trailing-Edge
-
PDP-10 Archives
-
bb-h138f-bm
-
7-sources/rmsosd.r36
There are 6 other files named rmsosd.r36 in the archive. Click here to see a list.
!
! COPYRIGHT (C) DIGITAL EQUIPMENT CORPORATION 1986.
! ALL RIGHTS RESERVED.
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY BE USED AND
! COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE AND WITH
! THE INCLUSION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE OR
! ANY OTHER COPIES THEREOF MAY NOT BE PROVIDED OR OTHERWISE MADE
! AVAILABLE TO ANY OTHER PERSON. NO TITLE TO AND OWNERSHIP OF THE
! SOFTWARE IS HEREBY TRANSFERRED.
!
! THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT
! NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL
! EQUIPMENT CORPORATION.
!
! DIGITAL ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF
! ITS SOFTWARE ON EQUIPMENT THAT IS NOT SUPPLIED BY DIGITAL.
!
! File: RMSOSD.R36
! Edit 501
!
! 501 - Add RCUSR, DIRST, and MSEND, MRECV
! Add output byte pointer in ERSTR
LITERAL
TOPS10=0,
TOPS20=1;
MACRO
!
! Given JSYS numbers from MONSYM, create linkages and BIND
! ROUTINE declarations to define a more esthetic interface
! to TOPS-20.
!
mjsys (name, skip_count, in_regs, out_regs) =
%ASSIGN ($rms$jsysno, name)
UNDECLARE
name;
LINKAGE
%NAME ('L_',name) = JSYS ( !
%IF NOT %NULL (in_regs)
%THEN
rplist( %REMOVE (in_regs))
%FI
%IF NOT %NULL (out_regs)
%THEN
; rplist(%REMOVE(out_regs))
%FI
)
: skip (skip_count);
BIND ROUTINE
name = $rms$jsysno : %NAME ('L_', name); %,
rplist (a) [] =
REGISTER = a
%IF %LENGTH GTR 1 %THEN , rplist (%REMAINING) %FI %;
COMPILETIME
$rms$jsysno = 0;
mjsys (acces, -1, <1, 2>, );
mjsys (adbrk, -1, <1,2,3>, <2,3>); !a501
mjsys (aic, -1, <1, 2>, );
mjsys (alloc, 1, <1,2,3>, <1>); !a501
mjsys (arcf, 1, <1,2,3>, ); !a501
mjsys (asnd, 1, <1>, <1>); ! moved into alphabetical order !m501
mjsys (asnsq, -1, <1,2>, <1>); !a501
mjsys (atach, -1, <1,2,3,4>, <1>); !a501
mjsys (ati, -1, <1>, );
mjsys (atnvt, -1, <1,2>, <1>); !a501
mjsys (bin, -1, <1>, <2>);
mjsys (bkjfn, 1, <1>, <1>); !a501
mjsys (boot, -1, <1,2>, ); !a501
mjsys (bout, -1, <1, 2>, <1>);
mjsys (cacct, 1, <1>, <1>); !a501
mjsys (cfibf, -1, <1>, );
mjsys (cfobf, -1, <1>, );
mjsys (cfork, 1, <1, 2>, <1>);
mjsys (chfdb, -1, <1, 2, 3>, );
mjsys (chkac, 1, <1,2>, <1>); !a501
mjsys (cis, -1,, ); ! Really 0 skips
mjsys (closf, 1, <1>, <1>);
mjsys (clzff, -1, <1>, <1>); !a501
mjsys (comnd, -1, <1, 2>, <1, 2, 3>);
mjsys (crdir, -1, <1, 2, 3>, <1>);
mjsys (crjob, 1, <1,2,3>, <1>); !a501
mjsys (crlnm, 1, <1, 2, 3>, <1, 3>);
mjsys (cvhst, -1, <1,2>, <1>); !a501
mjsys (cvskt, -1, <1>, <1,2>); !a501
mjsys (debrk, -1,, );
mjsys (deldf, -1, <1, 2>, );
mjsys (delf, 1, <1>, <1>);
mjsys (delnf, 1, <1,2>, <1,2>); !a501
mjsys (deq, 1, <1, 2>, <1>);
mjsys (devst, 1, <1,2>, <1>); !a501
mjsys (dfin, 1, <1>, <1, 2, 3, 4>);
mjsys (dfout, 1, <1, 2, 3, 4>, <1, 4>);
mjsys (diag, 1, <1>, <1>); !a501
mjsys (dibe, -1, <1>, <1>); !a501
mjsys (dic, -1, <1, 2>, );
mjsys (dir, -1, <1>, );
mjsys (dirst, -1, <1,2>, <1>); ! This was missing !a501
mjsys (disms, -1, <1>, ); ! Really 0 skips
mjsys (dobe, -1, <1>, );
mjsys (dskas, -1, <1,2>, <1>); !a501
mjsys (dskop, -1, <1,2,3,4>, <1>); !a501
mjsys (dtach, -1, , ); !a501
mjsys (dti, -1, <1>, );
mjsys (dumpi, 1, <1,2>, <1,2>); !a501
mjsys (dumpo, 1, <1,2>, <1,2>); !a501
mjsys (dvchr, -1, <1>, <1, 2, 3>);
mjsys (eir, -1, <1>, );
mjsys (enq, 1, <1, 2>, <1>);
mjsys (enqc, 1, <1,2,3>, <1>); !a501
mjsys (epcap, -1, <1, 2, 3>, );
mjsys (erstr, 2, <1, 2, 3>, <1>); ! This also returns a pointer !m501
mjsys (esout, -1, <1>, <1>);
mjsys (ffffp, -1, <1>, <1>);
mjsys (ffork, -1, <1>, );
mjsys (ffufp, -1, <1>, <1>);
mjsys (flhst, -1, <1>, <1>); !a501
mjsys (flin, 1, <1>, <1, 2, 3>);
mjsys (flout, 1, <1, 2, 3>, <1, 3>);
mjsys (gactf, 2, <1,2>, <1,2>); !a501
mjsys (gcvec, -1, <1>, <1,2>); !a501
mjsys (gdskc, -1, <1>, <1,2>);
mjsys (gdsts, -1, <1>, <1,2,3,4>); !a501
mjsys (gdvec, -1, <1>, <2>);
mjsys (get, -1, <1, 2>, );
mjsys (getab, 1, <1>, <1>);
mjsys (geter, -1, <1>, <2>);
mjsys (getji, 1, <1, 2, 3>, <1, 2>);
mjsys (getnm, -1,, <1>); ! Really 0 skips
mjsys (getok_, -1, <1,2,3,4>, <1>); !a501
mjsys (gevec, -1, <1>, <2>);
mjsys (gfrkh, 1, <1,2>, <1>); !a501
mjsys (gfrks, 1, <1,2,3>, <1>); !a501
mjsys (gfust, -1, <1,2>, <2>); !a501
mjsys (givok_, -1, <1,2,3>, ); !a501
mjsys (gjinf, -1, , <1,2,3,4>);
mjsys (gnjfn, 1, <1>, <1>);
mjsys (gpjfn, -1, <1>, <2>);
mjsys (gtad, -1, <1>, <1>); ! Really 0 skips
mjsys (gtdal, -1, <1>, <1,2,3>); !a501
mjsys (gtdir, -1, <1,2,3>, <3>); !a501
mjsys (gtfdb, -1, <1, 2, 3>, );
mjsys (gthst, -1, <1,2,3,4>, <1,2,3,4>); ! arpanet - really 1 skip !a501
mjsys (gtjfn, 1, <1, 2>, <1, 2>);
mjsys (gtncp, -1, <1,2,3,4>, <1,2,3,4>); ! arpanet NCP - really 1 skip !a501
mjsys (gtrpi, -1, <1>, <1,2,3>); !a501
mjsys (gtrpw, -1, <1>, <1, 2>);
mjsys (gtsts, -1, <1>, <2>); ! Really 0 skips
mjsys (gttyp, -1, <1>, <2, 3>); ! Really 0 skips
mjsys (haltf, -1,, ); ! Really 0 skips
mjsys (hfork, -1, <1>, ); !a501
mjsys (hptim, -1, , <1>); !a501
mjsys (hsys, 1, <1,2>, <1>); !a501
mjsys (idcnv, 1, <2, 3, 4>, <1, 2, 3>);
mjsys (idtim, 1, <1, 2>, <1, 2>);
mjsys (idtnc, 1, <1, 2>, <1, 2, 3, 4>);
mjsys (iic, -1, <1, 2>, );
mjsys (inlnm, 1, <1, 2>, <1, 2>);
mjsys (jfns, -1, <1, 2, 3, 4>, <1>);
mjsys (kfork, -1, <1>, );
mjsys (lgout, -1, <1>, <1> ); !a501
mjsys (lnmst, 1, <1, 2, 3>, <1, 3>);
mjsys (login, -1, <1,2,3>, <1,2,3>); !a501
mjsys (lpini, -1, <1,2,3>, ); !a501
mjsys (mddt_, -1, , ); !a501
mjsys (meter_, 1, <1,2>, <1>); !a501
mjsys (mrecv, 1, <1,2>, <1>); !a501
mjsys (msfrk, -1, <1,2>, ); !a501
mjsys (msend, 1, <1,2>, <1>); !a501
mjsys (mstr, -1, <1, 2>, );
mjsys (mtaln, -1, <1,2>, ); !a501
mjsys (mtopr, -1, <1, 2, 3>, <1, 2, 3, 4>);
mjsys (mtu_, -1, <1,2,3>, ); !a501
mjsys (mutil, 1, <1,2>, <1>); !a501
mjsys (nin, 1, <1, 3>, <1, 2, 3>);
mjsys (node, -1, <1,2>, ); !a501
mjsys (nout, 1, <1, 2, 3>, <1, 2>);
mjsys (ntman_, -1, <1>, <1>); !a501
mjsys (odcnv, -1, <2, 4>, <2, 3, 4>);
mjsys (odtim, -1, <1, 2, 3>, <1>);
mjsys (odtnc, -1, <1,2,3,4,5>, <1>); !a501
mjsys (openf, 1, <1, 2>, <1>);
mjsys (pbin, -1,, <1>);
mjsys (pbout, -1, <1>, );
mjsys (pdvop_, -1, <1, 2, 3>, );
mjsys (peek, 1, <1,2>, <1>); !a501
mjsys (plock, -1, <1,2,3>, ); !a501
mjsys (pmap, -1, <1, 2, 3>, );
mjsys (pmctl, -1, <1,2,3>, ); !a501
mjsys (ppnst, -1, <1,2,3>, <1>); !a501
mjsys (prarg, -1, <1, 2, 3>, <3>);
mjsys (psout, -1, <1>, <1>);
mjsys (queue_, -1, <1,2>, <1,2>); !a546
mjsys (rcdir, -1, <1,2,3>, <1,2,3>); !a501
mjsys (rcm, -1, <1>, <1>);
mjsys (rcusr, -1, <1, 2, 3>, <3>); ! This was missing !a501
mjsys (rcvim, -1, <1,2>, <1>); ! arpanet !a501
mjsys (rcvok_, -1, <1,2>, ); !a501
mjsys (rdtty, 1, <1, 2, 3>, <1, 2>);
mjsys (reld, 1, <1>, <1>);
mjsys (relsq, -1, <1>, ); ! arpanet !a501
mjsys (reset, -1,, ); ! Really 0 skips
mjsys (rfacs, -1, <1,2>, ); !a501
mjsys (rfbsz, -1, <1>, <1,2>); !a501
mjsys (rfcoc, -1, <1>, <2, 3>);
mjsys (rfmod, -1, <1>, <2>);
mjsys (rfork, -1, <1>, ); !a501
mjsys (rfpos, -1, <1>, <2>); !a501
mjsys (rfptr, 1, <1>, <1,2>); !a501
mjsys (rfrkh, 1, <1>, <1>); !a501
mjsys (rfsts, -1, <1,2>, <1,2,3>); !a501
mjsys (rftad,-1, <1, 2, 3>, );
mjsys (rin, -1, <1,3>, <2>); !a501
mjsys (rir, -1, <1>, <2>);
mjsys (rircm, -1, <1>, <2>);
mjsys (rljfn, 1, <1>, <1>);
mjsys (rmap, -1, <1>, <1, 2>);
mjsys (rnamf, 1, <1,2>, <1>); !a501
mjsys (rout, -1, <1,2,3>, ); !a501
mjsys (rpacs, -1, <1>, <2>);
mjsys (rpcap, -1, <1>, <2, 3>);
mjsys (rscan, 1, <1>, <1>);
mjsys (rsmap_, -1, <1>, <1,2>); !a501
mjsys (rtfrk, -1, , <1,2>); !a501
mjsys (rtiw, -1, <1>, <2, 3>);
mjsys (runtm, -1, <1>, <1,2,3>); !a501
mjsys (rwm, -1, <1>, <1, 2>);
mjsys (rwset, -1, , ); !a501
mjsys (sactf, 1, <1,2>, <1,2>); !a501
mjsys (save, -1, <1, 2>, );
mjsys (sctty, -1, <1, 2>, );
mjsys (scvec, -1, <1,2,3>, ); !a501
mjsys (sdsts, -1, <1,2>, ); !a501
mjsys (sdvec, -1, <1, 2>, );
mjsys (seter, -1, <1,2>, ); !a501
mjsys (setjb, -1, <1,2,3>, ); !a501
mjsys (setnm, -1, <1>, ); ! Really 0 skips
mjsys (setsn, 1, <1, 2>, );
mjsys (sevec, -1, <1, 2>, );
mjsys (sfacs, -1, <1,2>, ); !a501
mjsys (sfbsz, 1, <1, 2>, <1>);
mjsys (sfcoc, -1, <1, 2, 3>, );
mjsys (sfmod, -1, <1, 2>, );
mjsys (sfork, -1, <1, 2>, );
mjsys (sfpos, -1, <1,2>, ); !a501
mjsys (sfptr, 1, <1, 2>, <1>);
mjsys (sfrkv, -1, <1, 2>, );
mjsys (sftad, -1, <1,2,3>, ); !a501
mjsys (sfust, -1, <1,2>, <2>); !a501
mjsys (sibe, 1, <1>, <2>);
mjsys (sin, -1, <1, 2, 3, 4>, <1, 2, 3>);
mjsys (sinr, -1, <1,2,3,4>, <1,2,3>); !a501
mjsys (sir, -1, <1, 2>, );
mjsys (sircm, -1, <1, 2, 3>, );
mjsys (sizef, 1, <1>, <1, 2, 3>);
mjsys (sjpri, -1, <1,2>, ); ! priveleged !a501
mjsys (sked_, -1, <1,2>, ); ! priveleged !a501
mjsys (skpir, 1, <1>, );
mjsys (smap_, -1, <1, 2, 3>, );
mjsys (smon, -1, <1,2>, ); ! priveleged !a501
mjsys (sndim, -1, <1,2>, <1>); ! arpanet !a501
mjsys (snoop, 1, <1,2,3,4>, <1>); ! priveleged !a501
mjsys (sobe, 1, <1>, <2>);
mjsys (sobf, 1, <1>, <1,2>); !a501
mjsys (sout, -1, <1, 2, 3, 4>, <1, 2, 3>);
mjsys (soutr, -1, <1,2,3,4>, <2,3>); !a501
mjsys (spacs, -1, <1,2>, <1,2>); ! ?return values not known !a501
mjsys (spjfn, -1, <1, 2>, );
mjsys (splfk, 1, <1,2>, <1,2>); !a501
mjsys (spool, 1, <1,2>, <1>); !a501
mjsys (spriw, -1, <1,2>, ); !a501
mjsys (ssave, -1, <1, 2, 3>, );
mjsys (stad, 1, <1>, <1>); ! priveleged !a501
mjsys (stcmp, -1, <1,2>, <1,2>); !a501
mjsys (sti, -1, <1, 2>, );
mjsys (stiw, -1, <1, 2, 3>, <3>);
mjsys (sto, -1, <1>, <1>); !a501
mjsys (stpar, -1, <1, 2>, );
mjsys (stppn, -1, <1>, <2>); !a501
mjsys (ststs, 1, <1,2>, <1>); !a501
mjsys (sttyp, -1, <1, 2>, );
mjsys (swjfn, -1, <1,2>, ); !a501
mjsys (swtrp_, -1, <1,2,3>, ); !a501
mjsys (syerr, -1, <1,2>, ); !a501
mjsys (sysgt, -1, <1>, <1, 2>);
mjsys (tbadd, -1, <1, 2>, <1>);
mjsys (tbdel, -1, <1, 2>, );
mjsys (tbluk, -1, <1, 2>, <1, 2, 3>);
mjsys (texti, 1, <1>, <1>);
mjsys (tfork, -1, <1,2,3>, ); !a501
mjsys (thibr, -1, <1>, ); ! temp !a501
mjsys (time, -1, , <1,2>); !a501
mjsys (tlink, 1, <1,2>, <1>); !a501
mjsys (tmon, -1, <1,2>, <2>); !a501
mjsys (ttmsg, -1, <1, 2>, );
mjsys (twake, -1, <1>, <1>); ! temp !a501
mjsys (ufpgs, 1, <1, 2>, <1>);
mjsys (usage, -1, <1,2>, ); ! priveleged !a501
mjsys (usrio, -1, ,<1>); ! priveleged !a501
mjsys (utest, -1, <1,2>, ); ! priveleged !a501
mjsys (utfrk, -1, <1>, ); !a501
mjsys (vacct, -1, <1,2>, <2>); !a501
mjsys (wait, -1, , ); !a501
mjsys (wfork, -1, <1>, );
mjsys (wild_, -1, <1, 2, 3>, <1>);
mjsys (xgsev_, -1, <1>, <2,3>); !a501
mjsys (xgtpw_, -1, <1,2>, ); !a501
mjsys (xgvec_, -1, <1>, <2, 3>);
mjsys (xrir_, -1, <1,2>, ); !a501
mjsys (xrmap_, -1, <1>, <1, 2>);
mjsys (xsfrk_, -1, <1, 2, 3>, );
mjsys (xsir_, -1, <1,2>, ); !a501
mjsys (xssev_, -1, <1,2,3>, ); !a501
mjsys (xsvec_, -1, <1>, <2, 3>);
MACRO JSYS_FAIL (NAME) = %INFORM ('MACRO JSYS_FAIL is obsolete') IF 1 %;
MACRO DO_JSYS (NAME) = %inform ('MACRO DO_JSYS is obsolete') (0) %;
COMPILETIME OSKLU=0; !SEE BELOW
!! JSYS MACROS
!!
!
!MACRO JSYS_FAIL(NAME) = IF NOT JSYS( -1, NAME, AC1, AC2, AC3, AC4) %;
!
!MACRO DO_JSYS(NAME)= !DOES JSYS AND HANDLES JSYS FAILURES
!BEGIN
! %ASSIGN(OSKLU,OSKLU+1); !INSURE OS CALLS NOT OPTED
! BIND %NAME(NAME,'.')=%O'104'^27 OR NAME; !MAKE JSYS AVAIL FOR DEBUGGING
! JSYS (0, NAME, AC1,AC2,AC3,AC4); !DO THE JSYS
! ERCAL (MONERR);
! ERJMP (OSKLU) !KLUDGE TO PREVENT CODE OPT
!END %;
!
! UUO MACROS
!
MACRO UUO_FAIL = IF NOT UUO( 1, %REMAINING) %;
MACRO DO_UUO(C$, A$, E$) = !DOES UUO AND ABORTS ON ERRORS
BEGIN
%ASSIGN(OSKLU,OSKLU+1); !INSURE OS CALLS NOT OPTED
UUO ( 0, C$, A$ ,E$);
$EXIT(MONERR);
ERJMP (OSKLU) !KLUDGE TO PREVENT CODE OPT
END %;
MACRO DO_FILOP = !DOES FILOP AND HANDLES FILOP FAILURES
BEGIN
%ASSIGN(OSKLU,OSKLU+1); !INSURE OS CALLS NOT OPTED
AC2=.AC1<RH>; !SAVE PTR TO ARGBLK FOR FOPERR & DBUGING
UUO ( 0, FILOP$(AC1));
$EXIT (FOPERR);
ERJMP (OSKLU) !DITTO
END %;
UNDECLARE ERCAL,ERJMP;
MACRO ERCAL(ADDR$) = MACHOP(%O'320',%O'17',ADDR$)%;
MACRO ERJMP(ADDR$) = MACHOP(%O'320',%O'16',ADDR$)%;
! REGISTERS USED BY MONITOR CALL INTERFACE
!
MACRO REGS =
REGISTER
AC1=1,
AC2=2,
AC3=3,
AC4=4;
%;