Google
 

Trailing-Edge - PDP-10 Archives - DEC_CMS-20_V1.0_SRC - cms/sources/jsys.r36
There are 2 other files named jsys.r36 in the archive. Click here to see a list.
! JSYS.R36 - JSYS calls used by CMS and its related parts
!
!			  COPYRIGHT (C) 1982 BY
!	      DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS.
!
! 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.
!
!
!

!++
!
! FACILITY:	CMS Library Processor
!
! FUNCTIONAL DESCRIPTION:
!
!	These are the JSYS calls used by CMS for the DS-20 support.
!
! ENVIRONMENT:  DS-20
!
! AUTHOR:  D. Knight, CREATION DATE:  01-Dec-80
!
!--

LIBRARY 'BLI:MONSYM';

MACRO
    HWF (left,right) =				! format 2 values into left,,right
	( (left)^18 or ((right) and %o'777777') ) %,

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

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

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

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

    LH=0,18,18,0 %,
    RH=0,0,18,0 %;

COMPILETIME
    JSYSNO=0;

!    SKIPCNT	MACRO RETURN	BLISS
!
!      -1	+1 always	0 = error
!		   (ERJMP)	1 = OK
!
!	0	+1 always	0 always
!		   (not ERJMP)
!
!	1	+1 error	0 = error
!		+2 OK		1 = OK
!
!	2	+1		0 = 
!		+2		1 = 
!		+3		2 = 
!

!   JSYS Name  Skips	Inputs		Outputs
!
MJSYS(  AIC, 	0,	(1,2),			)	! activate specific software interrupt channels
MJSYS(  ATI,	0,	(1),			)	! assign terminal code CTRL/CHARACTER
MJSYS(	BIN,	-1,	(1),		(2)	)
MJSYS(	BOUT,	-1,	(1,2),			)
MJSYS(	CHFDB,	-1,	(1,2,3),		)	! change file block
MJSYS(	CLOSF,	1,	(1),		(1)	)
MJSYS(	CRLNM,	1,	(1,2,3),	(1)	)	!Create logical name
MJSYS(  DELF,   1,      (1),            (1)     )       !delete a file
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(	DIRST,	1,	(1,2),		(1)	)	!Get user directory name
MJSYS(	DISMS,	0,	(1),			)	!Dismiss process for specified time
MJSYS(  DTI,	0,	(1),			)	! deassign terminal code CTRL/CHARACTER
MJSYS(	DVCHR,	0,	(1),		(1,2,3)	)
MJSYS(  EIR,	0,	(1),			)	! enable software interrupt system
MJSYS(	ERSTR,	2,	(1,2,3),		)	!Translate error code
MJSYS(	ESOUT,	0,	(1),		(1)	)	!Output error string
MJSYS(	FFFFP,	-1,	(1),		(1)	)	!Find first free file page
MJSYS(	GETER,	-1,	(1),		(2)	)	!Get error code
MJSYS(	GETJI,	1,	(1,2,3),		)	!Get job information
MJSYS(	GNJFN,	1,	(1),		(1)	)	!Get next JFN in group
MJSYS(	GTAD,	0,	,		(1)	)	!Get date, time in internal form
MJSYS(  GTDIR,  -1,     (1,2,3),        (1)     )       !Get directory info
MJSYS(	GTJFN,	1,	(1,2),		(1)	)
MJSYS(	GTFDB,	-1,	(1,2,3),		)
MJSYS(	GTSTS,	-1,	(1),		(2)	)	!Get status of file assoc. with JFN
MJSYS(	HALTF,	0,	,			)	!Exit to monitor
MJSYS(  IDTIM,  1,      (1,2),          (1,2)   )       !translate text into interal date-time format
MJSYS(  IIC, 	0,	(1,2),			)	! initiate specific software interrupt channels
MJSYS(	JFNS,	-1,	(1,2,3,4),	(1)	)	!Return file specification associated with jfn
MJSYS(	LNMST,	1,	(1,2,3),	(1,3)	)	!Translate logical name
MJSYS(	MTOPR,	0,	(1,2,3),	(3)	)	!device-dependent control functions
MJSYS(	ODTIM,	0,	(1,2,3),	(1)	)	!Get date and time
MJSYS(	OPENF,	1,	(1,2),		(1)	)	!Open file
MJSYS(	PBOUT,	0,	(1),			)	!Write byte to primary output designator
MJSYS(	PMAP,	-1,	(1,2,3),		)	!Maps disk/memory pages (5 different cases)
MJSYS(	PSOUT,	0,	(1),		(1)	)	!Write string to primary output designator
MJSYS(	RCDIR,	-1,	(1,2,3),	(1,2,3)	)	!Get directory info
MJSYS(	RDTTY,	1,	(1,2,3),	(1,2)	)	!Read from primary input
MJSYS(	RFMOD,	0,	(1),		(2)	)	!Return jfn mode word
MJSYS(	RFPTR,	1,	(1),		(1,2)	)	!Return File Pointer
MJSYS(  RLJFN,  1,      (1),            (1)     )       ! Release JFN
MJSYS(  RNAMF,  1,      (1,2),          (1)     )       ! REname a file
MJSYS(	RSCAN,	1,	(1),			)	!get string from rescan buffer
MJSYS(	RUNTM,	0,	(1),		(1,2,3)	)	!Return run-time of process or job
MJSYS(	SFBSZ,	1,	(1,2),		(1)	)	!Reset byte_size for this opening of file
MJSYS(	SFMOD,	0,	(1,2),			)	!Set modes for terminal
MJSYS(	SFPTR,	1,	(1,2),		(1)	)	!Set File Pointer
MJSYS(	SIN,	-1,	(1,2,3,4),	(1,2,3)	)	!Read string
MJSYS(  SIR,	0,	(1,2),			)	! set channel and priority table addresses
MJSYS(	SIZEF,	1,	(1),		(2,3)	)	!Return lenght of file
MJSYS(	SOUT,	-1,	(1,2,3,4),	(1,2,3)	)	!Write string
MJSYS(	TEXTI,	1,	(1),		(1)	)	!Read from file/terminal
MJSYS(	TIME,	0,	,		(1,2)	)	!Time since last reboot

UNDECLARE
    JSYSNO,
    %QUOTE MJSYS,
    %QUOTE RPLIST;

! JSYS.R36 - last line