cdc:nos2.source:opl871:pfiles
Table of Contents
PFILES
Table Of Contents
- [00022] PFILES - PERMANENT FILE REQUEST PROCESSOR.
- [00026] PERMANENT FILE MANIPULATOR.
- [00411] PARAMETER PROCESSING.
- [00412] PROCESS REQUEST.
- [00433] ERR - PROCESS ARGUMENT ERROR.
- [00442] PFL - PROCESS PERMANENT FILE REQUEST.
- [00559] PNC - PROCESS NEXT COMMAND.
- [00775] FUNCTION PROCESSORS.
- [01346] SUBROUTINES.
- [01348] CES - CHECK ERROR STATUS.
- [01388] CTJ - CHECK FOR *TXOT* JOB.
- [01404] CVT - CONVERT ARGUMENT
- [01434] ESP - ENTER SECURE PASSWORD.
- [01536] GPN - GET PRIMARY FILE NAME.
- [01583] IDF - ISSUE DAYFILE MESSAGE.
- [01609] PAC - PROCESS ALTERNATE CATLIST PERMISSION.
- [01646] PAL - PROCESS ACCESS LEVEL.
- [01680] PBR - PROCESS BACKUP REQUIREMENT.
- [01718] PCT - PROCESS FILE CATEGORY.
- [01763] PDC - PROCESS DEFAULT CALL.
- [01810] PMD - PROCESS MODE OF FILE.
- [01868] PNA - PROCESS *NO ABORT* AND *WAIT BUSY* OPTIONS.
- [01894] PPX - PROCESS PASSWORD/PERMIT EXPIRATION DATE/TERM.
- [01977] PRD - PROCESS RESIDENCE DEFINITION.
- [02013] TDVM - TABLE OF DEVICE MNEMONICS.
- [02020] TBLM - DEFINE MACRO TO PRODUCE *TDVM* TABLE.
- [02032] PRE - PROCESS PREFERRED RESIDENCE.
- [02071] PRT - PROCESS *RT* PARAMETER.
- [02101] PSR - PROCESS SPECIAL REQUEST SUBFUNCTION.
- [02125] PSS - PROCESS SUBSYSTEM SELECTION.
- [02180] RNF - RETURN NON-PRIMARY FILES.
Source Code
- PFILES.txt
- IDENT PFILES,FWA
- ABS
- SST
- ENTRY APPEND
- ENTRY ATTACH
- ENTRY CHANGE
- ENTRY DEFINE
- ENTRY DROPDS
- ENTRY GET
- ENTRY NEW
- ENTRY OLD
- ENTRY PACKNAM
- ENTRY PERMIT
- ENTRY PURGE
- ENTRY REPLACE
- ENTRY SAVE
- ENTRY NPC=
- ENTRY RFL=
- ENTRY SDM=
- ENTRY SSM=
- SYSCOM B1 DEFINE (B1) = 1
- TITLE PFILES - PERMANENT FILE REQUEST PROCESSOR.
- *COMMENT PFILES - PERMANENT FILE MANIPULATOR.
- COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
- SPACE 4
- *** PFILES - PERMANENT FILE MANIPULATOR.
- * J. L. WARDELL. 70/11/03.
- * G. R. GREENFIELD 75/02/07. (MODIFIED)
- SPACE 4
- *** PFILES PROCESSES PERMANENT FILE REQUESTS FOR A JOB.
- * TO ACCESS ANY PERMANENT FILES THE USER MUST HAVE DEFINED A
- * USER NAME. THIS IS DONE VIA *LOGIN* (FOR INTERACTIVE)
- * OR *USER* COMMAND (FOR BATCH). THE USER NAME IS
- * A 7 CHARACTER FIELD WHICH REPRESENTS A SPECIFIC CATALOG IN
- * THE PERMANENT FILE SYSTEM. UNLESS SPECIFIED VIA AN OPTIONAL
- * USER NAME, ALL PERMANENT FILE REQUESTS WILL BE TO THIS
- * CATALOG.
- * THOSE USER NAMES WITH ASTERISKS (*) REPRESENT USERS WITH
- * AUTOMATIC READ ONLY PERMISSION TO CATALOGS OF OTHER USERS
- * IF ALL NON-ASTERISK CHARACTERS OF THE TWO USER NAMES MATCH.
- *
- * EXAMPLE.
- * NORMAL USER NAMES.
- * KRONOS1
- * KRONOS2
- * KRONOS3
- *
- * A USER NAME WITH AUTOMATIC PERMISSION ON ALL FILES
- * IN CATALOGS OF
- * KRONOS1
- * KRONOS2
- * KRONOS3
- * WOULD BE KRON***
- * OR KRONO**
- * OR KRONOS*
- * OR *RONOS*
- *
- *
- * TWO METHODS OF ACCESS ARE AVAILABLE TO PERMANENT FILES.
- *
- * 1. DIRECT ACCESS. FILES CAN BE ACCESSED DIRECTLY VIA
- * NORMAL I/O PROCEDURES INCLUDING RANDOM READS AND
- * WRITES. FILES OF THIS TYPE ARE ALLOCATED IN LARGE
- * BLOCKS (SEE *R* OPTION FOR BLOCK SIZES).
- *
- * 2. INDIRECT ACCESS. FILES CAN BE ACCESSED INDIRECTLY BY
- * USING A WORKING COPY OF THE PERMANENT FILE. THIS COPY
- * CAN BE GENERATED VIA THE *GET* COMMAND. IF THE USER
- * DESIRES THE WORKING COPY TO REMAIN PERMANENT A SPECIFIC
- * PERMANENT FILE REQUEST MUST BE MADE AFTER THE FILE
- * HAS BEEN ALTERED (SEE SAVE OR REPLACE COMMAND).
- * FILES OF THIS TYPE ARE ALLOCATED IN BLOCK SIZES
- * OF 64 CM WORDS (640 CHARACTERS).
- *
- *
- * FOR ANY PERMANENT FILE (DIRECT OR INDIRECT) THAT HAS A
- * CURRENT COPY ON ALTERNATE STORAGE, THE USER CAN DROP THE
- * ASSOCIATED DISK SPACE WITH THE *DROPDS* COMMAND. THIS
- * COMMAND WILL ALSO RETURN THE LOCAL FILE IF IT EXISTS.
- *
- *
- *
- * PERMANENT FILE COMMAND FORMAT.
- *
- * THE GENERAL FORMAT FOR A PERMANENT FILE REQUEST IS DESCRIBED
- * BELOW. IF SPECIAL OPTIONS ARE DESIRED, THEY MUST FOLLOW ALL
- * FILES SPECIFIED AND MUST APPLY TO ALL FILES. THE OPTIONS MUST
- * FOLLOW THE /, ARE ORDER-INDEPENDENT, AND ARE INDICATED BY
- * THE SPECIFIED KEYWORD.
- *
- * PFCMD (LFN = PFN / KW1 = OPTION1, . . . , KWN = OPTIONN)
- *
- * PFCMD
- * THE PARTICULAR PERMANENT FILE COMMAND.
- * LFN
- * THE WORKING FILE NAME USED WHILE ACCESSING
- * THE PERMANENT FILE.
- * PFN
- * THE NAME UNDER WHICH THE FILE IS CATALOGED
- * IN THE PERMANENT FILE DIRECTORY. IF THE
- * PFN PARAMETER IS NOT PRESENT, LFN IS
- * ASSUMED TO BE BE THE PERMANENT FILE NAME.
- *
- * IN CERTAIN CASES, IF NO LFN IS SPECIFIED, THE USER-S
- * PRIMARY FILE IS IMPLIED. THESE ARE DEFAULT CALLS,
- * AND OCCUR WHEN THE COMMAND IS *GET*, *PURGE*, *REPLACE*
- * OR *SAVE*, AND NO ARGUMENT OR ONE BLANK ARGUMENT IS
- * SPECIFIED, I.E. *GET.* OR *SAVE,.*
- *
- * THE KEYWORDS AND OPTIONS WHICH MAY BE SUPPLIED ARE DESCRIBED
- * BELOW:
- *
- * KEYWORD OPTION DESCRIPTION
- *
- * UN= USERNAM USER NAME FOR THE FILE. THIS
- * PARAMETER IS NECESSARY ONLY IF THE
- * PERMANENT FILE INVOLVED RESIDES IN ANOTHER
- * USERS CATALOG. TO BE ABLE TO ACCESS OTHER
- * FILE CATALOGS, THE USER MUST BE GRANTED
- * EXPLICIT PERMISSION (SEE PERMIT COMMAND).
- * THE FILE MUST BE A SEMIPRIVATE OR LIBRARY
- * FILE, OR THE USER MUST HAVE AUTOMATIC
- * PERMISSION (REFER TO THE PREVIOUS
- * DESCRIPTION OF USER NAMES).
- *
- * PW= PASSWRD THE USER HAS THE OPTION OF SPECIFYING A
- * SEVEN CHARACTER PASSWORD FOR A FILE. THIS
- * PASSWORD MUST BE SPECIFIED WHENEVER
- * ALTERNATE USERS ACCESS THE FILE.
- *
- * PW SPECIFIES USER DESIRES SECURE ENTRY OF
- * PASSWORD.
- *
- * XD= YYMMDD OPTIONAL PASSWORD/PERMIT EXPIRATION DATE
- * FOR THE FILE. YYMMDD MUST NOT BE BEFORE
- * THE CURRENT DATE. *XD* CANNOT BE
- * SPECIFIED TOGETHER WITH *XT*. ON A *SAVE*
- * OR *DEFINE*, *XD* CANNOT BE SPECIFIED
- * WITHOUT *PW*.
- *
- * XT= NNNN OPTIONAL PASSWORD/PERMIT EXPIRATION TERM
- * WHERE NNNN IS THE NUMBER OF DAYS THAT IS
- * ADDED TO THE CURENT DATE AND THEN USED AS
- * THE PASSWORD/PERMIT EXPIRATION DATE.
- * VALUES MAY RANGE FROM 0 TO 4095 (OR *),
- * WHERE 0 SETS THE PASSWORD AS IMMEDIATELY
- * EXPIRED, AND 4095 (OR *) IS USED TO SET A
- * NON-EXPIRING PASSWORD/PERMIT. *XT* CAN
- * NOT BE SPECIFIED TOGETHER WITH *XD*. ON
- * A *SAVE* OR *DEFINE*, *XD* CANNOT BE
- * SPECIFIED WITHOUT *PW*.
- *
- * CT= PERMANENT FILE CATEGORY. PERMANENT FILES
- * MAY FALL INTO THREE CATEGORIES WHICH
- * CONTROL THE METHOD OF ACCESS. THIS
- * PARAMETER MUST BE SPECIFIED WHEN THE FILE
- * IS SAVED OR DEFINED.
- * P - FILES AVAILABLE FOR ACCESS ONLY BY THE
- * PRIVATE ORIGINATING USER OR TO THOSE EXPLICITLY
- * PR GRANTED PERMISSION. (SEE PERMIT COMMAND.)
- *
- * S - FILES AVAILABLE FOR ACCESS BY ALL USERS
- * SPRIV KNOWING THE FILE NAME, PASSWORD AND USER
- * NUMBER. ACCESSES FOR FILES OF THIS
- * CATEGORY ARE RECORDED FOR THE ORIGINATOR
- * OF THE FILE IN THE PERMIT ENTRIES OF
- * THE FILE.
- * L - FILES AVAILABLE FOR ACCESS BY ALL USERS
- * LIBRARY KNOWING THE FILE NAME, PASSWORD, AND USER
- * PUBLIC NUMBER. ACCESSES FOR FILES OF THIS TYPE
- * PU ARE NOT RECORDED FOR THE ORIGINATOR OF THE
- * FILE.
- *
- * M= ACCESS MODE (PERMISSION LEVEL)
- * W - WRITE, MODIFY, UPDATE, APPEND, READ,
- * WRITE EXECUTE AND/OR PURGE
- * R - READ AND/OR EXECUTE
- * READ
- * E - EXECUTE ONLY
- * EXECUTE
- * A - APPEND ONLY (INDIRECT FILES).
- * APPEND APPEND, READ AND EXECUTE (DIRECT FILES).
- * N - REMOVE PREVIOUS PERMISSION
- * NULL
- * M - MODIFY, UPDATE, APPEND, READ AND EXECUTE.
- * MODIFY
- * RM - READ/ALLOW MODIFY, READ/ALLOW UPDATE,
- * READMD READ/ALLOW APPEND, READ AND EXECUTE.
- * RA - READ/ALLOW APPEND, READ AND EXECUTE.
- * READAP
- * U - UPDATE, READ AND EXECUTE.
- * UPDATE
- * RU - READ/ALLOW UPDATE, READ AND EXECUTE.
- * READUP
- *
- * AL= LEVEL OPTIONAL SECURITY ACCESS LEVEL THAT THE
- * FILE IS TO BE CREATED WITH. ONE- TO
- * SEVEN-CHARACTER MNEMONIC. IF *AL* IS
- * NOT SPECIFIED, THE CURRENT JOB ACCESS
- * LEVEL WILL BE USED.
- *
- * SS= FILE SUBSYSTEM.
- * IF *SS* IS OMITTED, NO SUBSYSTEM IS USED
- * EXCEPT IN THE CASE OF A *SAVE* OF THE
- * PRIMARY FILE. IF *SS* IS USED ALONE, THE
- * CURRENT SUBSYSTEM IS FORCED ON ALL FILES
- * AFFECTED. IF *SS* IS EQUIVALENCED, THE
- * SPECIFIED SUBSYSTEM IS FORCED ON ALL
- * FILES AFFECTED. A THREE-CHARACTER
- * ABBREVIATION MAY BE USED FOR
- * THE SUBSYSTEM NAME.
- *
- * BR = BACKUP REQUIREMENT (PFDUMP).
- * N - NO BACKUP REQUIRED.
- * Y - BACKUP ALWAYS REQUIRED.
- * MD - (MEDIA DEPENDENT) BACKUP REQUIRED IF FILE
- * RESIDES ON DISK, BUT NOT IF FILE
- * RESIDES ON MSF.
- *
- * PR = PREFERRED RESIDENCE (TYPE OF DEVICE).
- * L - FILE LOCKED TO DISK (VALIDATION REQUIRED).
- * D - DISK RESIDENCE PREFERRED.
- * M - CARTRIDGE ALTERNATE STORAGE RESIDENCE
- * PREFERRED.
- * N - NO PREFERENCE.
- * T - TAPE ALTERNATE STORAGE RESIDENCE
- * PREFERRED.
- *
- * R= SPECIFIES TYPE OF DEVICE ON WHICH THE
- * PERMANENT FILE RESIDES OR IS TO RESIDE.
- * IF NOT REQUIRED FOR THE REQUESTED
- * OPERATION, IT IS IGNORED. THIS
- * PARAMETER MAY ALSO HAVE BEEN SPECIFIED
- * ON A PREVIOUS *PACKNAM* COMMAND.
- * IF *R* HAS NOT BEEN SPECIFIED IN
- * EITHER FASHION, A SYSTEM DEFAULT (SEE
- * *COMSPFM*) WILL BE USED FOR AUXILIARY
- * PACK REQUESTS.
- *
- * DEVICE PRUS/BLOCK CHARS/BLOCK
- *
- * DE EXTENDED MEMORY 16 10240
- * DI 844-21 PACK GROUP 107*N 68480*N
- * DIN N = UNIT COUNT
- * (1-8,BLANK=1)
- * DJ 844-41 PACK GROUP 227*N 145280*N
- * DJN N = UNIT COUNT
- * (1-8,BLANK=1)
- * DK 844-21 FULL TRACK 112*N 71680*N
- * DKN N = UNIT COUNT
- * (N=1-8,BLANK=1)
- * DL 844-4X FULL TRACK 227*N 145280*N
- * DLN N = UNIT COUNT
- * (N=1-8,BLANK=1)
- * DM 885 PACK GROUP 640*N 409600*N
- * DMN N = UNIT COUNT
- * (1-3,BLANK=1)
- * DP EXTENDED MEMORY 16 10240
- * DQ 885 FULL TRACK 640*N 409600*N
- * DQN N = UNIT COUNT
- * (1-3,BLANK=1)
- * DV 819 SINGLE DENSITY 620 396800
- * DW 819 DOUBLE DENSITY 1240 793600
- *
- * PN= PACK NAME. UNIQUE SEVEN CHARACTER
- * NAME ASSOCIATED WITH A REMOVABLE
- * DEVICE. USER CAN SPECIFY THE PACK NAME
- * OF THE DEVICE HE WISHES THE PERMANENT
- * FILE REQUEST TO GO TO.
- *
- * NA NO ABORT OPTION. IF SET PROGRAM WILL NOT
- * ABORT. IF FILE IS BUSY (ATTACH ONLY)
- * THE JOB WILL BE SUSPENDED TILL FILE IS
- * AVAILABLE. FOR ALL OTHER CONDITIONS,
- * THE ERROR MESSAGE WILL BE ISSUED AND
- * THE PROGRAM WILL CONTINUE. *NA* CANNOT BE
- * SPECIFIED TOGETHER WITH *WB*.
- *
- * WB WAIT BUSY OPTION. IF SET, PROGRAM WILL
- * WAIT FOR BUSY FILES AND PACK MOUNTS, BUT
- * ALL OTHER ERRORS WILL CAUSE ABORTS. *WB*
- * CANNOT BE SPECIFIED TOGETHER WITH *NA*.
- *
- * RT REAL-TIME OPTION. IF SET, PROGRAM WILL
- * CONTINUE PROCESSING AFTER A STAGE HAS
- * BEEN INITIATED FOR A NON-DISK RESIDENT
- * FILE, OR IF A PF UTILITY IS ACTIVE.
- * IF NOT SET, PROGRAM WILL WAIT
- * UNTIL STAGE IS COMPLETE OR PF UTILITY
- * IS NO LONGER ACTIVE, AND FILE
- * IS AVAILABLE.
- *
- * CE CLEAR ERROR STATUS IN THE FILES
- * CATALOG ENTRY. THIS OPTION IS ONLY
- * PROCESSED BY *CHANGE*, AND CANNOT BE
- * SPECIFIED TOGETHER WITH THE *CE* OPTION.
- *
- * CP RESET THE CHARGE AND PROJECT NUMBERS IN
- * THE FILE-S CATALOG ENTRY TO THE CURRENT
- * ACTIVE CHARGE AND PROJECT NUMBERS. THIS
- * OPTION IS ONLY PROCESSED BY *CHANGE*, AND
- * CANNOT BE SPECIFIED TOGETHER WITH THE *CP*
- * PARAMETER.
- *
- * S= SPACE DESIRED. THIS SPECIFIES SPACE
- * DESIRED, IN PRUS, FOR ALLOCATION. IF
- * SPECIFIED, DEVICE(OF DEVICE TYPE SPECIFIED
- * BY *R*) WILL BE ASSIGNED IF THIS MANY
- * PRUS ARE AVAILABLE FOR ALLOCATION. NOTE -
- * SPACE IS NOT RESERVED BY SPECIFING THIS
- * PARAMETER.
- *
- * ND DO NOT DROP NON-PRIMARY LOCAL FILES AFTER
- * PROCESSING FUNCTION.
- *
- * AC= ALTERNATE CATLIST PERMISSION.
- * N - ALTERNATE USERS ARE NOT PERMITTED TO
- * CATLIST THE FILE.
- * Y - ALTERNATE USERS ARE PERMITTED TO CATLIST
- * THE FILE.
- *
- *
- * MULTIPLE FILE REQUESTS
- *
- * UP TO 20 FILES MAY BE ACCESSED WITH A SINGLE CALL BY USING
- * THE FOLLOWING COMMAND FORMAT. IF SPECIAL OPTIONS ARE
- * SPECIFIED, THEY APPLY TO ALL FILES.
- * NOTE - MULTIPLE FILE REQUESTS ARE NOT PERMITTED ON
- * *NEW* OR *OLD* FUNCTIONS.
- *
- * PFCMD (LFNN = PFNN, LFN2, . . ., LFNN = PFNN) / KW1 =
- * OPTION1, . . ., KWN = OPTIONN)
- SPACE 4,40
- *** DAYFILE MESSAGES.
- *
- *
- * * ERROR IN ALTERNATE CATLIST PERMISSION.* = ALTERNATE CATLIST
- * PERMISSION SPECIFIED WAS NOT RECOGNIZED.
- *
- * * ERROR IN ARGUMENT.* = THE COMMAND IS SYNTACTICALLY
- * INCORRECT, OR AN INCORRECT PARAMETER WAS ENTERED
- * FOR THE COMMAND.
- *
- * * ERROR IN BACKUP REQUIREMENT.* = BACKUP REQUIREMENT
- * SPECIFIED WAS NOT RECOGNIZED.
- *
- * * ERROR IN EXPIRATION DATE.* = THE VALUE SPECIFIED
- * FOR *XD* WAS NOT A VALID DATE, OR THE VALUE
- * SPECIFIED FOR *XT* WAS GREATER THAN 4095.
- *
- * * ERROR IN FILE CATEGORY.* = FILE CATEGORY SPECIFIED WAS
- * NOT RECOGNIZED.
- *
- * * ERROR IN MODE.* = MODE SPECIFIED WAS NOT RECOGNIZED.
- *
- * * ERROR IN PREFERRED RESIDENCE.* = PREFERRED RESIDENCE
- * SPECIFIED WAS NOT RECOGNIZED.
- *
- * * ERROR IN RESIDENCE.* = RESIDENCE PARAMETER IS INCORRECT.
- *
- * * ERROR IN SUBSYSTEM.* = SUBSYSTEM SPECIFIED WAS
- * NOT RECOGNIZED.
- *
- * * INCORRECT PASSWORD.* = AN INCORRECT PASSWORD WAS ENCOUNTERD
- * UPON SECURE ENTRY.
- *
- * * NO PRIMARY FILE.* = AN IMPLIED PRIMARY FILE OPERATION
- * (DEFAULT CALL) WAS MADE, BUT NO PRIMARY FILE WAS
- * FOUND.
- *
- * * PARAMETERS CE AND CP ARE MUTUALLY EXCLUSIVE.* = THE
- * PARAMETERS *CE* AND *CP* CANNOT BE BOTH BE INCLUDED
- * ON THE SAME *CHANGE* COMMAND.
- *
- * * UNKNOWN ACCESS LEVEL NAME.* = THE VALUE SPECIFIED FOR
- * THE *AL* PARAMETER WAS NOT VALID. SEE *COMSMLS*
- * FOR A LIST OF VALID ACCESS LEVEL NAMES.
- *
- * NOTE - SEE *PFM* DOCUMENTATION FOR ADDITIONAL ERROR MESSAGES.
- SPACE 4,10
- *** OPERATOR MESSAGES.
- *
- *
- * NONE.
- SPACE 4
- *CALL COMCMAC
- *CALL COMCCMD
- *CALL COMSLFD
- *CALL COMSMLS
- *CALL COMSMSP
- *CALL COMSPFM
- *CALL COMSREM
- *CALL COMSTCM (230)
- SPACE 4
- ** PROGRAM CONSTANTS.
- NFILES EQU 21 MAX NUMBER OF FILES + 1 IN ONE COMMAND
- NPC= EQU 0 FORCE OPERATING SYSTEM PARAMETER FORMAT
- BUFL EQU NWCE+2 BUFFER LENGTH
- SDM= EQU 0 SUPPRESS DAYFILE MESSAGE
- SSM= EQU 0 SECURE SYSTEM MEMORY
- CCPK EQU 13B PACKNAME COMMAND
- CCNW EQU 14B NEW COMMAND
- CCOL EQU 15B OLD COMMAND
- CCDS EQU 16B DROPDS COMMAND
- GFILES EQU 40B NUMBER OF ENTRIES IN GETFNT BUFFER
- GLEN EQU GFILES*2 LENGTH OF *GETFNT* BUFFER
- * NOTE - SHOULD CONSIDER VALUE OF *RFL=*
- PBUFL EQU 100 *PACKNAM* STRING BUFFER LENGTH
- TITLE PARAMETER PROCESSING.
- ** PFILES - PROCESS REQUEST.
- ORG 125B
- FET SPACE 4
- FWA BSS 0 DEFINE LOAD ADDRESS
- F BSS 0
- FILE FILEB IBUF,BUFL,(FET=CFLM)
- .F BSS 0
- ORG F+1 SUPPRESS ADDRESS ON *PFM* ERRORS
- VFD 13/0,1/1,22/0,6/CFLM-5,18/IBUF
- ORG .F
- I BSS 0
- INPUT FILEB IBUF,BUFL,FET=6
- O BSS 0
- OUTPUT FILEB PMSG,PMSGL+1,FET=6
- ERR SPACE 4,10
- ** ERR - PROCESS ARGUMENT ERROR.
- *
- * MACROS ABORT, MESSAGE.
- ERR BSS 0 ENTRY
- MESSAGE (=C* ERROR IN ARGUMENT.*)
- ERR1 ABORT
- PFL SPACE 4,10
- ** PFL - PROCESS PERMANENT FILE REQUEST.
- *
- * ENTRY (B7) = COMMAND CODE.
- *
- * USES X - ALL.
- * A - 1, 2, 4, 5, 6.
- * B - 1, 2, 3, 4, 5, 6, 7.
- *
- * CALLS ARG, CTJ, ESP, IDF, PAC, PAL, PBR, PCT, PDC, PMD,
- * PNA, PPX, PRE, PRT, PSS.
- *
- * MACROS CONTROL, MESSAGE.
- PFL SUBR ENTRY/EXIT
- SX6 B7+ SAVE COMMAND CODE
- SB1 1
- SA6 PFLA
- RJ IDF ISSUE DAYFILE MESSAGE
- SA1 ACTR ARGUMENT COUNT
- SA2 PFLA GET COMMAND CODE
- SB4 X1
- SB7 X2
- SB6 60 SET SHIFT COUNT FOR COMMAND
- SB6 B6-B7
- RJ PDC PROCESS DEFAULT CALL
- ZR B2,PFL7 IF DEFAULT AND PRIMARY FOUND
- * PROCESS FILE NAME LIST.
- PFL1 SA4 ARGR
- MX0 42
- SB2 B0 CLEAR FILE COUNT
- SX3 PRM17 SET MASK FOR *LFN=PFN* SYNTAX
- PFL2 BX6 X0*X4
- SX7 X4-1R= CHECK SEPARATOR
- SX1 B0 CLEAR PF NAME
- ZR X6,ERR IF BLANK NAME
- SA6 B2+TSFN SET SYSTEM FILE NAME
- NZ X7,PFL3 IF NOT *=*
- SB4 B4-B1 DECREMENT ARG. COUNT
- SA4 A4+B1 READ NEXT ARG.
- ZR B4,ERR IF NO ARG.
- BX1 X0*X4
- ZR X1,ERR IF BLANK ARG.
- SX7 X4-1R=
- ZR X7,ERR IF *LFN1=PFN1=*
- LX7 X3,B6
- PL X7,ERR IF *LFN=PFN* SYNTAX NOT ALLOWED ON COMMAND
- PFL3 BX6 X1 SET PF NAME
- SA6 B2+TPFN
- SX7 B2 SAVE INDEX OF LAST FILE
- SA7 PFLB
- SB2 B2+B1 ADVANCE FILE COUNT
- SB5 B2-NFILES
- GT B5,ERR IF TOO MANY FILES
- SB3 X4-1R/ CHECK FOR SPECIAL ARG.
- SB4 B4-B1 DECREMENT ARG. COUNT
- SX6 B0 CLEAR NEXT FILE NAME
- SA6 B2+TSFN
- SA4 A4+B1 READ NEXT ARG.
- EQ B3,PFL4 IF SPECIAL ARG.
- NZ B4,PFL2 LOOP FOR NEXT ARG.
- EQ PFL7 PROCESS SPECIAL PARAMETERS
- * PROCESS SPECIAL ARGUMENTS.
- PFL4 SB5 TARG ARGUMENT TABLE
- RJ ARG
- NZ X1,ERR IF ERROR
- * DETERMINE IF PARAMETERS ARE LEGAL FOR COMMAND SPECIFIED.
- SB2 TPARL
- PFL6 SB2 B2-B1
- LT B2,PFL7 IF NO MORE PARAMETERS
- SA1 B2+TPAR READ ARGUMENT VALIDATION
- SA2 B2+TARG
- SA2 X2
- ZR X2,PFL6 IF ARGUMENT NOT ENTERED
- LX1 X1,B6
- NG X1,PFL6 IF PARAMETER ALLOWED
- EQ ERR ISSUE ERROR
- * PROCESS SECURE PASSWORD ENTRY.
- PFL7 SA5 PWD
- SB2 X5
- SB2 B2-B1
- NZ B2,PFL8 IF *PW* NOT ENTERED
- MX0 42
- BX5 X0*X5
- NZ X5,PFL8 IF PASSWORD NOT ENTERED SECURELY
- RJ ESP ENTER SECURE PASSWORD
- SA6 PWD SET PASSWORD
- * PROCESS REMAINING PARAMETERS.
- PFL8 MX0 42
- RJ PAC PROCESS ALTERNATE CATLIST
- RJ PAL PROCESS ACCESS LEVEL
- RJ PBR PROCESS BACKUP REQUIREMENT
- RJ PCT PROCESS CATEGORY
- SA5 MODE PROCESS MODE
- RJ PMD
- RJ PNA PROCESS *NO ABORT*/*WAIT BUSY* PARAMETERS
- RJ PPX PROCESS PASSWORD/PERMIT EXPIRATION DATE
- RJ PRE PROCESS PREFERRED RESIDENCE
- RJ PRT PROCESS *REAL-TIME* PARAMETER
- RJ PSS PROCESS SUBSYSTEM
- RJ PRD PROCESS RESIDENCE DEFINITION
- EQ PFLX RETURN
- PFLA CON 0 COMMAND CODE
- PFLB CON 0 INDEX OF LAST FILE NAME
- PNC SPACE 4,15
- ** PNC - PROCESS NEXT COMMAND.
- *
- * READ AHEAD ON COMMAND FILE, AND PROCESS
- * THE NEXT COMMAND IF IT IS A *PFILES* CALL.
- *
- * EXIT TO FUNCTION PROCESSOR.
- *
- * USES X - 0, 1, 2, 3, 5, 6.
- * A - 1, 2, 5, 6.
- * B - 2, 3.
- *
- * CALLS CTJ.
- *
- * MACROS CONTROL, ENDRUN, MESSAGE, RECALL.
- PNC BSS 0 ENTRY
- SA1 JOPR CHECK FOR *DIS* CALL
- LX1 59-19
- NG X1,PNC4 IF *DIS* CALL
- CONTROL CCDR,RSS
- SA5 CCDR
- ZR X5,PNC4 IF NO COMMAND PENDING
- SA1 ACTR READ PROGRAM NAME
- SA2 FWA-1 FIRST ENTRY NAME
- MX0 42
- BX1 X0*X1
- PNC1 NG X2,PNC4 IF END OF ENTRY POINT NAMES
- BX3 X0*X2
- BX6 X3-X1
- SB2 X2
- SA2 A2-B1
- NZ X6,PNC1 IF NO MATCH
- CONTROL CCDR ADVANCE COMMAND
- SA1 PGNR
- SX6 B0+
- ZR X1,ERR1 IF COMMAND LIMIT
- SB3 PARML CLEAR PARAMETERS
- PNC2 SA6 PARM-1+B3
- SB3 B3-B1
- NZ B3,PNC2 IF MORE PARAMETERS TO CLEAR
- RECALL F
- SB3 CFLM-CFCN
- PNC3 SA6 F+CFCN-1+B3 CLEAR *PFM* FET PARAMETERS
- SB3 B3-B1
- NZ B3,PNC3 IF MORE WORDS IN FET
- SA1 F+1 CLEAR *EP*, *RT* AND *SP* BITS
- SX6 61B
- LX6 39-0
- BX6 -X6*X1
- SA6 A1
- SA2 F+4 CLEAR *AL* FIELD IN FET
- MX0 -6
- LX0 36-0
- BX6 X0*X2
- SA6 A2
- JP B2 PROCESS CALL
- PNC4 RJ CTJ CHECK FOR *TXOT* JOB
- ZR X2,PNC5 IF *TXOT* JOB
- MESSAGE (=C*PF REQUEST COMPLETE.*),1
- EQ PNC6 END
- PNC5 SA1 ERRFLG
- NZ X1,PNC6 IF ERROR ENCOUNTERED
- MESSAGE ZR,1 CLEAR *MS1W*
- PNC6 ENDRUN
- SPACE 4
- * TABLES.
- ZR CON 0 ZERO WORD FOR ARG. DEFAULT
- NZ CON 1 NON-ZERO WORD FOR ARG. DEFAULT
- CE CON SRCE CLEAR ERROR FUNCTION
- CPN CON SRCP RESET CHARGE/PROJECT NUMBERS
- CSV DECMIC CCSV-1
- CGT DECMIC CCGT-1
- CPG DECMIC CCPG-1
- CPM DECMIC CCPM-1
- CRP DECMIC CCRP-1
- CAP DECMIC CCAP-1
- CDF DECMIC CCDF-1
- CAT DECMIC CCAT-1
- CCG DECMIC CCCG-1
- CPK DECMIC CCPK-1
- CNW DECMIC CCNW-1
- COL DECMIC CCOL-1
- CDS DECMIC CCDS-1
- PRM1 SET 1S"CSV"+1S"CGT"+1S"CPG"+1S"CRP"+1S"CAP"+1S"CDF"+1S"CAT"
- ,+1S"CCG"+1S"COL" PASSWORD
- PRM2 SET 1S"CSV"+1S"CRP"+1S"CDF"+1S"CAT"+1S"CCG" MODE
- PRM3 SET 1S"CSV"+1S"CDF"+1S"CCG" FILE CATEGORY
- PRM4 SET 1S"CSV"+1S"CGT"+1S"CDF"+1S"CPG"+1S"CPM"+1S"CRP"+1S"CAP"
- ,+1S"CAT"+1S"CCG"+1S"COL"+1S"CDS" NO ABORT, WAIT BUSY
- PRM5 SET 1S"CGT"+1S"CPG"+1S"CRP"+1S"CAP"+1S"CAT"+1S"COL" UN
- PRM6 SET 1S"CSV"+1S"CGT"+1S"CPG"+1S"CPM"+1S"CRP"+1S"CAP"+1S"CDF"
- ,+1S"CAT"+1S"CCG"+1S"CPK"+1S"COL"+1S"CDS" PACKNAME, RESIDENCE
- PRM7 SET 1S"CDF" SPACE
- PRM8 SET 1S"CNW"+1S"COL" NO DROP
- PRM9 SET 1S"CGT"+1S"CSV"+1S"CPG"+1S"CRP" NO ARGUMENTS
- PRM10 SET 1S"CCG" CLEAR ERROR STATUS
- PRM11 SET 1S"CSV"+1S"CCG" SUBSYSTEM
- PRM12 SET 1S"CDF"+1S"CCG"+1S"CSV" BACKUP REQUIREMENT
- PRM13 SET 1S"CSV"+1S"CDF"+1S"CCG" PREFERRED RESIDENCE
- PRM14 SET 1S"CGT"+1S"CAT"+1S"COL" REAL TIME PARAMETER
- PRM15 EQU 1S"CCG"+1S"CDF"+1S"CSV"+1S"CPM" PASSWORD/PERMIT EXP
- PRM16 EQU 1S"CDF"+1S"CSV" FILE ACCESS LEVEL
- PRM17 EQU 1S"CSV"+1S"CGT"+1S"CPM"+1S"CRP"+1S"CDF"+1S"CAT"+1S"CCG"
- ,+1S"COL"+1S"CDS" *LFN=PFN* SYNTAX
- PRM18 SET 1S"CSV"+1S"CDF"+1S"CCG" ALTERNATE CATLIST PERMISSION
- PRM19 SET 1S"CCG" RESET CHARGE/PROJECT NUMBERS
- * NOTE - ENTRIES IN THE NEXT TWO TABLES MUST BE IN
- * THE SAME ORDER IN EACH TABLE.
- * TABLE OF LEGAL PARAMETERS FOR COMMANDS.
- TPAR BSS 0
- VFD 42/0,18/PRM8 NO DROP
- VFD 42/0,18/PRM1 PASSWORD
- VFD 42/0,18/PRM2 MODE
- VFD 42/0,18/PRM3 FILE CATEGORY
- VFD 42/0,18/PRM6 RESIDENCE
- VFD 42/0,18/PRM5 USER NAME
- VFD 42/0,18/PRM6 PACKNAME
- VFD 42/0,18/PRM4 NO ABORT
- VFD 42/0,18/PRM4 WAIT BUSY
- VFD 42/0,18/PRM7 SPACE
- VFD 42/0,18/PRM10 CLEAR ERROR STATUS
- VFD 42/0,18/PRM11 SUBSYSTEM
- VFD 42/0,18/PRM12 BACKUP REQUIREMENT
- VFD 42/0,18/PRM13 PREFERRED RESIDENCE
- VFD 42/0,18/PRM14 REAL-TIME PARAMETER
- VFD 42/0,18/PRM15 PASSWORD/PERMIT EXPIRATION DATE
- VFD 42/0,18/PRM15 PASSWORD/PERMIT EXPIRATION TERM
- VFD 42/0,18/PRM16 FILE ACCESS LEVEL
- VFD 42/0,18/PRM18 ALTERNATE CATLIST PERMISSION
- VFD 42/0,18/PRM19 RESET CHARGE/PROJECT NUMBERS
- TPARL EQU *-TPAR LIMIT OF PARAMETERS
- * TABLE OF KEYWORD/PARAMETER EQUIVALENCES.
- TARG BSS 0
- ND ARG -NZ,NODROP
- PW ARG NZ,PWD
- M ARG NZ,MODE
- CT ARG NZ,CTG
- R ARG ZR,RES
- UN ARG ZR,USNM
- PN ARG ZR,PKNM,400B
- NA ARG -NZ,NABT
- WB ARG -NZ,WBUSY
- S ARG ZR,SPACE
- CE ARG -CE,CLRE
- SS ARG NZ,SUBSYS
- BR ARG NZ,BREQ
- PR ARG NZ,PRES
- RT ARG -NZ,RTIME
- XD ARG NZ,PXD,400B
- XT ARG NZ,PXT,400B
- AL ARG ZR,FAL,400B
- AC ARG ZR,ALCT
- CP ARG -CPN,CPNG
- ARG
- TARGP BSS 0 ARGUMENT TABLE FOR *PACKNAM* COMMAND
- PN ARG ZR,PKNM
- R ARG ZR,RES
- ARG
- TARGPL EQU *-TARGP-1
- SPACE 4,10
- ** PARAMETER AREA.
- PARM BSS 0
- NODROP CON 0 NO DROP
- PWD CON 0 PASSWORD
- MODE CON 0 FILE MODE
- CTG CON 0 FILE CATEGORY
- RES CON 0 RESIDENCE OF FILE
- USNM CON 0 USER NAME
- PKNM CON 0 PACKNAME
- NABT CON 0 NO ABORT OPTION
- WBUSY CON 0 WAIT BUSY OPTION
- SPACE CON 0 SPACE
- CLRE CON 0 CLEAR ERROR STATUS
- SUBSYS CON 0 SUBSYSTEM
- BREQ CON 0 BACKUP REQUIREMENT
- PRES CON 0 PREFERRED RESIDENCE
- ALCT CON 0 ALTERNATE CATLIST PERMISSION
- RTIME CON 0 REAL-TIME PARAMETER
- PXD CON 0 PASSWORD/PERMIT EXPIRATION DATE
- PXT CON 0 PASSWORD/PERMIT EXPIRATION TERM
- FAL CON 0 FILE ACCESS LEVEL
- CPNG CON 0 RESET CHARGE/PROJECT NUMBERS
- SREQ CON 0 SPECIAL REQUEST SUBFUNCTION FOR *CHANGE*
- ERRFLG CON 0 NONZERO IF *PFM* ERROR DETECTED
- PARML EQU *-PARM
- * MESSAGE FOR SECURE ENTRY OF PASSWORD.
- PMSG DATA 10H"EM" PASSWO
- DATA 10HRD:"NL" (((
- DATA 10H((((("CR" )
- DATA 10H)))))))"CR"
- DATA 10H MMMMMMMM
- DATA 10H"CR" QQQQQQ
- DATA 10HQQ"CR" XXXX
- DATA 10HXXXX"CR""CB""EL"
- PMSGL EQU *-PMSG
- TITLE FUNCTION PROCESSORS.
- APPEND SPACE 4,15
- *** APPEND (P,F1,F2,F3,...,FN/PW,UN,PN,R,NA,WB)
- *
- * APPEND FILES F1...FN TO PERMANENT FILE.
- * EACH FILE *FN* IS APPENDED AT EOI OF *P*.
- *
- * P = PERMANENT FILE TO BE APPENDED TO.
- * FN = FILES TO BE APPENDED.
- * PW = FILE PASSWORD.
- * UN = USER NAME.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- APPEND BSS 0 ENTRY
- SB7 CCAP SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SA1 TSFN SET PERMANENT FILE NAME
- BX6 X1
- SA6 F+CFPN
- SB3 B1 SET TABLE COUNTER
- SA5 B3+TSFN
- ZR X5,ERR IF NO LOCAL FILE NAME
- APP1 SX6 B1 SET LOCAL FILE NAME IN FET
- BX6 X6+X5
- SA6 F
- APPEND F,,USNM,PWD,PKNM,RES
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE POINTER
- SA5 B3+TSFN
- NZ X5,APP1 IF ANOTHER FILE
- EQ PNC PROCESS NEXT COMMAND
- ATTACH SPACE 4,25
- *** ATTACH (F=P/UN,PW,M,PN,R,NA,WB,RT)
- *
- * ATTACH PERMANENT FILE FOR DIRECT ACCESS USE.
- *
- * AN ATTEMPT WILL BE MADE FIRST TO ATTACH EACH FILE WITH THE
- * *RT* BIT SET IN THE FET. FOR ANY FILE FOR WHICH STAGING WAS
- * INITIATED OR A PF UTILITY WAS ACTIVE, ANOTHER *ATTACH* WILL
- * BE PERFORMED WITHOUT THE *RT* BIT SET TO ACTUALLY ATTACH
- * THE FILE.
- *
- * F = WORKING FILE NAME
- * P = PERMANENT FILE NAME
- * UN = USER NAME.
- * PW = FILE PASSWORD
- * M = MODE OF ACCESS
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED. WAIT FOR BUSY
- * FILE UNTIL AVAILABLE.
- * WB = WAIT FOR PACK MOUNT AND FOR BUSY FILE.
- * RT = RETURN CONTROL AFTER STAGE INITIATED OR IF
- * PF UTILITY IS ACTIVE. DO NOT
- * WAIT FOR FILE TO BE AVAILABLE.
- *
- * DEFAULT VALUES.
- * M = READ.
- * PW = 0.
- * NA = 0.
- ATTACH BSS 0 ENTRY
- SB7 CCAT SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SA1 PFLB GET INDEX OF LAST FILE NAME
- SB4 X1+
- ATT1 SB3 B0+ GET FIRST FILE NAME
- ATT2 SA5 B3+TSFN
- ZR X5,ATT5 IF PREVIOUS *ATTACH* OF THIS FILE WORKED
- SX6 B1 PROCESS FILE NAME
- BX6 X5+X6
- SA6 F
- ATT3 ATTACH F,B3+TPFN,USNM,PWD,MODE,PKNM,RES
- RJ CES CHECK ERROR STATUS
- ZR X6,ATT6 IF FILE BUSY
- ZR X7,ATT4 IF WAITING STAGING, UTILITY OR INTERLOCK
- SX6 B0+ CLEAR FILE NAME
- SA6 B3+TSFN
- EQ ATT5 CHECK FOR MORE FILES
- ATT4 SX6 B1+ SET FLAG TO INDICATE RETRY NEEDED
- SA6 ATTA
- ATT5 SB3 B3+1 CHECK FOR MORE FILES
- LE B3,B4,ATT2 IF MORE FILES TO PROCESS
- SA1 ATTA
- ZR X1,PNC IF NO RETRY NEEDED
- BX6 X6-X6 CLEAR FLAG
- SA6 A1
- SA1 RTIME
- NZ X1,PNC IF *RT* PARAMETER SPECIFIED
- SA1 F+1 CLEAR REAL-TIME PROCESSING BIT
- MX6 1
- LX6 43-59
- BX6 X1-X6
- SA6 A1
- EQ ATT1 RETRY WITH *RT* CLEARED
- ATT6 ROLLOUT ZR ROLL OUT UNTIL FILE AVAILABLE
- EQ ATT3 RETRY AFTER ROLLED IN
- ATTA CON 0 NONZERO IF RETRY WITHOUT *RT* REQUIRED
- CHANGE SPACE 4,20
- *** CHANGE (N=P/PW,CT,M,BR,PR,SS,PN,R,NA,WB,CE,XT,AC,CP)
- *
- * CHANGE CATALOG ENTRY FOR PERMANENT FILE.
- *
- * N = NEW FILE NAME.
- * P = OLD PERMANENT FILE NAME.
- * PW = FILE PASSWORD.
- * CT = FILE CATEGORY.
- * M = MODE OF ACCESS ALLOWED FOR FILE.
- * BR = BACKUP REQUIREMENT.
- * PR = PREFERRED RESIDENCE.
- * SS = SUBSYSTEM.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- * CE = CLEAR ERROR STATUS.
- * XT = PASSWORD EXPIRATION DATE OR TERM.
- * AC = ALTERNATE CATLIST PERMISSION.
- * CP = RESET CHARGE/PROJECT NUMBERS IN PFC.
- CHANGE BSS 0 ENTRY
- SB7 CCCG SET FUNCTION CODE
- MX6 42 SET PWD DEFAULT TO ALL 7S
- SA6 PWD
- RJ PFL PROCESS PERMANENT FILE REQUEST
- RJ PSR PROCESS SPECIAL REQUEST SUBFUNCTION
- SB3 B0
- SA5 B3+TSFN
- CHG1 SB4 A5
- SA1 B3+TPFN
- NZ X1,CHG2 IF NAME CHANGE
- BX1 X5 SET PERMANENT FILE NAME
- SB4 B0 SET NO NEW NAME
- CHG2 CHANGE F,X1,B4,PWD,,CTG,MODE,PKNM,RES,,SREQ,SUBSYS,BREQ,PRES,P
- ,XT,ALCT
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1
- SA5 B3+TSFN
- NZ X5,CHG1 IF ANOTHER FILE
- EQ PNC PROCESS NEXT COMMAND
- DEFINE SPACE 4,30
- *** DEFINE (F=P/PW,CT,M,BR,PR,PN,R,NA,WB,XT,AL,AC)
- *
- * DEFINE PERMANENT FILE FOR DIRECT ACCESS USAGE.
- *
- * F = WORKING FILE NAME.
- * P = PERMANENT FILE NAME.
- * PW = FILE PASSWORD
- * CT = FILE CATEGORY.
- * M = MODE OF ACCESS ALLOWED FOR SEMI-PRIVATE OR LIBRARY
- * BR = BACKUP REQUIREMENT.
- * PR = PREFERRED RESIDENCE.
- * PN = PACK NAME.
- * R = DEVICE TYPE FILE IS TO BE ASSIGNED TO.
- * S = SPACE REQUIRED ON DEVICE (PRUS-DECIMAL).
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- * XT = PASSWORD EXPIRATION DATE OR TERM.
- * AL = FILE ACCESS LEVEL.
- * AC = ALTERNATE CATLIST PERMISSION.
- *
- * DEFAULT VALUES.
- * PW = 0.
- * CT = PRIVATE.
- * R = 0 (USES MASTER DEVICE OR DEVICE
- * FILE CURRENTLY RESIDES ON).
- * M = WRITE.
- * S = 0.
- * NA = 0.
- * AC = NO.
- DEFINE BSS 0 ENTRY
- SB7 CCDF SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SA5 SPACE CONVERT SPACE PARAMETER
- ZR X5,DEF1 IF NOT SPECIFIED
- SB7 B1 SET DECIMAL DEFAULT
- RJ DXB
- NZ X4,ERR IF ERROR
- SA6 F+CFOU
- DEF1 SB3 B0
- SA5 B3+TSFN SET SYSTEM FILE NAME
- DEF2 SX6 B1 SET STATUS COMPLETE
- BX6 X5+X6
- SA6 F
- DEFINE F,B3+TPFN,PWD,,RES,CTG,MODE,PKNM,,,BREQ,PRES,,PXT,FAL,A
- ,LCT
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT FILE
- SA5 B3+TSFN
- NZ X5,DEF2 IF ANOTHER FILE TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- DROPDS SPACE 4,15
- *** DROPDS(F=P/PN,R,NA,WB)
- *
- * DROP DISK SPACE FOR FILE WITH ALTERNATE STORAGE COPY.
- * RETURN LOCAL FILE IF PRESENT.
- *
- * F = LOCAL FILE NAME.
- * P = PERMANENT FILE NAME.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- DROPDS BSS 0 ENTRY
- SB7 CCDS
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SB3 B0
- SA5 B3+TSFN
- DRO1 SX6 B1
- BX6 X5+X6
- SA6 F
- RETURN F,R
- SA1 B3+TPFN SET PERMANENT FILE NAME (IF SPECIFIED)
- BX6 X1
- SA6 X2+CFPN
- DROPDS F
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT FILE
- SA5 B3+TSFN
- NZ X5,DRO1 IF ANOTHER FILE TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- GET SPACE 4,20
- *** GET (F=P/PW,UN,PN,R,RT,NA,WB)
- *
- * RETRIEVE COPY OF INDIRECT ACCESS PERMANENT FILE.
- *
- * AN ATTEMPT WILL BE MADE FIRST TO GET EACH FILE WITH THE
- * *RT* BIT SET IN THE FET. FOR ANY FILE FOR WHICH STAGING WAS
- * INITIATED OR A PF UTILITY WAS ACTIVE, ANOTHER *GET* WILL BE
- * PERFORMED WITHOUT THE *RT* BIT SET TO ACTUALLY GET THE FILE.
- *
- * F = WORKING FILE NAME.
- * P = PERMANENT FILE NAME
- * PW = FILE PASSWORD
- * UN = USER NAME.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * RT = RETURN CONTROL AFTER STAGE INITIATED OR IF
- * A PF UTILITY IS ACTIVE. DO NOT
- * WAIT FOR FILE TO BE AVAILABLE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- GET BSS 0 ENTRY
- SB7 CCGT SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- RJ GPN GET PRIMARY FILE NAME
- SA1 PFLB GET INDEX OF LAST FILE NAME
- SB4 X1+
- GET1 SB3 B0+ GET FIRST FILE NAME
- GET2 SA5 B3+TSFN SYSTEM FILE NAME
- ZR X5,GET6 IF PREVIOUS *GET* OF THIS FILE WORKED
- SX6 B1
- BX6 X6+X5
- SA6 F
- SA2 GETTAB+1 CHECK FOR PRIMARY FILE
- BX2 X5-X2
- NZ X2,GET3 IF NOT PRIMARY FILE
- OLD F,B3+TPFN,USNM,PWD,PKNM,RES
- EQ GET4 CHECK FOR NEXT FILE
- GET3 GET F,B3+TPFN,USNM,PWD,PKNM,RES
- GET4 RJ CES CHECK ERROR STATUS
- ZR X7,GET5 IF WAITING STAGING, UTILITY OR INTERLOCK
- SX6 B0+ CLEAR FILE NAME
- SA6 B3+TSFN
- EQ GET6 ADVANCE TO NEXT FILE
- GET5 SX6 B1+ SET FLAG TO INDICATE THAT RETRY NEEDED
- SA6 GETA
- GET6 SB3 B3+1 ADVANCE TO NEXT FILE
- LE B3,B4,GET2 IF ANOTHER FILE TO PROCESS
- SA1 GETA
- ZR X1,PNC IF NO RETRY NEEDED
- BX6 X6-X6 CLEAR FLAG
- SA6 A1
- SA1 RTIME
- NZ X1,PNC IF *RT* PARAMETER SPECIFIED
- SA1 F+1 CLEAR REAL-TIME PROCESSING BIT
- MX6 1
- LX6 43-59
- BX6 X1-X6
- SA6 A1
- EQ GET1 RETRY WITH *RT* CLEARED
- GETA CON 0 NONZERO IF RETRY WITHOUT *RT* REQUIRED
- NEW SPACE 4,10
- *** NEW (F/ND)
- *
- * CREATE A NEW PRIMARY FILE. ANY CURRENT WORKING FILE
- * NAMED F IS RETURNED, AND A NEW (EMPTY) FILE F CREATED
- * AND MADE USER S NEW PRIMARY FILE.
- *
- * F = NEW PRIMARY FILE NAME.
- * ND = IF NOT SPECIFIED, ALL WORKING FILES WILL BE
- * RETURNED (EXCEPT PRIMARY).
- NEW BSS 0 ENTRY
- SB7 CCNW SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SX1 B1 INDICATE FILE NOT BUSY
- SA2 TSFN
- SA3 A2+B1
- NZ X3,ERR IF MORE THAN 1 WORKING FILE SPECIFIED
- SA3 TPFN
- NZ X3,ERR IF PERMANENT FILE NAME SPECIFIED
- BX6 X1+X2
- SA6 F
- RETURN A6 RETURN EXISTING PRIMARY FILE
- PRIMARY X2 CREATE NEW PRIMARY FILE
- RJ RNF RETURN NON-PRIMARY FILES
- EQ PNC PROCESS NEXT COMMAND
- OLD SPACE 4,15
- *** OLD (F=P/PW,UN,PN,R,RT,NA,WB,ND)
- *
- * RETRIEVE COPY OF PERMANENT FILE FOR SYSTEM USAGE.
- * INDIRECT ACCESS FILES ONLY.
- * FILE F WILL BE MADE USER S NEW PRIMARY FILE.
- *
- * F = WORKING FILE NAME.
- * P = PERMANENT FILE NAME.
- * PW = FILE PASSWORD.
- * UN = USER NAME.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * RT = RETURN CONTROL AFTER STAGE INITIATED OR IF
- * A PF UTILITY IS ACTIVE. DO NOT
- * WAIT FOR FILE TO BE AVAILABLE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- * ND = IF NOT SPECIFIED, ALL WORKING FILES WILL BE
- * RETURNED (EXCEPT PRIMARY).
- OLD BSS 0 ENTRY
- SB7 CCOL SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SX1 B1 INDICATE FILE NOT BUSY
- SA2 TSFN
- SA3 A2+B1
- NZ X3,ERR IF MORE THAN 1 WORKING FILE SPECIFIED
- BX6 X1+X2
- SA6 F
- OLD F,TPFN,USNM,PWD,PKNM,RES
- RJ CES CHECK ERROR STATUS
- RJ RNF RETURN NON-PRIMARY FILES
- EQ PNC PROCESS NEXT COMMAND
- PACKNAM SPACE 4,10
- *** PACKNAM(NAME)
- * PACKNAM(NAME,TYPE)
- * PACKNAM(NAME,R=TYPE)
- * PACKNAM(PN=NAME)
- * PACKNAM(PN=NAME,R=TYPE)
- *
- * SET DEFAULT PACKNAME AND DEVICE TYPE.
- *
- * NAME = PACK NAME.
- * TYPE = DEVICE TYPE.
- PACKNAM BSS 0 ENTRY
- SB1 1
- RJ IDF ISSUE DAYFILE MESSAGE
- SB2 CCDR UNPACK COMMAND TO STRING BUFFER
- RJ USB
- RJ POP SKIP OVER PROGRAM NAME
- ZR B6,PAC2 IF NO ARGUMENTS
- SB2 TARGPL CONVERT POSITIONAL ARGUMENTS
- SB3 TARGP
- SB4 PBUF
- RJ CPA
- NG B5,ERR IF ERRORS IN CONVERSION
- PL X1,PAC2 IF NO ARGUMENTS PROCESSED
- SX6 B5+ PROCESS ARGUMENTS
- SB6 PBUF
- SA6 USBC
- RJ ARM
- NZ X1,ERR IF ARGUMENT ERROR
- RJ PRD PROCESS RESIDENCE DEFINITION
- SA4 RES VALIDATE DEVICE TYPE
- ZR X4,PAC2 IF DEVICE TYPE NOT SPECIFIED
- MX0 -6
- LX4 18
- BX6 -X0*X4
- NZ X6,PAC1 IF THREE CHARACTER DEVICE TYPE SPECIFIED
- SX6 1R1 ADD *1* TO TWO CHARACTER DEVICE TYPE
- BX4 X4+X6
- PAC1 SA1 PKNM
- ZR X1,PAC2 IF *PN* NOT SPECIFIED
- BX6 X1+X4 COMBINE *PN* WITH *R*
- SA6 A1
- PAC2 PACKNAM PKNM ENTER PACK NAME AND PACK TYPE
- EQ PNC PROCESS NEXT COMMAND
- PERMIT SPACE 4,20
- *** PERMIT (P,UN1=M1,UN2=M2,...,UNN=MN/PN,R,NA,WB,XT)
- *
- * PERMIT USER TO ACCESS PERMANENT FILE WITH SPECIFIED MODE.
- *
- * P = PERMANENT FILE NAME.
- * UN = USER NAME TO BE PERMITTED.
- * M = MODE OF ACCESS PERMITTED.
- * W - WRITE, READ, EXECUTE APPEND
- * R - READ, EXECUTE.
- * E - EXECUTE.
- * A - APPEND.
- * N - NULL.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- * XT = PERMIT EXPIRATION DATE OR TERM.
- *
- * DEFAULT VALUES.
- * M = READ.
- PERMIT BSS 0 ENTRY
- SB7 CCPM SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SA1 TSFN SET FILE NAME
- SA2 TPFN CHECK FOR LOCAL FILE NAME
- NZ X2,ERR IF LOCAL FILE SPECIFIED
- SB7 CCPM SET PERMIT FUNCTION
- SX6 B1
- BX6 X6+X1
- SA6 F
- SB3 B1
- SA1 B3+TSFN READ FIRST USER NAME
- ZR X1,ERR IF NO USER SPECIFIED
- PER1 SA5 B3+TPFN MODE
- RJ PMD CONVERT MODE
- PERMIT F,,B3+TSFN,MODE,PKNM,RES,,,PXT
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT USER
- SA1 B3+TSFN
- NZ X1,PER1 IF ANOTHER USER TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- PURGE SPACE 4,15
- *** PURGE (P/UN,PW,PN,R,NA,WB)
- *
- * PURGE PERMANENT FILE.
- *
- * P = PERMANENT FILE NAME
- * UN = USER NAME.
- * (USER MUST HAVE WRITE PERMISSION)
- * PW = FILE PASSWORD
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- PURGE BSS 0 ENTRY
- SB7 CCPG SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SB3 B0 PROCESS FILE NAME LIST
- SA5 B3+TSFN
- PUR1 SX6 B1
- BX6 X6+X5
- SA6 F
- PURGE F,USNM,PWD,PKNM,RES
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT FILE
- SA5 B3+TSFN
- NZ X5,PUR1 IF ANOTHER FILE TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- REPLACE SPACE 4,15
- *** REPLACE (F=P/PW,M,UN,PN,R,NA,WB)
- *
- * REPLACE PERMANENT FILE WITH COPY OF WORKING FILE.
- * INDIRECT ACCESS FILES ONLY.
- *
- * F = WORKING FILE NAME.
- * P = PERMANENT FILE NAME
- * PW = FILE PASSWORD
- * M = MODE OF ACCESS (IF FILE DOES NOT ALREADY EXIST).
- * UN = USER NAME.
- * (USER MUST HAVE WRITE PERMISSION).
- * PN = PACK NAME.
- * R = RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- REPLACE BSS 0 ENTRY
- SB7 CCRP SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- SB3 B0
- SA5 B3+TSFN SYSTEM FILE NAME
- REP1 SX6 B1
- BX6 X5+X6
- SA6 F
- REPLACE F,B3+TPFN,USNM,PWD,,PKNM,RES,,,MODE
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT FILE
- SA5 B3+TSFN
- NZ X5,REP1 IF ANOTHER FILE TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- SAVE SPACE 4,25
- *** SAVE (F=P/PW,CT,M,BR,SS,PR,PN,R,NA,WB,XT,AL,AC)
- *
- * SAVE COPY OF WORKING FILE ON PERMANENT FILES.
- * IF PRIMARY FILE IS SAVED, ASSOCIATED SUBSYSTEM IS
- * SET INTO CATALOG.
- * INDIRECT ACCESS FILES ONLY.
- *
- * F = WORKING FILE NAME.
- * P = PERMANENT FILE NAME
- * PW = FILE PASSWORD
- * CT = FILE CATEGORY
- * M = MODE OF ACCESS
- * BR = BACKUP REQUIREMENT.
- * SS = SUBSYSTEM.
- * PN = PACK NAME.
- * R = RESIDENCE.
- * PR = PREFERRED RESIDENCE.
- * NA = NO ABORT IF ERROR ENCOUNTERED.
- * WB = WAIT FOR PACK MOUNT.
- * XT = PASSWORD EXPIRATION DATE OR TERM.
- * AL = FILE ACCESS LEVEL.
- * AC = ALTERNATE CATLIST PERMISSION.
- *
- * DEFAULT VALUES.
- * PW = 0.
- * CT = PRIVATE.
- * M = WRITE.
- * NA = 0.
- * AC = NO.
- SAVE BSS 0 ENTRY
- SB7 CCSV SET FUNCTION CODE
- RJ PFL PROCESS PERMANENT FILE REQUEST
- RJ GPN GET PRIMARY FILE NAME
- SB3 B0
- SA5 B3+TSFN SYSTEM FILE NAME
- SAV1 SX6 B1
- BX6 X6+X5
- SA6 F
- SA1 SUBSYS
- NZ X1,SAV2 IF *SS* SPECIFIED
- SA1 GETTAB+1 CHECK FOR PRIMARY FILE
- BX1 X1-X5
- NZ X1,SAV2 IF NOT MATCH
- SA2 PSSA GET CURRENT SUBSYSTEM
- BX6 X2
- SA6 SUBSYS
- SAV2 SAVE F,B3+TPFN,PWD,,CTG,MODE,PKNM,RES,,SUBSYS,BREQ,PRES,,PXT
- ,,FAL,ALCT
- RJ CES CHECK ERROR STATUS
- SB3 B3+B1 ADVANCE TO NEXT FILE
- SA5 B3+TSFN
- NZ X5,SAV1 IF ANOTHER FILE TO PROCESS
- EQ PNC PROCESS NEXT COMMAND
- TITLE SUBROUTINES.
- CES SPACE 4,20
- ** CES - CHECK ERROR STATUS.
- *
- * ABORT IF *NA* WAS NOT SPECIFIED, AND AN ERROR OTHER THAN
- * *FILE BUSY*, *FILE INTERLOCKED*, *STAGE INITIATED* OR
- * *PF UTILITY ACTIVE* IS DETECTED.
- *
- * ENTRY (X2) = FET ADDRESS.
- *
- * EXIT (X6) = 0 IF *FILE BUSY* ERROR.
- * (X7) = 0 IF *STAGE INITIATED*, *PF UTILITY ACTIVE*
- * OR *FILE INTERLOCKED*.
- * (ERRFLG) .NE. 0 IF ERROR OTHER THAN *FILE BUSY*,
- * *STAGE INITIATED*, *PF UTILITY ACTIVE* OR
- * *FILE INTERLOCKED*.
- *
- * USES X - 1, 6, 7.
- * A - 1, 6.
- *
- * MACROS ABORT.
- CES SUBR ENTRY/EXIT
- MX6 -8 CHECK ERROR STATUS FIELD
- SA1 X2
- AX1 10
- BX1 -X6*X1
- SX6 X1-/ERRMSG/FBS
- SX7 X1-/ERRMSG/PSI
- ZR X1,CESX IF NO ERROR
- ZR X6,CESX IF *FILE BUSY* STATUS
- ZR X7,CESX IF *STAGE INITIATED* STATUS
- SX7 X1-/ERRMSG/PFA
- ZR X7,CESX IF *PF UTILITY ACTIVE* STATUS
- SX7 X1-/ERRMSG/FIN
- ZR X7,CESX IF *FILE INTERLOCKED* STATUS
- SA6 ERRFLG SAVE ERROR FLAG
- SA1 NABT
- NZ X1,CESX IF *NA* SPECIFIED RATHER THAN *WB* OR *RT*
- ABORT ABORT (ERROR MESSAGE ISSUED BY *PFM*)
- CTJ SPACE 4,9
- ** CTJ - CHECK FOR *TXOT* JOB.
- *
- * EXIT (X2) = 0, IF *TXOT* JOB.
- *
- * USES X - 0, 1.
- * A - 1.
- CTJ SUBR ENTRY/EXIT
- SA1 JOPR FETCH ORIGIN TYPE FROM COMMUNICATION AREA
- LX1 -24
- MX0 -12
- BX1 -X0*X1
- SX2 X1-TXOT
- EQ CTJX EXIT
- CVT SPACE 4,15
- ** CVT - CONVERT ARGUMENT
- *
- * ENTRY (B5) = ADDRESS OF TABLE
- * (X5) = ARGUMENT
- * TABLE OF ARGUMENTS IN FOLLOWING FORMAT.
- *T, 42/ARGUMENT,18/VALUE
- *
- * EXIT (X6) = 0 IF LEGAL ARGUMENT
- * (X7) = EQUIVALENT VALUE (RIGHT JUSTIFIED)
- *
- * CALLS *NONE*
- *
- * USES X - 0, 2, 4, 5, 6, 7.
- * A - 4.
- * B - 5.
- CVT SUBR ENTRY/EXIT
- MX0 42
- MX6 1
- BX5 X0*X5
- CVT1 SA4 B5 READ NEXT TABLE ENTRY
- ZR X4,CVTX IF END OF TABLE
- SB5 B5+B1 ADVANCE TABLE POINTER
- BX2 X0*X4 PICK ARGUMENT
- BX7 -X0*X4 PICK EQUIVALENCE
- IX6 X2-X5
- ZR X6,CVTX IF ARGUMENT FOUND
- EQ CVT1 LOOP FOR NEXT TABLE VALUE
- ESP SPACE 4,25
- ** ESP - ENTER SECURE PASSWORD.
- *
- * THIS SUBROUTINE PROCESSES SECURELY ENTERED PASSWORDS.
- * IF OUTPUT FILE IS ASSIGNED TO A TERMINAL THE MESSAGE
- * *PASSWORD:* ALONG WITH BLANK OUT CHARACTERS FOR SECURE
- * ENTRY OF PASSWORD WILL BE SENT TO THE TERMINAL.
- * FILE *INPUT* WILL THEN BE READ FOR THE PASSWORD.
- * FOR BATCH JOBS FILE *INPUT* IS READ FOR THE PASSWORD.
- *
- * ENTRY (PFLA) = COMMAND CODE.
- *
- * EXIT (X6) = PASSWORD.
- * (B7) = COMMAND CODE.
- * TO *ABT* IF INCORRECT PASSWORD ENCOUNTERED.
- *
- * USES X - ALL.
- * A - 1, 2, 6, 7.
- * B - 2, 3, 4, 5, 6, 7.
- *
- * CALLS STF.
- *
- * MACROS CSET, MESSAGE, READSKP, WRITE.
- ESP SUBR ENTRY/EXIT
- SX2 O SET ADDRESS OF FET
- RJ STF CHECK IF OUTPUT ASSIGNED TO TERMINAL
- NZ X6,ESP1 IF OUTPUT NOT ASSIGNED TO TERMINAL
- SA1 X2+B1 SET BUFFER FULL
- SX7 X1
- SX6 X1+PMSGL
- SA6 A1+B1 SET IN BELOW DATA FOR MESSAGE
- SA7 A6+B1 SET OUT = FIRST
- WRITE X2,* FORCE WRITE BIT SET
- SA1 O
- MX0 42
- BX2 X0*X1 FILE NAME FOR OUTPUT POINTER
- SX1 A1 SET ADDRESS OF FET FOR POINTER
- BX6 X1+X2
- SA6 ARGR FORCE WRITE BEFORE READ ON ROLLOUT
- ESP1 SX2 I SET ADDRESS OF FET
- RJ STF CHECK IF INPUT ASSIGNED TO TERMINAL
- NZ X6,ESP2 IF INPUT NOT ASSIGNED TO TERMINAL
- CSET NORMAL ENSURE TERMINAL IN NORMAL MODE
- ESP2 READSKP I,,R READ INPUT FOR PASSWORD
- SA1 I+2 DETERMINE NUMBER OF WORDS READ
- SA2 A1+B1
- IX6 X1-X2
- ZR X6,ESP10 IF NO DATA ENTERED (NULL PASSWORD)
- SB5 X6
- SB3 B0
- BX5 X5-X5
- BX6 X6-X6
- SB4 60
- SB7 B0
- MX0 -6
- ESP3 SA2 IBUF+B3 PICK UP NEXT DATA WORD
- SB2 B0+
- ESP4 LX2 6
- BX1 -X0*X2 PICK UP CHARACTER TO CHECK
- NZ X1,ESP5 IF CHARACTER NOT ZERO
- NZ X5,ESP10 IF 00 ENCOUNTERED
- SX5 B1+ SET FLAG TO INDICATE 0 ENCOUNTERED
- EQ ESP9 CHECK FOR MORE CHARACTERS
- ESP5 NZ X5,ESP11 IF PREVIOUS CHARACTER = COLON
- ESP6 SB6 X1-1R9
- GT B6,ESP8 IF NOT ALPHANUMERIC CHARACTER
- ESP7 SB4 B4-6
- LX7 X1,B4
- BX6 X7+X6
- SB7 B7+1
- SB6 B7-7
- GT B6,ESP11 IF PASSWORD .GT. SEVEN CHARACTERS
- EQ ESP9 CHECK FOR MORE CHARACTERS
- ESP8 SX4 X1-1R*
- ZR X4,ESP7 IF CHARACTER = *
- SX3 X1-1R
- NZ X3,ESP11 IF CHARACTER NOT BLANK
- ESP9 SB2 B2+B1
- SB6 B2-10
- LT B6,ESP4 IF NOT END OF WORD
- SB3 B3+B1
- SB6 B5-B3
- EQ B6,ESP11 IF TOO MUCH DATA ENTERED
- EQ ESP3 GET NEXT WORD
- ESP10 SA1 I+1
- BX7 X1
- SA7 A1+B1 SET IN = FIRST FOR INPUT BUFFER
- SA1 PFLA RESET (B7) = COMMAND CODE
- SB7 X1
- SA1 =1L0 CHECK FOR *0*
- BX7 X6-X1
- NZ X7,ESPX IF *0* NOT SPECIFIED
- BX6 X7 SET NULL PASSWORD
- EQ ESPX RETURN
- ESP11 MESSAGE (=C* INCORRECT PASSWORD.*)
- ABORT
- GPN SPACE 4,21
- ** GPN - GET PRIMARY FILE NAME.
- * THIS SUBROUTINE IS USED FOR DETERMINING THE NAME OF
- * THE USER S PRIMARY FILE- IF ONE EXISTS.
- *
- * A LFM GETFNT CALL IS MADE, WITH SELECTIVITY OF PRIMARY
- * TYPE ONLY, AND CONTROL BITS SET FOR NORMAL TREATMENT
- * OF CHECKPOINT FILES AND NO MODIFICATION OF FST ENTRIES.
- *
- * ENTRY (GPNB) .NE. 0 IMPLIES PRIMARY HAS ALREADY BEEN
- * FETCHED BY A DEFAULT CALL.
- *
- * EXIT IF (GPNB) = 0,
- * (GETTAB+1) AND (X6) .NE. 0 IMPLIES PRIMARY EXISTS AND
- * CONTAINS NAME (LEFT
- * JUSTIFIED WITH ZERO FILL).
- * (GETTAB+1) AND (X6) = 0 IMPLIES NO PRIMARY EXISTS.
- *
- * USES X - 2, 3, 6, 7.
- * A - 2, 6, 7.
- *
- * MACROS GETFNT.
- GPN SUBR ENTRY/EXIT
- SA2 GPNB
- NZ X2,GPNX IF HAVE ALREADY FETCHED PRIMARY, EXIT
- BX7 X7-X7 CLEAR BUFFER CONTROL WORD
- SA7 GETTAB
- SA2 GPNA
- BX6 X2
- SA6 F+CFPN
- GETFNT F
- BX6 X6-X6 CLEAR PFM LOCATION FET+CFPN
- SA6 F+CFPN
- SA2 GETTAB+1
- MX3 42 MASK OUT ALL BUT NAME OF PRIMARY
- BX6 X2*X3
- SA6 A2
- EQ GPNX EXIT
- * GETFNT CONTROL WORD.
- PRIM DECMIC PTFT
- PMSK EQU 1S"PRIM"
- GPNA VFD 12/1,24/PMSK,6/15B,18/GETTAB
- GPNB DATA 0 PRIMARY FETCHED FLAG
- IDF SPACE 4,10
- ** IDF - ISSUE DAYFILE MESSAGE.
- *
- * ENTRY (CCDR) = COMMAND.
- *
- * USES X - 4, 5.
- * A - 4, 5.
- * B - 2, 6.
- *
- * CALLS CTJ, RSP.
- IDF SUBR ENTRY/EXIT
- SA4 TARG+1 FWA ARGUMENT TABLE
- SB6 TKPR FWA KEYWORD/POSITION TABLE
- SA5 CCDR FWA COMMAND BUFFER
- SB2 1R/ SKIP TO */*
- RJ RSP REMOVE SECURE PARAMETERS FROM COMMAND
- MESSAGE CCDR,0,R ISSUE COMMAND TO DAYFILE
- EQ IDFX RETURN
- TKPR BSS 0 TABLE OF KEYWORDS/POSITIONS TO REMOVE
- CON 2LAL ACCESS LEVEL
- CON 2LPW PASSWORD
- CON 0 END OF TABLE
- PAC SPACE 4,15
- ** PAC - PROCESS ALTERNATE CATLIST PERMISSION.
- *
- * ENTRY (ALCT) = ALTERNATE CATLIST PERMISSION (DISPLAY CODE).
- *
- * EXIT (ALCT) = ALTERNATE CATLIST PERMISSION
- * (NUMERIC EQUIVALENT).
- *
- * USES X - 5, 7.
- * A - 5, 7.
- * B - 5.
- *
- * CALLS CVT.
- *
- * MACROS ABORT, MESSAGE.
- PAC SUBR ENTRY/EXIT
- SA5 ALCT
- ZR X5,PACX IF NOT SPECIFIED
- SB5 TACP
- RJ CVT CONVERT ARGUMENT
- SA7 A5
- ZR X6,PACX IF LEGAL ARGUMENT
- MESSAGE (=C* ERROR IN ALTERNATE CATLIST PERMISSION.*)
- ABORT
- ****
- * TABLE OF ALTERNATE CATLIST PERMISSIONS.
- TACP BSS 0
- VFD 42/0LN,18/ACNO
- VFD 42/0LY,18/ACYS
- CON 0
- ****
- PAL SPACE 4,10
- ** PAL - PROCESS ACCESS LEVEL.
- *
- * EVALUATE IF AN ACCESS LEVEL HAS BEEN SPECIFIED. IF SO,
- * SET ACCESS LEVEL VALUE AND *SP* BIT IN THE FET.
- *
- * ENTRY (FAL) = FILE ACCESS LEVEL.
- *
- * USES X - 1, 2, 6.
- * A - 1, 6.
- * B - 2.
- *
- * CALLS VLC.
- *
- * MACROS ABORT.
- PAL SUBR ENTRY/EXIT
- SA1 FAL
- ZR X1,PALX IF *AL* NOT SPECIFIED
- SB2 B0 SET ACCESS LEVEL FLAG
- RJ VLC VALIDATE ACCESS LEVEL MNEMONIC
- NG X2,PAL1 IF INCORRECT ACCESS LEVEL
- BX6 X2 SET *AL* IN FET
- SA6 FAL
- SA1 F+B1 SET *SP* BIT IN FET
- SX2 B1
- LX2 39-0
- BX6 X1+X2
- SA6 A1
- EQ PALX RETURN
- PAL1 MESSAGE (=C* UNKNOWN ACCESS LEVEL NAME.*)
- ABORT
- PBR SPACE 4,20
- ** PBR - PROCESS BACKUP REQUIREMENT.
- *
- * ENTRY (BREQ) = BACKUP REQUIREMENT (DISPLAY CODE).
- *
- * EXIT (BREQ) = BACKUP REQUIREMENT (NUMERIC EQUIVALENT).
- *
- * USES X - 5.
- * A - 5, 7.
- * B - 5.
- *
- * CALLS CVT.
- *
- * MACROS ABORT, MESSAGE.
- PBR SUBR ENTRY/EXIT
- SA5 BREQ
- ZR X5,PBRX IF NO ARGUMENT SPECIFIED
- SB5 TBREQ
- RJ CVT CONVERT ARGUMENT TO EQUIVALENT
- SA7 A5 SAVE CONVERSION
- ZR X6,PBRX IF LEGAL ARGUMENT
- MESSAGE (=C* ERROR IN BACKUP REQUIREMENT.*)
- ABORT
- ****
- * TABLE OF BACKUP REQUIREMENTS.
- TBREQ BSS 0
- VFD 42/0LN,18/BRNO BACKUP NOT REQUIRED
- VFD 42/0LY,18/BRAL BACKUP ALWAYS REQUIRED
- VFD 42/0LMD,18/BRMD BACKUP REQUIRED UNLESS FILE ON MSF
- CON 0
- ****
- PCT SPACE 4,15
- ** PCT - PROCESS FILE CATEGORY.
- *
- * ENTRY (CTG) = LEFT JUSTIFIED DISPLAY CODED ARGUMENT.
- *
- * EXIT (CTG) = RIGHT JUSTIFIED EQUIVALENT ARGUMENT.
- *
- * USES X - 5, 7.
- * A - 5, 7.
- * B - 5.
- *
- * CALLS CVT.
- *
- * MACROS ABORT, MESSAGE.
- PCT SUBR ENTRY/EXIT
- SA5 CTG
- ZR X5,PCTX IF NO ARGUMENT
- SB5 TCAT
- RJ CVT CONVERT ARGUMENT TO EQUIVALENT
- SX7 X7+40B
- SA7 A5 SAVE CONVERSION
- ZR X6,PCTX IF LEGAL ARGUMENT
- MESSAGE (=C* ERROR IN FILE CATEGORY.*)
- ABORT
- ****
- * TABLE OF FILE CATEGORIES.
- TCAT BSS 0
- VFD 42/0LPRIVATE,18/FCPR
- VFD 42/0LP,18/FCPR
- VFD 42/0LPR,18/FCPR
- VFD 42/0LSPRIV,18/FCSP
- VFD 42/0LS,18/FCSP
- VFD 42/0LLIBRARY,18/FCLI
- VFD 42/0LL,18/FCLI
- VFD 42/0LPUBLIC,18/FCLI
- VFD 42/0LPU,18/FCLI
- CON 0
- ****
- PDC SPACE 4,25
- ** PDC - PROCESS DEFAULT CALL.
- *
- * DETERMINE IF THE COMMAND IS A DEFAULT CALL.
- * THIS IS A *GET*, *PURGE*, *REPLACE*, OR *SAVE*
- * WITH NO ARGUMENTS OR ONE BLANK ARGUMENT.
- *
- * ENTRY (B4) = ARGUMENT COUNT.
- * (B6) = SHIFT COUNT FOR COMMAND.
- * (B7) = COMMAND CODE.
- *
- * EXIT (B2) .NE. 0 IF NOT DEFAULT CALL.
- * ABORT IF DEFAULT AND NO PRIMARY FILE.
- * IF DEFAULT AND PRIMARY FILE FOUND-
- * (B2) = 0
- * (TSFN) = PRIMARY FILE NAME.
- * (GPNB) .NE. 0.
- *
- * USES X - 1, 2, 6.
- * A - 2, 6.
- * B - 2.
- *
- * CALLS GPN.
- *
- * MACROS ABORT, MESSAGE.
- PDC SUBR ENTRY/EXIT
- SB2 B1+ SET NO DEFAULT EXIT
- GT B4,B1,PDCX IF TOO MANY ARGUMENTS
- SX1 PRM9
- LX1 X1,B6
- PL X1,PDCX IF DEFAULT NOT LEGAL FOR COMMAND
- SA2 ARGR
- NZ X2,PDCX IF ARGUMENT NOT BLANK
- RJ GPN GET PRIMARY FILE NAME
- ZR X6,PDC1 IF NO PRIMARY FILE
- SA6 GPNB SET PRIMARY FETCHED FLAG
- SA6 TSFN SET DEFAULT FILE NAME
- SB2 B0 SET DEFAULT EXIT
- BX6 X6-X6
- SA6 TSFN+1 TERMINATE *TSFN* TABLE
- SA6 TPFN
- EQ PDCX RETURN
- PDC1 MESSAGE (=C* NO PRIMARY FILE.*)
- ABORT
- PMD SPACE 4,15
- ** PMD - PROCESS MODE OF FILE.
- *
- * ENTRY (X5) = ACCESS MODE (DISPLAY CODE).
- *
- * EXIT (MODE) = ACCESS MODE (NUMERIC EQUIVALENT).
- *
- * USES X - 5, 7.
- * A - 5, 7.
- * B - 5.
- *
- * CALLS CVT.
- *
- * MACROS ABORT, MESSAGE.
- PMD SUBR ENTRY/EXIT
- NZ X5,PMD2 IF MODE ENTERED
- SX7 PTRD SET DEFAULT MODE (READ MODE)
- PMD1 SA7 MODE
- EQ PMDX
- PMD2 SB5 TMDE
- RJ CVT CONVERT ARGUMENT
- SX7 X7+40B
- ZR X6,PMD1 IF LEGAL ARGUMENT
- MESSAGE (=C* ERROR IN MODE.*)
- ABORT
- ****
- * TABLE OF FILE MODE EQUIVALENCES.
- TMDE BSS 0
- VFD 42/0LWRITE,18/PTWR
- VFD 42/0LW,18/PTWR
- VFD 42/0LREAD,18/PTRD
- VFD 42/0LR,18/PTRD
- VFD 42/0LEXECUTE,18/PTEX
- VFD 42/0LE,18/PTEX
- VFD 42/0LAPPEND,18/PTAP
- VFD 42/0LA,18/PTAP
- VFD 42/0LNULL,18/PTNU
- VFD 42/0LN,18/PTNU
- VFD 42/0LMODIFY,18/PTMD
- VFD 42/0LM,18/PTMD
- VFD 42/0LREADMD,18/PTRM
- VFD 42/0LRM,18/PTRM
- VFD 42/0LREADAP,18/PTRA
- VFD 42/0LRA,18/PTRA
- VFD 42/0LUPDATE,18/PTUP
- VFD 42/0LU,18/PTUP
- VFD 42/0LREADUP,18/PTRU
- VFD 42/0LRU,18/PTRU
- CON 0
- ****
- PNA SPACE 4,10
- ** PNA - PROCESS *NO ABORT* AND *WAIT BUSY* OPTIONS.
- *
- * ENTRY (NABT) .NE. 0 IF *NO ABORT* SPECIFIED.
- * (WBUSY) .NE. 0 IF *WAIT BUSY* REQUESTED.
- *
- * EXIT ERROR PROCESSING BIT SET IF REQUIRED.
- * TO *ERR* IF BOTH *NA* AND *WB* SPECIFIED.
- *
- * USES X - 1, 2, 6.
- * A - 1, 2, 6.
- PNA SUBR ENTRY/EXIT
- SA1 NABT
- SA2 WBUSY
- IX1 X1+X2
- ZR X1,PNAX IF NEITHER *NA* OR *WB* SPECIFIED
- SX1 X1-2
- ZR X1,ERR IF BOTH *NA* AND *WB* SPECIFIED
- SA1 F+1 SET ERROR PROCESSING BIT
- SX6 B1
- LX6 44
- BX6 X1+X6
- SA6 A1
- EQ PNAX RETURN
- PPX SPACE 4,20
- ** PPX - PROCESS PASSWORD/PERMIT EXPIRATION DATE/TERM.
- *
- * ENTRY (B7) = (PFLA) = COMMAND CODE.
- * (PXD) = EXPIRATION DATE (DISPLAY CODE).
- * (PXT) = EXPIRATION TERM (DISPLAY CODE).
- *
- * EXIT (B7) = COMMAND CODE.
- * (PXT) = NUMERIC EXPIRATION DATE/TERM.
- * TO *ERR* IF BOTH *XD* AND *XT* SPECIFIED,
- * OR IF ONE IS SPECIFIED ON A *SAVE OR *DEFINE*
- * WITHOUT *PW*.
- *
- * USES X - 0, 1, 2, 3, 5, 6.
- * A - 1, 2, 3, 6.
- * B - 2, 7.
- *
- * CALLS DXB, VDT.
- *
- * MACROS ABORT, MESSAGE, PDATE.
- PPX6 SA6 PXT SAVE *XT*
- SA1 PFLA RESTORE COMMAND CODE
- SB7 X1
- PPX SUBR ENTRY/EXIT
- SA1 PXT
- SA2 PXD
- SB2 X1
- SB2 X2+B2
- ZR B2,PPXX IF NEITHER *XD* OR *XT* SPECIFIED
- NE B2,B1,ERR IF BOTH *XD* AND *XT* SPECIFIED
- SB2 B7-CCCG
- ZR B2,PPX1 IF *CHANGE* COMMAND
- SB2 B7-CCPM
- ZR B2,PPX1 IF *PERMIT* COMMAND
- SA3 PWD
- ZR X3,ERR IF *PW* NOT ENTERED
- PPX1 MX0 42
- ZR X2,PPX2 IF *XT* SPECIFIED RATHER THAN *XD*
- * PROCESS EXPIRATION DATE.
- BX1 X0*X2
- SX2 B0
- BX3 X1
- LX3 -54
- SX3 X3-1R*
- ZR X3,PPX2.1 IF NON-EXPIRING PASSWORD/PERMIT REQUESTED
- RJ VDT VERIFY DATE SPECIFIED
- NG X1,PPX5 IF DATE ALREADY OCCURRED
- NG X6,PPX5 IF CONVERSION ERROR
- EQ PPX6 SAVE EXPIRATION DATE
- * PROCESS EXPIRATION TERM.
- PPX2 BX1 X0*X1
- BX5 X1
- LX1 -54
- SX2 X1-1R* CHECK FOR *XT* = ASTERISK
- NZ X2,PPX3 IF NOT NON-EXPIRING
- PPX2.1 SX6 7777B
- EQ PPX6 STORE NON-EXPIRING TERM
- PPX3 SX2 X1-1R0 CHECK FOR *XT* = CHARACTER ZERO
- NZ X2,PPX4 IF NOT IMMEDIATELY EXPIRING
- PDATE PPXA SET *XT* = CURRENT DATE
- SA2 PPXA
- AX2 18
- BX6 X2
- EQ PPX6 SAVE CURRENT DATE
- PPX4 ZR X5,PPX5 IF NULL TERM SPECIFIED
- SB7 1 CONVERT DECIMAL NUMBER
- RJ DXB CONVERT DISPLAY CODE TO BINARY NUMBERS
- NZ X4,PPX5 IF CONVERSION ERROR
- SB2 X6-7777B
- LE B2,B0,PPX6 IF TERM DOES NOT EXCEED MAXIMUM
- PPX5 MESSAGE (=C* ERROR IN EXPIRATION DATE.*)
- ABORT
- PPXA DATA 0
- PRD SPACE 4,10
- ** PRD - PROCESS RESIDENCE DEFINITION.
- *
- * ENTRY (RES) = RESIDENCE OF FILE.
- *
- * USES X - 0, 1, 2, 3.
- * A - 2, 3.
- *
- * MACROS ABORT, MESSAGE.
- PRD SUBR ENTRY/EXIT
- SA3 RES
- ZR X3,PRDX IF RESIDENCE NOT DEFINED
- MX0 12
- BX1 X0*X3
- MX2 -6
- LX3 18
- BX2 -X2*X3
- BX0 X0*X3
- NZ X0,PRD3 IF RESIDENCE ENTRY TOO LONG
- ZR X2,PRD1 IF *N* NOT DEFINED
- SX3 X2-1R1
- SX2 X2-1R9
- NG X3,PRD3 IF *N* .LT. 1
- PL X2,PRD3 IF *N* .GT. 8
- PRD1 SA2 TDVM-1
- PRD2 SA2 A2+B1
- BX3 X1-X2
- ZR X3,PRDX IF MATCH ON DEVICE
- NZ X2,PRD2 IF NOT END OF TABLE
- PRD3 MESSAGE PRDA * ERROR IN RESIDENCE.*
- ABORT
- PRDA DATA C* ERROR IN RESIDENCE.*
- TDVM SPACE 4,10
- ** TDVM - TABLE OF DEVICE MNEMONICS.
- *
- *T TDVM 12/MN, 48/0
- *
- * MN = DEVICE MNEMONIC.
- ** TBLM - DEFINE MACRO TO PRODUCE *TDVM* TABLE.
- PURGMAC TBLM
- TBLM MACRO EQ
- VFD 12/2R_EQ,48/0
- ENDM
- LIST G
- TDVM TBL "MSEQ"
- CON 0 END OF TABLE
- LIST -G
- PRE SPACE 4,20
- ** PRE - PROCESS PREFERRED RESIDENCE.
- *
- * ENTRY (PRES) = PREFERRED RESIDENCE (DISPLAY CODE).
- *
- * EXIT (PRES) = PREFERRED RESIDENCE (NUMERIC EQUIVALENT).
- *
- * USES X - 5.
- * A - 5, 7.
- * B - 5.
- *
- * CALLS CVT.
- *
- * MACROS ABORT, MESSAGE.
- PRE SUBR ENTRY/EXIT
- SA5 PRES
- ZR X5,PREX IF NO ARGUMENT SPECIFIED
- SB5 TPRES
- RJ CVT CONVERT ARGUMENT TO EQUIVALENT
- SA7 A5 SAVE CONVERSION
- ZR X6,PREX IF LEGAL ARGUMENT
- MESSAGE (=C*ERROR IN PREFERRED RESIDENCE.*)
- ABORT
- ****
- * TABLE OF PREFERRED RESIDENCES.
- TPRES BSS 0
- VFD 42/0LL,18/RSLK
- VFD 42/0LD,18/RSDS
- VFD 42/0LM,18/RSMS
- VFD 42/0LN,18/RSNP
- VFD 42/0LT,18/RSTP
- CON 0
- ****
- PRT SPACE 4,10
- ** PRT - PROCESS *RT* PARAMETER.
- *
- * ENTRY (RTIME) = 0 IF *RT* NOT SPECIFIED.
- * (PFLA) = COMMAND CODE.
- * (PFLB) = NUMBER OF FILES SPECIFIED - 1.
- *
- * EXIT *RT* BIT SET IN FET IF REQUESTED, OR IF MORE THAN ONE
- * FILE SPECIFIED ON AN *ATTACH* OR *GET* COMMAND.
- *
- * USES X - 1, 6.
- * A - 1, 6.
- PRT SUBR ENTRY/EXIT
- SA1 RTIME
- NZ X1,PRT2 IF *RT* SPECIFIED
- SA1 PFLA
- SX6 X1-CCAT
- ZR X6,PRT1 IF *ATTACH* COMMAND
- SX6 X1-CCGT
- NZ X6,PRTX IF NOT *GET* COMMAND
- PRT1 SA1 PFLB
- ZR X1,PRTX IF ONLY ONE FILE SPECIFIED
- PRT2 SA1 F+1 SET REAL-TIME PROCESSING BIT
- MX6 1
- LX6 43-59
- BX6 X1+X6
- SA6 A1
- EQ PRTX RETURN
- PSR SPACE 4,10
- ** PSR - PROCESS SPECIAL REQUEST SUBFUNCTION.
- *
- * EXIT *SREQ* SET TO *CE* OR *CP* IF EITHER IS PRESENT.
- *
- * USES A - 1, 2, 6.
- * X - 1, 2, 6.
- *
- * MACROS ABORT, MESSAGE.
- PSR SUBR ENTRY/EXIT
- SA1 CLRE ENSURE *CE* AND *CP* NOT BOTH SPECIFIED
- ZR X1,PSR1 IF *CE* PARAMETER NOT PRESENT
- SA2 CPNG GET *CP* PARAMETER
- BX6 X1
- ZR X2,PSR2 IF *CP* PARAMETER NOT PRESENT
- MESSAGE (=C* PARAMETERS CE AND CP ARE MUTUALLY EXCLUSIVE.*)
- ABORT
- PSR1 SA2 CPNG PLACE *CP* INTO *SREQ* (MAY BE ZERO)
- BX6 X2
- PSR2 SA6 SREQ PLACE EITHER *CE* OR *CP* INTO *SREQ*
- EQ PSRX RETURN
- PSS SPACE 4,10
- ** PSS - PROCESS SUBSYSTEM SELECTION.
- *
- * ENTRY (SUBSYS) = VALUE FROM *SS* PARAMETER.
- *
- * EXIT (SUBSYS) = SUBSYSTEM VALUE (IF *SS* SPECIFIED).
- * (PSSA) = CURRENT SUBSYSTEM.
- *
- * USES X - 0, 1, 5, 7.
- * A - 1, 5, 7.
- *
- * CALLS CVT.
- PSS SUBR ENTRY/EXIT
- SA5 SUBSYS GET *SS* PARAMETER VALUE
- GETSS PSSA GET CURRENT SUBSYSTEM
- ZR X5,PSSX IF *SS* NOT SPECIFIED
- MX0 42
- SA1 PSSA
- BX5 X0*X5
- BX7 X1
- ZR X5,PSS1 IF *SS* NOT EQUIVALENCED
- SB5 TSSY
- RJ CVT CONVERT ARGUMENT
- ZR X6,PSS1 IF LEGAL VALUE
- MESSAGE (=C* ERROR IN SUBSYSTEM.*)
- ABORT
- PSS1 SX7 X7+40B SAVE SELECTED SUBSYSTEM
- SA7 SUBSYS
- EQ PSSX RETURN
- PSSA CON 0 CURRENT SUBSYSTEM
- ****
- * TABLE OF SUBSYSTEMS.
- TSSY BSS 0
- VFD 42/0LNULL,18/NULS
- VFD 42/0LNUL,18/NULS
- VFD 42/0LBASIC,18/BASS
- VFD 42/0LBAS,18/BASS
- VFD 42/0LFORTRAN,18/FORS
- VFD 42/0LFOR,18/FORS
- VFD 42/0LFTNTS,18/FTNS
- VFD 42/0LFTN,18/FTNS
- VFD 42/0LEXECUTE,18/EXES
- VFD 42/0LEXE,18/EXES
- VFD 42/0LBATCH,18/BATS
- VFD 42/0LBAT,18/BATS
- CON 0
- ****
- RNF SPACE 4,14
- ** RNF - RETURN NON-PRIMARY FILES.
- * THIS SUBROUTINE USES THE LFM FUNCTION GETFNT TO RETURN ALL
- * FILES CURRENTLY ASSIGNED TO JOB (EXCEPT THE PRIMARY FILE
- * AND ANY FILE WITH *CBST*, *CKST* OR *NDST* STATUS SET).
- *
- * ENTRY NONE.
- *
- * EXIT NONE.
- *
- * USES X - 0, 1, 2, 3, 4, 7.
- * A - 2, 7.
- * B - 3, 4.
- *
- * MACROS GETFNT, RECALL, RETURN.
- RNF SUBR ENTRY/EXIT
- SA2 NODROP
- NZ X2,RNFX IF ND PARAMETER SPECIFIED, EXIT
- BX7 X7-X7 CLEAR BUFFER CONTROL WORD
- SA7 GETTAB
- SA2 RNFA MAKE GETFNT CALL
- BX7 X2
- MX0 42
- RECALL F
- SA7 F+CFPN
- RNF1 GETFNT F
- SB3 B0
- SB4 GLEN
- MX3 -6
- RNF2 SA2 B3+GETTAB+1
- ZR X2,RNFX IF END OF FILES
- BX1 -X3*X2
- SX7 X1-NDST
- ZR X7,RNF3 IF *NDST* FILE
- SX7 X1-CBST
- SX4 X1-CKST
- ZR X7,RNF3 IF CHECKPOINT FILE
- ZR X4,RNF3 IF CHECKPOINT FILE
- BX4 X0*X2
- SX1 B1+ SET COMPLETE BIT
- BX7 X1+X4
- RECALL F
- SA7 F
- RETURN F
- RNF3 SB3 B3+2
- NE B3,B4,RNF2 IF MORE FILES IN GETTAB
- SA2 GETTAB
- NZ X2,RNF1 IF MORE FILES TO PROCESS
- EQ RNFX RETURN
- * GETFNT CONTROL WORD.
- RNFA VFD 12/GFILES,24/-PMSK,6/15B,18/GETTAB
- SPACE 4
- * COMMON DECKS.
- *CALL COMCARM
- *CALL COMCARG
- *CALL COMCCIO
- *CALL COMCCPA
- *CALL COMCCPM
- *CALL COMCDXB
- *CALL COMCLFM
- *CALL COMCPFM
- *CALL COMCPOP
- *CALL COMCRSP
- *CALL COMCSTF
- *CALL COMCSYS
- *CALL COMCUSB
- *CALL COMCVDT
- *CALL COMCVLC
- SPACE 4,10
- * BUFFER DEFINITIONS.
- USE BUFFERS
- TSFN BSSN NFILES SYSTEM FILE NAMES
- TPFN BSSN NFILES PERMANENT FILE NAMES
- IBUF BSSN BUFL INPUT BUFFER
- GETTAB BSSN GLEN+2 *GETFNT* TABLE
- PBUF BSSN PBUFL *PACKNAM* STRING BUFFER
- RFL= BSSN 0
- SPACE 4
- END
cdc/nos2.source/opl871/pfiles.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator