Google
 

Trailing-Edge - PDP-10 Archives - decuslib10-08 - 43,50512/rmcopy.req
There are no other files named rmcopy.req in the archive.
!This file is the interface between the transportable RMCOPY code
!and the TOPS-10 specific RMCOPY code.  It defines all the calling
!code mnemonics, and all then return code mnemonics.  It is
!REQUIREd by all pieces of code
!dealing with the system dependent interface.


!Error codes returned from GET_LOCAL_NODEID
!Note: these must be negative, since the routine also returns
!positive character counts
LITERAL G_L_N$FAI = -1;	!One failure code, indicating one of the UUOs barfed


!Codes relating to CHK_ACCESS
!Access codes for the ACCESSTYPE parameter
	LITERAL CHK_AC$REA = 0,	!Caller wants to read the file
		CHK_AC$WRI = 1,	!Caller wants to write the file
		CHK_AC$APN = 2,	!Caller wants to append to the file
		CHK_AC$DLE = 3,	!Caller wants to delete the file
		CHK_AC$RDL = 4;	!Caller wants to read, and then delete the file
!Error codes returned by CHK_ACCESS
	LITERAL CHK_AC$NAK = -1,!NAK - ie no access allowed
		CHK_AC$DND = -2,!Device is Not a Disk
		CHK_AC$CCO = -3,!Character count overflow (unused)
		CHK_AC$FNF = -4;!For read, or delete, File Not Found.

!Codes relating to GET_INPUT_STRING
!The valid channel codes follow
	LITERAL G_I_S$CHTTY = 1;!The 'terminal' input channel
	LITERAL G_I_S$CHIND = 2;!The @ (indirect) input channel
!Error codes returned by GET_INPUT_STRING
	LITERAL G_I_S$EOF = -1;	!End of file on the specified channel
	LITERAL G_I_S$IER = -2;	!Device error on the channel
	LITERAL G_I_S$CCO = -3;	!Char count overflow (not used)
	LITERAL G_I_S$ILC = -4;	!Illegal channel code
	LITERAL G_I_S$CNI = -5;	!(indirect) Channel Not Initialized

!Codes relating to INIT_INDIRECT
!Error codes returned by the routine
	LITERAL INI_IN$OK = 0;			!all set
	LITERAL INI_IN$FNF = -1;		!file not found
	LITERAL INI_IN$PRF = -2;		!protection failure
	LITERAL INI_IN$IDM = -3;		!improper data mode (not ascii)
	LITERAL INI_IN$BFS = -4;		!bad file spec (non-parseable)

!Codes relating to MSGERROR
!Values for the SEVERITY parameter
!	These bit definitions leave 3 bits for severity level,
!	and make the whole code require 5 bits
	LITERAL PRECRLFBIT = %O'10';	!begin new line before message
	LITERAL POSTCRLFBIT = %O'20';	!end msg with new line

	LITERAL S$MSG = 0;
	LITERAL S$CRLFMSGCRLF = S$MSG + PRECRLFBIT + POSTCRLFBIT;
	LITERAL S$MSGCRLF = S$MSG + POSTCRLFBIT;
	LITERAL S$CRLFMSG = S$MSG + PRECRLFBIT;
!Note that the following error messages begina dn end on new lines
	LITERAL S$SEVERE = 1 + PRECRLFBIT + POSTCRLFBIT;
	LITERAL S$WARN = 2 + PRECRLFBIT + POSTCRLFBIT;
	LITERAL S$COMMENT = 3 + PRECRLFBIT + POSTCRLFBIT;
!The next 2 are for those who want errors, but want to tack
! on more after this line
	LITERAL S$SEVERE_HOLD = S$SEVERE - POSTCRLFBIT;
	LITERAL S$WARN_HOLD = S$WARN - POSTCRLFBIT;
	LITERAL S$COMMENT_HOLD = S$COMMENT - POSTCRLFBIT;

!Codes relating to QFUNC, the system Q LIST and KILL interface
!Values for the FUNC paramter
	LITERAL QFN$LIST = 1;	!This is a list request
	LITERAL QFN$KILL = 2;	!This is a kill request
!Values for the PARAMTYPE parameter, which describes the type of
!  strings passed in PARAMPTR, and PARAMPTR2
	LITERAL QFN$JOB = 1;	!The parameter is a jobname (SIXBIT text)
	LITERAL QFN$SEQ = 2;	!The parameter is a decimal sequence number
	LITERAL QFN$PPN = 3;	!The parameter is a ppn (octal,octal), without brackets
	LITERAL QFN$NONE = 4;	!There is no parameter (eg /LIST w/o :[p,pn])
	LITERAL QFN$SELF = 5;	!Like ppn, but QFUNC will supply ppn of job running
	LITERAL QFN$JOBPPN = 6;	!There are two parameters, a jobname, and a ppn.
	LITERAL QFN$SEQPPN = 7;	!There are two parameters, a sequence #, and a ppn.
!NOTE:: The third parameter, PARAMPTR is always a CH$PTR to an
!	ASCIZ string.  The type of string is indicated by the PARAMTYPEarg.
!	(No pointer is required for QFN$NONE or QFN$SELF)
!NOTE:: The fourth parameter is meaningful only for QFN$JOBPPN and QFN$SEQPPN,
!	and in those cases, is a CH$PTR to an ASCIZ PPN string.

!Values returned by QFUNC are as follows
	LITERAL QFN$OK = 1;	!All ok, the request has been serviced
	LITERAL QFN$ILP = 2;	!An illegal parameter type code was passed
	LITERAL QFN$ILF = 3;	!An illegal function was requested

!Codes returned by CREAT, and its partner ADDFILE.
	LITERAL CRE$OK = 0;	!All is well
	LITERAL CRE$NFP = 1;	!No Free Pages to create request
	LITERAL CRE$ILF = 2;	!Illegal function code
	LITERAL CRE$PERR = 3;	!Parse error on -10 filespec
	LITERAL CRE$SNR = 4;	!Structure name req'd on local file-spec

!Codes passed by MAIN to the first system independent code for prompting.
!These codes must be the logical NOT of each other, or MAIN10 will break
	LITERAL MAIN$PROMPT = -1;	!The main code should prompt the user
	LITERAL MAIN$NOPROMPT = 0;	!The main code should not bother with prompting
					!since the CCL entry was taken

!The return codes from CHK_NODEID
	LITERAL CHK$OK = 1;	!The node name was found
	LITERAL CHK$NO = 0;	!The node name was not in the NODTBL
!The indexes into the bitvector returned in the FLAG_ADR by CHK_NODEID
	LITERAL CHK_NOD$QSND = 0;	!RMCOPY may Q 'send' requests to that node
	LITERAL CHK_NOD$QRTV = 1;	!RMCOPY may Q 'retrieve' requests from that node
	LITERAL CHK_NOD$SIZE = 2;	!THE SIZE OF THE CHK_NOD BITVECTOR

!The return codes from GETPATH
	LITERAL GETPATH$OK = 1;		!The ppn and path are returned
	LITERAL GETPATH$FAIL = 0;	!A pointer overflowed

!The codes for the ARGTYPE (first) parameter for the UDATE routine
	LITERAL UDATE$ABS = 1;		!The date is absolute
	LITERAL UDATE$PLUS = 2;		!The minutes, and days are offset from NOW
	LITERAL UDATE$HHMM = 3;		!The minutes are the next time
					!the clock hits that #. (maybe tomorrow

! For the next 3, time contains the # of minutes in the day.
!	If the user did not type any time, the caller of UDATE should default
!	@23:59.
	LITERAL UDATE$DAY = 4;		!The day is 1-7 for SUN thru SAT
	LITERAL UDATE$TOMRW = 5;	!The date is to be tomorrow
	LITERAL UDATE$TODAY = 6;	!The date (time) is for today
					!Similar to HHMM, except if the time
					! has already passed today, the request
					! will go immediately.

!	The codes for range checking the day if UDATE$DAY is specified
	LITERAL UDATE$SUN = 1;		!Sunday
					!Monday through Friday
	LITERAL UDATE$SAT = 7;		!Saturday

! *** End of RMCOPY.REQ