Google
 

Trailing-Edge - PDP-10 Archives - BB-FB49A-RM - sources/jsys.r36
There are 2 other files named jsys.r36 in the archive. Click here to see a list.
 !
 ! Copyright (c) 1981, 1982, 1983, 1984, 1985 by
 ! DIGITAL EQUIPMENT CORPORATION, Maynard, Massachusetts
 !
 ! 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 which is not supplied by Digital.
 
%sbttl 'Expansion Macros'
 
 compiletime
     $C$ = 0;
 
 macro
     $$JSYS_EXPAND_REGISTERS (MAX) [] =
         %if $C$ gtr MAX
         %then %exititeration %fi
         %if $C$ gtr 1
         %then , %fi register = $C$
         %assign ($C$, $C$+1)
         $$JSYS_EXPAND_REGISTERS (MAX) %;
 
 macro
     $$REGISTERS (COUNT) =
         %assign ($C$, 1)
         $$JSYS_EXPAND_REGISTERS (COUNT) %;
 
 macro                                   ! JSYS Declaration
     $JSYS (JSYS_NAME, IREG, OREG, SKIP_VALUE) =
         linkage %name('$',%string(JSYS_NAME),'$') =
             jsys %if (IREG gtr 0) or (OREG gtr 0)
                  %then (%if IREG gtr 0
                         %then $$REGISTERS (IREG) %fi
                         %if OREG gtr 0
                         %then ; $$REGISTERS (OREG) %fi)
                  %fi
                  : skip (SKIP_VALUE);
 
         bind routine %name('JSYS_',%string(JSYS_NAME)) =
             %name(%string(JSYS_NAME)) : %name('$',%string(JSYS_NAME),'$')
     %;
 
%sbttl 'JSYS Declarations'
 
 !      Name   Input   Output   Skip
 !              reg     reg     value
 
 $JSYS	(ACCES,	2,	0,	-1);		!Access a directory
 $JSYS	(ADBRK,	3,	3,	-1);		!Control address breaks
 $JSYS	(AIC,	2,	0,	-1);		!Activate interrupt channels
 $JSYS	(ALLOC,	3,	0,	1);		!Allocate a device
 $JSYS	(ARCF,	3,	0,	-1);		!Archive control
 $JSYS	(ASND,	1,	1,	1);		!Assign a device
 $JSYS	(ASNSQ,	2,	1,	1);		!Assign ARPAnet spec. queue
 $JSYS	(ATACH,	4,	1,	1);		!Attach/detach
 $JSYS	(ATI,	1,	0,	-1);		!Assign terminal interrupts
 $JSYS	(ATNVT,	2,	1,	1);		!Create ARPAnet virt. tty

 $JSYS	(BIN,	1,	2,	-1);		!Byte input
 $JSYS	(BKJFN,	1,	1,	1);		!Backup JFN
 $JSYS	(BOOT,	2,	0,	-1);		!Comm. hardware control
 $JSYS	(BOUT,	2,	1,	-1);		!Byte output

 $JSYS	(CACCT,	1,	1,	1);		!Change account
 $JSYS	(CFIBF,	1,	0,	-1);		!Clear tty input buffer
 $JSYS	(CFOBF,	1,	0,	-1);		!Clear tty output buffer
 $JSYS	(CFORK,	2,	1,	1);		!Create fork
 $JSYS	(CHFDB,	3,	0,	-1);		!Change FDB
 $JSYS	(CHKAC,	2,	1,	1);		!Check file access
 $JSYS	(CIS,	0,	0,	-1);		!Clear interrupt system
 $JSYS	(CLOSF,	1,	1,	1);		!Close file
 $JSYS	(CLZFF,	1,	1,	-1);		!Close process' files
 $JSYS	(COMND,	2,	3,	-1);		!Command parsing
 $JSYS	(CRDIR,	3,	1,	-1);		!Directory maintenance
 $JSYS	(CRJOB,	3,	1,	1);		!Create a job
 $JSYS	(CRLNM,	3,	3,	1);		!Logical name manipulation
 $JSYS	(CVHST,	2,	1,	1);		!Convert ARPAnet host to name
 $JSYS	(CVSKT,	1,	2,	1);		!Convert ARPAnet socket

 $JSYS	(DEBRK,	0,	0,	-1);		!Dismiss interrupt
 $JSYS	(DELDF,	2,	2,	-1);		!Expunge disk files
 $JSYS	(DELF,	1,	1,	1);		!Delete files
 $JSYS	(DELNF,	2,	2,	1);		!Delete specified generations
 $JSYS	(DEQ,	2,	1,	1);		!Dequeue from resource wait
 $JSYS	(DEVST,	2,	1,	1);		!Translate device name
 $JSYS	(DFIN,	1,	3,	1);		!Double floating input
 $JSYS	(DFOUT,	4,	1,	1);		!Double floating output
 $JSYS	(DIAG,	1,	1,	1);		!Misc. device diagnostic func.
 $JSYS	(DIBE,	1,	0,	-1);		!Dismiss until input buf. empty
 $JSYS	(DIC,	2,	0,	-1);		!Deactivate interrupt channels
 $JSYS	(DIR,	1,	0,	-1);		!Disable interrupt system
 $JSYS	(DIRST,	2,	1,	1);		!Translate directory string
 $JSYS	(DISMS,	1,	0,	-1);		!Sleep for specified period
 $JSYS	(DOBE,	1,	0,	-1);		!Dismiss until output buf empty
 $JSYS	(DSKAS,	2,	1,	1);		!Assign specific disk address
 $JSYS	(DSKOP,	4,	1,	-1);		!Misc. disk operations
 $JSYS	(DTACH,	0,	0,	-1);		!Detach job from tty
 $JSYS	(DTI,	1,	0,	-1);		!Deassign tty interrupt
 $JSYS	(DUMPI,	2,	2,	1);		!Dump mode input
 $JSYS	(DUMPO,	2,	2,	1);		!Dump mode output
 $JSYS	(DVCHR,	1,	3,	-1);		!Return device characteristics

 $JSYS	(EIR,	1,	0,	-1);		!Enable interrupts
 $JSYS	(ENQ,	2,	1,	1);		!Place in resource wait queue
 $JSYS	(ENQC,	3,	1,	1);		!ENQueue control
 $JSYS	(EPCAP,	3,	0,	-1);		!Enable capabilities
 $JSYS	(ERSTR,	3,	1,	2);		!Translate error number
 $JSYS	(ESOUT,	1,	1,	-1);		!Output an error string

 $JSYS	(FFFFP,	1,	1,	-1);		!Find first free page
 $JSYS	(FFORK,	1,	0,	-1);		!Freeze a fork
 $JSYS	(FFUFP,	1,	1,	1);		!Find first used page
 $JSYS	(FLHST,	1,	0,	-1);		!Flush ARPAnet host
 $JSYS	(FLIN,	1,	3,	1);		!Floating point input
 $JSYS	(FLOUT,	3,	3,	1);		!Floating point output

 $JSYS	(GACCT,	2,	2,	-1);		!Get account for job
 $JSYS	(GACTF,	2,	2,	2);		!Get account for file
 $JSYS	(GCVEC,	1,	3,	-1);		!Get UUO entry vector
 $JSYS	(GDSKC,	1,	2,	-1);		!Get disk usage
 $JSYS	(GDSTS,	1,	4,	-1);		!Get device status
 $JSYS	(GDVEC,	1,	2,	-1);		!Get RMS entry vector
 $JSYS	(GET,	2,	0,	-1);		!Get a save file
 $JSYS	(GETAB,	1,	1,	1);		!Return a word from the mon.
 $JSYS	(GETER,	1,	2,	-1);		!Return most recent error
 $JSYS	(GETJI,	3,	2,	1);		!Get job info
 $JSYS	(GETNM,	0,	1,	-1);		!Get program name
 $JSYS	(GETOK_,4,	0,	-1);		!Request access to resource
 $JSYS	(GEVEC,	1,	2,	-1);		!Get entry vector
 $JSYS	(GFRKH,	2,	1,	1);		!Get a fork handle
 $JSYS	(GFRKS,	3,	1,	1);		!Get fork structure
 $JSYS	(GFUST,	2,	2,	-1);		!Return file writer/author
 $JSYS	(GIVOK_,3,	0,	-1);		!Allow access to resource
 $JSYS	(GJINF,	0,	4,	-1);		!Get current job info
 $JSYS	(GNJFN,	1,	1,	1);		!Get next wildcarded JFN
 $JSYS	(GPJFN,	1,	2,	-1);		!Get primary JFNs for job
 $JSYS	(GTAD,	0,	1,	-1);		!Get date
 $JSYS	(GTDAL,	1,	3,	-1);		!Get disk allocation
 $JSYS	(GTDIR,	3,	3,	-1);		!Get directory information
 $JSYS	(GTFDB,	3,	0,	-1);		!Get FDB information
 $JSYS	(GTHST,	4,	4,	1);		!Get ARPAnet host information
 $JSYS	(GTJFN,	2,	2,	1);		!Get a JFN
 $JSYS	(GTRPI,	1,	3,	-1);		!Get pager trap information
 $JSYS	(GTNCP,	4,	4,	1);		!Get ARPAnet NCP information
 $JSYS	(GTRPW,	1,	2,	-1);		!Get trap words
 $JSYS	(GTSTS,	1,	2,	-1);		!Get file status
 $JSYS	(GTTYP,	1,	3,	-1);		!Get terminal type

 $JSYS	(HALTF,	0,	0,	0);		!Halt current process
 $JSYS	(HFORK,	1,	0,	-1);		!Halt specified fork
 $JSYS	(HPTIM,	1,	1,	1);		!Return high-precision time
 $JSYS	(HSYS,	2,	1,	1);		!Halt the system

 $JSYS	(IDCNV,	4,	3,	1);		!Input date & time conversion
 $JSYS	(IDTIM,	2,	2,	1);		!Input date & time
 $JSYS	(IDTNC,	2,	2,	1);		!Input date and/or time conv.
 $JSYS	(IIC,	2,	0,	-1);		!Initiate interrupt
 $JSYS	(INLNM,	2,	2,	1);		!Return logical name

 $JSYS	(JFNS,	4,	1,	-1);		!Return file name

 $JSYS	(KFORK,	1,	0,	-1);		!Kill fork

 $JSYS	(LGOUT,	1,	1,	1);		!Log job out
 $JSYS	(LNMST,	3,	3,	1);		!Logical name translation
 $JSYS	(LOGIN,	3,	3,	1);		!Log job in
 $JSYS	(LPINI,	3,	0,	-1);		!Load lpt VFU

 $JSYS	(MDDT_,	0,	0,	-1);		!Transfer control to MDDT
 $JSYS	(METER_,1,	3,	-1);		!Return EBOX meter
 $JSYS	(MRECV,	2,	1,	1);		!IPCF receive
 $JSYS	(MSEND,	2,	1,	1);		!IPCF send
 $JSYS	(MSFRK,	2,	0,	-1);		!Start process in monitor mode
 $JSYS	(MSTR,	2,	0,	-1);		!Misc. structure manipulation
 $JSYS	(MTALN,	2,	0,	-1);		!Assign mta serial numbers
 $JSYS	(MTOPR,	4,	4,	-1);		!Misc. device control func.
 $JSYS	(MTU_,	3,	0,	-1);		!Privileged mta control
 $JSYS	(MUTIL,	2,	1,	1);		!IPCF utility functions

 $JSYS	(NIN,	3,	3,	1);		!Integer input
 $JSYS	(NODE,	2,	0,	-1);		!Network utility functions
 $JSYS	(NOUT,	3,	3,	1);		!Integer output

 $JSYS	(ODCNV,	4,	4,	-1);		!Convert date/time output
 $JSYS	(ODTIM,	3,	1,	-1);		!Output date/time
 $JSYS	(ODTNC,	5,	1,	-1);		!ODTIM subset
 $JSYS	(OPENF,	2,	1,	1);		!Open file

 $JSYS	(PBIN,	0,	1,	-1);		!Primary byte input
 $JSYS	(PBOUT,	1,	0,	-1);		!Primary byte output
! $JSYS	(PDVOP_,3,	0,	-1);		!PDV manipulation
 $JSYS	(PEEK,	2,	1,	1);		!Peek at the monitor
 $JSYS	(PLOCK,	3,	0,	-1);		!Lock pages
 $JSYS	(PMAP,	3,	0,	-1);		!Page manipluation
 $JSYS	(PMCTL,	3,	0,	-1);		!Physical memory control
 $JSYS	(PPNST,	3,	1,	-1);		!Translate TOPS-10 PPN
 $JSYS	(PRARG,	3,	3,	-1);		!Build argument block
 $JSYS	(PSOUT,	1,	1,	-1);		!Primary string output

 $JSYS	(RCDIR,	3,	3,	-1);		!Translate directory name
 $JSYS	(RCM,	1,	1,	-1);		!Return interrupt channel mask
 $JSYS	(RCUSR,	3,	3,	-1);		!Translate user name
 $JSYS	(RCVIM,	2,	2,	1);		!Retrive ARPAnet special msg.
 $JSYS	(RCVOK_,2,	0,	-1);		!Receive next GETOK% request
 $JSYS	(RDTTY,	3,	2,	1);		!Read from tty
 $JSYS	(RELD,	1,	1,	1);		!Release device
 $JSYS	(RELSQ,	1,	0,	-1);		!Release ARPAnet spec. msg. q.
 $JSYS	(RESET,	0,	0,	-1);		!Reset process
 $JSYS	(RFACS,	2,	0,	-1);		!Return ACs from process
 $JSYS	(RFBSZ,	1,	2,	2);		!Return file byte size
 $JSYS	(RFCOC,	1,	3,	-1);		!Return control char mask
 $JSYS	(RFMOD,	1,	2,	-1);		!Return file mode
 $JSYS	(RFORK,	1,	0,	-1);		!Resume fork
 $JSYS	(RFPOS,	1,	2,	-1);		!Return tty pointer
 $JSYS	(RFPTR,	1,	2,	1);		!Return file pointer
 $JSYS	(RFRKH,	1,	1,	2);		!Release fork handle
 $JSYS	(RFSTS,	1,	3,	-1);		!Return fork status
 $JSYS	(RFTAD,	3,	0,	-1);		!Return file date/time
 $JSYS	(RIN,	3,	2,	-1);		!Random byte input
 $JSYS	(RIR,	1,	2,	-1);		!Return LEVTAB,,CHNTAB
 $JSYS	(RIRCM,	1,	2,	-1);		!Return reserved channel mask
 $JSYS	(RLJFN,	1,	1,	1);		!Release JFN
 $JSYS	(RMAP,	1,	2,	-1);		!Return page info
 $JSYS	(RNAMF,	2,	2,	1);		!Rename file
 $JSYS	(ROUT,	3,	0,	-1);		!Random byte output
 $JSYS	(RPACS,	1,	2,	-1);		!Return page accessibility
 $JSYS	(RPCAP,	1,	3,	-1);		!Return process capabilitites
 $JSYS	(RSCAN,	1,	1,	1);		!Rescan input
! $JSYS	(RSMAP_,1,	2,	-1);		!Read section map
 $JSYS	(RTFRK,	0,	2,	-1);		!Return fork handle for susp.
 $JSYS	(RTIW,	1,	3,	-1);		!Return tty interrupt word
 $JSYS	(RUNTM,	1,	3,	-1);		!Return run time
 $JSYS	(RWM,	1,	2,	-1);		!Return interrupt wait mask
 $JSYS	(RWSET,	0,	0,	-1);		!Release working set

 $JSYS	(SACTF,	2,	2,	1);		!Set file account
 $JSYS	(SAVE,	2,	0,	-1);		!Save in .EXE file
 $JSYS	(SCTTY,	2,	2,	-1);		!Redefine tty for process
 $JSYS	(SCVEC,	3,	3,	-1);		!Set UUO vector
 $JSYS	(SDSTS,	2,	0,	-1);		!Set device status
 $JSYS	(SDVEC,	2,	0,	-1);		!Set RMS vector
 $JSYS	(SETER,	2,	0,	-1);		!Set process error
 $JSYS	(SETJB,	3,	0,	-1);		!Set job parameters
 $JSYS	(SETNM,	1,	0,	-1);		!Set program name
 $JSYS	(SETSN,	2,	0,	1);		!Set system name
 $JSYS	(SEVEC,	2,	0,	-1);		!Set entry vector
 $JSYS	(SFACS,	2,	0,	-1);		!Set process ACs
 $JSYS	(SFBSZ,	2,	1,	1);		!Set file byte size
 $JSYS	(SFCOC,	3,	0,	-1);		!Set control char. output
 $JSYS	(SFMOD,	2,	0,	-1);		!Set tty mode
 $JSYS	(SFORK,	2,	0,	-1);		!Start fork
 $JSYS	(SFPOS,	2,	0,	-1);		!Set tty pointer
 $JSYS	(SFPTR,	2,	1,	1);		!Set file pointer
 $JSYS	(SFRKV,	2,	0,	-1);		!Start process using entry vec.
 $JSYS	(SFTAD,	3,	0,	-1);		!Set file date/time
 $JSYS	(SFUST,	2,	2,	-1);		!Set file writer
 $JSYS	(SIBE,	1,	2,	1);		!Skip if input buffer empty
 $JSYS	(SIN,	4,	3,	-1);		!String input
 $JSYS	(SINR,	4,	3,	-1);		!Record input
 $JSYS	(SIR,	2,	2,	-1);		!Specify interrupt tables
 $JSYS	(SIRCM,	3,	0,	-1);		!Set reserved channel mask
 $JSYS	(SIZEF,	1,	3,	1);		!Return file size
 $JSYS	(SJPRI,	2,	0,	-1);		!Set job priority
 $JSYS	(SKED_,	2,	0,	-1);		!Scheduler control
 $JSYS	(SKPIR,	1,	0,	2);		!Skip if interrupts enabled
 $JSYS	(SMAP_,	3,	0,	-1);		!Section map control
 $JSYS	(SMON,	2,	0,	-1);		!Set monitor parameters
 $JSYS	(SNDIM,	2,	1,	1);		!Send spec. ARPAnet message
 $JSYS	(SNOOP,	4,	1,	1);		!System performance analysis
 $JSYS	(SOBE,	1,	2,	1);		!Skip if output buffer empty
 $JSYS	(SOBF,	1,	0,	1);		!Skip if output buffer full
 $JSYS	(SOUT,	4,	3,	-1);		!String output
 $JSYS	(SOUTR,	4,	3,	-1);		!Record output
 $JSYS	(SPACS,	2,	0,	-1);		!Set page accessibility
 $JSYS	(SPJFN,	2,	0,	-1);		!Set primary JFNs
 $JSYS	(SPLFK,	2,	1,	1);		!Splice process structure
 $JSYS	(SPOOL,	2,	1,	1);		!Spooling control
 $JSYS	(SPRIW,	2,	0,	-1);		!Set priority work for process
 $JSYS	(SSAVE,	3,	0,	-1);		!Shareable save in .EXE file
 $JSYS	(STAD,	1,	1,	1);		!Set date/time
 $JSYS	(STCMP,	2,	2,	-1);		!String comparison
 $JSYS	(STDEV,	1,	2,	1);		!Translate device name
 $JSYS	(STI,	2,	0,	-1);		!Simulate tty input
 $JSYS	(STIW,	3,	0,	-1);		!Set tty input word
 $JSYS	(STO,	1,	2,	-1);		!Simulate tty output
 $JSYS	(STPAR,	2,	0,	-1);		!Set tty parameters
 $JSYS	(STPPN,	1,	2,	-1);		!Translate TOPS-10 PPN
 $JSYS	(STSTS,	2,	1,	1);		!Clear file status
 $JSYS	(STTYP,	2,	0,	-1);		!Set terminal type
 $JSYS	(SWJFN,	2,	0,	-1);		!Swap JFNs
 $JSYS	(SWTRP_,3,	0,	-1);		!Set arithmetic trap
 $JSYS	(SYERR,	2,	0,	-1);		!Make ERROR.SYS entry
 $JSYS	(SYSGT,	1,	2,	-1);		!Get system data

 $JSYS	(TBADD,	2,	1,	-1);		!Add to table
 $JSYS	(TBDEL,	2,	0,	-1);		!Delete from table
 $JSYS	(TBLUK,	2,	3,	-1);		!Table lookup
 $JSYS	(TEXTI,	1,	1,	1);		!Text input
 $JSYS	(TFORK,	3,	0,	-1);		!Set JSYS traps
 $JSYS	(THIBR,	1,	0,	1);		!Snooze for specified period
 $JSYS	(TIME,	0,	2,	-1);		!Return system uptime
 $JSYS	(TIMER,	3,	1,	1);		!Control run time
 $JSYS	(TLINK,	2,	1,	1);		!Control tty linking
 $JSYS	(TMON,	1,	2,	-1);		!Return monitor flags
 $JSYS	(TTMSG,	2,	0,	-1);		!Broadcast messages
 $JSYS	(TWAKE,	1,	1,	1);		!Wake a THIBRing job

 $JSYS	(UFPGS,	2,	1,	1);		!Update file pages
 $JSYS	(USAGE,	2,	0,	-1);		!Control accounting
 $JSYS	(USRIO,	0,	1,	1);		!Enable user I/O
 $JSYS	(UTEST,	2,	0,	-1);		!Test monitor calls
 $JSYS	(UTFRK,	1,	0,	-1);		!Resume susp. process

 $JSYS	(VACCT,	2,	2,	-1);		!Validate account

 $JSYS	(WAIT,	0,	0,	-1);		!Wait for interrupt
 $JSYS	(WFORK,	1,	0,	-1);		!Wait for a fork
 $JSYS	(WILD_,	3,	1,	-1);		!Wildcard manipulations

! $JSYS	(XGSEV_,1,	2,	-1);		!Extended get special vector
! $JSYS	(XGTPW_,2,	0,	-1);		!Extended get page fail info
! $JSYS	(XGVEC_,1,	3,	-1);		!Extended get entry vector
 $JSYS	(XRIR_,	2,	0,	-1);		!Extended get LEVTAB,,CHNTAB
! $JSYS	(XRMAP_,2,	0,	-1);		!Extended get page params.
! $JSYS	(XSFRK_,3,	0,	-1);		!Extended start fork
 $JSYS	(XSIR_,	2,	0,	-1);		!Extended set LEVTAB,,CHNTAB
! $JSYS	(XSSEV_,1,	3,	-1);		!Extended set spec. vector
! $JSYS	(XSVEC_,3,	0,	-1);		!Extended set entry vector


 undeclare $C$;