Trailing-Edge
-
PDP-10 Archives
-
cuspbinsrc_1of2_bb-x128c-sb
-
10,7/galaxy/batcon/batusr.mac
There are 3 other files named batusr.mac in the archive. Click here to see a list.
TITLE BATUSR - GALAXY-10 Batch controller user interface
SUBTTL C.D.O'Toole, D.P.Mastrovito /CDO/DPM 12-SEP-85
;
;
; COPYRIGHT (c) DIGITAL EQUIPMENT CORPORATION
; 1974,1975,1976,1977,1978,1979,1980,1981,1982,1983,1984,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 WHICH IS NOT SUPPLIED BY
; DIGITAL.
SEARCH BATMAC ;BATCON SYMBOLS
SEARCH GLXMAC ;GALAXY SYMBOLS
SEARCH QSRMAC ;QUASAR SYMBOLS
SEARCH ORNMAC ;ORION SYMBOLS
PROLOG (BATUSR) ;SET UP
%%.BAT==:%%.BAT ;FORCE VERSION INTO SYMBOL TABLE
TOPS10 <IF1,<PRINTX [Assembling GALAXY-10 BATUSR]>>
TOPS20 <IF1,<PRINTX [Assembling GALAXY-20 BATUSR]>>
SUBTTL Table of contents
; TABLE OF CONTENTS FOR BATUSR
;
;
; SECTION PAGE
; 1. Table of contents......................................... 2
; 2. Introduction.............................................. 3
; 3. Initialization............................................ 4
; 4. Job scheduler............................................. 5
; 5. IPCF message processing................................... 6
; 6. Start of job.............................................. 7
; 7. Log file header........................................... 8
; 8. LOGIN a job............................................... 9
; 9. Post LOGIN processing..................................... 10
; 10. Honor a job's input request............................... 11
; 11. KJOB processing........................................... 12
; 12. End of job processing..................................... 13
; 13. End....................................................... 14
SUBTTL Introduction
; This module contains user (customer) exit code. By putting all
; customer modifications in this module, changes to supported
; BATCON modules will be minimized. Each routine has a
; description of the calling sequences, the ACs available and when
; they are called. In addition, many routines show examples of
; how to use BATCON facilities to make log file entries, send text
; to PTYs, etc. Only the BATCON hooks are supported. An attempt
; was made to provide calls to BATUSR from places in BATCON where
; the customer would be most likely to make local modifications.
; Please do not take this as a commitment on DEC's part to provide
; subroutine calls in every major BATCON routine. This module is
; completely unsupported. Any suggestions to improve it's
; usefulness will be accepted, but do not expect all suggestions
; to be implemented.
SUBTTL Initialization
; Initialization code called at BATCON startup. This routine will
; be called after all normal BATCON initialization has been
; performed. All comunication with QUASAR has been set up and
; BATCON is ready to enter its toplevel job scheduler loop.
;
; Context: BATCON
; ACs setup: None
; AC usage: None need to be preserved
; Return: CPOPJ
;
U$INIT::POPJ P, ;RETURN
SUBTTL Job scheduler
; Job scheduler code will be called at the begining of the
; scheduling loop prior to any other calls. Here, global checks
; may be made similar to the check in BATCON for killing all jobs
; due to a major Galaxy disaster.
;
; Context: BATCON
; ACs setup: None
; AC usage: None need to be preserved
; Return: CPOPJ
;
U$SCHD::POPJ P, ;RETURN
SUBTTL IPCF message processing
; The IPCF message processor will be called after BATCON verrifies
; that the message came from QUASAR or ORION, and has determined
; the message type (be it known or unknown).
;
; Context: BATCON
; ACs setup: None
; AC usage: None
; Return: CPOPJ/CPOPJ1
;
U$IPCF::JRST .POPJ1 ;RETURN
SUBTTL Fireup processing
; This routine will be called by FIREUP near the end of NEXTJOB
; processing. Here any customer defined fields in the EQ of
; interest to BATCON may be copied into the stream's data base.
;
; Context: Stream
; ACs setup: P1:= base address of NEXTJOB message
; R:= stream relocation
; F:= stream flags
; AC usage: ACs P1, R and F must be preserved
; Return: CPOPJ
;
U$FIRE::POPJ P, ;RETURN
SUBTTL Start of job
; This routine will be called at the begining of normal job
; processing. At this point all normal job data base locations
; will be setup (via a previous call to FIREUP by NEXTJB). At
; this point, a site may wish to change some stream defaults. A
; popular local modification is operator character defaulting
; (effectively doing a .OPERATOR $) See the code under the REPEAT
; 0 for an example.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; AC usage: ACs R and F must be preserved
; Return: CPOPJ
;
U$STJB::
REPEAT 0,< ;EXAMPLE
MOVEI S1,"$" ;GET DEFAULT .OPERATOR CHARACTER
MOVEM S1,.JBOCH(R) ;STORE IT
> ;END OF REPEAT 0
POPJ P, ;RETURN
SUBTTL Log file header
; This routine will all the customer to append any special
; information to the end of the standard batch log file header.
; Remember, to cause a time stamped and identified line to appear
; in the log file header, a $IDHDR macro must be used. The normal
; $IDENT won't work. An example of how to put information into
; the log file header (spooled output limits) follows.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; AC usage: ACs R and F must be preserved
; Return: CPOPJ
;
U$LOGH::
REPEAT 0,< ;EXAMPLE
GETLIM T1,.JQLIM(R),SLPT ;GET SPOOLED LPT LIMIT
GETLIM T2,.JQLIM(R),SCDP ;GET SPOOLED CDP LIMIT
GETLIM T3,.JQLIM(R),SPTP ;GET SPOOLED PTP LIMIT
GETLIM T4,.JQLIM(R),SPLT ;GET SPOOLED PLT LIMIT
$TEXT (L$PHDR##,<
Spooled output limits
LPT: ^D6R /T1/ CDP: ^D6R /T2/
PTP: ^D6R /T3/ PLT: ^D6R /T4/
>)
> ;END OF REPEAT 0
POPJ P, ;RETURN
SUBTTL LOGIN a job
; This routine is called after all normal LOGIN command processing
; is completed. At this point, a terminating carriage-return has
; not been sent to the job, so a site may add any LOGIN switches
; that are not normally added by BATCON. Two character output
; routines are available for this purpose. The first the the
; normal output routine B$CPUT, used to send any character but
; double quotes. Should a switch argument require quotes around
; the string, the second routine, B$CQUO must be used. Examples
; of both are REPEAT 0'd out below. Make sure that no terminating
; carriage-return is sent. That will be handled by BATCON.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; J:= job status word
; AC usage: ACs R, F and J must be preserved
; Return: CPOPJ
;
U$LOGI::
REPEAT 0,< ;EXAMPLE
$TEXT (B$CPUT##,</WATCH:VERSION^A>) ;APPEND /WATCH:VERSION TO LINE
> ;END OF REPEAT 0
REPEAT 0,< ;EXAMPLE
$TEXT (B$CPUT##,</REMARK:">) ;SEND SWITCH AND STARTING QUOTE
$TEXT (B$CQUO##,<THIS IS "QUOTED" TEXT^A>) ;SEND THE QUOTED TEXT
MOVEI S1,"""" ;GET A TERMINATING QUOTE
PUSHJ P,B$CPUT## ;SEND IT
> ;END OF REPEAT 0
POPJ P, ;RETURN
SUBTTL Post LOGIN processing
; When this routine is called, the batch job has sucessfully been
; logged in. Had the LOGIN failed, the normal LOGIN error
; analysis would have been performed and the stream terminiated.
; This is a good point to cause any special programs to run or set
; special terminal parameters. Remember, the LOGIN process has
; been completed by the time this routine is called, so any
; programs that are usually run as a result of LOGIN (via /RUN in
; SWITCH.INI) has already taken place.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; J:= job status word
; AC usage: ACs R, F and J must be preserved
; Return: CPOPJ/CPOPJ1
;
U$PLGN::JRST .POPJ1 ;RETURN
SUBTTL Honor a job's input request
; This routine will be called (from HONORJ) at the start of
; processing a new command line. Prior to being called, all error
; checking has taken place and I/O completed. A new command line
; has not been read in yet.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; J:= job status word
; AC usage: ACs R, F and J must be preserved
; Return: CPOPJ/CPOPJ1
;
U$HNRJ::JRST .POPJ1 ;RETURN
SUBTTL KJOB processing
; Any pre-KJOB processing is performed here. At this point,
; BATCON has determined that the job must be logged out. The job
; has been put at monitor level. All that remains is to send the
; KJOB command. This is a good place th run any programs or issue
; commands that might inform the batch user of such things as
; charges accumulated since LOGIN time. The example below (under
; the REPEAT 0) does just that.
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; J:= job status word
; AC usage: ACs R, F and J must be preserved
; Return: CPOPJ
;
U$KJOB::
REPEAT 0,< ;EXAMPLE
PUSHJ P,B$CINI## ;INITIALIZE THE COMMAND BUFFER
$TEXT (B$CPUT##,<R CHARGE>) ;RUN THE "CHARGE" PROGRAM
PUSHJ P,B$SETB## ;RESET THE COMMAND BUFFER BYTE POINTER
PUSHJ P,B$XFER## ;TRANSFER THE BUFFER TO THE PTY
PUSHJ P,IOWAIT## ;WAIT FOR I/O COMPLETION
> ;END OF REPEAT 0
POPJ P, ;RETURN
SUBTTL End of job processing
; This routine is called from B$CLOS after the job has been logged
; out. All that remains is to prepare the release message and
; sned it to QUASAR. Only a few thing could be modified now.
; They include log file disposition (/OUTPUT:[ERROR!LOG!SPOOL])
; and spooled input file deletion (TOPS-20 only).
;
; Context: Stream
; ACs setup: R:= stream relocation
; F:= stream flags
; J:= job status word
; AC usage: ACs R, F and J must be preserved
; Return: CPOPJ
;
U$CLOS::POPJ P, ;RETURN
SUBTTL End
End