Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_1_19910112 - 6-1/language-sources/jsysdef.r36
There are 20 other files named jsysdef.r36 in the archive. Click here to see a list.
!
! JSYS definitions file
!
!      Defines macros of the form
!
!         JSYS_jsysname(ac1,ac2,ac3,ac4;ac1,ac2,ac3,ac4)
!                       \input values / \output values/
!
!
! THIS SOFTWARE IS FURNISHED UNDER A LICENSE AND MAY  BE  USED
! OR COPIED ONLY IN ACCORDANCE WITH THE TERMS OF SUCH LICENSE.
!
! COPYRIGHT  (C)  DIGITAL  EQUIPMENT  CORPORATION 1981, 1985.
! ALL RIGHTS RESERVED.
!
!
! REVISION HISTORY
! 
! 03 - Make TTMSG have ERJMP after it
! 02 - Make DVCHR have ERJMP after it
! 01 - The beginning
!

MACRO
    MJSYS(NAME,SKIPCNT,INREG,OUTREG)=
	%ASSIGN(JSYSNO,NAME)
	UNDECLARE NAME;

	LINKAGE %NAME('L_',NAME) = JSYS (
		%IF NOT %NULL(INREG) %THEN RPLIST( %REMOVE(INREG) ) %FI
		%IF NOT %NULL(OUTREG) %THEN ; RPLIST( %REMOVE(OUTREG) ) %FI
			)
		:SKIP(SKIPCNT);

	BIND ROUTINE %NAME('JSYS_',NAME) = JSYSNO: %NAME('L_',NAME); %,

    RPLIST(A)[] = REGISTER=A %IF %LENGTH GTR 1 %THEN ,RPLIST(%REMAINING) %FI %;


COMPILETIME
    JSYSNO=0;

!  The following table defines many of the JSYS calls as JSYS_name.  The
!  "Skips" parameter value is a function of the "RETURNS" documentation in
!  the Monitor Calls Reference Manual for the given JSYS.  As a general rule:
!
!   RETURNS		Skips
!
!   +1 always		-1 if you want to catch any possible error condition
!
!			 0 for no value on the JSYS routine.  OS will field any
!			   possible error condition and abort (on error).
!
!   +1 or +2		 1 -- should always be coded here.  The JSYS call can
!			   coded "if JSYS_FOOBAR (...) then ...;".
!
!   +1, +2, or +3	 2 -- should always be coded here.  The JSYS call can
!			   coded "if JSYS_FOOBAR (...) then ...;".
!
!    JSYS Name	Skips	Inputs		Outputs
!
MJSYS(  ACCES, -1,      (1,2)                   )       ! ACCESS or CONNECT
MJSYS(	AIC,	0,	(1,2),			)	! Activate specific software Interrupt Channels
MJSYS(	ATI,	0,	(1),			)	! Assign terminal code CTRL/CHARACTER
MJSYS(	BIN,	-1,	(1),		(2)	)	! Byte INput
MJSYS(	BKJFN,	1,	(1),		(1)	)	! BacK up source JFN
MJSYS(	BOUT,	0,	(1,2),			)	! Byte OUTput
MJSYS(	CHFDB,	-1,	(1,2,3),		)	! Change File Descriptor Block
MJSYS(	CFIBF,	0,	(1),			)	! Clear File Input BuFfer
MJSYS(	CLOSF,	1,	(1),		(1)	)	! CLOSes a File
MJSYS(  CLZFF,  0,      (1),                    )       ! Close Fork's Files
MJSYS(	COMND, -1,	(1,2),		(1,2,3)	)	! parse COMaND element
MJSYS(  CRJOB,  1,      (1,2,3),        (1)     )       ! CReate JOB
MJSYS(	CRLNM,	1,	(1,2,3),	(1)	)	! CReate Logical NaMe
MJSYS(  DELDF,  -1,     (1,2),			)       ! Expunge deleted files
MJSYS(	DELNF,	1,	(1,2),		(1,2)	)	! Delete given number of versions
MJSYS(	DIC,	0,	(1,2),			)	! Deactivates a specified interrupt channel
MJSYS(  DIR,    0,      (1)                     )       ! Disable interrupts
MJSYS(	DIRST,	1,	(1,2),		(1)	)	! Get user directory name
MJSYS(	DISMS,	0,	(1),			)	! Dismiss process for specified time
MJSYS(	DVCHR,	-1,	(1),		(1,2,3)	)	! Get device charicteristics
MJSYS(  EIR,	0,	(1),			)	! Enable software interrupt system
MJSYS(  EPCAP,  0,      (1,2,3),                )       ! Enable capabilities
MJSYS(	ERSTR,	2,	(1,2,3),	(1)	)	! Translate error code
MJSYS(	ESOUT,	0,	(1),		(1)	)	! Error String OUTput
MJSYS(  GETAB,  1,      (1),            (1)     )       ! Get Table info
MJSYS(	GETER,	-1,	(1),		(2)	)	! Get error code
MJSYS(	GETJI,	1,	(1,2,3),		)	! Get job information
MJSYS(	GETNM,	0,	,		(1)	)	! Get SIXBIT prog. name
MJSYS(	GEVEC,	0,	(1),		(2)	)	! Get Entry Vector
MJSYS(  GJINF,  0,      ,               (1,2,3,4))      ! Get Job Information
MJSYS(	GNJFN,	1,	(1),		(1)	)	! Get next JFN in group
MJSYS(	GTAD,	0,	,		(1)	)	! Get date, time in internal form
MJSYS(	GTJFN,	1,	(1,2),		(1)	)	! Get JFN
MJSYS(	GTFDB,	-1,	(1,2,3),		)	! Get FDB
MJSYS(	HALTF,	0,	,			)	! Exit to monitor
MJSYS(  IDTIM,  1,      (1,2),		(1,2)   )       ! Translate text into interal date-time format
MJSYS(	JFNS,	-1,	(1,2,3,4),	(1)	)	! JFN to string translation
MJSYS(  LGOUT,  1,      (1),            (1)     )       ! Log out
MJSYS(	LNMST,	1,	(1,2,3),	(1,3)	)	! Translate logical name
MJSYS(  MSTR,  -1,      (1,2),                  )       ! Mountable structure manipulation
MJSYS(  MTOPR, -1,      (1,2,3,4),      (1,2,3,4))      ! All-purpose JSYS
MJSYS(  NIN,    1,      (1,2,3),         (1,2,3))       ! Read a number
MJSYS(  NODE,  -1,      (1, 2),                 )       ! Network functions
MJSYS(	NOUT,	1,	(1,2,3),		)	! Output decimal number
MJSYS(	ODCNV,	0,	(2,4),		(2,3,4)	)	! Get date and time
MJSYS(	ODTIM,	0,	(1,2,3),	(1)	)	! Get date and time
MJSYS(	OPENF,	1,	(1,2),		(1)	)	! OPENs a File
MJSYS(	PBIN,	0,	,		(1)	)	! .Priin Byte INput
MJSYS(	PBOUT,	0,	(1),			)	! Outputs next byte
MJSYS(	PSOUT,	0,	(1),		(1)	)	! Outputs next string
MJSYS(	RCDIR,	-1,	(1,2,3),	(1,2,3)	)	! Get directory info
MJSYS(  RCM,    0,      (1),            (1)     )       ! Read Channel Mask
MJSYS(	RDTTY,	1,	(1,2,3),	(1,2)	)	! Read from primary input
MJSYS(	RESET,	0,	,			)	! Init current process
MJSYS(	RFMOD,	0,	(1),		(2)	)	! Reads a file's mode
MJSYS(	RFPOS,	0,	(1),		(2)	)	! Pickup terminal info
MJSYS(  RLJFN,  1,      (1),		(1)     )       ! Release JFN
MJSYS(	RPACS,	0,	(1),		(2)	)	! Page Accessibility
MJSYS(  RPCAP,  0,      (1),            (2,3)   )       ! Read process capabilities
MJSYS(	RSCAN,	1,	(1),		(1)	)	! Get string from rescan buffer
MJSYS(	RUNTM,	0,	(1),		(1,2,3)	)	! Returns runtime of job
MJSYS(	SETNM,	0,	(1),			)	! Set program's private name
MJSYS(	SETSN,	1,	(1,2),			)	! Set program's private & system names
MJSYS(	SFMOD,	0,	(1,2),			)	! Sets a file's mode
MJSYS(	SFPTR,	1,	(1,2),		(1)	)	! Sets file's pointer position
MJSYS(	SIBE,	1,	(1),		(2)	)	! Skip if input empty
MJSYS(	SIN,	-1,	(1,2,3,4),	(1,2,3)	)	! String input
MJSYS(	SINR,	-1,	(1,2,3,4),	(1,2,3)	)	! String input
MJSYS(  SIR,	0,	(1,2),			)	! set channel and priority table addresses
MJSYS(	SOUT,  -1,	(1,2,3,4),	(1,2,3)	)	! String output
MJSYS(	SOUTR, -1,	(1,2,3,4),	(1,2,3)	)	! String output
MJSYS(	SPACS,	0,	(1,2),			)	! Set page accessability
MJSYS(  TBADD,  0,      (1,2),                  )       ! Table add
MJSYS(  TBLUK, -1,      (1,2),          (1,2)   )       ! Table lookup
MJSYS(	TEXTI,	1,	(1),		(1)	)	! I/P from term or file
MJSYS(	TIME,	0,	,		(1,2)	)	! Get system "up" time
MJSYS(  TIMER,  1,      (1,2,3),        (1)     )       ! Set timer interrupts
MJSYS(  TTMSG,  -1,     (1,2),                  )       ! Broadcast message

UNDECLARE
    JSYSNO,
    %QUOTE MJSYS,
    %QUOTE RPLIST;