IDENT MODVAL,ORIG
ABS
SST DSSL,PRFE,SCLL
SYSCOM B1
ENTRY MODVAL
ENTRY CHVAL
ENTRY GENVAL
ENTRY LIMITS
ENTRY PASSWOR
ENTRY UPROC
ENTRY SDM=
ENTRY RFL=
ENTRY SSJ=
LIST F
*COMMENT MODVAL - USER VALIDATION FILE MANAGER.
COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
TITLE MODVAL - VALIDATION FILE MANAGER.
SPACE 4,10
*** MODVAL - USER VALIDATION FILE MANAGER.
* E.J. FEESER 70/10/09.
* C.J. MATULE 70/10/09.
* R.P. ROHRBOUGH 72/09/28. REWRITE.
* R. A. JAPS. 74/12/16. MODIFICATION.
* J. L. LARSON. 74/12/16. MODIFICATION.
* C. A. LACEY. 77/01/28.
* J. L. LARSON. 83/02/17. RESTRUCTURE.
SPACE 4,10
*** *MODVAL* PROVIDES CREATION, MODIFICATION, AND DISPLAYS FOR
* THE SYSTEM VALIDATION FILE. THIS FILE CONTAINS BASIC
* INFORMATION NECESSARY TO VALIDATE A USER-S ACCESS TO THE
* SYSTEM, AND PROVIDES SOME CONTROLS ON SYSTEM RESOURCE USAGE.
* MORE COMPREHENSIVE MONITORING OF RESOURCES CAN BE ACHIEVED
* BY USING AN ADDITIONAL *USER PROFILE* VALIDATION FILE. FOR
* MORE INFORMATION, REFER TO *USER PROFILE CONTROL*.
*
* A MECHANISM EXISTS WITHIN *MODVAL* WHICH ALLOWS IT TO
* BE ASSEMBLED IN DIFFERENT WAYS BY USING THE
* *DEFINE *MODIFY* DIRECTIVE AND ASSIGNING THE
* SYMBOL, CUE$, THE VALUE CORRESPONDING TO THE
* DESIRED CUSTOMIZED USER ENVIRONMENT OPTION.
*
* AT THIS TIME, GIVING CUE$ A VALUE OF 2 CAUSES
* ASSEMBLY OF CODE REQUIRED FOR CD2000 INSTALLATIONS.
*
* IN THE FUTURE, *MODVAL* CAN BE CHANGED TO ASSEMBLE
* IN YET OTHER WAYS DEPENDING ON THE REQUIREMENTS OF
* EACH CUSTOMIZED USER ENVIRONMENT. THIS CAN BE
* ACCOMPLISHED BY MODIFYING THE VALID COMMAND LIST IN
* THE *CUESHEL* DECK AND BY ASSIGNING A VALUE OF 3, 4,
* ETC. TO CUE$ AND ADDING THE REQUIRED CONDITIONAL CODE
* TO *MODVAL*.
*
*IF EQ,CUE$,2
CUE$ EQU 2
*ELSE
CUE$ EQU 1
*ENDIF
SPACE 4,10
*** COMMAND FORMAT.
SPACE 4,10
*** MODVAL (P1=F1,P2=F2,...,PN=FN) -DIRECTIVES FOR *Z* OPTION-
*
*
* WHERE P1,...,PN CAN BE THE FOLLOWING -
*
* I = INPUT DATA FOR OP=C OR OP=U OPTIONS.
* DEFAULT - *INPUT*.
*
* L = LIST FILE.
* DEFAULT - *OUTPUT*.
*
* P = USER VALIDATION FILE.
* DEFAULT - *VALIDUS*.
*
* N = NEW OR REFORMATTED VALIDATION FILE.
* DEFAULT - *NEWVAL*.
*
* S = SOURCE FILE FOR OP=S.
* DEFAULT - *SOURCE*.
*
* U = FILE TO OBTAIN AVAILABLE USER INDICES FROM FOR
* UPDATE OPTION. FILE MUST BE CREATED BY PREVIOUS
* *MODVAL* RUN.
* DEFAULT - *VALINDS*.
*
* FM = FAMILY NAME IF OTHER THAN SYSTEM DEFAULT.
* LEGAL ONLY FROM SYSTEM ORIGIN.
*
* D = IF SPECIFIED, *MODVAL* WILL NOT ABORT ON DIRECTIVE
* ERRORS. EQUIVALENCING NOT ALLOWED.
*
* LO = LIST OPTIONS. WHICH CAN BE ANY OF THE FOLLOWING -
* E = LIST ERRORS ONLY (OP = C, U, OR Z).
* A = SORT BY USER NAME (OP = L).
* N = SORT BY USER INDEX (OP = L).
* L = CATALOG LOCAL FILE (OP = L).
* DEFAULT - *A*.
* ALTERNATE DEFAULT - *EN*.
*
* OP = OPTION(S) WHICH CAN BE ANY OF THE FOLLOWING -
* C = CREATE, PROCESS INPUT FILE AND CREATE A VALIDATION
* FILE. MUST OCCUR ALONE.
* U = UPDATE, UPDATE FILE SPECIFIED BY *P* KEYWORD WITH
* DATA ON INPUT FILE. SETS *NORERUN* ON JOB.
* R = REFORMAT, RESTRUCTURE THE FILE SPECIFIED BY *P*
* KEYWORD TO FILE SPECIFIED BY *N* KEYWORD.
* IF JOB ORIGIN IS SYSTEM, ALL FILES UNDER USER
* INDICES WHICH WERE USED UNDER THE OLD *VALIDUS*
* FILE AND ARE NO LONGER USED WILL BE PURGED.
* APPLIES ONLY TO INDICES 1 THROUGH *AUIMX*.
* S = RETURN THE VALIDATION FILE SPECIFIED BY THE *P*
* KEYWORD TO SOURCE FORMAT ON THE FILE SPECIFIED BY
* THE *S* KEYWORD.
* K = K-DISPLAY OPTION, ALL OTHER OPTIONS ARE CLEARED,
* AND INSTRUCTIONS MUST BE ENTERED VIA THE
* K-DISPLAY.
* Z = COMMAND UPDATE OPTION. PROCESS THE DIRECTIVES
* FOLLOWING THE TERMINATOR ON THE *MODVAL*
* COMMAND. ALL OTHER OPTIONS ARE CLEARED.
* SETS *NORERUN* ON JOB.
* L = LIST OPTION. LIST VALIDATION FILE ENTRIES BY
* USER NAME OR USER INDEX (SEE *LO* KEYWORD).
* USER NAME, USER INDEX, CREATION AND LAST
* MODIFICATION DATES WILL BE LISTED. MUST OCCUR
* ALONE.
* THE OPTIONS *C*, *U*, *R*, AND *S* REQUIRE THE USER
* TO PROVIDE HIS OWN FILES. *OP=URS* IS VALID.
*
* FA = FORCE ATTACH OF *VALIDUS* AND *VALINDS* FOR *S*, *R*,
* AND *U* OPTIONS (MUST BE SYSTEM ORIGIN JOB).
*
* CV = CONVERSION OPTIONS. WHICH CAN BE ANY COMBINATION
* OF THE FOLLOWING -
* A = OPTION TO CONVERT FROM PRE-NOS 2.0
* TO NOS 2.2 *VALIDUS*.
* DURING CREATION RUN, *TC=STANDARD*
* INPUT DIRECTIVE WILL BE CONVERTED TO
* *TC=NORMAL*.
* C = OPTION TO CONVERT FROM PRE-NOS 2.3 *VALIDUS*
* TO NOS 2.3 *VALIDUS*.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AW=NUL*, *AW=CNRD*, GIVING
* CHARGE NOT RESTRICTED TO DEFAULT PERMISSION.
* D = OPTION TO CONVERT PRE-NOS 2.3 *VALIDUS* TO
* NOS 2.3.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AW=NUL*, *AW=COPR*, GIVING
* OVERRIDE PASSWORD RANDOMIZATION PERMISSION.
* F = OPTION TO CONVERT FROM PRE-NOS 2.2 TO NOS 2.2
* *VALIDUS*.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AW=NUL*, *AW=CSAF*, GIVING
* ALTERNATE FAMILY SPECIFICATION PERMISSION.
* G = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
* TO NOS 2.5.1 *VALIDUS*.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AW=NUL*, *AW=COPI*, GIVING
* OMIT PERSONAL IDENTIFICATION ENTRY PERMISSION.
* H = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
* TO NOS 2.5.1 *VALIDUS*.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AW=NUL*, *AW=CACA*, GIVING
* ALLOWED CONCURRENT ACCESS PERMISSION.
* J = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
* TO NOS 2.5.1 *VALIDUS*.
* DURING CREATION RUN, *AP=IAF* INPUT DIRECTIVE
* WILL BE CONVERTED TO *AP=IAF*, *AP=VEIAF*, GIVING
* PERMISSION FOR BOTH APPLICATIONS, WHICH IS
* EQUIVALENT TO *AP=IAF* IN PRE-NOS 2.5.1 SYSTEMS.
* K = OPTION TO CONVERT FROM PRE-NOS LEVEL 2.7.3 L780
* *VALIDUS* TO NOS LEVEL 2.7.3 L780 *VALIDUS*.
* DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE WILL
* BE CONVERTED TO *AW=NUL*, *AW=CSAU*, *AW=CRAU* TO
* ALLOW ALTERNATE USER NAME ON SECONDARY *USER*
* COMMANDS AND ON ROUTED INPUT FILE *USER* COMMANDS.
* ALSO, *AW=CSAF* WILL BE CONVERTED TO *AW=CSAF*,
* *AW=CRAF* TO ALLOW ALTERNATE FAMILY ON BOTH
* SECONDARY *USER* COMMANDS AND ON ROUTED INPUT FILE
* *USER* COMMANDS, WHICH IS EQUIVALENT TO *AW=CSAF*
* ON PRE-NOS LEVEL 2.7.3 SYSTEMS.
* IF *CV=F* IS SPECIFIED WITH *CV=K*, *AW=CRAU* WILL
* BE GENERATED BY THE *AW=NUL* DIRECTIVE.
*
* SI = WHEN SPECIFIED, INDICATES THAT THE INPUT FOR A CREATE
* RUN (*OP=C* OPTION) WAS GENERATED BY A PREVIOUS
* SOURCE RUN (*OP=S* OPTION). THE AUTOMATIC CREATION
* OF THE SYSTEM, LIBRARY, MSF CATALOG, AND APPLICATION
* USER NAMES IS SUPPRESSED. LEGAL ONLY
* WITH *OP=C* OPTION. CANNOT BE EQUIVALENCED.
* THE *SI* PARAMETER SHOULD NOT BE USED WHEN INITIALLY
* CREATING A NOS 2.2 VALIDATION FILE SINCE SPECIAL
* USER NAMES NEED ADDITIONAL SECURITY IDENTIFIERS
* PRESET BY *MODVAL*.
*
* RP = WHEN SPECIFIED INDICATES THAT PASSWORDS ARE NOT
* REQUIRED. CAN ONLY BE SELECTED WITH THE *OP=C* OPTION
* AND SHOULD BE USED ONLY WHEN THE *INPUT* FILE IS THE
* FILE GENERATED BY A PREVIOUS *OP=S* RUN IN WHICH THE
* OLD USER VALIDATION FILE CONTAINED PASSWORDS OF LENGTH
* LESS THAN THE MINIMUM REQUIRED.
*
* IF NO PARAMETERS ARE SUPPLIED ON THE COMMAND AND
* ORIGIN TYPE IS SYSTEM, THE *K* OPTION IS SELECTED.
* OTHERWISE, DEFAULT FOR *OP* IS *U*.
*
* UNDER *K*, *Z*, AND *L* OPTIONS, THE SYSTEM VALIDATION
* FILE IS MANIPULATED. *K*, *Z*, AND *L* REQUIRE SYSTEM
* ORIGIN TYPE TO RUN. APPLIES TO *L* ONLY WHEN *L* LIST OPTION
* IS NOT SPECIFIED.
SPACE 4,10
*** GENVAL,FM=FAMILY.
*
* CREATE VALIDATION FILE ON A FAMILY THAT DOES NOT CURRENTLY
* HAVE ONE DEFINED. VALID ONLY FROM SYSTEM ORIGIN.
*
* FM = FAMILY, IF NOT SYSTEM DEFAULT.
SPACE 4,10
*** PASSWOR(OLDPW,NEWPW,PT=X,XD=YYMMDD,XT=NNNN)
*
* CHANGE USER PASSWORD *OLDPW* TO *NEWPW*.
*
* *PT* - SPECIFY WHICH PASSWORD TO CHANGE.
* B - BATCH PASSWORD.
* I - INTERACTIVE PASSWORD.
* IB OR BI - BOTH BATCH AND INTERACTIVE PASSWORDS.
* *XD* - SET EXPIRATION DATE TO YYMMDD.
* YY = YEAR
* MM = MONTH
* DD = DAY.
* *XT* - SET EXPIRATION DATE TO (CURRENT DATE + NNNN).
* NNNN - DAYS MUST BE .GE. 0 AND .LE. 4095 (7777B).
* ZERO SETS PASSWORD EXPIRING IMMEDIATELY.
* 4095 OR 7777B OR SPECIAL CHARACTER * SETS
* NON-EXPIRING PASSWORD.
*
* THE *XD* AND *XT* PARAMETERS MAY NOT BE SPECIFIED TOGETHER.
*
* THE OLD AND NEW PASSWORDS MUST BE SPECIFIED TO CHANGE THE
* EXPIRATION DATE.
*
* THE *PT* PARAMETER MAY BE USED TO SPECIFY WHICH PASSWORD
* (INTERACTIVE, BATCH, OR BOTH) TO CHANGE. *PT=IB* MAY NOT BE
* SELECTED IF PASSWORD RANDOMIZATION IS SET. IF *PT=IB* IS
* SELECTED BOTH THE OLD BATCH AND INTERACTIVE PASSWORDS MUST
* MATCH. IF THE *PT* PARAMETER IS NOT SPECIFIED, *PASSWOR*
* WILL CHANGE THE PASSWORD CORRESPONDING TO THE JOB ORIGIN TYPE
* EXCEPT IF *COMSACC* CONSTANT *DEPT* IS SET TO ZERO, IN WHICH
* CASE BOTH PASSWORDS WILL BE CHANGED.
*
* IF PASSWORD RANDOMIZATION IS REQUIRED, THE INTERACTIVE AND
* BATCH PASSWORDS CAN ONLY BE CHANGED FROM A JOB WITH *IAOT*
* ORIGIN TYPE.
*
* USER PREVIOUSLY MUST HAVE EITHER
* 1. LOGGED IN ON A TERMINAL.
* 2. ISSUED A USER COMMAND.
*
* TO PROVIDE A VALIDATED USER NAME TO CHANGE PASSWORD.
* THE NEW PASSWORD ENTERED MUST BE AT LEAST *RPWL*
* CHARACTERS IN LENGTH.
*
* IF THE *PASSWOR* COMMAND IS ENTERED WITHOUT ANY
* PARAMETERS, SECURE ENTRY OF PASSWORDS WILL BE PROCESSED.
* IF PASSWORD RANDOMIZATION IS REQUIRED, THE USER MUST SPECIFY
* AT LEAST TWO CHARACTERS FOR THE NON-RANDOMIZED PORTION OF THE
* NEW PASSWORD. THE SYSTEM WILL GENERATE AND DISPLAY RANDOM
* ALPHANUMERIC CHARACTERS WHICH ARE APPENDED TO THE END OF THE
* USER-SPECIFIED PORTION OF THE NEW PASSWORD AND MUST BE
* ENTERED AS PART OF THE NEW PASSWORD.
SPACE 4,10
*** LIMITS,L=LFN.
*
*
* WRITE VALIDATION PARAMETERS TO *LFN* FILE OR THE DEFAULT
* *OUTPUT* FILE.
SPACE 4,10
*** UPROC (FN=LFN)
* UPROC,LFN.
*
*
* ALLOW THE USER TO ENTER THE USER PROLOGUE FILE NAME *LFN*
* INTO THE VALIDATION FILE. THE USER PROLOGUE FILE WILL BE
* EXECUTED DURING PRIMARY CHARGE PROCESSING.
*
* USER PREVIOUSLY MUST HAVE EITHER
* 1. LOGGED IN ON A TERMINAL.
* 2. ISSUED A USER COMMAND.
*
* TO PROVIDE A VALIDATED USER NAME TO CREATE OR CHANGE USER
* PROLOGUE FILE NAME.
*
* THE USER PROLOGUE FILE NAME WILL BE CLEARED IF NO PARAMETER
* OR A ZERO PARAMETER IS SPECIFIED.
SPACE 4,10
*** CHVAL,DI=DATA,...,DI=DATA.
*
*
* ALLOW THE USER TO REDEFINE CERTAIN VALIDATION DATA.
* *DI* IS THE DATA IDENTIFIER FOR THE VALIDATION DATA TO BE
* CHANGED. *DATA* IS THE NEW VALUE FOR THE INFORMATION.
*
* ALLOWED DATA IDENTIFIERS ARE -
*
* UC USER DEFAULT SERVICE CLASS
SPACE 4,10
*** INPUT DATA.
*
*
* EACH NEW USER NAME ENTRY MUST BEGIN WITH A SLASH
* (/) IN COLUMN 1 AND IS FOLLOWED BY THE USER NAME.
* THE USER NAME CONSISTS OF ONE TO SEVEN ALPHANUMERIC
* CHARACTERS (* ALSO ALLOWED), TERMINATED BY A SEPARATOR.
* ALL DATA FOR A USER NAME ENTRY IS FREE FORMAT THROUGH
* COLUMN 72 (ALL BLANKS IGNORED), HOWEVER,
* A DIRECTIVE CANNOT BE SPLIT BETWEEN
* COMMANDS OR LINES. A DIRECTIVE CONSISTS OF AN IDENTIFIER
* AND A DATA FIELD SEPARATED BY AN *=* (EVEN IF DATA FIELD
* IS NULL). THE USER NAME AND EACH DIRECTIVE MUST BE
* SEPARATED BY A SPECIAL CHARACTER (ANY EXCEPT */*, *=*,
* COLON AND BLANK), OR END-OF-LINE.
* AN ASTERISK (*) CAN BE USED TO SEPARATE ALL DIRECTIVES
* EXCEPT USER NAME, CHARGE NUMBER, AND PROJECT NUMBER.
* ALL DATA RELATIVE TO A USER NAME MUST APPEAR IN THE
* USER NAME RECORD.
*
* EXAMPLE INPUT STREAM -
*
* /USERNAM
* PW=SAFE
* TL=77B
* MT=2
* NF=6
* MS=53B
* AW=CLPF,AW=CCNR
* / -ETC.-
*
* POST-RADICES MAY BE USED TO SPECIFY BASE FOR NUMERIC DATA.
* D - DECIMAL.
* B - OCTAL.
* DEFAULT IS DECIMAL.
*
*
* DATA IDENTIFIERS ARE AS FOLLOWS -
*
* PW = PASSWORD. MANDATORY WITH THE CREATE (*OP=C*) OPTION
* UNLESS THE *RP* PARAMETER IS SELECTED OR *RPWL* = 0.
* WILL SET BOTH BATCH AND INTERACTIVE PASSWORD. THE
* ASSOCIATED PASSWORD EXPIRATION DATES WILL BE SET TO
* THE DEFAULT WHEN CREATING A NEW USER.
* *RPWL* TO 7 CHARACTERS IN LENGTH.
*
* PB = PASSWORD BATCH. ESTABLISHES THE BATCH PASSWORD TO BE
* USED FOR BATCH AND SYSTEM ORIGIN JOBS. BATCH
* PASSWORD EXPIRATION DATE WILL BE SET TO THE
* DEFAULT WHEN CREATING A NEW USER.
* *RPWL* TO 7 CHARACTERS IN LENGTH.
*
* PI = PASSWORD INTERACTIVE. ESTABLISHES THE INTERACTIVE
* PASSWORD TO BE USED FOR INTERACTIVE JOBS. INTERACTIVE
* PASSWORD EXPIRATION DATE WILL BE SET TO THE
* DEFAULT WHEN CREATING A NEW USER.
* *RPWL* TO 7 CHARACTERS IN LENGTH.
*
* EB = ENCRYPTED BATCH PASSWORD.
* OCTAL REPRESENTATION OF PREVIOUSLY ENCRYPTED PASSWORD
* TO BE USED FOR BATCH AND SYSTEM ORIGIN JOBS.
* 14 OCTAL DIGITS. NO RADIX ALLOWED.
*
* EI = ENCRYPTED INTERACTIVE PASSWORD.
* OCTAL REPRESENTATION OF PREVIOUSLY ENCRYPTED PASSWORD
* TO BE USED FOR INTERACTIVE JOBS.
* 14 OCTAL DIGITS. NO RADIX ALLOWED.
*
* XD = EXPIRATION DATE. ESTABLISHES THE PASSWORD EXPIRATION
* DATE FOR BATCH AND INTERACTIVE PASSWORDS.
* 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
* SPECIAL CHARACTER * SETS NON-EXPIRING.
* DEFAULT VALUE IS SITE DEFINED.
*
* XB = BATCH EXPIRATION DATE. ESTABLISHES THE BATCH PASSWORD
* EXPIRATION DATE FOR BATCH AND SYSTEM ORIGIN JOBS.
* 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
* SPECIAL CHARACTER * SETS NON-EXPIRING.
* DEFAULT VALUE IS SITE DEFINED.
*
* XI = INTERACTIVE EXPIRATION DATE. ESTABLISHES THE
* INTERACTIVE PASSWORD EXPIRATION DATE FOR
* INTERACTIVE JOBS.
* 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
* SPECIAL CHARACTER * SETS NON-EXPIRING.
* DEFAULT VALUE IS SITE DEFINED.
*
* XT = EXPIRATION DATE BY TERM. ADDS THE TERM VALUE TO THE
* CURRENT DATE TO CALCULATE THE BATCH AND INTERACTIVE
* PASSWORD EXPIRATION DATE.
* 1-4 NUMERIC DIGITS.
* VALUES RANGE 0-4095 DECIMAL 0-7777B OCTAL.
* DECIMAL BASE ASSUMED UNLESS POST RADIX *B*
* IS SPECIFIED.
* ZERO SETS PASSWORD IMMEDIATELY EXPIRING.
* 4095, 7777B SETS NON-EXPIRING PASSWORD.
* SPECIAL CHARACTER * SETS NON-EXPIRING.
* DEFAULT VALUE IS SITE DEFINED.
*
* XTB = BATCH EXPIRATION DATE BY TERM. ADDS THE TERM VALUE TO
* THE CURRENT DATE TO CALCULATE THE BATCH PASSWORD
* EXPIRATION DATE.
* SAME PROPERTIES AS *XT*.
* DEFAULT VALUE IS SITE DEFINED.
*
* XTI = INTERACTIVE EXPIRATION DATE BY TERM. ADDS THE TERM
* VALUE TO THE CURRENT DATE TO CALCULATE THE
* INTERACTIVE EXPIRATION DATE.
* SAME PROPERTIES AS *XT*.
* DEFAULT VALUE IS SITE DEFINED.
*
* SAV = SECURITY ACCESS VALIDATION PRIVILEGES. BITS 48-59
* IN WORD *ASVW* ALLOW VALIDATION PRIVILEGES.
* 3-4 ALPHABETIC DIGITS.
* THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
* *ALL* = SET.
* *NUL* = CLEAR.
* OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
* SPECIFIC BITS -
* FIELD BIT FUNCTION
* *CSAP* = 59 - SECURITY ADMINISTRATOR PRIVILEGES.
* *COLD* = 58 - EXECUTE ON-LINE DIAGNOSTICS.
* *CPWX* = 57 - ASSIGN PASSWORD EXPIRATION TERM.
* *CFPX* = 56 - ASSIGN PERMANENT FILE EXPIRATION
* DATE OR TERM.
* *CLJL* = 55 - LOWER JOB ACCESS LEVEL.
* *CLFL* = 54 - LOWER FILE ACCESS LEVEL.
* *CWLF* = 53 - WRITE TO OR EXTEND A LOWER LEVEL
* FILE.
* *CULT* = 52 WRITE UNLABELED MAGNETIC TAPES.
* NO SECURITY ACCESS VALIDATIONS ARE SELECTED BY
* DEFAULT.
*
* SAL = SECURITY ACCESS LEVEL VALIDATION. BITS 36-47 IN
* WORD *ASVW* ALLOW ACCESS LEVEL PRIVILEGES.
* 1-7 ALPHANUMERIC CHARACTERS.
* THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
* *ALL* = SET.
* *NUL* = CLEAR.
* OTHER DATA FIELDS RECOGNIZED WHICH TOGGLE SPECIFIC
* BITS ARE SITE DEFINED MICROS WHICH ARE LOCATED IN
* *COMSMLS*.
* LEVEL 0 SECURITY ACCESS LEVEL (MICRO DEFINED IN
* *COMSMLS*) IS SELECTED BY DEFAULT IF NO
* *SAL* DIRECTIVE IS ENTERED WHEN CREATING A NEW
* USER NAME (THE DEFAULT SELECTION IS CLEARED
* IF AN *SAL* DIRECTIVE IS ENTERED).
*
* SAC = SECURITY ACCESS CATEGORY VALIDATION. BITS 0-31 IN
* WORD *ASVW* ALLOW ACCESS CATEGORY PRIVILEGES.
* 1-7 ALPHANUMERIC CHARACTERS.
* THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
* *ALL* = SET.
* *NUL* = CLEAR.
* OTHER DATA FIELDS RECOGNIZED WHICH TOGGLE SPECIFIC
* BITS ARE SITE DEFINED MICROS WHICH ARE LOCATED IN
* *COMSMLS*.
* NO SECURITY ACCESS CATEGORIES ARE SELECTED BY
* DEFAULT.
*
* UI = USER INDEX. NEXT AVAILABLE INDEX WILL BE ASSIGNED IF
* NOT SPECIFIED. NOT ALLOWED FROM UPDATE OR K-DISPLAY
* OPTIONS. VALUES WILL BE CHECKED FOR DUPLICATION
* ACROSS USER NAMES.
* 1-6 NUMERIC DIGITS + RADIX.
* 1 ENTRY PER USER RECORD.
* MAXIMUM VALUE IS 377777B.
*
* FUI = FORCE USER INDEX. SIMILAR TO *UI*. LEGAL ONLY FROM
* UPDATE OR K-DISPLAY OPTIONS. VALUES WILL NOT BE
* CHECKED FOR DUPLICATION.
* 1-6 NUMERIC DIGITS + RADIX.
* 1 ENTRY PER USER RECORD.
* MAXIMUM VALUE IS 377777B.
*
* PID = PERSONAL IDENTIFICATION.
* 1-20 ALPHANUMERIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* NULL = NO PERSONAL IDENTIFICATION.
*
* SP = SYSTEM PROLOGUE FILE INDEX. IDENTIFIES THE SYSTEM
* PROLOGUE FILE TO CALL DURING PRIMARY CHARGE PROCESS-
* ING. THE SYSTEM PROLOGUE MAY BE A PROCEDURE OR
* BINARY. THE SYSTEM PROLOGUE FILE NAME IS OBTAINED
* BY APPENDING THE DISPLAY CODE EQUIVALENT OF THE
* SYSTEM PROLOGUE FILE NAME INDEX (*SP*) ONTO THE
* WORD *PROC* AS *PROCXX*.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0 = NO SYSTEM PROLOGUE
* REQUIRED.
* MAXIMUM VALUE OF 77B.
* 1 ENTRY PER USER RECORD.
*
* UP = USER PROLOGUE FILE. IDENTIFIES THE DEFAULT USER
* PROLOGUE FILE NAME TO CALL DURING PRIMARY CHARGE
* PROCESSING. THE USER PROLOGUE MAY BE A PROCEDURE
* OR BINARY.
* 1-7 ALPHANUMERIC CHARACTER FILE NAME.
* DEFAULT VALUE OF NULL = NO USER PROLOGUE
* REQUIRED.
* 1 ENTRY PER USER RECORD.
*
* SH = DEFAULT SHELL PROGRAM NAME. IDENTIFIES THE USER
* SCREENING PROGRAM TO BE USED.
* 1-7 ALPHANUMERIC CHARACTER PROGRAM NAME.
* 1 ENTRY PER RECORD.
* NULL = NO DEFAULT PROGRAM TO CALL.
*
* MT = MAXIMUM NUMBER OF MAGNETIC TAPES ALLOWED.
* 1 NUMERIC DIGIT.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED MT.
* 1 ENTRY PER USER RECORD.
*
* RP = MAXIMUM NUMBER OF REMOVABLE DISK PACKS.
* 1 NUMERIC DIGIT.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *RP*.
* 1 ENTRY PER USER RECORD.
*
* TL = RANGE INDEX REPRESENTING MAXIMUM CENTRAL PROCESSOR
* TIME. FORMULA FOR ACTUAL VALUE (IN UNITS OF 10B
* SECONDS) IS (INDEX * 100B) + KTLI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *TL*.
* 1 ENTRY PER USER RECORD.
*
* CM = RANGE INDEX REPRESENTING MAXIMUM CENTRAL MEMORY.
* FORMULA FOR ACTUAL VALUE (IN UNITS OF 100B WORDS) IS
* (INDEX * 40B) + KCMI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 15B.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *CM*.
* 1 ENTRY PER USER RECORD.
*
* DT = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF JOBS THAT
* CAN BE DETACHED. FORMULA FOR ACTUAL VALUE IS
* (INDEX + KDTI).
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *DT*.
* 1 ENTRY PER USER RECORD.
*
* MS = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF MASS
* STORAGE PRU-S. FORMULA FOR ACTUAL VALUE IS
* (INDEX * 10000B) + KMSI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 1.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *MS*.
* 1 ENTRY PER USER RECORD.
*
* SC = SECURITY COUNT. THIS COUNT SIGNIFIES THE NUMBER OF
* SECURITY VIOLATIONS THE USER HAS LEFT BEFORE BEING
* DENIED ACCESS TO THE SYSTEM.
* 1 - 2 NUMERIC DIGITS + RADIX.
* 1 ENTRY PER USER RECORD.
* MAXIMUM VALUE OF 77B GIVES
* UNLIMITED VALUE.
*
* FC = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF INDIRECT
* ACCESS PERMANENT FILES. AN EQUIVALENCE TABLE IN *FCI*
* ROUTINE OF *COMCCVI* IS USED TO OBTAIN THE ACTUAL
* VALUE.
* 1 NUMERIC DIGIT.
* DEFAULT OF 0 USES JOB ORIGIN CONTROL.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *FC*.
* 1 ENTRY PER USER RECORD.
*
* CS = RANGE INDEX REPRESENTING MAXIMUM CUMMULATIVE SIZE FOR
* ALL INDIRECT ACCESS FILES. AN EQUIVALENCE TABLE IN
* *CSI* ROUTINE OF *COMCCVI* IS USED TO OBTAIN THE
* ACTUAL VALUE.
* 1 NUMERIC DIGIT.
* DEFAULT OF 0 USES JOB ORIGIN CONTROL.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *CS*.
* 1 ENTRY PER USER RECORD.
*
* FS = RANGE INDEX REPRESENTING MAXIMUM FILE SIZE FOR ANY
* INDIVIDUAL INDIRECT ACCESS PERMANENT FILE.
* AN EQUIVALENCE TABLE IN *FSI* ROUTINE OF *COMCCVI* IS
* USED TO OBTAIN THE ACTUAL VALUE.
* 1 NUMERIC DIGIT.
* DEFAULT OF 0 USES JOB ORIGIN CONTROL.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *FS*.
* 1 ENTRY PER USER RECORD.
*
* PX = TRANSMISSION. TERMINAL FULL OR HALF DUPLEX MODE.
* 4 ALPHANUMERIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* THE FOLLOWING VALUES ARE AVAILABLE -
* *FULL*.
* *HALF*.
*
* RO = RUBOUT COUNT. NUMBER OF RUBOUT CHARACTERS ASSOCIATED
* WITH USERS TERMINAL. 37B = USE SYSTEM DEFAULT FOR
* TERMINAL TYPE.
* 1-2 NUMERIC DIGITS + RADIX.
* 1 ENTRY PER USER RECORD.
* MAXIMUM VALUE IS 37B.
*
* PA = TERMINAL PARITY.
* 3-4 ALPHANUMERIC DIGITS.
* 1 ENTRY PER USER RECORD.
* THE FOLLOWING VALUES ARE AVAILABLE -
* *EVEN*.
* *ODD*.
*
* TT = TERMINAL TYPE.
* 3-6 ALPHANUMERIC DIGITS.
* 1 ENTRY PER USER RECORD.
* THE FOLLOWING VALUES ARE AVAILABLE -
* *TTY*.
* *713*.
* *COR*.
* *CORAPL*.
* *MEMAPL*.
* *BLKEDT*.
*
* TC = TERMINAL CHARACTER SET.
* 5-6 ALPHABETIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* THE FOLLOWING VALUES ARE AVAILABLE -
* *STANDARD*.
* *ASCII*.
*
* IS = TERMINAL INITIAL SUBSYSTEM.
* 4-8 ALPHABETIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* THE FOLLOWING VALUES ARE AVAILABLE -
* *NULL*.
* *BASIC*.
* *FORTRAN*.
* *FTNTS*.
* *EXECUTE*.
* *BATCH*.
* *ACCESS*.
*
* PN = DEFAULT PROJECT NUMBER.
* 1-20 ALPHANUMERIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* * ALLOWED.
* NULL = NO DEFAULT PROJECT NUMBER.
*
* CN = DEFAULT CHARGE NUMBER.
* 1-10 ALPHANUMERIC CHARACTERS.
* 1 ENTRY PER USER RECORD.
* * ALLOWED.
* NULL = NO DEFAULT CHARGE NUMBER.
*
* DB = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF CONCURRENT
* DEFERRED BATCH JOBS. FORMULA FOR ACTUAL VALUE IS
* (2 ** INDEX).
* EXCEPTION - INDEX OF 0 GIVES VALUE OF 0, NOT 1.
* 1 NUMERIC DIGIT.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *DB*.
* 1 ENTRY PER USER RECORD.
*
* EC = RANGE INDEX REPRESENTING MAXIMUM EXTENDED MEMORY.
* FORMULA FOR ACTUAL VALUE (IN 1000B WORD BLOCKS) IS
* (INDEX * 20B) + KECI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *EC*.
* 1 ENTRY PER USER RECORD.
*
* SL = RANGE INDEX REPRESENTING THE MAXIMUM SRUS.
* FORMULA FOR ACTUAL VALUE IS ((((INDEX**2) * 10B)
* + KSLI) * 10B).
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* VALUE OF 73B OR MORE GIVES UNLIMITED *SL*.
* 1 ENTRY PER USER RECORD.
*
* LP = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF LINES THAT
* CAN BE PRINTED FROM DISPOSED PRINT FILE.
* FORMULA FOR ACTUAL VALUE IS (INDEX * 2000B) + KLPI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *LP*.
* 1 ENTRY PER USER RECORD.
*
* CP = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF CARDS THAT
* CAN BE PUNCHED FROM DISPOSED PUNCH FILE.
* FORMULA FOR ACTUAL VALUE IS (INDEX * 100B) + KCPI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *CP*.
* 1 ENTRY PER USER RECORD.
*
* PT = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF UNITS THAT
* CAN BE PLOTTED FROM DISPOSED PLOT FILE.
* FORMULA FOR ACTUAL VALUE IS (INDEX * 2000B) + KPTI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 0.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *PT*.
* 1 ENTRY PER USER RECORD.
*
* DS = RANGE INDEX REPRESENTING MAXIMUM FILE SIZE FOR ANY
* INDIVIDUAL DIRECT ACCESS PERMANENT FILE.
* AN EQUIVALENCE TABLE IN *DSI* ROUTINE OF *COMCCVI* IS
* USED TO OBTAIN THE ACTUAL VALUE.
* 1 NUMERIC DIGIT.
* DEFAULT OF 0 USES JOB ORIGIN CONTROL.
* MAXIMUM VALUE OF 7 GIVES UNLIMITED *DS*.
* 1 ENTRY PER USER RECORD.
*
* DF = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF MESSAGE
* REQUESTS THAT MAY BE ISSUED TO THE SYSTEM AND/OR
* JOB DAYFILES. FORMULA FOR ACTUAL VALUE IS
* (INDEX * 100B) + KDFI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 34B.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *DF*.
* 1 ENTRY PER USER RECORD.
*
* CC = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF BATCH
* COMMANDS THAT CAN BE PROCESSED.
* FORMULA FOR ACTUAL VALUE IS (INDEX * 100B) + KCCI.
* 1-2 NUMERIC DIGITS + RADIX.
* DEFAULT VALUE OF 34B.
* MAXIMUM VALUE OF 77B GIVES UNLIMITED *CC*.
* 1 ENTRY PER USER RECORD.
*
* RL = SET RESOURCE LIMITS TO MAXIMUM VALUES. THE
* ONLY VALID VALUE FOR THIS DIRECTIVE IS *ALL*.
* THIS DIRECTIVE CAN BE USED AT ANY TIME DURING
* A CREATION OR UPDATE OF THE USER RECORD. THE
* VALUES SET CAN BE CHANGED BY SUBSEQUENT DIRECTIVES.
* THE FOLLOWING LIMITS ARE SET -
*
* PT - UNITS PLOTTED.
* MT - MAGNETIC TAPES.
* RP - REMOVABLE PACKS.
* DB - DEFERRED BATCH JOBS.
* DT - DETACHED JOBS.
* TL - TIME LIMIT.
* SL - SRU LIMIT.
* CM - CM FIELD LENGTH.
* EC - EXTENDED MEMORY FIELD LENGTH.
* LP - LINES PRINTED.
* CP - CARDS PUNCHED.
* DS - DIRECT ACCESS PERMANENT FILE SIZE.
* FC - PERMANENT FILE COUNT.
* CS - CUMULATIVE INDIRECT ACCESS PERMANENT FILE SIZE.
* FS - INDIRECT ACCESS PERMANENT FILE SIZE.
* DF - DAYFILE MESSAGES.
* CC - COMMANDS.
* MS - MASS STORAGE PRU-S.
*
* AW = ACCESS WORD. BITS IN THE ACCESS WORD *AACW* ALLOW
* PRIVILEGES FOR THE USER.
* 3-4 ALPHABETIC DIGITS.
* THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
* *ALL* = SET.
* *NUL* = CLEAR.
* OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
* SPECIFIC BITS -
* FIELD BIT FUNCTION
* *CPWC* = 0 - ALLOW USER TO CHANGE PASSWORD.
* *CTPC* = 1 - ALLOW PRIVILEGED TERMINAL COMMANDS.
* *CLPF* = 2 - ALLOW WRITES TO DIRECT ACCESS (LARGE)
* PERMANENT FILES.
* *CSPF* = 3 - ALLOW WRITES TO INDIRECT ACCESS(SMALL)
* PERMANENT FILES.
* *CSOJ* = 4 - ALLOW SYSTEM ORIGIN TYPE PRIVILEGES.
* IF SYSTEM IS IN *DEBUG* MODE.
* *CASF* = 5 - ALLOW ACCESS TO SYSTEM FILES (E.G.
* LIBRARY TYPE FILES).
* *CAND* = 6 - ALLOW USER ASSIGNMENT OF NON-
* ALLOCATABLE DEVICES.
* *CCNR* = 7 - ALLOW USE OF SYSTEM WITHOUT ENTRY OF
* VALID CHARGE AND PROJECT NUMBERS.
* *CSRP* = 8 - ALLOW REMOVABLE DEVICE COMMANDS.
* *CSTP* = 9 - ALLOW SPECIAL TRANSACTION PRIVILEGES.
* *CTIM* = 10 - ALLOW NO TERMINAL TIME OUT.
* *CUCP* = 11 - ALLOW USER CP (UCP) PRIVILEGES.
* *CSAP* = 12 - ALLOW SPECIAL ACCOUNTING PRIVILEGES.
* *CBIO* = 13 - ALLOW *BATCHIO* SUBSYSTEM PRIVILEGES.
* *CPRT* = 14 - ALLOW ECS *PROTECT* PRIVILEGES.
* *CPLK* = 15 - ALLOW THE USER TO TRANSFER
* PERMANENT FILES BETWEEN HOSTS.
* *CQLK* = 16 - ALLOW THE USER TO TRANSFER
* QUEUED FILES BETWEEN HOSTS.
* *CUST* = 17 - ALLOW THE USER TO SPECIFY LID-S ON
* THE JOB AND *ROUTE* COMMANDS.
* *CNVE* = 18 - ALLOW ACCESS TO THE NVE SUBSYSTEM.
* *CMNT* = 19 - ALLOW THE USER MAINTENANCE
* PRIVILEGES.
* *CNOP* = 20 - ALLOW NPU OPERATOR PRIVILEGE.
* *CSAF* = 21 - ALLOW ALTERNATE FAMILY ON SECONDARY
* *USER* COMMANDS.
* *CNRD* = 22 - ALLOW THE USER TO SPECIFY A CHARGE
* AND PROJECT NUMBER OTHER THAN THE
* DEFAULT.
* *COPR* = 23 - ALLOW THE USER TO ENTER A PASSWORD
* WITHOUT RANDOMIZATION.
* *CLTD* = 24 - ALLOW USER TO SPECIFY PERMANENT FILE
* RESIDENCE AS *LOCKED TO DISK* (PR=L).
* *COPI* = 25 - OMIT PERSONAL ID ENTRY.
* *CACA* = 26 - ALLOW CONCURRENT ACCESS.
* *CPAM* = 27 - ALLOW THE USER PRIVILEGED ANALYST
* OPERATIONS IF PRIVILEGED ANALYST
* MODE IS ENABLED.
* *CSAU* = 28 - ALLOW ALTERNATE USER NAME ON
* SECONDARY *USER* COMMANDS.
* *CRAU* = 29 - ALLOW ALTERNATE USER NAME ON ROUTED
* INPUT FILE *USER* COMMANDS.
* *CRAF* = 30 - ALLOW ALTERNATE FAMILY ON ROUTED
* INPUT FILE *USER* COMMANDS.
* 31-47 - RESERVED FOR SYSTEM USE.
* 48 - RESERVED FOR INSTALLATION (BIT 48).
* 49 - RESERVED FOR INSTALLATION (BIT 49).
* 50 - RESERVED FOR INSTALLATION (BIT 50).
* 51 - RESERVED FOR INSTALLATION (BIT 51).
* 52 - RESERVED FOR INSTALLATION (BIT 52).
* 53 - RESERVED FOR INSTALLATION (BIT 53).
* 54 - RESERVED FOR INSTALLATION (BIT 54).
* 55 - RESERVED FOR INSTALLATION (BIT 55).
* 56 - RESERVED FOR INSTALLATION (BIT 56).
* 57 - RESERVED FOR INSTALLATION (BIT 57).
* 58 - RESERVED FOR INSTALLATION (BIT 58).
* 59 - RESERVED FOR INSTALLATION (BIT 59).
*
* THE FOLLOWING BITS ARE SET BY DEFAULT -
* *CPWC*
* *CLPF*
* *CSPF*
* *CCNR*
* *CSAF*
* *CNRD*
* *COPR*
* *COPI*
* *CACA*
* *CSAU*
* *CRAU*
* *CRAF*
* THESE BITS ARE ASSUMED TO BE SET BEFORE ANY
* IDENTIFIERS ARE ENTERED. THESE BITS ARE CLEARED
* WHEN THE FIRST *AW* DIRECTIVE IS ENTERED.
*
* AP = APPLICATION PERMISSION. BITS IN THE APPLICATION
* VALIDATION WORD *AAVW* ALLOW USER ACCESS TO
* APPLICATIONS.
* THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
* *ALL* = SET.
* *NUL* = CLEAR.
* OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
* SPECIFIC BITS -
* FIELD BIT FUNCTION
* *IAF* 0 - ALLOW USER ACCESS TO *IAF*.
* *RBF* 1 - ALLOW USER ACCESS TO *RBF*.
* *TAF* 2 - ALLOW USER ACCESS TO *TAF*.
* *MCS* 3 - ALLOW USER ACCESS TO *MCS*.
* *TVF* 4 - ALLOW USER ACCESS TO *TVF*.
* *CS* 5 - ALLOW USER ACCESS TO *CS*.
* *CYBIS* 6 - ALLOW USER ACCESS TO *CYBIS*.
* *ITF* 7 - ALLOW USER ACCESS TO *ITF*.
* *TLF* 8 - ALLOW USER ACCESS TO *TLF*.
* *NJF* 9 - ALLOW USER ACCESS TO *NJF*.
* *NETOU* 10 - ALLOW USER ACCESS TO VARIOUS CDCNET
* APPLICATIONS.
* *PSU* 11 - ALLOW USER ACCESS TO *PSU*
* *AP1* 12 - ALLOW LOCAL APPLICATION 1 ACCESS.
* *AP2* 13 - ALLOW LOCAL APPLICATION 2 ACCESS.
* *AP3* 14 - ALLOW LOCAL APPLICATION 3 ACCESS.
* *VEIAF* 15 - ALLOW USER ACCESS TO *VEIAF*.
* *NPF* 16 - ALLOW USER ACCESS TO *NPF*.
* *TCF* 17 - ALLOW USER ACCESS TO *TCF*.
* *AP4* 18 - ALLOW LOCAL APPLICATION 4 ACCESS.
* *AP5* 19 - ALLOW LOCAL APPLICATION 5 ACCESS.
* *AP6* 20 - ALLOW LOCAL APPLICATION 6 ACCESS.
* *ATF* 21 - ALLOW USER ACCESS TO *ATF*.
* NO APPLICATION PERMISSIONS ARE SELECTED BY DEFAULT.
*
* AL = APPLICATION ACCESS LEVEL IS REQUIRED FOR
* APPLICATION TO APPLICATION CONNECTION.
* IT IDENTIFIES THE ACCESS LEVEL WHICH WILL PERMIT
* SYSTEM ORIGIN CPU PROGRAM TO INITIATE A SUBSYSTEM.
* 1-2 NUMERIC DIGITS.
* DEFAULT VALUE IS 0.
* MAXIMUM VALUE IS 17B.
* 1 ENTRY PER RECORD.
*
* SO = SHELL PROGRAM PERMISSIONS OPTION. CERTAIN BITS
* IDENTIFY WHICH TYPE OF PRIVILEGES ARE ALLOWED FOR A
* USER.
* *NUL* PARAMETER CLEARS ALL BITS.
* THE FOLLOWING PARAMETERS WILL TOGGLE SPECIFIC BITS -
* FIELD BIT FUNCTION
* *ATBM* 0 CLEAR SHELL PROGRAM IF SCREENING
* PROGRAM ABORTS.
* *LFID* 1 LOCAL FILE LOAD OF SHELL PROGRAM
* ALLOWED.
* *GLID* 2 GLOBAL LIBRARY LOAD OF SHELL PROGRAM
* ALLOWED.
* *SLID* 3 SYSTEM LIBRARY LOAD OF SHELL PROGRAM
* ALLOWED.
* *TCSM* 4 MONITOR COMMANDS DIRECTLY FROM
* TERMINAL INPUT.
* *BCSM* 5 MONITOR COMMANDS OUTSIDE CCL LOOP.
* *CCLM* 6 MONITOR COMMANDS INSIDE CCL LOOP.
* SHELL PROGRAM PERMISSIONS *SLID* AND *BCSM*
* ARE SELECTED BY DEFAULT IF NO *SO* DIRECTIVE
* IS ENTERED WHEN CREATING A NEW USER NAME
* (THE DEFAULT SELECTION IS CLEARED IF AN *SO*
* DIRECTIVE IS ENTERED).
*
* UC = USER DEFAULT SERVICE CLASS. FORMAT IS *OTSC* WHERE
* *OT* IS THE TWO CHARACTER DISPLAY CODE MNEMONIC FOR
* ORIGIN TYPE AND *SC* IS THE TWO CHARACTER DISPLAY
* CODE MNEMONIC FOR THE USER DEFAULT SERVICE CLASS
* SELECTED FOR THAT ORIGIN TYPE.
* *OT* IS REQUIRED. THE DEFAULT *SC* FOR EACH ORIGIN
* TYPE IS
* ORIGIN SERVICE CLASS
* BC BC
* RB OR EI RB
* IA OR TX TS
* 1 ENTRY FOR EACH ORIGIN TYPE PER USER RECORD.
*
* VM = SERVICE CLASS VALIDATION MASK.
* TWO CHARACTER DISPLAY CODE SERVICE CLASS
* MNEMONIC OR *ALL* OR *NUL*.
* DEFAULT IS DETERMINED BY *UC* DIRECTIVE.
* 1 ENTRY PER USER RECORD.
* SERVICE CLASS VALIDATION FOR BATCH (BC), REMOTE
* BATCH (RB) AND INTERACTIVE (TS) WILL BE SELECTED
* BY DEFAULT IF NO *VM* DIRECTIVE IS ENTERED
* WHEN CREATING A NEW USER NAME. IF A *VM* DIRECTIVE IS
* ENTERED, THE DEFAULT SERVICE CLASS VALIDATIONS ARE SET
* IN ADDITION TO THOSE SPECIFIED BY THE *VM* DIRECTIVE.
*
* DAC = DELETE USER NAME. DELETE THIS USER NAME
* FROM VALIDATION FILE. ALL OTHER DATA IDENTIFIERS ARE
* IGNORED. LEGAL ONLY IN UPDATE OR K-DISPLAY OPTIONS.
* THE USER NAME RUNNING *MODVAL* CANNOT BE DELETED.
* 1 ENTRY PER USER RECORD.
SPACE 4,10
*** DAYFILE ERROR MESSAGES.
*
*
* * CANNOT CHANGE BOTH PASSWORDS AT ONCE.* - *PASSWOR* ONLY. -
* THE OLD BATCH AND INTERACTIVE PASSWORDS WERE NOT THE
* SAME.
*
* * DATA BASE ERROR.* - A CONTROL WORD IN THE VALIDATION FILE
* IS IN ERROR. IF PROBLEM PERSISTS, CONSULT AN ANALYST.
* MESSAGE ISSUED BY *SFS* OVERLAY.
*
* * LEVEL-0 DATA BASE ERROR.* - THE LEVEL-0 BLOCK ON THE
* VALIDATION FILE WAS NOT PRESENT (GUARANTEE THAT THE
* FILE CONTAINS AT LEAST ONE USER NAME) OR IT
* CONTAINED AN INCORRECT CONTROL WORD (CONSULT AN
* ANALYST).
*
* * LEVEL-2 DATA BASE ERROR.* - A STRUCTURAL ERROR WAS
* DETECTED IN A LEVEL-2 BLOCK OF THE VALIDATION FILE.
* CONSULT AN ANALYST.
*
* * SYSTEM ERROR.* - INDICATES AN INTERNAL MALFUNCTION DUE TO
* EITHER SOFTWARE OR HARDWARE. CONSULT AN ANALYST
* IMMEDIATELY.
*
* * ERROR IN CHVAL ARGUMENTS.* - INCORRECT KEYWORD WAS
* SPECIFIED ON COMMAND OR TOO MANY CHARACTERS WERE
* SPECIFIED ON THE *UC* PARAMETER. CORRECT AND RETRY.
*
* * ERROR IN GENVAL ARGUMENTS.* - INCORRECT PARAMETER WAS
* SPECIFIED ON *GENVAL* COMMAND. CORRECT AND RETRY.
*
* * ERROR IN LIMITS ARGUMENTS.* - INCORRECT PARAMETER
* WAS SPECIFIED ON THE *LIMITS* COMMAND.
* CORRECT AND RERUN.
*
* * ERROR IN MODVAL ARGUMENTS.* - INCORRECT COMMAND
* ARGUMENTS. CORRECT AND RERUN.
*
* * ERROR IN PASSWOR ARGUMENTS.* - INCORRECT NUMBER OF
* PARAMETERS OR INCORRECT PARAMETERS WERE SPECIFIED
* ON THE *PASSWOR* COMMAND. CORRECT AND RERUN.
*
* * ERROR IN UPROC ARGUMENTS.* - INCORRECT COMMAND
* ARGUMENTS. CORRECT AND RERUN.
*
* * FILE NAME CONFLICT - LFN.* - SPECIFIED FILE NAME USED
* FOR MORE THAN ONE PURPOSE.
*
* * FM NOT LEGAL FAMILY.* - INCORRECT FAMILY NAME SPECIFIED
* WITH *FM* PARAMETER.
*
* * GENVAL ABORTED.* - CONTROL POINT ERROR FLAG IS SET.
* CONSULT DAYFILE FOR REASON.
*
* * MODVAL ABORTED.* - CONTROL POINT ERROR FLAG IS SET.
* CONSULT DAYFILE LISTING FOR REASON.
*
* * DIRECTIVE ERRORS.* - ERRORS WERE ENCOUNTERED ON THE INPUT
* FILE FOR EITHER CREATE OR UPDATE MODES. CONSULT THE
* OUTPUT FILE FOR SPECIFIC ERRORS.
*
* * INCORRECT COMMAND.* - USER IS NOT PERMITTED TO CHANGE
* PASSWORD AND MUST ACQUIRE SUCH VALIDATION. CAN ALSO
* INDICATE THAT NO USER COMMAND HAS BEEN ISSUED
* PRIOR TO *CHVAL*, *LIMITS*, *PASSWOR* OR
* *UPROC* COMMANDS.
*
* * USER ACCESS NOT VALID.* - WHEN SYSTEM IS IN SECURE
* MODE, CALLER MUST HAVE SECURITY ADMINISTRATOR
* PRIVILEGE TO ATTACH SYSTEM VALIDATION FILE FOR
* *MODVAL* UPDATE, REFORMAT, SOURCE, OR LIST OPTION.
* *GENVAL* MUST BE CALLED FROM A SYSTEM ORIGIN JOB.
*
* * *INPUT* NOT ASSIGNED TO TERMINAL.* - *PASSWOR* ONLY. -
* THE FILE *INPUT* MUST BE ASSIGNED TO A TERMINAL
* IF PASSWORD RANDOMIZATION IS REQUIRED.
*
* * INCORRECT SERVICE CLASS.* - THE SERVICE CLASS SELECTED
* FOR THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS
* NOT VALID FOR THE USER.
*
* * UNDEFINED ORIGIN TYPE. - THE ORIGIN TYPE SELECTED FOR
* THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS NOT
* A RECOGNIZED ORIGIN TYPE.
*
* * UNDEFINED SERVICE CLASS.* - THE SERVICE CLASS SELECTED
* FOR THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS
* NOT A RECOGNIZED SERVICE CLASS.
*
* * INCORRECT PASSWORD.* - PASSWOR ONLY. - CAN INDICATE ANY
* OF THE FOLLOWING CONDITIONS:
* 1. OLD PASSWORD NOT FOUND.
* 2. THE NEW PASSWORD CONTAINED AN INCORRECT CHARACTER
* (SECURE ENTRY ONLY).
* 3. THE NEW PASSWORD WAS GREATER THAN SEVEN CHARACTERS
* (SECURE ENTRY ONLY).
*
* * PASSWORD RANDOMIZATION NOT PERMITTED FROM BATCH.* -
* *PASSWOR* ONLY.- THE *PASSWOR* COMMAND MAY ONLY BE
* ENTERED FROM AN INTERACTIVE JOB IF PASSWORD RANDOM-
* IZATION IS REQUIRED.
*
* * PASSWORD TOO LONG.* - *PASSWOR* ONLY. - THE NEW PASSWORD
* WAS MORE THAN 7 CHARACTERS WITH THE RANDOMIZATION
* CHARACTERS APPENDED.
*
* * PASSWORD TOO SHORT.* - ONE OF THE FOLLOWING CONDITIONS
* OCCURRED -
* - THE NEW PASSWORD ENTERED WAS NOT AT LEAST *RPWL*
* CHARACTERS IN LENGTH.
* - THE USER HAS PASSWORD RANDOMIZATION REQUIRED AND
* DID NOT SPECIFY AT LEAST 2 CHARACTERS FOR THE NEW
* PASSWORD.
*
* * SECURE PASSWORD ENTRY REQUIRED.* - NO PARAMETERS MAY BE
* ENTERED ON THE *PASSWOR* COMMAND IF PASSWORD
* RANDOMIZATION IS REQUIRED.
*
* * VALIDATION FILE BUSY - TRY AGAIN LATER.* - THE
* VALIDATION FILE COULD NOT BE ATTACHED BY *UPROC*,
* *CHVAL* OR *PASSWOR*.
*
* * VERIFICATION ERROR. PASSWORD NOT CHANGED.* -
* *PASSWOR* ONLY. - PASSWORD WAS ENTERED INCORRECTLY
* WHEN VERIFICATION OF THE NEW PASSWORD WAS REQUESTED.
*
* * PASSWORD EXPIRATION CHANGE INCORRECT.* - EXPIRATION DATE
* OR EXPIRATION TERM VALUE IS INCORRECT ON *PASSWOR*
* COMMAND OR USER IS NOT ALLOWED TO CHANGE PASSWORD
* EXPIRATION DATE.
*
* * SECURITY ADMINISTRATOR EXPIRATION CHANGE INCORRECT.* - A
* USER WITH SECURITY ADMINISTRATOR PRIVILEGES IS NOT
* ALLOWED TO CHANGE THE EXPIRATION DATE.
*
* * VALINDS READ ERROR.* - A READ OPERATION ON *VALINDS* DID
* NOT COMPLETE. FILE MAY NOT BE LOCAL AS REQUIRED
* FOR THE CURRENT OPTION.
SPACE 4,10
*** ACCOUNT FILE MESSAGES.
*
*
* *MUPW.* - INDICATES A USER CHANGE OF THE USER-S
* PASSWORD.
*
* *MUPX.* - INDICATES A USER CHANGE OF THE USER-S
* PASSWORD EXPIRATION DATE.
*
* *MVCU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
* *MVDU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
* *MVUU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
* ISSUED WHEN A USER NAME IN A FAST-ATTACHED VALIDATION
* FILE IS CREATED (*MVCU*), DELETED (*MVDU*), OR UPDATED
* (*MVUU*).
*
* IFAMILY FAMILY NAME OF USER ISSUING COMMAND.
* IUSERNM USER NAME OF USER ISSUING COMMAND.
* MFAMILY FAMILY NAME OF VALIDATION FILE BEING
* MODIFIED.
* MUSERNM USER NAME BEING MODIFIED.
SPACE 4,10
*** ERROR MESSAGES TO OUTPUT FILE OR K-DISPLAY.
*
* CORRECTIVE ACTION IS GOVERNED BY THE SEVERITY OF THE
* ERRORS. THE JOB MAY BE RERUN OR THE NEW VALIDATION
* FILE CORRECTED AT THE USERS DISCRETION.
*
* **** CANNOT ALTER XD/XT OF *CSAP*.
* THE BATCH AND INTERACTIVE PASSWORD EXPIRATION DATES
* FOR A SECURITY ADMINISTRATOR ARE FORCED TO BE
* NON-EXPIRING AND CANNOT BE OVERRIDDEN BY AN INPUT
* DIRECTIVE.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** CANNOT ALTER SEC. COUNT OF *CSAP*.
* THE SECURITY COUNT FOR A SECURITY ADMINISTRATOR
* IS FORCED TO BE UNLIMITED AND CANNOT BE OVERRIDDEN
* BY AN INPUT DIRECTIVE.
* THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY, ONLY
* THAT LINE OF INPUT IS DISREGARDED.)
*
* **** CANNOT DELETE *CSAP* PRIVILEGE.
* THE USER NAME RUNNING *MODVAL* UPDATE CANNOT DELETE
* ITS OWN SECURITY ADMINISTRATOR PRIVILEGE.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** CANNOT DELETE USER RUNNING MODVAL.
* THE USER NAME RUNNING *MODVAL* UPDATE CANNOT
* DELETE ITS OWN USER NAME FROM THE VALIDATION FILE.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** ERROR IN USER NAME.
* INCORRECT DATA WAS ENCOUNTERED WHERE USER NAME
* WAS EXPECTED.
* THAT USER ENTRY IS DISREGARDED AND *MODVAL*
* SKIPS TO THE NEXT USER ENTRY.
*
* **** DUPLICATE USER NAME.
* THAT USER NAME HAS BEEN ENTERED PREVIOUSLY.
* OCCURS ONLY FROM CREATE RUN.
* THE FIRST ENTRY IS USED.
*
* **** ERROR IN IDENTIFIER.
* INCORRECT PARAMETER IDENTIFIER ENCOUNTERED.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** ERROR IN NUMERIC DATA.
* CAN INDICATE ANY OF THE FOLLOWING CONDITIONS -
* 1. NUMERIC DATA NOT NUMERIC.
* 2. DATA EXCEEDS MAXIMUM.
* 3. NO DATA PRESENT.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** ERROR IN ALPHANUMERIC DATA.
* CAN INDICATE -
* 1. NO DATA PRESENT.
* 2. DATA FOR *AW* IDENTIFIER UNRECOGNIZED.
* 3. NUMBER OF CHARACTERS EXCEEDS MAXIMUM ALLOWED.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** INCORRECT ORIGIN TYPE.
* AN INCORRECT ORIGIN TYPE WAS SPECIFIED ON THE
* *UC* DIRECTIVE.
* THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
* ONLY THE *UC* DIRECTIVE IS IGNORED.)
*
* **** INCORRECT SERVICE CLASS.
* AN INCORRECT SERVICE CLASS WAS SPECIFIED ON THE
* *UC* OR *VM* DIRECTIVE.
* THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
* ONLY THE DIRECTIVE IS IGNORED.)
*
* **** USER NAME NOT FOUND.
* AN ATTEMPT WAS MADE TO DELETE (OR INQUIRE OR UPDATE
* FROM K-DISPLAY) A NON-EXISTENT USER NAME.
* THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
* ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** USER INDEX PREVIOUSLY DEFINED.
* NO MORE THAN ONE USER NAME CAN BE ASSIGNED TO ANY
* USER INDEX WITH THE *UI* KEYWORD.
* THAT USER ENTRY IS DISREGARDED.
* (FROM K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** NO USER INDICES AVAILABLE.
* NO MORE USER INDICES ARE AVAILABLE FOR AUTOMATIC
* ASSIGNMENT. THE *FUI* DIRECTIVE MUST BE USED TO
* SPECIFY USER INDICES.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** OBSOLETE DIRECTIVE IGNORED.
* WARNING MESSAGE INDICATING INPUT DIRECTIVE
* IS NO LONGER MEANINGFUL AND WAS IGNORED.
* ISSUED FOR *AB* ANSWERBACK INPUT DIRECTIVE,
* *NF* NUMBER OF LOCAL FILES INPUT DIRECTIVE, AND
* *OF* NUMBER OF DISPOSED OUTPUT FILES INPUT DIRECTIVE.
*
* **** INCORRECT PASSWORD.
* THE PASSWORD ENCOUNTERED WAS NOT AT LEAST *RPWL*
* CHARACTERS IN LENGTH.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** PASSWORD REQUIRED.
* A PASSWORD WAS NOT ENCOUNTERED FOR THE USER
* NAME BEING CREATED.
* THAT USER ENTRY IS DISREGARDED. (FROM
* K-DISPLAY ONLY THAT LINE OF INPUT IS DISREGARDED.)
*
* **** INCORRECT PASSWORD IGNORED.
* THE PASSWORD ENCOUNTERED WAS NOT AT LEAST *RPWL*
* CHARACTERS IN LENGTH.
* THIS WILL ONLY OCCUR ON AN UPDATE RUN AND THE UPDATE OF THE
* EXISTING USER NAME IS MADE WITHOUT THE PASSWORD CHANGE.
*
* **** UPDATE NOT ALLOWED BY INQUIRE.
* ENTRY OF UPDATE DIRECTIVES IS REJECTED DURING
* K-DISPLAY INQUIRE OF A USER NAME.
* THAT INPUT DIRECTIVE FROM THE K-DISPLAY IS IGNORED.
*
* **** PASSWORDS UPDATED.
* INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
* OPERATOR HAS ENTERED THE *PW* DIRECTIVE,
* INDICATING THAT THE BATCH AND THE INTERACTIVE
* PASSWORDS HAVE BEEN UPDATED.
*
* **** BATCH PASSWORD UPDATED.
* INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
* OPERATOR HAS ENTERED THE *PB* DIRECTIVE,
* INDICATING THAT THE BATCH PASSWORD HAS BEEN UPDATED.
*
* **** INTERACTIVE PASSWORD UPDATED.
* INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
* OPERATOR HAS ENTERED THE *PI* DIRECTIVE,
* INDICATING THAT THE INTERACTIVE PASSWORD HAS BEEN
* UPDATED.
SPACE 4,10
*** INFORMATIVE MESSAGES.
*
*
* * CREATION COMPLETE.* - SELF EXPLANATORY.
*
* * UPDATE COMPLETE.* - SELF EXPLANATORY.
*
* * UPROC COMPLETE.* - SELF EXPLANATORY.
*
* * REFORMAT COMPLETE.* - SELF EXPLANATORY.
*
* * CONVERSION TO SOURCE COMPLETE.* - SELF EXPLANATORY.
*
* * INQUIRY COMPLETE.* - SELF EXPLANATORY.
*
* * CATALOG COMPLETE.* - SELF EXPLANATORY.
*
* * CHECK OUTPUT FOR WARNING MESSAGES.* - NO DIRECTIVE
* ERRORS WERE ENCOUNTERED, BUT SOME INPUT
* DIRECTIVES RECEIVED WARNING MESSAGES.
*
* * LEVEL-1 INDEX BLOCKS LINKED.* -
* IF USER FILE CAN BE REFORMATTED TO ELIMINATE BLOCK
* LINKAGE, SEARCHES WILL BE FASTER -
* 1. FOR USER NAMES RESIDING IN LINKED BLOCKS.
* 2. FOR NON-EXISTENT USER NAMES WHICH WOULD HAVE
* RESIDED IN LINKED BLOCKS.
*
* * NNNNNN USER INDICES PURGED.* - ALL PERMANENT FILES
* FOR NNNNNN USER INDICES WERE PURGED UNDER THE
* REFORMAT OPTION. SYSTEM ORIGIN ONLY.
*
* * CREATING USER * -
* * UPDATING USER * -
* NAMED OPERATION IS IN PROGRESS FOR *USER*.
*
* * WAITING FOR VALIDATION FILE.* - THE JOB IS IN TIMED/EVENT
* ROLLOUT AFTER *UPROC*, *PASSWOR* OR *CHVAL* FOUND
* THE VALIDATION FILE BUSY.
SPACE 4,10
*** K-DISPLAY OPERATOR MESSAGES.
*
* IN ADDITION TO OUTPUT FILE AND INFORMATIVE MESSAGES
* THAT NORMALLY OCCUR DURING AN UPDATE RUN, THE
* FOLLOWING MESSAGES CAN APPEAR UNDER THE K-DISPLAY -
*
* **** FORMAT ERROR.
* ENTRY IS UNRECOGNIZABLE.
* THAT LINE OF INPUT IS DISREGARDED.
*
* **** USER NAME ALREADY EXISTS.
* AN ATTEMPT WAS MADE TO CREATE AN EXISTING USER NAME.
* THAT LINE OF INPUT IS DISREGARDED.
*
* *INQUIRING USER *
* * DELETING USER *
* THE NAMED OPERATION IS IN PROGRESS FOR *USER*.
*
* *USER CREATED.*
* *USER UPDATED.*
* *USER INQUIRED.*
* *USER DELETED.*
* THE NAMED OPERATION HAS BEEN COMPLETED FOR *USER*.
SPACE 4,10
** NOTES.
*
*
* WHILE *MODVAL* HAS THE VALIDATION FILE ATTACHED, *0AV* WILL
* BE UNABLE TO DECREMENT A USER-S SECURITY COUNT.
SPACE 4,10
** PROGRAMMING CONSIDERATIONS.
*
*
* TO DEFINE NEW OR ALTER EXISTING FIELDS AND/OR DIRECTIVES
* IN *MODVAL*, THE FOLLOWING ITEMS SHOULD BE REVIEWED -
*
* 1. DATA FIELD DEFINITION AND DOCUMENTATION IN *COMSACC*.
* 2. DIRECTIVE DOCUMENTATION IN *MODVAL*.
* 3. *TINE* TABLE ENTRY FOR INPUT PROCESSING OF DIRECTIVES.
* 4. ALTERNATE TABLE OF DATA VALUES IF APPLICABLE
* (SUCH AS *TPAI*, *TPXI*, ETC.).
* 5. *TODV* TABLE OF DEFAULT VALUES FOR USER RECORD BLOCK.
* 6. *TFR* TABLE ENTRY FOR SOURCE, K-DISPLAY, AND
* *LIMITS* PROCESSING OF DATA FIELD.
* 7. *TMBS* TABLE ENTRY FOR CONVERSION TO SOURCE.
* 8. ENTRY IN K-DISPLAY BUFFER AREA.
* 9. *LIMITS* OUTPUT MESSAGES.
* 10. INPUT DIRECTIVE PROCESSING ROUTINE (SUCH AS
* *AAD*, *ACW*, *AND*, ETC.) WITH ASSOCIATED ENTRY
* IN *TOPS* TABLE.
* 11. SOURCE CONVERSION ROUTINE (SUCH AS *AOC*, *CON*,
* *CPS*, ETC.).
* 12. ANY NEW OUTPUT ERROR MESSAGES (DEFINED AFTER
* SUBROUTINE *IDE*) AND DOCUMENTATION.
*
* IF A NEW PERMISSION BIT OR DIRECTIVE IS BEING DEFINED
* (SIMILAR TO *AW*, *AP*, ETC.), THE FOLLOWING ITEMS
* SHOULD ALSO BE CHECKED -
*
* 1. TABLE OF BIT DEFINITIONS (SUCH AS *TAWI*, *TRTP*,
* *TNAV* IN *COMTNAP*, ETC.).
* 2. TABLE OF *LIMITS* MESSAGE ADDRESSES CORRESPONDING TO
* BIT DEFINITIONS (SUCH AS *ALP*, *APP*, ETC.).
* 3. ENTRY IN *TPCW* TABLE FOR *ACW* ROUTINE.
* 4. ENTRY IN *TPCS* TABLE FOR *CPS* ROUTINE.
* 5. ENTRY IN *TAPL* TABLE FOR *PLM* ROUTINE.
TITLE PROGRAM EQUIVALENCES.
COMMON SPACE 4,10
** COMMON DECKS.
*CALL COMCMAC
*CALL COMCCMD
*CALL COMCDCM
*CALL COMCDCP
*CALL COMCMTM
*CALL COMSLFD
*CALL COMSMLS
*CALL COMSSFM
*CALL COMSPFM
*CALL COMSPRD
*CALL COMSSFS
*CALL COMSSSD
*CALL COMSSSJ
*CALL COMSTCM
LIST X
*CALL COMSACC
LIST -X
TITLE MACRO DEFINITIONS
APLW SPACE 4,10
** APLW - ALLOWED PERMISSIONS LIMITS PARAMETER WORD.
*
* APLW TBP,TLM,LHR,UBO
*
* ENTRY TBP = TABLE OF BIT POSITIONS.
* TLM = TABLE OF LIMITS MESSAGES.
* LHR = LIMITS HEADER MESSAGE.
* UBO = USER BLOCK OFFSET FOR PERMISSION DATA WORD.
PURGMAC APLW
APLW MACRO TBP,TLM,LHR,UBO
VFD 18/TBP-1,18/TLM-1,12/LHR,6/UBO,6/TLM_L
APLW ENDM
DTCS SPACE 4,10
** DTCS - DEFINE TABLE FOR PERMISSION CONVERSION TO SOURCE.
*
* DTCS SA,UBO,TPI,LBP,FBP
*
* ENTRY SA = SOURCE ENTRY ADDRESS.
* UBO = USER BLOCK OFFSET OF VALIDATION WORD.
* TPI = TABLE OF VALIDATION PERMISSION IDENTIFIERS.
* LBP = LAST BIT POSITION + 1.
* FBP = FIRST BIT POSITION.
PURGMAC DTCS
DTCS MACRO SA,UBO,TPI,LBP,FBP
VFD 18/SA,6/UBO,6/0,18/TPI,6/LBP,6/FBP
DTCS ENDM
DTPC SPACE 4,15
** DTPC - DEFINE TABLE OF PERMISSION CONTROL WORDS.
*
* DTPC ID,TPB,NB,SHF,(OPT)
*
* ENTRY ID = DIRECTIVE IDENTIFIER.
* TPB = FWA TABLE OF PERMISSION IDENTIFIERS.
* NB = NUMBER OF PERMISSION BITS.
* SHF = SHIFT FOR MASK.
* OPT = OPTION LIST.
* ALL = *ID=ALL* DIRECTIVE ALLOWED.
* NUL = *ID=NUL* DIRECTIVE ALLOWED.
* SPF = SPACE FILL PERMISSION IDENTIFIER.
PURGMAC DTPC
DTPC MACRO ID,TPB,NB,SHF,(OPT)
LOCAL OP,OPB
OPB SET 0
.A IFC NE,$_OPT$$
.B ECHO ,OP=(OPT)
IFC EQ,$_OP$ALL$,1
OPB SET OPB+4
IFC EQ,$_OP$NUL$,1
OPB SET OPB+2
IFC EQ,$_OP$SPF$,1
OPB SET OPB+1
.B ENDD
.A ENDIF
VFD 18/0L_ID,12/OPB,6/SHF,6/NB,18/TPB
DTPC ENDM
DTPS SPACE 4,10
** DTPS - DEFINE TABLE OF INPUT PROCESSING SUBROUTINES.
*
* DTPS PROC,(OPT)
*
* ENTRY PROC = PROCESSOR ADDRESS.
* OPT = OPTION LIST.
* ASK = ASTERISK ALLOWED IN IDENTIFIER.
* DCC = VALIDATE WITH DEFAULT CHARACTER
* COUNT (10D).
PURGMAC DTPS
DTPS MACRO PROC,OPT
LOCAL OP,OPB
OPB SET 0
.A IFC NE,$_OPT$$
.B ECHO ,OP=(OPT)
IFC EQ,$_OP$ASK$,1
OPB SET OPB+4000B
IFC EQ,$_OP$DCC$,1
OPB SET OPB+2000B
.B ENDD
.A ENDIF
VFD 12/OPB,30/0,18/PROC
DTPS ENDM
TFRW1 SPACE 4,20
** TFRW1 - DEFINE WORD 1 OF A *TFR* ENTRY.
*
* TFRW1 UBO,SB,NB,UAV,APR,(OPT)
*
* ENTRY UBO - USER BLOCK OFFSET.
* SB - STARTING BIT NUMBER.
* NB - NUMBER OF BITS IN FIELD.
* UAV - UNLIMITED ACCESS VALUE.
* .EQ. ZERO IF NO UNLIMITED ACCESS.
* APR - ADDRESS OF PROCESSING ROUTINE.
* OPT - OPTION LIST.
* CTE = CONTINUATION TABLE ENTRY
* (MULTIPLE WORD DATA).
* DCV = CONVERT INDEX TO DECIMAL ACTUAL
* VALUE VIA CONVERSION PROCESSOR, FOR
* LIMITS AND EXTRA K-DISPLAY FIELDS.
* LJD = LEFT JUSTIFY DATA FOR PROCESSING
* ROUTINE.
* MWR = MULTIPLE WORD RESULT. *UAV* FIELD
* CONTAINS NUMBER OF CHARACTERS
* IN RESULT.
* OCV = CONVERT INDEX TO OCTAL ACTUAL
* VALUE VIA CONVERSION PROCESSOR FOR
* LIMITS AND EXTRA K-DISPLAY FIELDS.
* RJA = RIGHT JUSTIFY LIMITS FIELD AFTER
* CONVERSION.
* USD = PUT *SYSTEM* RATHER THAN *UNLIMITED*
* IN K-DISPLAY AND LIMITS FIELD.
* ZSD = ENTER *SYSTEM* IN K-DISPLAY AND
* LIMITS FIELDS IF ZERO VALUE.
PURGMAC TFRW1
TFRW1 MACRO UBO,SB,NB,UAV,APR,OPT
LOCAL CV,FL,OP
CV SET 0
FL SET 0
.A IFC NE,$_OPT$$
.B ECHO ,OP=(OPT)
IFC EQ,$_OP$CTE$,1
FL SET FL+4000B
IFC EQ,$_OP$DCV$,1
CV SET 2
IFC EQ,$_OP$OCV$,1
CV SET 1
IFC EQ,$_OP$RJA$,1
FL SET FL+2000B
IFC EQ,$_OP$USD$,1
FL SET FL+1000B
IFC EQ,$_OP$ZSD$,1
FL SET FL+400B
IFC EQ,$_OP$LJD$,1
FL SET FL+200B
IFC EQ,$_OP$MWR$,1
FL SET FL+100B
.B ENDD
.A ENDIF
VFD 6/UBO,6/SB,6/NB,6/UAV,12/FL,6/CV,18/APR
TFRW1 ENDM
TFRW2 SPACE 4,15
** TFRW2 - DEFINE WORD 2 OF A *TFR* ENTRY.
*
* TFRW2 LMA,KDA,SOA
*
* ENTRY LMA = LIMITS MESSAGE ADDRESS IF NONZERO.
* DATA STORED AT *LMA*+5 (ACTUAL VALUE IF INDEX
* CONVERSION SPECIFIED). CONTINUATION ENTRY DATA
* STORED AT *LMA*+4 AND *LMA*+5.
* KDA = K-DISPLAY ENTRY ADDRESS IF NONZERO.
* DATA STORED AT *KDA*. CONTINUATION ENTRY DATA
* STORED AT *KDA*+1. ACTUAL VALUE CONVERTED FROM
* INDEX STORED AT *KDA*+1.
* SOA = SOURCE MESSAGE ADDRESS IF NONZERO.
* DATA STORED AT *SOA*+1. CONTINUATION ENTRY
* DATA STORED AT *SOA*+2.
PURGMAC TFRW2
TFRW2 MACRO LMA,KDA,SOA
VFD 6/0,18/LMA,18/KDA,18/SOA
TFRW2 ENDM
TFRW3 SPACE 4,10
** TFRW3 - DEFINE WORD 3 OF A *TFR* ENTRY.
*
* TFRW3 CVP,SHF,ABA,HDR
*
* ENTRY CVP = ADDRESS OF CONVERSION PROCESSOR TO CONVERT
* INDEX TO ACTUAL VALUE.
* SHF = SHIFT TO APPLY TO ACTUAL VALUE AFTER *CVP*.
* ABA = ALTERNATE BLOCK ADDRESS IF NONZERO.
* FIELD VALUE IS USED AS INDEX INTO *ABA* TABLE TO
* GET ACTUAL VALUE.
* HDR = HEADER MESSAGE ADDRESS IF NONZERO.
PURGMAC TFRW3
TFRW3 MACRO CVP,SHF,ABA,HDR
VFD 6/SHF,18/CVP,18/ABA,18/HDR
TFRW3 ENDM
DEFAW SPACE 4,10
** DEFAW - DEFINE *LIMITS* MESSAGE FOR A BIT IN
* ASSOCIATED WORD.
*
* DEFAW AN,AD
*
* ENTRY AN - ALLOWED PERMISSION/USER TYPE/APPLICATION NAME.
* AD - ADDRESS OF *LIMITS* MESSAGE.
*
* EXIT A *VFD* DEFINED IN THE CORRECT FORMAT.
PURGMAC DEFAW
DEFAW MACRO AN,AD
LOCAL MAN
MAN MICRO 1,7,$AN$
VFD 42/0L"MAN",18/AD
DEFAW ENDM
SCLASS SPACE 4,15
** SCLASS - DEFINE SERVICE CLASS TABLE.
*
* SCLASS NM,MN,DF,ST,TX
*
* ENTRY *NM* = SERVICE CLASS NAME.
* *MN* = TWO CHARACTER MNEMONIC.
* *DF* = DAYFILE MESSAGE CHARACTER.
* *ST* = SHORT TEXT FOR *QFTLIST*.
* *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
*
* NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
* THIS MACRO.
PURGMAC SCLASS
SCLASS MACRO NM,MN,DF,ST,TX
.SCL RMT
.A IFLT NM,12D
NM VFD 24/0,24/0,12/MN_MK TX
.A ELSE
NM VFD 24/0,24/MN_MK,12/0 TX
.A ENDIF
.SCL RMT
.SCL1 RMT
.B IFC NE,$NM$SSSC$
NM VFD 42/0L_MN,6/1R_DF,12/* TX
.B ELSE
NM VFD 42/-0,18/* TX
.B ENDIF
.SCL1 RMT
.C IFC NE,$NM$SSSC$
.SCL2 RMT
USC_DF DATA C* _TX_ (_MN_)*
.SCL2 RMT
.C ENDIF
.SCL3 RMT
.D IFC NE,$NM$SSSC$
NM DEFAW MN,USC_DF
.D ELSE
NM DATA -1
.D ENDIF
.SCL3 RMT
SCLASS ENDM
SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
*CALL COMSSCD
TITLE PROGRAM EQUIVALENCES.
** GENERAL EQUATES.
.APBC EQU ANLC/3
.APBE EQU ANLC-.APBC ENTRIES/ PARTIAL BLOCK
APBW EQU .APBE*ANWE USER NAME PARTIAL BLOCK LENGTH
OV EQU 0 OVERLAY TYPE
SDM= EQU * SUPPRESS DAYFILE MESSAGE
SPACE 4,10
** EQUATES FOR COMCCVI.
CCI$ EQU 1 COMMAND CONVERSION
CMI$ EQU 1 CM FIELD LENGTH CONVERSION
CPI$ EQU 1 CARDS PUNCHED CONVERSION
DBI$ EQU 1 DEFERRED BATCH JOB CONVERSION
DFI$ EQU 1 DAYFILE MESSAGE CONVERSION
ECI$ EQU 1 EXTENDED MEMORY FIELD LENGTH CONVERSION
LPI$ EQU 1 LINES PRINTED CONVERSION
DTI$ EQU 1 DETACHED JOB CONVERSION
MSI$ EQU 1 MASS STORAGE PRUS CONVERSION
PTI$ EQU 1 UNITS PLOTTED CONVERSION
SLI$ EQU 1 SRU LIMIT CONVERSION
TLI$ EQU 1 TIME LIMIT CONVERSION
CSI$ EQU 1 CUMULATIVE FILE SPACE CONVERSION
DSI$ EQU 1 DIRECT ACCESS FILE SIZE CONVERSION
FSI$ EQU 1 INDIRECT ACCESS FILE SIZE CONVERSION
FCI$ EQU 1 FILE COUNT CONVERSION
BLENGTHS SPACE 4,10
** BUFFER LENGTHS.
CBUFL EQU 5 CHARACTER BUFFER LENGTH
IBUFL EQU 1001B INPUT
OBUFL EQU 301B OUTPUT
VBUFL EQU 301B MODVAL
TITLE MANAGED TABLE AND DIRECT CELL INITIALIZATION.
DIRECT SPACE 4,10
** DIRECT CELLS.
ORIG EQU DIRC
IDIRC INITIALIZE DIRECT CELLS
POINTERS SPACE 4,10
** MANAGED TABLE POINTERS.
ITAB ANWE,ANWE,ARBS,2 INITIALIZE TABLES
ORG TFBL TABLE OF FULL BLOCK LENGTHS
CON ABLI
CON ABLI
CON ABLB
ORG TPBL TABLE OF PARTIAL BLOCK LENGTHS
CON APBW
CON APBW
CON ABLB
ORG CTAB TABLE OF ENTRY WORD COUNTS
CON C.TAB0
CON C.TAB1
CON C.TAB2
CON C.TAB3
ORG STAB TABLE OF COMPARE WORD COUNTS FOR SEARCH
CON AINW
CON AINW
CON AINW
CON 1
ORG CWL0 CONTROL WORDS
VFD 12/0,12/0,12/ANWE,12/0,12/3
VFD 12/1,12/0,12/ANWE,12/0,12/3
VFD 12/2,12/0,12/ARBS,12/0,12/3
ORG ML TABLE MEMORY LIMIT
CON RFL= CURRENT FIELD LENGTH
ORG F.TEND
CON RFL=-C.TAB2 INITIAL TABLE LIMIT
ORG KD K-DISPLAY CONTROL WORD
CON KIA
ORG M2 MESSAGE AREA TO BE CLEARED
CON MSGB
ORG LP LIST PROCESSOR
CON LID
TITLE DATA AREA.
FETS SPACE 4,10
** FILE ENVIRONMENT TABLES.
ORG OVLA
I BSS 0
INPUT FILEC IBUF,IBUFL,(FET=8)
O BSS 0
OUTPUT FILEC OBUF,OBUFL,(FET=8),EPR
N BSS 0
NEWVAL RFILEB NBUF,VBUFL,(FET=8)
P BSS 0
"APFN" RFILEB PBUF,VBUFL,(PFN="APFN")
S BSS 0
SOURCE FILEC IBUF,IBUFL,(FET=8)
U BSS 0
"AUFN" FILEB NBUF,VBUFL,(PFN="AUFN")
WORKING SPACE 4,10
** WORKING STORAGE.
AN CON 0,0 USER NAME
CA BITCON (*) USER NAME SPECIAL CHARACTER
CK CON 63B SIMULATE *BITCON* FOR + , - , ( AND )
CS BITCON ( ) CHARACTERS SUPPRESSED ON INPUT
DB CON 0 DEBUG FLAG
EF CON 0 ERROR FLAG
0 = CONTINUE NORMAL PROCESSING
ELSE PREVENT FILE ENTRIES
EL CON 0 SET INDICATES LIST ERRORS ONLY
EMSF CON 0 DIRECTIVE ERROR FLAG
GENF CON 0 *GENVAL* FLAG
PSWF CON 0 *PASSWOR* FLAG
WMSF CON 0 WARNING MESSAGE FLAG
LMFG CON 0 *LIMITS* FLAG -
= -1 = *LIMITS* ENTRY POINT.
= 0 = NO LIMITS OPTION SELECTED.
LO CON 0 CATALOG LIST ORDER - 0 = BY USER NAME
42 = BY USER INDEX
OPTION CON 0 OPTIONS FROM COMMAND
OPWR CON 0 OVERRIDE PASSWORD RANDOMIZATION FLAG
OF DATA 0 TERMINAL ASSIGNED TO THE OUTPUT FILE
RAND CON 0 RANDOM ADDRESS OF NEXT EMPTY DATA RECORD
RAPF CON 0 SYSTEM FILE ATTACHED
TSTATUS BSSZ 2 TSTATUS REQUEST
UF CON 0 UPDATE FILE INDICATOR
UUFG CON 0 USER NAME UPDATE FLAG
FA CON 0 FORCE ATTACH OF VALIDUS AND VALINDS FLAG
FN CON -1 ALTERNATE FAMILY NAME
CVA CON 0 CONVERSION *A* OPTION
CVC CON 0 CONVERSION *C* OPTION
CVD CON 0 CONVERSION *D* OPTION
CVF CON 0 CONVERSION *F* OPTION
CVG CON 0 CONVERSION *G* OPTION
CVH CON 0 CONVERSION *H* OPTION
CVJ CON 0 CONVERSION *J* OPTION
CVK CON 0 CONVERSION *K* OPTION
RP CON 0 ALLOW PASSWORDS LESS THEN MINIMUM LENGTH
SI CON 0 SOURCE INPUT FLAG
UPFG CON 0 *UPROC* FLAG
UPFN CON 0 USER PROLOGUE FILE NAME
CHFG CON 0 *CHVAL* FLAG
LPPG CON 0 LINES PER PAGE
TANB SPACE 4,10
** TANB - SCRATCH BLOCK FOR USER RECORD ASSEMBLY.
TANB BSS ARBS
SPACE 4,10
** DAYFILE MESSAGES.
DMAB DATA C* MODVAL ABORTED.*
DMCA DATA C* ERROR IN CHVAL ARGUMENTS.*
DMCC DATA C* CREATION COMPLETE.*
DMCM DATA C* INCORRECT COMMAND.*
DMCO DATA C* CHECK OUTPUT FOR WARNING MESSAGES.*
DMCP DATA C* CANNOT CHANGE BOTH PASSWORDS AT ONCE.*
DMDE DATA C* DIRECTIVE ERRORS.*
DMFC DATA C* FILE NAME CONFLICT - XXXXXXX.*
DMFM DATA C* FM NOT LEGAL FAMILY.*
DMGA DATA C* ERROR IN GENVAL ARGUMENTS.*
DMGV DATA C* GENVAL ABORTED.*
DMIA DATA C* USER ACCESS NOT VALID.*
DMIC DATA C* INQUIRY COMPLETE.*
DMIN DATA C/ *INPUT* NOT ASSIGNED TO TERMINAL./
DMIP DATA C* INCORRECT PASSWORD.*
DMLA DATA C* ERROR IN LIMITS ARGUMENTS.*
DMLC DATA C* CATALOG COMPLETE.*
DML0 DATA C* LEVEL-0 DATA BASE ERROR.*
DML1 DATA C* LEVEL-1 INDEX BLOCKS LINKED.*
DML2 DATA C* LEVEL-2 DATA BASE ERROR.*
DMMA DATA C* ERROR IN MODVAL ARGUMENTS.*
DMOT DATA C* UNDEFINED ORIGIN TYPE.*
DMPA DATA C* ERROR IN PASSWOR ARGUMENTS.*
DMPB DATA C* PASSWORD RANDOMIZATION NOT PERMITTED FROM BATCH.*
DMTL DATA C* PASSWORD TOO LONG.*
DMPE DATA C* PASSWORD EXPIRATION CHANGE INCORRECT.*
DMPS DATA C* PASSWORD TOO SHORT.*
DMRC DATA C* REFORMAT COMPLETE.*
DMSA DATA C* SECURITY ADMINISTRATOR XD/XT CHANGE NOT VALID.*
DMSC DATA C* CONVERSION TO SOURCE COMPLETE.*
DMSE DATA C* SYSTEM ERROR.*
DMSP DATA C* SECURE PASSWORD ENTRY REQUIRED.*
DMUA DATA C* ERROR IN UPROC ARGUMENTS.*
DMUC DATA C* UPDATE COMPLETE.*
DMUP DATA C* UPROC COMPLETE.*
DMUS DATA C* UNDEFINED SERVICE CLASS.*
DMVB DATA C* VALIDATION FILE BUSY - TRY AGAIN LATER.*
DMVE DATA C* VERIFICATION ERROR. PASSWORD NOT CHANGED.*
DMVC DATA C* INCORRECT SERVICE CLASS.*
DMVR DATA C* "AUFN" READ ERROR.*
DMWV DATA C* WAITING FOR VALIDATION FILE.*
DMXP DATA C* ZZZZZZ USER INDICES PURGED.*
SPACE 4,10
** ACCOUNT FILE MESSAGES.
AMPW DATA C*MUPW.*
AMPX DATA C*MUPX.*
TAWI SPACE 4,10
** TAWI - TABLE OF ACCESS WORD IDENTIFIERS.
*
* EACH ENTRY CORRESPONDS TO A BIT IN THE ACCESS CONTROL WORD
* WHICH CAN BE TOGGLED BY INPUT DIRECTIVE.
*
* FORMAT - 42/ IDENTIFIER, 18/ BIT POSITION
TAWI BSS 0
LOC 0
CON 0LCPWC+* USER PASSWORD CHANGE
CON 0LCTPC+* TERMINAL PRIVILEGED COMMANDS
CON 0LCLPF+* WRITE LARGE PERMANENT FILES
CON 0LCSPF+* WRITE SMALL PERMANENT FILES
CON 0LCSOJ+* SPECIAL PRIVILEGES UNDER *DEBUG* MODE
CON 0LCASF+* ACCESS SYSTEM FILES
CON 0LCAND+* ASSIGN NON-ALLOCATABLE EQUIPMENT
CON 0LCCNR+* USE SYSTEM WITHOUT CHARGE NUMBER
CON 0LCSRP+* MOUNT REMOVABLE DEVICES
CON 0LCSTP+* USE SPECIAL TRANSACTION PRIVILEGES
CON 0LCTIM+* FOR TERMINAL TIME OUT
CON 0LCUCP+* USER CONTROL POINT (UCP) PRIVILEGES
CON 0LCSAP+* SPECIAL ACCOUNTING PRIVILEGES
CON 0LCBIO+* *BATCHIO* SUBSYSTEM PRIVILEGES
CON 0LCPRT+* EXTENDED MEMORY *PROTECT* PRIVILEGES
CON 0LCPLK+* TRANSFER PERMANENT FILES BETWEEN HOSTS
CON 0LCQLK+* TRANSFER QUEUED FILES BETWEEN HOSTS
CON 0LCUST+* SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
CON 0LCNVE+* NVE SUBSYSTEM PRIVILEGES
CON 0LCMNT+* ALLOW MAINTENANCE PRIVILEGES
CON 0LCNOP+* NPU OPERATOR PRIVILEGE
CON 0LCSAF+* ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
CON 0LCNRD+* USE NON-DEFAULT CHARGE/PROJECT NUMBER
CON 0LCOPR+* ENTER NON-RANDOMIZED PASSWORD
CON 0LCLTD+* SPECIFY PF RESIDENCE AS *LOCKED TO DISK*
CON 0LCOPI+* OMIT PERSONAL IDENTIFICATION ENTRY
CON 0LCACA+* ALLOW CONCURRENT ACCESS
CON 0LCPAM+* ALLOW PRIVILEGED ANALYST OPERATIONS
CON 0LCSAU+* ALLOW SEC. *USER* COMMAND ALTERNATE USER
CON 0LCRAU+* ALLOW ROUTE WITH *USER* COMMAND ALT. USER
CON 0LCRAF+* ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
* DEFINE INSTALLATION PERMISSIONS.
LOC 48D
CON -1 RESERVED FOR INSTALLATION (BIT 48)
CON -1 RESERVED FOR INSTALLATION (BIT 49)
CON -1 RESERVED FOR INSTALLATION (BIT 50)
CON -1 RESERVED FOR INSTALLATION (BIT 51)
CON -1 RESERVED FOR INSTALLATION (BIT 52)
CON -1 RESERVED FOR INSTALLATION (BIT 53)
CON -1 RESERVED FOR INSTALLATION (BIT 54)
CON -1 RESERVED FOR INSTALLATION (BIT 55)
CON -1 RESERVED FOR INSTALLATION (BIT 56)
CON -1 RESERVED FOR INSTALLATION (BIT 57)
CON -1 RESERVED FOR INSTALLATION (BIT 58)
CON -1 RESERVED FOR INSTALLATION (BIT 59)
LOC *O
CON 0 END OF TABLE
TRTP SPACE 4,10
** TRTP - TABLE OF REMOTE TERMINAL ACCESS PERMISSIONS.
*
* EACH ENTRY CORRESPONDS TO A BIT IN THE
* SHELL CONTROL WORD *ASHN* WHICH CAN BE TOGGLED
* BY AN INPUT DIRECTIVE.
*
* FORMAT - 42/IDENTIFIER,18/BIT POSITION
TRTP BSS 0
LOC 0
CON 0LCCLM+* MONITOR COMMANDS INSIDE CCL LOOP
CON 0LBCSM+* MONITOR COMMANDS OUTSIDE CCL LOOP
CON 0LTCSM+* MONITOR COMMANDS FROM TERMINAL
CON 0LSLID+* SYSTEM LIBRARY SHELL PROGRAM
CON 0LGLID+* GLOBAL LIBRARY SHELL PROGRAM
CON 0LLFID+* LOCAL LIBRARY SHELL PROGRAM
CON 0LABTM+* CLEAR SHELL PROGRAM IF ABORT
TRTPL BSS 0
LOC *O
CON 0 END OF TABLE
TSCV SPACE 4,10
** TSCV - TABLE OF SERVICE CLASS VALIDATION BITS.
*
* EACH ENTRY DEFINES THE VALIDATION MASK BIT FOR THE
* CORRESPONDING SERVICE CLASS.
*
* FORMAT - 24/ 0, 36/ MASK BIT
TSCV BSS 0
LOC 0
VFD 60/-1 NOT USED
LIST G
.SCL HERE
LIST *
LOC *O
CON 0 END OF TABLE
TSVM SPACE 4,10
** TSVM - TABLE OF SERVICE CLASS VALIDATION MASK IDENTIFIERS.
*
* EACH ENTRY CORRESPONDS TO A BIT IN THE SERVICE CLASS
* VALIDATION MASK IN *ASCV* WHICH CAN BE TOGGLED BY AN
* INPUT DIRECTIVE.
*
*T 42/IDENTIFIER, 6/SUFFIX, 12/BIT POSITION
TSVM BSS 0
LOC 0
VFD 42/-0,18/* NOT USED
LIST G
.SCL1 HERE
LIST *
LOC *O
TSVML EQU *-TSVM TABLE LENGTH
CON 0 END OF TABLE
TOSC SPACE 4,10
** TOSC - TABLE OF ORIGIN TYPES WITH DEFINED USER DEFAULT
* SERVICE CLASSES.
*
*T 12/OT,12/DSC,18/0,18/LMA
* OT ORIGIN TYPE.
* DSC DEFAULT SERVICE CLASS FOR ORIGIN TYPE.
* LMA LIMITS MESSAGE ADDRESS.
TOSC BSS 0
LOC 0
CON -1 NOT ALLOWED
BCOT DEFAW BCBC,UDBC BATCH
RBOT DEFAW RBRB,USRB REMOTE BATCH
IAOT DEFAW IATS,USTX INTERACTIVE
CON -1 RESERVED FOR CDC
CON -1 RESERVED FOR INSTALLATIONS
LOC *O
TOSCL EQU *-TOSC NUMBER OF USER DEFAULT SERVICE CLASSES
CON 0 END OF TABLE
TSOT SPACE 4,10
** TSOT - TABLE OF OTHER ORIGIN TYPE MNEMONICS SUPPORTED.
*
* SEE *TOSC* DESCRIPTION.
TSOT BSS 0
LOC 0
CON -1
CON -1
EIOT DEFAW EIRB,USRB REMOTE BATCH
TXOT DEFAW TXTS,USTX INTERACTIVE
LOC *O
CON 0
TAPV SPACE 4,10
** TAPV - TABLE OF SECURITY PRIVILEGE VALIDATION BITS.
*
* EACH ENTRY CORRESPONDS TO A BIT IN THE MULTI-LEVEL SECURITY
* VALIDATION WORD WHICH CAN BE TOGGLED BY AN INPUT DIRECTIVE.
*
* FORMAT - 42/IDENTIFIER,18/BIT POSITION.
TAPV BSS 0
LOC 52
TAPVS BSS 0
CON 0LCULT+* WRITE UNLABELED MAGNETIC TAPES
CON 0LCWLF+* WRITE TO A LOWER LEVEL FILE
CON 0LCLFL+* LOWER FILE ACCESS LEVEL
CON 0LCLJL+* LOWER JOB ACCESS LEVEL
CON 0LCFPX+* ASSIGN PERMANENT FILE EXPIRATION DATE
CON 0LCPWX+* ASSIGN USER PASSWORD EXPIRATION DATE
CON 0LCOLD+* EXECUTE ON-LINE DIAGNOSTICS
CON 0LCSAP+* SECURITY ADMINISTRATOR PRIVILEGES
TAPVL BSS 0
LOC *O
CON 0 END OF TABLE
TALB SPACE 4,10
** TALB - TABLE OF ACCESS LEVEL BITS.
*
*T 42/ AL, 18/ N
*
* AL ACCESS LEVEL NAME DEFINED IN *COMSMLS*.
* N POSITION OF CORRESPONDING BIT IN VALIDATION FILE WORD.
TALB BSS 0 TABLE OF ACCESS LEVEL BITS
LOC 36
VFD 42/0L"ALM0",18/36 ACCESS LEVEL 0
VFD 42/0L"ALM1",18/37 ACCESS LEVEL 1
VFD 42/0L"ALM2",18/38 ACCESS LEVEL 2
VFD 42/0L"ALM3",18/39 ACCESS LEVEL 3
VFD 42/0L"ALM4",18/40 ACCESS LEVEL 4
VFD 42/0L"ALM5",18/41 ACCESS LEVEL 5
VFD 42/0L"ALM6",18/42 ACCESS LEVEL 6
VFD 42/0L"ALM7",18/43 ACCESS LEVEL 7
TALBS BSS 0
LOC *O
TALBL EQU *-TALB SIZE OF TABLE
CON 0 END OF ACCESS LEVEL TABLE
TACC SPACE 4,10
** TACC - TABLE OF ACCESS CATEGORY BITS.
*
*T 42/ AC, 18/ N
*
* AC ACCESS CATEGORY NAME (DEFINED IN *COMSMLS*).
* N POSITION OF CORRESPONDING BIT IN VALIDATION FILE WORD.
TACC BSS 0
LOC 0
CON 0L"ACM00"+* ACCESS CATEGORY 00
CON 0L"ACM01"+* ACCESS CATEGORY 01
CON 0L"ACM02"+* ACCESS CATEGORY 02
CON 0L"ACM03"+* ACCESS CATEGORY 03
CON 0L"ACM04"+* ACCESS CATEGORY 04
CON 0L"ACM05"+* ACCESS CATEGORY 05
CON 0L"ACM06"+* ACCESS CATEGORY 06
CON 0L"ACM07"+* ACCESS CATEGORY 07
CON 0L"ACM08"+* ACCESS CATEGORY 08
CON 0L"ACM09"+* ACCESS CATEGORY 09
CON 0L"ACM10"+* ACCESS CATEGORY 10
CON 0L"ACM11"+* ACCESS CATEGORY 11
CON 0L"ACM12"+* ACCESS CATEGORY 12
CON 0L"ACM13"+* ACCESS CATEGORY 13
CON 0L"ACM14"+* ACCESS CATEGORY 14
CON 0L"ACM15"+* ACCESS CATEGORY 15
CON 0L"ACM16"+* ACCESS CATEGORY 16
CON 0L"ACM17"+* ACCESS CATEGORY 17
CON 0L"ACM18"+* ACCESS CATEGORY 18
CON 0L"ACM19"+* ACCESS CATEGORY 19
CON 0L"ACM20"+* ACCESS CATEGORY 20
CON 0L"ACM21"+* ACCESS CATEGORY 21
CON 0L"ACM22"+* ACCESS CATEGORY 22
CON 0L"ACM23"+* ACCESS CATEGORY 23
CON 0L"ACM24"+* ACCESS CATEGORY 24
CON 0L"ACM25"+* ACCESS CATEGORY 25
CON 0L"ACM26"+* ACCESS CATEGORY 26
CON 0L"ACM27"+* ACCESS CATEGORY 27
CON 0L"ACM28"+* ACCESS CATEGORY 28
CON 0L"ACM29"+* ACCESS CATEGORY 29
CON 0L"ACM30"+* ACCESS CATEGORY 30
CON 0L"ACM31"+* ACCESS CATEGORY 31
TACCS BSS 0
LOC *O
TACCL EQU *-TACC SIZE OF TABLE
CON 0 END OF ACCESS CATEGORY TABLE
SPACE 4,10
LIST X
TNAP$ EQU 1 IGNORE APPLICATION SYNONYM TABLE
*CALL,COMTNAP
LIST *
TPAI SPACE 4,10
TITLE DATA DEFINITIONS.
** TPAI - TABLE OF TERMINAL PARITY IDENTIFIERS.
TPAI INDEX CON,APAMX+1,( -* )
INDEX ,APAE+1,( 0LEVEN )
INDEX ,APAO+1,( 0LODD )
CON 0
TPXI SPACE 4,10
** TPXI - TABLE OF TERMINAL TRANSMISSION MODES.
TPXI INDEX CON,APXMX+1,( -* )
INDEX ,APXH+1,( 0LHALF )
INDEX ,APXF+1,( 0LFULL )
CON 0
TTTI SPACE 4,10
** TTTI - TABLE OF TERMINAL TYPES.
TTTI INDEX CON,ATTMX+1,( -* )
INDEX ,ATTY+1,( 0LTTY )
INDEX ,ATT7+1,( 0L713 )
INDEX ,ATTCO+1,( 0LCOR )
INDEX ,ATTCA+1,( 0LCORAPL )
INDEX ,ATTMA+1,( 0LMEMAPL )
INDEX ,ATTE+1,( 0LBLKEDT )
CON 0
TTCI SPACE 4,10
** TTCI - TABLE OF TERMINAL CHARACTER SETS.
TTCI INDEX CON,ATCMX+1,( -* )
INDEX ,ATCN+1,( 0LNORMAL )
INDEX ,ATCA+1,( 0LASCII )
CON 0
TISI SPACE 4,10
** TISI - TABLE OF TERMINAL INITIAL SUBSYSTEMS.
TISI INDEX CON,AISMX+1,( -* )
INDEX ,AISNUL+1,( 0LNULL )
INDEX ,AISBAS+1,( 0LBASIC )
INDEX ,AISFOR+1,( 0LFORTRAN )
INDEX ,AISFTN+1,( 0LFTNTS )
INDEX ,AISEXE+1,( 0LEXECUTE )
INDEX ,AISBAT+1,( 0LBATCH )
INDEX ,AISACC+1,( 0LACCESS )
CON 0
OPTIONS SPACE 4,10
**** IN ADDITION TO THE OPTIONS DEFINED IN *COMSSFS*, THE
* FOLLOWING OPTIONS WILL BE RECOGNIZED -
ZOPT EQU 6 PASSWORD
LOPT EQU 7 LIST
****
OPTIONS SPACE 4,10
** OPTION BIT POSITIONS.
OPTMIC DECMIC KOPT
KOPTB EQU 1S"OPTMIC"
OPTMIC DECMIC UOPT
UOPTB EQU 1S"OPTMIC"
OPTMIC DECMIC ROPT
ROPTB EQU 1S"OPTMIC"
OPTMIC DECMIC SOPT
SOPTB EQU 1S"OPTMIC"
OPTMIC DECMIC IOPT
IOPTB EQU 1S"OPTMIC"
OPTMIC DECMIC ZOPT
ZOPTB EQU 1S"OPTMIC"
DEFAULT SPACE 4,10
**** DEFAULT USER RECORD BLOCK VALUES.
DALP EQU 0 NUMBER OF LINES PRINTED
DACP EQU 0 NUMBER OF CARDS PUNCHED
DAPT EQU 0 NUMBER OF UNITS PLOTTED
DACC EQU 34B NUMBER OF COMMANDS
DADF EQU 34B NUMBER OF MSG CALLS
DASP EQU 0 SYSTEM PROLOGUE FILE INDEX
DAPAL EQU 0 APPLICATION ACCESS LEVEL
DASL EQU 0 SRU LIMIT
DADS EQU 0 DIRECT FILE SIZE
DAMT EQU 0 NUMBER OF MAGNETIC TAPES
DARP EQU 0 NUMBER OF REMOVABLE PACKS
DAMS EQU 1 NUMBER OF MASS STORAGE PRUS
DADT EQU 0 NUMBER OF DETACHED JOBS
DADB EQU 0 NUMBER OF DEFERRED BATCH JOBS
DACM EQU 15B FIELD LENGTH / 100B
DAEC EQU 0 EXTENDED MEMORY FIELD LENGTH / 100B
DATL EQU 0 TIME LIMIT
DAFC EQU 0 FILE COUNT
DACS EQU 0 CUMULATIVE FILE SIZE
DAFS EQU 0 INDIRECT FILE SIZE
DASC EQU 50B SECURITY COUNT
DAPA EQU 0 PARITY
DARO EQU AROSY RUBOUTS
DAPX EQU 0 PLEX
DATT EQU 0 TERMINAL TYPE
DATC EQU 0 TERMINAL CHARACTER SET
DAIS EQU 0 TERMINAL INITIAL SUBSYSTEM
DALD EQU 1 ACCESS LEVEL VALIDATION (LEVEL 0)
DACV EQU 0 ACCESS CATEGORY VALIDATION
DCPWC EQU 1 PASS WORD CONTROL
DCTPC EQU 0 TERMINAL PRIVILEGED COMMAND SET
DCLPF EQU 1 WRITE TO LARGE PERMANENT FILES
DCSPF EQU 1 WRITE TO SHORT PERMANENT FILES
DCASF EQU 0 ACCESS SYSTEM FILES
DCSOJ EQU 0 SYSTEM ORIGIN PRIVILEGES IN DEBUG MODE
DCAND EQU 0 ASSIGN NON-ALLOCATABLE EQUIPMENT
DCCNR EQU 1 USE SYSTEM WITHOUT USER PROFILE VALIDATION
DCSRP EQU 0 MOUNT REMOVABLE DEVICES
DCSTP EQU 0 ALLOW SPECIAL TRANSACTION PRIVILEGES
DCTIM EQU 0 TIME OUT
DCUCP EQU 0 USER CONTROL POINT (UCP) PRIVILEGES
DCSAP EQU 0 ALLOW SPECIAL ACCOUNTING PRIVILEGES
DCBIO EQU 0 ALLOW *BATCHIO* SUBSYSTEM PRIVILEGES
DCPRT EQU 0 ALLOW EXTENDED MEMORY *PROTECT* PRIVILEGES
DCNVE EQU 0 ALLOW NVE SUBSYSTEM PRIVILEGES
DINAP EQU 0 INSTALLATION APPLICATION PERMISSIONS
DAPRP EQU 0 APPLICATION RESERVED PERMISSIONS
DCPLK EQU 0 TRANSFER PERMANENT FILES BETWEEN HOSTS
DCQLK EQU 0 TRANSFER QUEUED FILES BETWEEN HOSTS
DCUST EQU 0 SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
DCMNT EQU 0 ALLOW MAINTENANCE PRIVILEGES
DCNOP EQU 0 ALLOW NPU OPERATOR PRIVILEGE
DCSAF EQU 1 ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
DCNRD EQU 1 USE NON-DEFAULT CHARGE/PROJECT
DCOPR EQU 1 ENTER NON-RANDOMIZED PASSWORD
DCLTD EQU 0 MAY SPECIFY PF RESIDENCE *LOCKED TO DISK*
DCOPI EQU 1 USER CAN OMIT PERSONAL IDENTIFICATION
DCACA EQU 1 ALLOW CONCURRENT ACCESS
DCPAM EQU 0 DISALLOW PRIVILEGED ANALYST OPERATIONS
DCSAU EQU 1 ALLOW SEC. *USER* COMMAND ALTERNATE USER
DCRAU EQU 1 ALLOW ROUTE WITH *USER* COMMAND ALT. USER
DCRAF EQU 1 ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
RESERVED FOR INSTALLATION (BIT 48)
RESERVED FOR INSTALLATION (BIT 49)
RESERVED FOR INSTALLATION (BIT 50)
RESERVED FOR INSTALLATION (BIT 51)
RESERVED FOR INSTALLATION (BIT 52)
RESERVED FOR INSTALLATION (BIT 53)
RESERVED FOR INSTALLATION (BIT 54)
RESERVED FOR INSTALLATION (BIT 55)
RESERVED FOR INSTALLATION (BIT 56)
RESERVED FOR INSTALLATION (BIT 57)
RESERVED FOR INSTALLATION (BIT 58)
RESERVED FOR INSTALLATION (BIT 59)
DABTM EQU 0 CLEAR SHELL PROGRAM IF ABORT
DLFID EQU 0 SHELL PROGRAM LOCAL FILE
DGLID EQU 0 SHELL PROGRAM GLOBAL LIBRARY
DSLID EQU 1 SHELL PROGARM SYSTEM LIBRARY
DTCSM EQU 0 MONITOR COMMANDS FROM TERMINAL
DBCSM EQU 1 MONITOR COMMANDS OUTSIDE CCL LOOP
DCCLM EQU 0 MONITOR COMMANDS INSIDE CCL LOOP
DCPSA EQU 0 SECURITY ADMINISTRATOR PRIVILEGES
DCOLD EQU 0 EXECUTE ON-LINE DIAGNOSTICS
DCPWX EQU 0 ASSIGN USER PASSWORD EXPIRATION DATE
DCFPX EQU 0 ASSIGN PF PASSWORD/PERMIT EXPIRATION DATE
DCLJL EQU 0 LOWER JOB ACCESS LEVEL
DCLFL EQU 0 LOWER FILE ACCESS LEVEL
DCWLF EQU 0 WRITE TO A LOWER LEVEL FILE
DCULT EQU 0 WRITE UNLABELED MAGNETIC TAPES
DTXSC EQU 1RT INTERACTIVE USER DEFAULT SERVICE CLASS
DRBSC EQU 1RR REMOTE BATCH USER DEFAULT SERVICE CLASS
DBCSC EQU 1RB BATCH USER DEFAULT SERVICE CLASS
DSCVM EQU BCMK+RBMK+TSMK SERVICE CLASS VALIDATION MASK
****
TODV SPACE 4,10
** TODV - TABLE OF DEFAULT VALUES FOR USER RECORD BLOCK.
TODV BSSZ ARBS
ORG TODV+APRN
VFD 42/0 USER PROLOGUE FILE NAME
VFD 6/DASP SYSTEM PROLOGUE FILE INDEX
VFD 6/DAPAL APPLICATION ACCESS LEVEL
VFD 5/0 RESERVED
VFD 1/0 ALTERNATE USER PROLOGUE INFO PRESENT
ORG TODV+ASHN
VFD 42/0 SHELL PROGRAM NAME
VFD 11/0 RESERVED
VFD 1/DABTM CLEAR SHELL PROGRAM IF ABORT
VFD 1/DLFID LOCAL LOAD OF SHELL PROGRAM
VFD 1/DGLID GLOBAL LIBRARY SHELL PROGRAM
VFD 1/DSLID SYSTEM LIBRARY SHELL PROGRAM
VFD 1/DTCSM MONITOR COMMANDS FROM TERMINAL
VFD 1/DBCSM MONITOR COMMANDS OUTSIDE CCL LOOP
VFD 1/DCCLM MONITOR COMMANDS INSIDE CCL LOOP
ORG TODV+ASVW
VFD 1/DCPSA SECURITY ADMINISTRATOR PRIVILEGES
VFD 1/DCOLD EXECUTE ON-LINE DIAGNOSTICS
VFD 1/DCPWX ASSIGN USER PASSWORD EXPIRATION DATE
VFD 1/DCFPX ASSIGN PF PASSWORD/PERMIT EXPIRATION DATE
VFD 1/DCLJL LOWER JOB ACCESS LEVEL
VFD 1/DCLFL LOWER FILE ACCESS LEVEL
VFD 1/DCWLF WRITE TO A LOWER LEVEL FILE
VFD 1/DCULT WRITE UNLABELED MAGNETIC TAPES
VFD 4/0 RESERVED
VFD 4/0 RESERVED
VFD 8/DALD ACCESS LEVEL VALIDATION
VFD 4/0 RESERVED
VFD 32/DACV ACCESS CATEGORY VALIDATION
ORG TODV+AHMT
VFD 6/0 RESERVED
VFD 6/DAPT UNITS PLOTTED
VFD 3/DAMT MAGNETIC TAPES
VFD 3/DARP REMOVABLE PACKS
VFD 3/DADB DEFERRED BATCH
VFD 3/0 RESERVED
VFD 6/DATL TIME LIMIT
VFD 6/DASL SRU LIMIT
VFD 6/DACM CM FIELD LENGTH
VFD 6/DAEC EXTENDED MEMORY FIELD LENGTH
VFD 6/DALP LINES PRINTED
VFD 6/DACP CARDS PUNCHED
ORG TODV+AHDS
VFD 3/DADS DIRECT ACCESS FILE SIZE
VFD 3/DAFC FILE COUNT
VFD 3/DACS CUMULATIVE FILE SIZE
VFD 3/DAFS INDIRECT ACCESS FILE SIZE
VFD 6/DASC SECURITY COUNT
VFD 18/0 RESERVED
VFD 6/DADT DETACHED JOBS
VFD 6/DADF MSG CALLS
VFD 6/DACC COMMAND STATMENTS
VFD 6/DAMS MASS STORAGE PRUS
ORG TODV+AAWC ACCESS CONTROL
VFD 1/0 RESERVED FOR INSTALLATION (BIT 59)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 58)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 57)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 56)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 55)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 54)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 53)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 52)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 51)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 50)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 49)
VFD 1/0 RESERVED FOR INSTALLATION (BIT 48)
VFD 17/0 RESERVED FOR CDC
VFD 1/DCRAF ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
VFD 1/DCRAU ALLOW ROUTE WITH *USER* COMMAND ALT. USER
VFD 1/DCSAU ALLOW SEC. *USER* COMMAND ALTERNATE USER
VFD 1/DCPAM ALLOW PRIVILEGED ANALYST OPERATIONS
VFD 1/DCACA ALLOW CONCURRENT ACCESS
VFD 1/DCOPI USER CAN OMIT PERSONAL IDENTIFICATION
VFD 1/DCLTD MAY SPECIFY PF RESIDENCE *LOCKED TO DISK*
VFD 1/DCOPR ENTER NON-RANDOMIZED PASSWORD
VFD 1/DCNRD CHARGE NOT RESTRICTED TO DEFAULT
VFD 1/DCSAF ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
VFD 1/DCNOP ALLOW NPU OPERATOR PRIVILEGE
VFD 1/DCMNT ALLOW MAINTENANCE PRIVILEGES
VFD 1/DCNVE NVE SUBSYSTEM ACCESS
VFD 1/DCUST SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
VFD 1/DCQLK TRANSFER QUEUED FILES BETWEEN HOSTS
VFD 1/DCPLK TRANSFER PERMANENT FILES BETWEEN HOSTS
VFD 1/DCPRT ECS *PROTECT* PRIVILEGES
VFD 1/DCBIO *BATCHIO* SUBSYSTEM PRIVILEGES
VFD 1/DCSAP SPECIAL ACCOUNTING PRIVILEGES
VFD 1/DCUCP USER CONTROL POINT PRIVILEGES
VFD 1/DCTIM TERMINAL TIME OUT
VFD 1/DCSTP SPECIAL TRANSACTION PRIVILEGES
VFD 1/DCSRP REMOVABLE PACK COMMANDS
VFD 1/DCCNR PROFILE VALIDATION UNNEEDED
VFD 1/DCAND ASSIGN NON-ALLOCATABLE EQUIPMENT
VFD 1/DCASF ACCESS SYSTEM FILES
VFD 1/DCSOJ SPECIAL PRIVILEGES UNDER DEBUG MODE
VFD 1/DCSPF SMALL PERMANENT FILES
VFD 1/DCLPF LARGE PERMANENT FILES
VFD 1/DCTPC PRIVILEGED COMMANDS
VFD 1/DCPWC PASSWORD CHANGE
ORG TODV+ASCV
VFD 24/0 NOT USED
VFD 36/DSCVM SERVICE CLASS VALIDATION MASK
ORG TODV+ATPA
VFD 1/DAPA PARITY
VFD 5/DARO RUBOUTS
VFD 1/DAPX PLEX
VFD 5/DATT TERMINAL TYPE
VFD 1/DATC TERMINAL CHARACTER SET
VFD 5/DAIS INITIAL SUBSYSTEM
VFD 42/0 CREATION DATE/MODIFICATION DATE
ORG TODV+ASC1
VFD 6/0 RESERVED FOR CDC
VFD 6/DBCSC BATCH USER DEFAULT SERVICE CLASS
VFD 6/DRBSC REMOTE BATCH USER DEFAULT SERVICE CLASS
VFD 6/DTXSC INTERACTIVE USER DEFAULT SERVICE CLASS
VFD 6/0 RESERVED FOR CDC
VFD 6/0 RESERVED FOR INSTALLATIONS
VFD 24/0 NOT USED
ORG TODV+AAVW APPLICATION VALIDATIONS
VFD 12/0 INITIAL APPLICATION CONTROL
VFD 12/DINAP INSTALLATION APPLICATION PERMISSIONS
VFD 12/0 RESERVED FOR CDC
VFD 24/DAPRP APPLICATION PERMISSIONS
ORG TODV+APID
VFD 60/0 PERSONAL IDENTIFICATION PART 1
VFD 60/0 PERSONAL IDENTIFICATION PART 2
NOREF .DARBS
.DARBS MAX AHMT,AHDS,ATPA,AAWC,ASHN,APRN,ASCV,ASC1,AAVW
ERRNG ARBS-.DARBS
ORG TODV+ARBS
TINE SPACE 4,10
** TINE - TABLE OF INPUT ENTRIES. ONE WORD ENTRIES -
*
*T 18/ I ,18/ M ,6/ U ,6/ S ,6/ F ,6/ P
*
* I IDENTIFICATION TAG.
* M MAXIMUM VALUE.
* U UPPER BIT OF FIELD.
* S FIELD SIZE.
* F FIRST WORD ADDRESS OF FIELD.
* P PROCESSOR INDEX.
*
* ALL ENTRIES IN THIS TABLE PRECEDING THE *RL* ENTRY WILL BE
* SET TO THE MAXIMUM VALUE BY THE *RL* DIRECTIVE. ALL OTHER
* ENTRIES SHOULD FOLLOW THE *RL* ENTRY.
TINE BSS 0
INENT PT,=77B,53,6,AHPT,PND UNITS PLOTTED
INENT MT,=7,47,3,AHMT,PND MAGNETIC TAPES
INENT RP,=7,44,3,AHRP,PND REMOVABLE PACKS
INENT DB,=7,41,3,AHDB,PND DEFERRED BATCH
INENT DT,=77B,23,6,AHDT,PND DETACHED JOBS
INENT TL,=77B,35,6,AHTL,PND TIME LIMIT
INENT SL,=77B,29,6,AHSL,PND SRU LIMIT
INENT CM,=77B,23,6,AHCM,PND CM FIELD LENGTH
INENT EC,=77B,17,6,AHEC,PND ECS FIELD LENGTH
INENT LP,=77B,11,6,AHLP,PND LINES PRINTED
INENT CP,=77B,5,6,AHCP,PND CARDS PUNCHED
INENT DS,=7,59,3,AHDS,PND DIRECT ACCESS FILE SIZE
INENT FC,=7,56,3,AHFC,PND PERMANENT FILE COUNT
INENT CS,=7,53,3,AHCS,PND CUMULATIVE FILE SIZE
INENT FS,=7,50,3,AHFS,PND INDIRECT FILE SIZE
INENT DF,=77B,17,6,AHDF,PND MSG CALLS
INENT CC,=77B,11,6,AHCC,PND COMMANDS
INENT MS,=77B,5,6,AHMS,PND MASS STORAGE PRUS
INENT RL,=3,0,0,0,PMX MAXIMUM RESOURCE LIMITS
INENT PW,=7,59,42,APSW,PPW PASSWORD
INENT XT,APXV,17,18,APSW,PTE EXPIRATION TERM
INENT XD,=6,17,18,APSW,PED EXPIRATION DATE
INENT PB,=7,59,42,APSW,PPW BATCH PASSWORD
INENT PI,=7,59,42,APWI,PPW INTERACTIVE PASSWORD
INENT EB,=14,59,42,APSW,PEP ENCRYPTED BATCH PW
INENT EI,=14,59,42,APWI,PEP ENCRYPTED INTERACTIVE PW
INENT XB,=6,17,18,APSW,PED BATCH PASSWORD EXPIRATION
INENT XI,=6,17,18,APWI,PED INTERACTIVE PW EXPIRATION
INENT XTB,APXV,17,18,APSW,PTE BATCH EXPIRATION TERM
INENT XTI,APXV,17,18,APWI,PTE INTERACTIVE EXPIRATION
INENT PID,=20,59,60,APID,PIW PERSONAL IDENTIFICATION
INENT SAL,=7,47,12,ASVW,PPC SECURITY ACCESS LEVELS
INENT SAV,=4,59,12,ASVW,PAV SECURITY ACCESS PRIVILEGES
INENT SAC,=7,35,36,ASVW,PPC SECURITY ACCESS CATEGORIES
INENT AB,0,59,60,0,POB ANSWERBACK CODE
INENT SP,=77B,17,6,APRN,PND SYSTEM PROLOGUE INDEX
INENT UP,=7,59,42,APRN,PAD USER PROLOGUE FILE NAME
INENT AL,=17B,11,6,APRN,PND APPLICATION ACCESS LEVEL
INENT NF,0,38,3,0,POB LOCAL FILES
INENT OF,0,20,3,0,POB DISPOSED OUTPUT
INENT SC,=77B,47,6,AHSC,PND SECURITY COUNT
INENT PA,TPAI,59,1,ATPA,PEA PARITY
INENT RO,=37B,58,5,ATRO,PND RUBOUTS
INENT PX,TPXI,53,1,ATPX,PEA PLEX
INENT TT,TTTI,52,5,ATTT,PEA TERMINAL TYPE
INENT TC,TTCI,47,1,ATTC,PEA CHARACTER SET
INENT IS,TISI,46,5,ATIS,PEA INITIAL SUBSYSTEM
CUE$ IFEQ CUE$,2
INENT SH,=7,59,42,ASHN,POB SHELL PROGRAM NAME
INENT SO,=4,6,7,ASHN,POB SHELL PROGRAM OPTIONS
CUE$ ELSE
INENT SH,=7,59,42,ASHN,PAD SHELL PROGRAM NAME
INENT SO,=4,6,7,ASHN,PPC SHELL PROGRAM OPTIONS
CUE$ ENDIF
INENT UC,=4,42,6,ASC1,PDS USER DEFAULT SERVICE CLASS
INENT VM,=3,35,36,ASCV,PPC VALIDATION MASK
INENT AW,=4,59,60,AAWC,PPC ACCESS WORD
INENT AP,=7,ALAB,NNAB,AAVW,PPC APPLICATION PERMISSIONS
INENT PN,=20,59,60,APJN,PPN PROJECT NUMBER
INENT CN,=10,59,60,ACGN,PCN CHARGE NUMBER
FUIW INENT FUI,=377777B,17,18,AUIN,PUI FORCE USER INDEX
INENT DAC,=7,,,,PDA DELETE USER
CON 0
UIIW INENT UI,=377777B,17,18,AUIN,PUI USER INDEX
APXV CON APXL MAXIMUM TERM VALUE
TKDE SPACE 4,10
** TKDE - TABLE OF K-DISPLAY ENTRIES.
TKDE VFD 42/0LDROP,18/-2
VFD 42/0LEND,18/-4
VFD 42/0LSTOP,18/-5
VFD 42/1L+,18/-1R+
VFD 42/1L-,18/-1R-
VFD 42/1L(,18/-1R(
VFD 42/1L),18/-1R)
CON 0
LITL DATA 10H1LIMITS FO
USRN DATA 02LR
FAM DATA 03LFM/
DATA 10H
TODT DATA 10H
TOTM DATA 10H
DATA 0
SPACE 4,10
** *LIMITS* OUTPUT MESSAGES.
LMMX DATA C* MAXIMUM NUMBER OF -*
LMMT DATA 50H MAGNETIC TAPE UNITS THAT MAY BE ASSIGNED........
DATA 0,0
LMRP DATA 50H REMOVABLE AUXILIARY DEVICES THAT MAY BE ASSIGNED
DATA 0,0
LMTL DATA 50H CPU SECONDS ALLOWED FOR EACH JOB STEP...........
DATA 0,0
LMCM DATA 50H CENTRAL MEMORY WORDS ALLOWED/100B...............
DATA 0,0
LMEC DATA 50H EXTENDED MEMORY WORDS ALLOWED/1000B.............
DATA 0,0
LMDT DATA 50H JOBS THAT CAN BE DETACHED.......................
DATA 0,0
LMDB DATA 50H DEFERRED BATCH FILES............................
DATA 0,0
LMFC DATA 50H PERMANENT FILES ALLOWED IN YOUR CATALOG.........
DATA 0,0
LMCS DATA 50H PRUS AVAILABLE FOR ALL INDIRECT FILES...........
DATA 0,0
LMFS DATA 50H PRUS AVAILABLE FOR ANY ONE INDIRECT FILE........
DATA 0,0
LMDS DATA 50H PRUS AVAILABLE FOR ANY ONE DIRECT FILE..........
DATA 0,0
LMMS DATA 50H PRUS AVAILABLE PER JOB..........................
DATA 0,0
LMDF DATA 50H MESSAGES THAT MAY BE ISSUED TO THE DAYFILES.....
DATA 0,0
LMCC DATA 50H BATCH COMMANDS THAT MAY BE PROCESSED............
DATA 0,0
LMCP DATA 50H CARDS THAT MAY BE PUNCHED PER FILE..............
DATA 0,0
LMPT DATA 50H LINES THAT MAY BE PLOTTED PER FILE..............
DATA 0,0
LMLP DATA 50H LINES THAT MAY BE PRINTED PER FILE..............
DATA 0,0
LMSL DATA 50H SRUS ALLOWED PER JOB............................
DATA 0,0
LMAL DATA 50H APPLICATION ACCESS LEVEL........................
DATA 0,0
LMCHA DATA C* OTHER CHARACTERISTICS -*
LMUI DATA 50H USER INDEX......................................
DATA 0,0
LMXB DATA 50H BATCH PASSWORD EXPIRATION DATE..................
DATA 0,0
LMXI DATA 50H INTERACTIVE PASSWORD EXPIRATION DATE............
DATA 0,0
LMCN DATA 50H DEFAULT CHARGE NUMBER ASSIGNED..................
DATA 0,0
LMPN DATA 50H DEFAULT PROJECT NUMBER ASSIGNED.................
DATA 0,0
LMSP DATA 50H SYSTEM PROLOGUE.................................
DATA 0,0
LMUP DATA 50H USER PROLOGUE...................................
DATA 0,0
LMSN DATA 50H SHELL PROGRAM THAT IS EXECUTED..................
DATA 0,0
LMIS DATA 50H INTERACTIVE SUBSYSTEM...........................
DATA 0,0
LMTC DATA 50H INTERACTIVE CHARACTER SET MODE..................
DATA 0,0
LMPA DATA 50H TERMINAL PARITY.................................
DATA 0,0
LMRO DATA 50H RUBOUT CHARACTERS REQUIRED FOR CARRIAGE RETURN..
DATA 0,0
LMPX DATA 50H TRANSMISSION MODE...............................
DATA 0,0
LMTT DATA 50H TERMINAL TYPE...................................
DATA 0,0
ALLW DATA C* THE FOLLOWING ARE VALID USER PERMISSIONS -*
ALPS DATA C* CHANGE YOUR PASSWORD*
ALPT DATA C* USE PRIVILEGED INTERACTIVE COMMANDS*
ALDA DATA C* CREATE DIRECT ACCESS FILES*
ALIA DATA C* CREATE INDIRECT ACCESS FILES*
ALSY DATA C* HAVE SYSTEM ORIGIN PRIVILEGES*
ALLF DATA C* ACCESS/CREATE LIBRARY FILES*
ALMT DATA C* ASSIGN MAGNETIC TAPES*
ALDC DATA C* ACCESS SYSTEM WITHOUT SUPPLYING CHARGE/PROJECT NUMB
,ER*
ALAD DATA C* ACCESS OR CREATE FILES ON AUXILIARY DEVICES*
ALTF DATA C* ACCESS TRANSACTION FUNCTIONS FOR LIBRARY UPDATES*
ALTO DATA C* HAVE UNLIMITED TERMINAL CONNECT TIME WITHOUT TIMEOU
,T*
ALCP DATA C* USE SYSTEM CONTROL POINT FACILITY*
ALAP DATA C* HAVE SPECIAL ACCOUNTING PRIVILEGES*
ALBP DATA C* USE BATCHIO SUBSYSTEM PRIVILEGES*
ALPR DATA C* USE THE PROTECT COMMAND*
ALPF DATA C* TRANSFER PERMANENT FILES BETWEEN HOSTS*
ALQF DATA C* TRANSFER QUEUED FILES BETWEEN HOSTS*
ALST DATA C+ SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS+
ALNV DATA C* USE THE NVE SUBSYSTEM*
ALRT DATA C* ALLOW MAINTENANCE PRIVILEGES*
ALNO DATA C* ALLOW NPU OPERATOR PRIVILEGE*
ALSF DATA C* ALLOW ALTERNATE FAMILY ON SECONDARY USER COMMAND*
ALCN DATA C* CHARGE NOT RESTRICTED TO DEFAULT*
ALNP DATA C* DEFINE NON-RANDOMIZED LOGIN PASSWORD*
ALLT DATA C/ ALLOW *LOCKED TO DISK* FILE RESIDENCE./
ALPI DATA C* ACCESS SYSTEM WITHOUT SUPPLYING PERSONAL ID*
ALCI DATA C* ALLOWED MULTIPLE CONCURRENT LOGINS*
ALAM DATA C* ALLOW PRIVILEGED ANALYST OPERATIONS*
ALSU DATA C* ALLOW ALTERNATE USER NAME ON SECONDARY USER COMMAND
,*
ALRU DATA C* ALLOW ALTERNATE USER NAME ON ROUTED INPUT FILE USER
, COMMAND*
ALRF DATA C* ALLOW ALTERNATE FAMILY ON ROUTED INPUT FILE USER CO
,MMAND*
RESERVED FOR INSTALLATION (BIT 48)
RESERVED FOR INSTALLATION (BIT 49)
RESERVED FOR INSTALLATION (BIT 50)
RESERVED FOR INSTALLATION (BIT 51)
RESERVED FOR INSTALLATION (BIT 52)
RESERVED FOR INSTALLATION (BIT 53)
RESERVED FOR INSTALLATION (BIT 54)
RESERVED FOR INSTALLATION (BIT 55)
RESERVED FOR INSTALLATION (BIT 56)
RESERVED FOR INSTALLATION (BIT 57)
RESERVED FOR INSTALLATION (BIT 58)
RESERVED FOR INSTALLATION (BIT 59)
APPH DATA C* THE FOLLOWING ARE VALID APPLICATIONS -*
AIAF DATA C* INTERACTIVE FACILITY (IAF)*
ARBF DATA C* REMOTE BATCH FACILITY (RBF)*
ATAF DATA C* TRANSACTION FACILITY (TAF)*
AMCS DATA C* MESSAGE CONTROL SYSTEM (MCS)*
ATVF DATA C* TERMINAL VERIFICATION FACILITY (TVF)*
ACS DATA C* COMMUNICATIONS SUPERVISOR (CS)*
APLA DATA C* CYBIS TUTORIAL APPLICATION (CYBIS)*
AITF DATA C* INTERACTIVE TRANSFER FACILITY (ITF)*
ATLF DATA C* TIELINE FACILITY (TLF)*
ANJF DATA C* NETWORK JOB ENTRY FACILITY (NJF)*
ANOU DATA C* CDCNET NETWORK OPERATOR UTILITY (NETOU)*
APSU DATA C* PRINTER SUPPORT UTILITY (PSU)*
TAP1 DATA C* LOCAL APPLICATION 1 ("AP1")*
TAP2 DATA C* LOCAL APPLICATION 2 ("AP2")*
TAP3 DATA C* LOCAL APPLICATION 3 ("AP3")*
AVIF DATA C* NOS/VE INTERACTIVE FACILITY (VEIAF)*
ANPF DATA C* NETWORK PASSTHRU FACILITY (NPF)*
ATCF DATA C* TERMINAL CLUSTER FACILITY (TCF)*
TAP4 DATA C* LOCAL APPLICATION 4 ("AP4")*
TAP5 DATA C* LOCAL APPLICATION 5 ("AP5")*
TAP6 DATA C* LOCAL APPLICATION 6 ("AP6")*
AATF DATA C* AUTOMATIC TAPE FACILITY (ATF)*
RMFP DATA C* THE FOLLOWING ARE VALID SHELL PERMISSIONS -*
RMFB DATA C* CLEAR SHELL PROCESSING IF SCREENING PROGRAM ABORT*
RTLF DATA C* LOCAL FILE LOAD OF SHELL PROGRAM*
RTGL DATA C* GLOBAL LIBRARY LOAD OF SHELL PROGRAM*
RTSL DATA C* SYSTEM LIBRARY LOAD OF SHELL PROGRAM*
RTTC DATA C* PROCESS COMMANDS FROM TERMINAL INPUT*
RTBC DATA C* PROCESS COMMANDS OUTSIDE CCL PROCEDURE*
RTCC DATA C* PROCESS COMMANDS INSIDE CCL PROCEDURE*
AAPP DATA C* THE FOLLOWING ARE VALID SECURITY PERMISSIONS -*
APLT DATA C* WRITE UNLABELED MAGNETIC TAPES*
APLF DATA C* WRITE TO OR EXTEND A LOWER LEVEL FILE*
APFL DATA C* LOWER (DOWNGRADE) FILE ACCESS LEVEL*
APJL DATA C* LOWER (DOWNGRADE) JOB ACCESS LEVEL*
APFP DATA C* ASSIGN PERMANENT FILE EXPIRATION DATE OR TERM*
APED DATA C* ASSIGN USER PASSWORD EXPIRATION DATE OR TERM*
APLD DATA C* EXECUTE ON-LINE DIAGNOSTICS*
APAP DATA C* PERMITTED SECURITY ADMINISTRATOR PRIVILEGES*
ALVA DATA C* THE FOLLOWING ARE VALID SECURITY ACCESS LEVELS -*
ALVB DATA C* ACCESS LEVEL "ALM0"*
ALVC DATA C* ACCESS LEVEL "ALM1"*
ALVD DATA C* ACCESS LEVEL "ALM2"*
ALVE DATA C* ACCESS LEVEL "ALM3"*
ALVF DATA C* ACCESS LEVEL "ALM4"*
ALVG DATA C* ACCESS LEVEL "ALM5"*
ALVH DATA C* ACCESS LEVEL "ALM6"*
ALVI DATA C* ACCESS LEVEL "ALM7"*
VCAT DATA C* THE FOLLOWING ARE VALID SECURITY ACCESS CATEGORIES -*
AC00 DATA C* ACCESS CATEGORY "ACM00"*
AC01 DATA C* ACCESS CATEGORY "ACM01"*
AC02 DATA C* ACCESS CATEGORY "ACM02"*
AC03 DATA C* ACCESS CATEGORY "ACM03"*
AC04 DATA C* ACCESS CATEGORY "ACM04"*
AC05 DATA C* ACCESS CATEGORY "ACM05"*
AC06 DATA C* ACCESS CATEGORY "ACM06"*
AC07 DATA C* ACCESS CATEGORY "ACM07"*
AC08 DATA C* ACCESS CATEGORY "ACM08"*
AC09 DATA C* ACCESS CATEGORY "ACM09"*
AC10 DATA C* ACCESS CATEGORY "ACM10"*
AC11 DATA C* ACCESS CATEGORY "ACM11"*
AC12 DATA C* ACCESS CATEGORY "ACM12"*
AC13 DATA C* ACCESS CATEGORY "ACM13"*
AC14 DATA C* ACCESS CATEGORY "ACM14"*
AC15 DATA C* ACCESS CATEGORY "ACM15"*
AC16 DATA C* ACCESS CATEGORY "ACM16"*
AC17 DATA C* ACCESS CATEGORY "ACM17"*
AC18 DATA C* ACCESS CATEGORY "ACM18"*
AC19 DATA C* ACCESS CATEGORY "ACM19"*
AC20 DATA C* ACCESS CATEGORY "ACM20"*
AC21 DATA C* ACCESS CATEGORY "ACM21"*
AC22 DATA C* ACCESS CATEGORY "ACM22"*
AC23 DATA C* ACCESS CATEGORY "ACM23"*
AC24 DATA C* ACCESS CATEGORY "ACM24"*
AC25 DATA C* ACCESS CATEGORY "ACM25"*
AC26 DATA C* ACCESS CATEGORY "ACM26"*
AC27 DATA C* ACCESS CATEGORY "ACM27"*
AC28 DATA C* ACCESS CATEGORY "ACM28"*
AC29 DATA C* ACCESS CATEGORY "ACM29"*
AC30 DATA C* ACCESS CATEGORY "ACM30"*
AC31 DATA C* ACCESS CATEGORY "ACM31"*
USVM DATA C* THE FOLLOWING ARE ALLOWED SERVICE CLASSES -*
LIST G
.SCL2 HERE
LIST *
USUD DATA C* THE USER DEFAULT SERVICE CLASS*
UDBC DATA 50H FOR BATCH ORIGIN IS.............................
DATA 0,0
USRB DATA 50H FOR REMOTE BATCH ORIGIN IS......................
DATA 0,0
USTX DATA 50H FOR INTERACTIVE ORIGIN IS.......................
DATA 0,0
TFR SPACE 4,10
** TFR - TABLE TO FORMAT RECORD FOR SOURCE, K-DISPLAY, AND
* LIMITS PROCESSING.
TFR BSS 0
TFEB TFRW1 APSW,18,42,14,AOC,(LJD,MWR) BATCH PASSWORD
TFRW2 0,0,TMEB
TFRW3
TFEI TFRW1 APWI,18,42,14,AOC,(LJD,MWR) INTERACTIVE PASSWORD
TFRW2 0,0,TMEI
TFRW3
TFXB TFRW1 APXB,0,18,0,DAT BATCH EXPIRATION
TFRW2 LMXB,DSXB,TMXB
TFRW3
TFXI TFRW1 APXI,0,18,0,DAT INTERACTIVE EXPIRATION
TFRW2 LMXI,DSXI,TMXI
TFRW3
TFSC TFRW1 AHSC,42,6,77B,CON SECURITY COUNT
TFRW2 0,DSSE,TMSC
TFRW3
TFMT TFRW1 AHMT,45,3,7,CDD MAGNETIC TAPES
TFRW2 LMMT,DSMT,TMMT
TFRW3 ,,,LMMX
TFRP TFRW1 AHRP,42,3,7,CDD REMOVABLE PACKS
TFRW2 LMRP,DSRP,TMRP
TFRW3
TFTL TFRW1 AHTL,30,6,77B,CON,(DCV) TIME LIMIT
TFRW2 LMTL,DSTL,TMTL
TFRW3 TLI,3
TFCM TFRW1 AHCM,18,6,77B,CON,(OCV) CENTRAL MEMORY
TFRW2 LMCM,DSCM,TMCM
TFRW3 CMI
TFEC TFRW1 AHEC,12,6,77B,CON,(OCV) EXTENDED CORE STORAGE
TFRW2 LMEC,DSEC,TMEC
TFRW3 ECI
TFDT TFRW1 AHDT,18,6,77B,CON,(DCV) DETACHED JOBS
TFRW2 LMDT,DSDT,TMDT
TFRW3 DTI
TFDB TFRW1 AHDB,39,3,7,CDD,(DCV) DEFERRED BATCH
TFRW2 LMDB,DSDB,TMDB
TFRW3 DBI
TFFC TFRW1 AHFC,54,3,7,CDD,(DCV,ZSD) NUMBER OF LOCAL FILES
TFRW2 LMFC,DSFC,TMFC
TFRW3 FCI
TFFS TFRW1 AHFS,48,3,7,CDD,(DCV,ZSD) INDIRECT FILE SECTORS
TFRW2 LMFS,DSFS,TMFS
TFRW3 FSI
TFDS TFRW1 AHDS,57,3,7,CDD,(DCV,ZSD) DIRECT FILE SECTORS
TFRW2 LMDS,DSDS,TMDS
TFRW3 DSI
TFCS TFRW1 AHCS,51,3,7,CDD,(DCV,ZSD) CUMULATIVE SECTORS
TFRW2 LMCS,DSCS,TMCS
TFRW3 CSI
TFMS TFRW1 AHMS,0,6,77B,CON,(DCV) MASS STORAGE
TFRW2 LMMS,DSMS,TMMS
TFRW3 MSI
TFDF TFRW1 AHDF,12,6,77B,CON,(DCV) DAYFILE MESSAGES
TFRW2 LMDF,DSDF,TMDF
TFRW3 DFI
TFCC TFRW1 AHCC,6,6,77B,CON,(DCV) COMMANDS
TFRW2 LMCC,DSCC,TMCC
TFRW3 CCI
TFCP TFRW1 AHCP,0,6,77B,CON,(DCV) CARDS PUNCHED
TFRW2 LMCP,DSCP,TMCP
TFRW3 CPI
TFPT TFRW1 AHMT,48,6,77B,CON,(DCV) PLOTTED LINES
TFRW2 LMPT,DSPT,TMPT
TFRW3 PTI
TFLP TFRW1 AHLP,6,6,77B,CON,(DCV) LINES PRINTED
TFRW2 LMLP,DSLP,TMLP
TFRW3 LPI
TFSL TFRW1 AHSL,24,6,73B,CON,(DCV)
TFRW2 LMSL,DSSL,TMSL
TFRW3 SLI,3
TFUI TFRW1 AUIN,0,18,0,CON USER INDEX
TFRW2 LMUI,DSUI,TMUI
TFRW3 ,,,LMCHA
TFDC TFRW1 ACGN,0,60,0,SFN,(LJD,RJA) DEFAULT CHARGE
TFRW2 LMCN,DSCN,TMCN
TFRW3
TFDP1 TFRW1 APJN,0,60,0,SFN,(LJD,RJA) DEFAULT PROJECT (1)
TFRW2 LMPN,DSPN,TMPN
TFRW3
TFDP2 TFRW1 APJ1,0,60,0,SFN,(CTE,LJD,RJA) DEFAULT PROJECT (2)
TFRW2
TFRW3
TFUD1 TFRW1 APID,0,60,0,SFN,(LJD) PERSONAL ID (1)
TFRW2 0,DSUD,TMUD
TFRW3
TFUD2 TFRW1 API2,0,60,0,SFN,(CTE,LJD) PERSONAL ID (2)
TFRW2
TFRW3
TFSP TFRW1 APRN,12,6,0,CON SYSTEM PROLOGUE INDEX
TFRW2 LMSP,DSSP,TMSP
TFRW3
TFUP TFRW1 APRN,18,42,0,SFN,(LJD,RJA) USER PROLOGUE FILE
TFRW2 LMUP,DSUP,TMUP
TFRW3
TFAL TFRW1 APRN,6,6,17B,CON APPLICATION LEVEL
TFRW2 LMAL,DSPL,TMAL
TFRW3
TFSH TFRW1 ASHN,18,42,0,SFN,(LJD,RJA) SHELL PROGRAM NAME
TFRW2 LMSN,DSSN,TMSH
TFRW3
TFSO TFRW1 ASHN,0,7,0,CON SHELL PROGRAM OPTIONS
TFRW2 0,DSSH,0
TFRW3
TFIS TFRW1 ATIS,42,5,0,SFN,(LJD,RJA) INITIAL SUBSYSTEM
TFRW2 LMIS,DSIS,TMIS
TFRW3 ,,TISI
TFTC TFRW1 ATTC,47,1,0,SFN,(LJD,RJA) CHARACTER SET
TFRW2 LMTC,DSTC,TMTC
TFRW3 ,,TTCI
TFPA TFRW1 ATPA,59,1,0,SFN,(LJD,RJA) TERMINAL PARITY
TFRW2 LMPA,DSPA,TMPA
TFRW3 ,,TPAI
TFRO TFRW1 ATRO,54,5,AROSY,CDD,(USD) RUBOUT CHARACTERS
TFRW2 LMRO,DSRO,TMRO
TFRW3
TFPX TFRW1 ATPX,53,1,0,SFN,(LJD,RJA) TRANSMISSION MODE
TFRW2 LMPX,DSPX,TMPX
TFRW3 ,,TPXI
TFTT TFRW1 ATTT,48,5,0,SFN,(LJD,RJA) TERMINAL TYPE
TFRW2 LMTT,DSTT,TMTT
TFRW3 ,,TTTI
TFAV TFRW1 ASAV,48,12,0,CON SECURITY PRIVILEGES
TFRW2 0,DSAV,9
TFRW3
TFLV TFRW1 ASVW,36,12,0,CON ACCESS LEVELS
TFRW2 0,DSLV,0
TFRW3
TFAC TFRW1 ASAC,0,36,12,AOC,(LJD,MWR) ACCESS CATEGORIES
TFRW2 0,DSAC,0
TFRW3
TFVM TFRW1 ASCV,0,36,0,CON SERVICE CLASS MASK
TFRW2 0,DSVM,0
TFRW3
TFUC TFRW1 ASC1,24,30,0,CSC DEFAULT SERVICE CLASS
TFRW2 0,DSUC,TMUC
TFRW3
TFWC TFRW1 AAWC,0,60,20,AOC,(LJD,MWR) ACCESS WORD
TFRW2 0,DSAW,0
TFRW3
CON 0 END OF TABLE
ALP SPACE 4,10
** TABLE OF ALLOWED PERMISSIONS.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TAWI*.
ALP BSS 0
DEFAW CPWC,ALPS
DEFAW CTPC,ALPT
DEFAW CLPF,ALDA
DEFAW CSPF,ALIA
DEFAW CSOJ,ALSY
DEFAW CASF,ALLF
DEFAW CAND,ALMT
DEFAW CCNR,ALDC
DEFAW CSRP,ALAD
DEFAW CSTP,ALTF
DEFAW CTIM,ALTO
DEFAW CUCP,ALCP
DEFAW CSAP,ALAP
DEFAW CBIO,ALBP
DEFAW CPRT,ALPR
DEFAW CPLK,ALPF
DEFAW CQLK,ALQF
DEFAW CUST,ALST
DEFAW CNVE,ALNV
DEFAW CMNT,ALRT
DEFAW CNOP,ALNO
DEFAW CSAF,ALSF
DEFAW CNRD,ALCN
DEFAW COPR,ALNP
DEFAW CLTD,ALLT
DEFAW COPI,ALPI
DEFAW CACA,ALCI
DEFAW CPAM,ALAM
DEFAW CSAU,ALSU
DEFAW CRAU,ALRU
DEFAW CRAF,ALRF
* DEFINE INSTALLATION PERMISSIONS.
CON -1 RESERVED FOR INSTALLATION (BIT 48)
CON -1 RESERVED FOR INSTALLATION (BIT 49)
CON -1 RESERVED FOR INSTALLATION (BIT 50)
CON -1 RESERVED FOR INSTALLATION (BIT 51)
CON -1 RESERVED FOR INSTALLATION (BIT 52)
CON -1 RESERVED FOR INSTALLATION (BIT 53)
CON -1 RESERVED FOR INSTALLATION (BIT 54)
CON -1 RESERVED FOR INSTALLATION (BIT 55)
CON -1 RESERVED FOR INSTALLATION (BIT 56)
CON -1 RESERVED FOR INSTALLATION (BIT 57)
CON -1 RESERVED FOR INSTALLATION (BIT 58)
CON -1 RESERVED FOR INSTALLATION (BIT 59)
DATA 0 END OF TABLE
ALPL EQU 60D FORCE LENGTH FOR *APLW* MACRO
SPACE 4,10
** TABLE OF REMOTE TERMINAL ACCESS PERMISSIONS.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TRTP*.
ASP BSS 0
DEFAW CCLM,RTCC
DEFAW BCSM,RTBC
DEFAW TCSM,RTTC
DEFAW SLID,RTSL
DEFAW GLID,RTGL
DEFAW LFID,RTLF
DEFAW ABTM,RMFB
ASPL EQU *-ASP TABLE LENGTH
DATA 0 END OF TABLE
APP SPACE 4,10
** TABLE OF APPLICATION GRANTED.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TNAV*.
APP BSS 0
DEFAW IAF,AIAF
DEFAW RBF,ARBF
DEFAW TAF,ATAF
DEFAW MCS,AMCS
DEFAW TVF,ATVF
DEFAW CS,ACS
DEFAW CYBIS,APLA
DEFAW ITF,AITF
DEFAW TLF,ATLF
DEFAW NJF,ANJF
DEFAW NETOU,ANOU
DEFAW PSU,APSU
DEFAW "AP1",TAP1
DEFAW "AP2",TAP2
DEFAW "AP3",TAP3
DEFAW VEIAF,AVIF
DEFAW NPF,ANPF
DEFAW TCF,ATCF
DEFAW "AP4",TAP4
DEFAW "AP5",TAP5
DEFAW "AP6",TAP6
DEFAW ATF,AATF
APPL EQU *-APP TABLE LENGTH
DATA 0 END OF TABLE
ERRNZ APPL-TNAVL TABLE LENGTHS DO NOT AGREE
SCL SPACE 4,10
** TABLE OF SERVICE CLASS TYPES.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TSVM*.
SCL BSS 0
LOC 0
DATA -1 NOT USED
LIST G
.SCL3 HERE
LIST *
LOC *O
SCLL EQU *-SCL TABLE LENGTH
DATA 0 END OF TABLE
APV SPACE 4,10
** TABLE OF SECURITY PRIVILEGE VALIDATION BITS.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TAPV*
APV BSS 0
DEFAW CULT,APLT
DEFAW CWLF,APLF
DEFAW CLFL,APFL
DEFAW CLJL,APJL
DEFAW CFPX,APFP
DEFAW CPWX,APED
DEFAW COLD,APLD
DEFAW CSAP,APAP
APVL EQU *-APV TABLE LENGTH
CON 0 END OF TABLE
ALV SPACE 4,10
** TABLE OF SECURITY ACCESS LEVEL VALIDATIONS.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TALV*.
ALV BSS 0
DEFAW "ALM0",ALVB
DEFAW "ALM1",ALVC
DEFAW "ALM2",ALVD
DEFAW "ALM3",ALVE
DEFAW "ALM4",ALVF
DEFAW "ALM5",ALVG
DEFAW "ALM6",ALVH
DEFAW "ALM7",ALVI
ALVL EQU *-ALV TABLE LENGTH
CON 0 END OF TABLE
CAT SPACE 4,10
** TABLE OF ACCESS CATEGORY VALIDATIONS.
*
* NOTE -
* THIS TABLE IS DEPENDENT ON THE ORDER OF *TACC*.
CAT BSS 0
DEFAW "ACM00",AC00
DEFAW "ACM01",AC01
DEFAW "ACM02",AC02
DEFAW "ACM03",AC03
DEFAW "ACM04",AC04
DEFAW "ACM05",AC05
DEFAW "ACM06",AC06
DEFAW "ACM07",AC07
DEFAW "ACM08",AC08
DEFAW "ACM09",AC09
DEFAW "ACM10",AC10
DEFAW "ACM11",AC11
DEFAW "ACM12",AC12
DEFAW "ACM13",AC13
DEFAW "ACM14",AC14
DEFAW "ACM15",AC15
DEFAW "ACM16",AC16
DEFAW "ACM17",AC17
DEFAW "ACM18",AC18
DEFAW "ACM19",AC19
DEFAW "ACM20",AC20
DEFAW "ACM21",AC21
DEFAW "ACM22",AC22
DEFAW "ACM23",AC23
DEFAW "ACM24",AC24
DEFAW "ACM25",AC25
DEFAW "ACM26",AC26
DEFAW "ACM27",AC27
DEFAW "ACM28",AC28
DEFAW "ACM29",AC29
DEFAW "ACM30",AC30
DEFAW "ACM31",AC31
CATL EQU *-CAT TABLE LENGTH
CON 0 END OF TABLE
TMBS SPACE 4,10
** TMBS - TABLE FOR MAP BACK TO SOURCE.
TMBS BSS 0
DIS ,*/USERNUM ,*
TMUI DIS ,* UI = ,*
TMMT DIS ,* MT = ,*
TMRP DIS ,* RP = ,*
TMTL DIS ,* TL = ,*
TMCM DIS ,* CM = ,*
TMDB DIS ,* DB = ,*
TMFC DIS ,* FC = ,*
TMCS DIS ,* CS = ,*
TMFS DIS ,* FS = ,*
TMPA DIS ,* PA = ,*
TMRO DIS ,* RO = ,*
TMPX DIS ,* PX = ,*
TMTT DIS ,* TT = ,*
TMTC DIS ,* TC = ,*
TMIS DIS ,* IS = ,*
TMMS DIS ,* MS = ,*
TMDF DIS ,* DF = ,*
TMCC DIS ,* CC = ,*
TMCP DIS ,* CP = ,*
TMLP DIS ,* LP = ,*
TMPT DIS ,* PT = ,*
TMEC DIS ,* EC = ,*
TMSL DIS ,* SL = ,*
TMCN DIS ,* CN = ,*
TMPN DIS ,* PN = ,*
TMUD DIS ,* PID = ,*
TMDS DIS ,* DS = ,*
TMSC DIS ,* SC = ,*
TMDT DIS ,* DT = ,*
TMSP DIS ,* SP = ,*
TMUP DIS ,* UP = ,*
TMSH DIS ,* SH = ,*
TMAL DIS ,* AL = ,*
TMEB DIS ,* EB = ,*
TMXB DIS ,* XB = ,*
TMEI DIS ,* EI = ,*
TMXI DIS ,* XI = ,*
TMBSL EQU *-TMBS TABLE LENGTH
TMUC DIS ,* UC = ,*
TMAW DIS ,* AW = NUL ,*
TMAP DIS ,* AP = NUL ,*
TMSO DIS ,* SO = NUL ,*
TMLV DIS ,* SAL = NUL ,*
TMAV DIS ,* SAV = NUL ,*
TMAC DIS ,* SAC = NUL ,*
TMVM DIS ,* VM = NUL ,*
TITLE MAIN ROUTINES.
MOD SPACE 4,10
** MOD - PROCESS NORMAL CALL.
MOD SA3 OPTION CHECK COMMAND OPTIONS
SA4 OP
ZR X3,MOD2 IF ALL OPTIONS PROCESSED
SB2 X4+
+ LX3 -1
SB2 B2+B1
PL X3,* IF OPTION NOT REQUESTED
SX6 X3 CLEAR OPTION PROCESSED
SA2 B2+TOFP SET PROCESSOR
SA6 A3
SX7 B2
SB7 X2
SA7 A4 SET CURRENT OPTION
BX7 X7-X7 CLEAR MANAGED TABLE INFORMATION
SB2 RA3+1-L.TAB0
SA7 L.TAB0
MOD0 SA7 A7+B1
SB2 B2-B1
NZ B2,MOD0 IF MORE WORDS TO CLEAR
SX3 X2-OVLA CHECK TABLE ENTRY
SX2 DMSE * SYSTEM ERROR.*
NG B7,ABT IF INCORRECT PROCESSOR ADDRESS
JP B7 EXECUTE PROCESSOR
MOD1 RJ SUI SAVE ASSIGNED USER INDICES
MOD2 SA3 EMSF CHECK ERROR FLAG
SX2 DMDE * DIRECTIVE ERRORS.*
ZR X3,MOD3 IF NO ERRORS
SA1 DB CHECK DEBUG FLAG
ZR X1,ABT IF NOT SET
BX6 X2 SET MESSAGE
SA6 MODA
MOD3 SA3 RAPF CHECK SYSTEM FILE ATTACHED
ZR X3,MOD4 IF NOT ATTACHED
RETURN U
RECALL N
RETURN P
MOD4 SA1 GENF
ZR X1,MOD4.1 IF NOT *GENVAL*
RETURN P
RETURN U
MOD4.1 SA1 MODA
ZR X1,MOD5 IF NO MESSAGE
MESSAGE X1,3 ISSUE COMPLETION MESSAGE
SA3 EMSF
NZ X3,MOD5 IF DIRECTIVE ERRORS
SA1 WMSF
ZR X1,MOD5 IF NO WARNING MESSAGES
MESSAGE DMCO,3 * CHECK OUTPUT FOR WARNING MESSAGES.*
MOD5 RJ COB CHECK OUTPUT BUFFER
RJ CAF CHECK ALTERNATE FAMILY
ENDRUN
MODA CON DMUC ADDRESS OF COMPLETION MESSAGE
TOFP SPACE 4,10
** TOFP - TABLE OF FUNCTION PROCESSORS.
TOFP INDEX CON,LOPT+1,( * )
INDEX ,KOPT,( PUD ) K-DISPLAY
INDEX ,COPT,( PID ) CREATE
INDEX ,UOPT,( PUD ) UPDATE
INDEX ,ROPT,( PRF ) REFORMAT
INDEX ,SOPT,( PCS ) CHANGE TO SOURCE
INDEX ,IOPT,( PIO ) INQUIRE
INDEX ,ZOPT,( PUD ) UPDATE (WITH COMMAND DIRECTIVES)
INDEX ,LOPT,( PLO ) LIST
EJECT
CHV SPACE 4,10
** CHV - CHANGE VALIDATION.
CHV RECALL P
RECALL N
SA1 P SWITCH FETS
BX6 X1
SX0 A1
SA6 N
SX1 AN SET PRIMARY BLOCK
FUNC SPBT
SX2 DMSE * SYSTEM ERROR.*
NZ X6,ABT IF ERROR
BX6 X4
NZ X4,ABT IF NOT FOUND
SA6 RDBA ENTRY FOUND FLAG
RJ RDB SET DATA BLOCK
NZ X1,ABT IF NO DATA BLOCK
* PROCESS COMMAND PARAMETERS.
CHV1 SA3 CHVA GET TABLE INDEX
SB4 X3
SB7 TCPVL SET TABLE LIMIT
CHV2 EQ B4,B7,CHV3 IF END OF PARAMETERS
SA5 TCPV+B4
SA1 A5+1
SB4 B4+TCPVE INCREMENT TABLE INDEX
ZR X5,CHV2 IF NOT SELECTED
SX6 B4 SAVE TABLE INDEX
SA6 A3
SB7 X1
RJ ICE EXECUTE PROCESSOR
EQ CHV1 PROCESS NEXT PARAMETER
CHV3 SX7 B1+
SA7 UUFG FLAG USER NAME UPDATE
RJ FFA
EQ PUD2 COMPLETE CHANGE
CHVA CON 0 TABLE INDEX
TCPV SPACE 4,10
** TCPV - TABLE OF COMMAND PARAMETER VALUES.
*
* EACH ENTRY IS TWO WORDS IN LENGTH. FORMAT -
* 60/ VALUE ENTERED FOR DIRECTIVE
* 60/ PROCESSOR ADDRESS
TCPV BSS 0
CHVB CON 0 *UC* PARAMETER
CON ADS ASSEMBLE *UC* PARAMETER
TCPVE EQU *-TCPV ENTRY LENGTH
TCPVL EQU *-TCPV TABLE LENGTH
PSW SPACE 4,10
** PSW - CHANGE PASSWORD.
PSW RECALL P
RECALL N
SA1 P SWITCH FETS
BX6 X1
SX0 A1
SA6 N
SX1 AN SET PRIMARY BLOCK
FUNC SPBT
SX2 DMSE * SYSTEM ERROR.*
NZ X6,ABT IF ERROR
BX6 X4
NZ X4,ABT IF NO HIT
SA6 RDBA ENTRY FOUND FLAG
RJ RDB SET DATA BLOCK
NZ X1,ABT IF NO DATA BLOCK
SA1 OLDPW
MX0 42
SX2 X1
NZ X2,PSW1 IF NO PASSWORD CHANGE
SA3 PWIX GET PASSWORD INDEX INTO DATA BLOCK
SA4 NEWPW
NZ X3,PSW0 IF CHANGING ONLY ONE PASSWORD
SA3 TANB+APWI CHECK OLD PASSWORDS
SA2 TANB+APSW
BX3 X3-X2
BX3 X0*X3
SX2 DMCP * CANNOT CHANGE BOTH PASSWORDS AT ONCE.*
NZ X3,ABT IF OLD PASSWORDS NOT IDENTICAL
SA3 TANB+APWI CHANGE INTERACTIVE PASSWORD
BX7 -X0*X3
BX7 X7+X4
SA7 A3+
SX3 APSW CHANGE BATCH PASSWORD
PSW0 SA3 TANB+X3
BX7 -X0*X3
BX3 X0*X3
BX3 X1-X3
BX7 X7+X4
SX2 DMIP * INCORRECT PASSWORD.*
SA7 A3 SWITCH PASSWORDS
NZ X3,ABT IF OLD PASSWORD INCORRECT
MESSAGE AMPW,5,R PASSWORD CHANGE MESSAGE TO ACCOUNT FILE
PSW1 SA1 XDATE
BX6 X1
SA4 TANB+ASVW
PL X1,PSW2 IF EXPIRATION DATE SPECIFIED
NG X4,PSW4 IF SECURITY ADMINISTRATOR
SA2 PD
SX1 APXT-7777B
SX6 B0+
ZR X1,PSW3 IF NON-EXPIRING DEFAULT EXPIRATION TERM
SX1 APXT DEFAULT EXPIRATION TERM
RJ ADT ADD EXPIRATION TERM TO CURRENT DATE
EQ PSW3 ENTER NEW EXPIRATION DATE
PSW2 SX2 DMSA * SEC ADMIN XD/XT CHANGE NOT VALID.*
NG X4,ABT IF SECURITY ADMINISTRATOR
SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
LX4 59-57
PL X4,ABT IF EXPIRATION DATE CHANGE NOT ALLOWED
PSW3 SA3 PWIX GET PASSWORD INDEX INTO DATA BLOCK
NZ X3,PSW3.1 IF ONLY CHANGING ONE EXPIRATION DATE
SA3 TANB+APXI CHANGE INTERACTIVE EXPIRATION DATE
BX3 X0*X3
BX7 X3+X6 ENTER NEW EXPIRATION DATE
SA7 A3
SX3 APXB SET TO CHANGE BATCH EXPIRATION DATE
PSW3.1 SA3 TANB+X3
BX3 X0*X3
BX7 X3+X6 ENTER NEW EXPIRATION DATE
SA7 A3
SA1 XDATE
NG X1,PSW4 IF EXPIRATION DATE NOT SPECIFIED
MESSAGE AMPX,5,R EXPIRATION DATE CHANGE MESSAGE
PSW4 SX7 B1+ INDICATE NO SERVICE CLASS VALIDATION
SA7 CHFG
SA7 UUFG FLAG USER NAME UPDATE
RJ FFA FINISH USER UPDATE
EQ PUD2 COMPLETE CHANGE
OLDPW CON 1 OLD PASSWORD (ENCRYPTED)
NEWPW CON 1 NEW PASSWORD (ENCRYPTED)
XDATE CON -1 EXPIRATION DATE (PACKED)
PWIX CON APSW PASSWORD INDEX INTO DATA BLOCK
UPR EJECT
UPR SPACE 4,10
** UPR - PROCESS USER PROLOGUE FILE NAME.
UPR RECALL P
RECALL N
SA1 P SWITCH FETS
BX6 X1
SX0 A1
SA6 N
SX1 AN SET PRIMARY BLOCK
FUNC SPBT
SX2 DMSE * SYSTEM ERROR.*
NZ X6,ABT IF ERROR
BX6 X4
NZ X4,ABT IF NO HIT
SA6 RDBA ENTRY FOUND FLAG
RJ RDB SET DATA BLOCK
NZ X1,ABT IF NO DATA BLOCK
SA1 UPFN GET USER PROLOGUE FILE NAME
SA3 TANB+APRN
MX0 42
BX6 X0*X1
BX3 -X0*X3
BX7 X3+X6 MERGE *UP* AND *SP*
SA7 A3
MX0 -6
UPR1 LX6 6 CHECK FILE NAME FOR INCORRECT CHARACTER
BX3 -X0*X6
ZR X3,UPR2 IF FILE NAME CHECK COMPLETE
SX3 X3-1R+
NG X3,UPR1 IF VALID CHARACTER
SX2 DMMA * ERROR IN MODVAL ARGUMENTS.*
EQ ABT ABORT
UPR2 SX7 B1+ INDICATE NO SERVICE CLASS VALIDATION
SA7 CHFG
SA7 UUFG FLAG USER NAME UPDATE
RJ FFA FINISH USER UPDATE
EQ PUD2 COMPLETE CHANGE
TITLE PROCESS COMMAND OPTIONS.
PID SPACE 4,15
** PID - PROCESS INPUT DATA FOR CREATE. (OP = C).
*
* EXIT 1. TO MAIN ROUTINE IF NO OVERFLOW.
* 2. TO UPDATE PROCESSOR IF TABLE OVERFLOW.
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 1, 2, 6, 7.
*
* CALLS DIP, WDB.
*
* MACROS FUNC, SETFS.
PID BSS 0 ENTRY
SX6 B1+ SET CREATE MODE FOR WRITE
SA6 CZ
SA6 FFAD INDICATE CREATION RUN
RJ DIP DIRECTIVE INPUT PROCESSOR
RJ WDB WRITE UNFILLED DATA BLOCK
SX5 N BUILD VALIDUS FILE DIRECTORIES
SA1 RAND
BX0 X1
LX0 60-24
FUNC BLDT
SETFS N,0
SA2 TV CHECK FOR TABLE OVERFLOW
SX6 DMCC * CREATION COMPLETE.*
SA6 MODA
ZR X2,MOD1 IF NONE
MX7 0 CLEAR OVERFLOW
SA7 A2
SA7 CZ CLEAR CREATE MODE FOR WRITE
EQ PUD1 ENTER UPDATE MODE
PUD SPACE 4,20
** PUD - PROCESS UPDATE DATA. (OP = U, K, OR Z).
*
* EXIT TO MAIN ROUTINE FOR NEXT OPTION.
* NOTE - IF MANY USER NAMES ARE CREATED IN THIS MODE,
* LEVEL-1 LINKAGE CAN BE EXTENSIVE AND THEREFORE
* MAKE THIS RUN AND EVERY OTHER SEARCH OF THE
* FILE MODIFIED VERY INEFFICIENT. THIS MODE CAN
* BE ENTERED FROM A *CREATE* RUN IF TABLE
* OVERFLOW OCCURS IN WHICH CASE EXTENSIVE LEVEL-1
* LINKAGE IS QUITE LIKELY.
* * ANY FILE WHERE LEVEL-1 LINKAGE HAS OCCURED
* SHOULD BE REFORMATTED TO ATTEMPT REMOVAL OF THE
* LINKAGE. *
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 1, 2, 6, 7.
* B - 2.
*
* CALLS DIP, SUI.
*
* MACROS FUNC, NORERUN, RECALL.
PUD BSS 0 ENTRY
RECALL P
RECALL N
SA1 N SET FILES FOR UPDATE OPTION
SA2 P
BX6 X1
LX7 X2
SA6 PUDA
SA7 A1+
SA2 OP CHECK OPTION
ZR X2,PUD1 IF K-DISPLAY
NORERUN PREVENT JOB RERUN
PUD1 SX6 B1+ SET UPDATE INDICATORS
SA6 UF
SA6 ABTA
RJ DIP DIRECTIVE INPUT PROCESSOR
PUD2 SX5 N UPDATE VALIDUS DIRECTORY
SA1 RAND
SB2 60-24
LX6 X1,B2
SX0 X5
FUNC UDDT
RJ SUI SAVE USER INDICES
SA1 OP
NZ X1,PUD3 IF NOT K-DISPLAY
ERRNZ KOPT CODE DEPENDS ON VALUE OF K-DISPLAY OPTION
CONSOLE X1 CLEAR K-DISPLAY
PUD3 RECALL N
SA1 PUDA RESTORE FET NAMES
ZR X1,MOD EXIT IF NO SWAP MADE
BX6 X1
SA6 N
EQ MOD EXIT TO MAIN ROUTINE
PUDA CON 0 *N* FILE NAME HOLD
PRF SPACE 4,10
** PRF - PROCESS REFORMAT. (OP = R).
*
* EXIT TO MAIN ROUTINE FOR NEXT OPTION.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 0, 1, 2, 3, 6, 7.
* B - 2, 5, 7.
*
* CALLS CDD, CLN, COD, FFA, GNB, PCE, SNM, SUI, WDB.
*
* MACROS EVICT, FUNC, MESSAGE, READ, READO,
* REWIND, SETFS, SETUI, WRITEC, WRITER.
PRF BSS 0 ENTRY
SX6 DMRC * REFORMAT COMPLETE.*
SA6 MODA SET COMPLETION MESSAGE
EVICT N INITIALIZE NEW FILE
SX0 9 RESERVE 1ST LEVEL 0 PLUS 8 SECTORS
PRF1 WRITER N,R
SX0 X0-1
NZ X0,PRF1 IF MORE SECTORS TO RESERVE
SETFS N,0
SX6 B1 SET INITIAL CALL
MX7 0 CLEAR UPDATE MODE
SA7 UF
SA7 TAUI+TAUIL-1 CLEAR AVAILABLE USER INDICES
SB7 TAUIL-1
PRF2 SA7 A7-B1
SB7 B7-B1
NZ B7,PRF2 IF NOT ALL CLEAR
SX7 PNET SET PARAMETERS FOR *GNB*
SA7 GNBA
PRF3 RJ GNB GET NEXT USER BLOCK
ZR X6,PRF4 IF END OF USER ENTRIES
SX6 -B1 FLAG REFORMAT
SA6 UUFG
RJ FFA FINISH USER NAME
BX6 X6-X6 NOT INITIAL CALL
EQ PRF3 LOOP FOR NEXT USER NAME
PRF4 RJ WDB DUMP REMAINING DATA RECORDS
SA0 B1 RESET BLOCK ADDRESSES
SX7 B1+
MX6 0
SA7 CZ SET CREATE FLAG FOR WRITE
SA6 L.TAB0 CLEAR TABLE 0
SA6 RA0+1 CLEAR LEVEL-0 LINK
SX5 N
FUNC RBAT
SA0 B0+ SORT TABLE
FUNC STBT
SA1 RAND WRITE LEVEL-0 DIRECTORY
SB2 60-24
SX5 N
LX0 X1,B2
FUNC WTBT
* PURGE DELETED USER INDICES.
SA1 OT CHECK ORIGIN TYPE
NZ X1,MOD IF NOT SYSTEM ORIGIN
REWIND U
READ U
PRF5 SA1 PRFC CHECK INDEX
SX1 X1-AUIMX+1
PL X1,PRF7 IF NONE LEFT
SA2 PRFB SHIFT COUNT
SA1 PRFA DELETED INDICES
NZ X2,PRF6 IF PERTINENT DATA PRESENT
SX7 60 RESET SHIFT COUNT
SA7 A2+
READO U UI,S FROM FILE
SA2 PRFD WORD INDEX
SA1 X2+TAUI UI,S USED AFTER REFORMAT
SX7 X2+1
BX1 -X1*X6 UI,S TO BE PURGED
SA7 A2
PRF6 LX6 X1,B1
SA2 PRFC UI
SA3 A2-B1 SHIFT COUNT
SA6 A3-B1 NEW UI,S FOR PURGE
SX7 X3-1 UPDATE SHIFT COUNT
SX6 X2+B1 UPDATE CURRENT UI
SA7 A3
SA6 A2
PL X1,PRF5 IF NO PURGE
SETUI X6
SX1 B1 CHECK LINE COUNT
RJ CLN
SA1 PRFC DUMP UI TO OUTPUT
RJ COD
SA1 PRFE+1
MX0 -36
BX6 -X0*X6
BX1 X0*X1
BX6 X1+X6
SA6 A1
WRITEC O,A1-B1
RJ PCE PURGE CATALOG ENTRIES
SA1 PRFF
SX6 X1+B1
SA6 A1
EQ PRF5 LOOP
PRF7 SA1 PRFF CHECK USER INDICES PURGED
ZR X1,MOD IF NO USER INDICES PURGED
RJ CDD CONVERT COUNT TO DISPLAY
SB2 1RZ
SB5 DMXP
BX1 X4
RJ SNM ENTER VALUE IN MESSAGE
MESSAGE DMXP,3,R * NNNNNN USER INDICES PURGED.*
SX1 3
RJ CLN
WRITEC O,(=1L )
WRITEC O,(=1L )
WRITEC O,DMXP * NNNNNN USER INDICES PURGED.*
SETUI SYUI
RJ SUI SAVE NEW USER INDICES
EQ MOD EXIT TO MAIN ROUTINE
PRFA CON 0 DELETED USER INDICES (FOR PURGE)
PRFB CON 0 SHIFT COUNT
PRFC CON 0 LAST USER INDEX
PRFD CON 0 *TAUI* INDEX
PRFE DIS ,* USER INDEX *
DIS ,*B PURGED.*
PRFF CON 0 COUNT OF USER INDICES PURGED
PCS SPACE 4,10
** PCS - PROCESS CHANGE TO SOURCE. (OP = S).
*
* EXIT TO MAIN ROUTINE FOR NEXT OPTION.
*
* USES X - 1, 6, 7.
* A - 1, 6, 7.
*
* CALLS CDS, CSD, CPS, GNB, SRD.
*
* MACROS SETFS, WRITER, WRITEW.
PCS BSS 0 ENTRY
SX6 B1 SET INITIAL CALL
MX7 0 CLEAR UPDATE MODE
SA7 UF
SX7 PNAT SET PARAMETERS FOR *GNB*
MX1 1
BX7 X7+X1
SA7 GNBA
PCS1 RJ GNB GET NEXT USER BLOCK
ZR X6,PCS2 IF END OF USER ENTRIES
RJ SRD SET RECORD DATA
SA1 TMXB+1
RJ CDS GET BATCH PASSWORD EXPIRATION
SA1 TMXI+1
RJ CDS GET INTERACTIVE PASSWORD EXPIRATION DATE
WRITEW S,TMBS,TMBSL
RJ CSD CONVERT SERVICE CLASS DIRECTIVES
RJ CPS CONVERT PERMISSIONS TO SOURCE
BX6 X6-X6 NOT INITIAL CALL
EQ PCS1 LOOP FOR NEXT BLOCK
PCS2 WRITER S
SETFS S,0
SX6 DMSC * CONVERSION TO SOURCE COMPLETE.*
SA6 MODA
EQ MOD EXIT TO MAIN ROUTINE
PIO SPACE 4,10
** PIO - PROCESS LIMITS.
*
* EXIT TO *ABT* IF ERROR.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
*
* CALLS PLM, RDB, SRD.
*
* MACROS FUNC, RECALL.
PIO BSS 0 ENTRY
RECALL P
RECALL N
SA1 P SWITCH FETS
BX6 X1
SX0 A1
SA6 N
SA2 SSJ=+UIDS SET USER NAME
MX6 42
BX6 X6*X2
SX1 AN
SA6 X1
FUNC SPBT FIND FILE ENTRY
NZ X6,ABT IF ERROR
SX2 DMSE * SYSTEM ERROR.*
BX6 X4
NZ X4,ABT IF NO HIT
SA6 RDBA ENTRY FOUND FLAG
RJ RDB READ DATA BLOCK
NZ X1,ABT IF ERROR
RJ SRD WRITE USER LIMIT DATA TO OUTPUT
SA1 TANB+ACCD
LX6 X1
SA6 TANB+1
RJ PLM PRINT *LIMITS* MESSAGES
SX6 DMIC * INQUIRY COMPLETE.*
SA6 MODA
EQ MOD2 EXIT PROGRAM
PLO SPACE 4,10
** PLO - PROCESS LIST OPTION. (OP = L).
*
* EXIT TO MAIN ROUTINE.
*
* USES A - ALL.
* B - 2.
* X - ALL.
*
* CALLS GNB, WCE.
*
* MACROS ADDWRD, FUNC, READ, READW, RENAME,
* RETURN, REWIND, WRITER, WRITEW.
PLO BSS 0 ENTRY
SX6 B1+ SET INITIAL CALL
SX7 PNAT SET PARAMETERS FOR *GNB*
MX1 1
BX7 X7+X1
SA7 GNBA
PLO1 RJ GNB GET NEXT USER BLOCK
ZR X6,PLO6 IF END OF USER ENTRIES
SA2 LO SET CATALOG INFORMATION IN TABLE
SA1 TANB
SB2 X2
LX1 X1,B2 SET ORDER OF LIST
ADDWRD TAB3,X1
SA1 TANB+ACCD
ADDWRD TAB3,X1
SA1 TV CHECK OVERFLOW
SX6 B0+
ZR X1,PLO1 IF NO OVERFLOW
SA6 A1
BX6 X1
PLO6 SA6 PLOA
REWIND N
READ N
SA0 TAB3 SORT TABLE
FUNC STBT
* MERGE TABLE TO FILE.
SX0 B0+ CLEAR CURRENT ENTRY
PLO7 READW N,TANB,C.TAB3
PLO8 SA2 F.TAB3 COMPARE ENTRIES
SA3 L.TAB3
SA4 TANB
IX3 X0-X3 (X3) = +, END-OF-TABLE
IX2 X2+X0
SA5 X2
NZ X1,PLO12 IF EOR ON FILE
PL X3,PLO11 IF END OF TABLE
NG X4,PLO9 IF NEGATIVE FILE ENTRY
PL X5,PLO10 IF SAME SIGN
EQ PLO11 WRITE FILE ENTRY
PLO9 PL X5,PLO12 IF OPPOSITE SIGNS
PLO10 IX6 X5-X4
NG X6,PLO12 IF FILE ENTRY .GT. TABLE ENTRY
PLO11 WRITEW S,A4,C.TAB3 WRITE FILE ENTRY
EQ PLO7 CONTINUE MERGE
PLO12 PL X3,PLO13 IF END OF MERGE
SA0 X1 SAVE EOR STATUS
WRITEW S,X2,C.TAB3 WRITE TABLE ENTRY
SX1 A0 RESTORE EOR STATUS
SX0 X0+C.TAB3
EQ PLO8 CONTINUE MERGE
PLO13 WRITER S,R
SA5 S
RENAME A5,N SWITCH FILES
BX6 X5 RESTORE FILE NAME
SA6 A5
SA1 PLOA CHECK OVERFLOW
SX6 B0+ CLEAR TABLE
SA6 L.TAB3
NZ X1,PLO1 IF OVERFLOW, GET NEXT ENTRY
REWIND N
READ N
PLO14 READW N,TANB,C.TAB3 GET NEXT ENTRY
NZ X1,PLO15 IF EOR
SA2 LO RESTORE USER AND USER INDEX
SA1 TANB
BX2 -X2
SB2 X2+60
LX6 X1,B2
SA6 A1
RJ WCE WRITE CATALOG ENTRY
EQ PLO14 LOOP
PLO15 SX6 DMLC * CATALOG COMPLETE.*
SA6 MODA
RETURN N
EQ MOD2 RETURN
PLOA CON 0 OVERFLOW FLAG
TITLE DIRECTIVE PROCESSORS.
AAD SPACE 4,10
** AAD - ASSEMBLE ALPHANUMERIC DATA.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (X6) = DATA TO BE STORED IN *TANB*.
* (B3) = 0.
*
* USES A - 3.
* B - 2, 3.
* X - 3, 6.
AAD SUBR ENTRY/EXIT
SA3 DF RIGHT JUSTIFY DATA FIELD
LX3 1
SB2 X3
SB3 B2+B2
SB2 B2+B3
LX6 X5,B2
SB3 B0
EQ AADX RETURN
AAN SPACE 4,15
** AAN - ASSEMBLE USER NAME.
*
* ENTRY STRING BUFFER FILLED.
*
* EXIT (X1) .NE. 0, IF ENTRY TERMINATION.
* (X6) = USER NAME, IF NONZERO.
* (B3) = 0.
* (AN) = LEFT JUSTIFIED USER NAME.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES X - 1, 2, 4, 6.
* A - 1, 2, 6.
* B - 3, 5.
*
* CALLS ACI.
AAN SUBR ENTRY/EXIT
SA2 CS ASSEMBLE CHARACTERS
SA1 CA ACCEPT -*- IN NUMBER
BX6 X2 SUPPRESSION MASK
RJ ACI ASSEMBLE CHARACTERS
SA1 ET SET ENTRY TERMINATION
ZR B6,AAN1 IF ERROR
SB5 B5-1R=
SA2 CBUF GET DATA
BX6 X2
SB3 B0
ZR X2,AAN1 IF NULL USER NAME
ZR B5,AAN1 IF INCORRECT SEPARATOR
SA6 AN STORE
SX4 X4-AINC-1
NG X4,AANX IF SEVEN CHARACTERS OR LESS
AAN1 SB3 ERAN **** ERROR IN USER NAME.
EQ AANX RETURN
AAV SPACE 4,20
** AAV - ASSEMBLE SECURITY VALIDATION PRIVILEGES.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 1, 2, 6, 7.
* B - 3.
* X - 0, 1, 2, 6, 7.
*
* CALLS ACW, CUN.
AAV SUBR ENTRY/EXIT
SA1 DF+3 VALIDATION FILE WORD
SA2 X1+TANB VALIDATION FILE ENTRY
BX7 X2
SA7 AAVA SAVE CURRENT FILE ENTRY
RJ ACW ASSEMBLE CONTROL WORD
GT B3,AAVX IF ERROR
SA1 AAVA
NG X7,AAV1 IF *CSAP* BIT SET
PL X1,AAVX IF *CSAP* BIT NOT SET
RJ CUN CHECK USER NAMES
NZ X1,AAVX IF USER NAMES DO NOT MATCH
SB3 ERSP **** CANNOT DELETE *CSAP* PRIVILEGE.
SA1 AAVA
BX6 X1
SA2 DF+3 VALIDATION FILE WORD
SA6 X2+TANB RETURN OLD PRIVILEGES
EQ AAVX RETURN
* SET NON-EXPIRING PASSWORD AND UNLIMITED SECURITY COUNT
* FOR SECURITY ADMINISTRATOR.
AAV1 MX0 42
SA1 APXB+TANB BATCH EXPIRATION DATE
BX7 X0*X1
SA7 A1 SET BATCH EXPIRATION DATE
SA1 APXI+TANB INTERACTIVE EXPIRATION DATE
BX7 X0*X1
SA7 A1 SET INTERACTIVE EXPIRATION DATE
SA1 AHDS+TANB SET UNLIMITED SECURITY COUNT
MX0 6
LX0 47-59
BX6 -X0*X1
BX6 X0+X1
SA6 A1
EQ AAVX RETURN
AAVA CON 0 OLD VALIDATION PRIVILEGES
ACN SPACE 4,15
** ACN - ASSEMBLE CHARGE NUMBER.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I* PARAMETERS
* FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* USES X - 6.
* A - 6.
* B - 3.
ACN SUBR ENTRY/EXIT
BX6 X5 MOVE ASSEMBLED DATA
SA6 TANB+ACGN
SB3 -B1
EQ ACNX RETURN
ACW SPACE 4,15
** ACW - ASSEMBLE PERMISSION CONTROL WORD.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
* (PCDW) = PERMISSION CONTROL FOR DEFAULT USE.
*
* EXIT (X7) = NEW PERMISSION CONTROL WORD.
* (B3) .LT. 0 IF NO ERROR.
* = ERROR MESSAGE ADDRESS IF ERROR.
*
* USES X - 1, 2, 3, 4, 7.
* A - 0, 1, 2, 3, 4, 7.
* B - 2, 3, 4.
*
* CALLS CDP, SFN, SPB, STB.
ACW SUBR ENTRY/EXIT
SA1 DF+4 SEARCH FOR DIRECTIVE IDENTIFIER
SB2 TPCW
MX2 18
RJ STB SEARCH TABLE
SX2 DMSE * SYSTEM ERROR.*
ZR X3,ABT IF DIRECTIVE IDENTIFIER NOT FOUND
SB3 ERAD * ERROR IN ALPHANUMERIC DATA.*
ZR X5,ACWX IF NO PARAMETER VALUE
SA0 A3 SAVE TABLE ENTRY ADDRESS
SB4 X3 FWA TABLE PERMISSION IDENTIFIERS
LX3 59-30
BX1 X5
PL X3,ACW1 IF NOT BLANK-FILLED TABLE
RJ SFN SPACE FILL NAME
BX1 X6
ACW1 SA2 DF+3 VALIDATION FILE WORD
SA4 X2+TANB VALIDATION FILE ENTRY
SA2 =3LALL
SA3 A0
BX2 X2-X5
NZ X2,ACW3 IF NOT *ALL*
LX3 59-32
PL X3,ACW7 IF *ALL* NOT ALLOWED
RJ CDP CLEAR DEFAULT PERMISSION BITS
SB3 -B1 SET NO ERROR
ACW2 SA1 B4 SET ALL DEFINED PERMISSION BITS
SB4 B4+B1
ZR X1,ACW7 IF END OF TABLE
MX2 42
BX7 X2*X1
BX7 X2-X7
ZR X7,ACW2 IF BIT NOT USED
MX2 -6
BX1 -X2*X1
SB2 X1 SET PERMISSION BIT
SX2 B1
LX2 B2
BX4 X4+X2
EQ ACW2 CONTINUE SETTING DEFINED BITS
ACW3 SX2 A0-TPCW-PCAP
NZ X2,ACW3.0 IF NOT *AAVW* UPDATE
SA2 =3LIAF
BX2 X2-X5
NZ X2,ACW3.0 IF NOT *IAF*
SA2 CVJ
ZR X2,ACW6 IF *J* CONVERSION NOT SPECIFIED
RJ SPB SET *IAF* PERMISSION BIT
SA1 =7HVEIAF
EQ ACW6 SET *VEIAF* PERMISSION BIT
ACW3.0 SX2 A0-TPCW-PCAW
NZ X2,ACW3.1 IF NOT *AACW* UPDATE
SA2 =4LCSAF
BX2 X2-X5
NZ X2,ACW3.1 IF NOT *CSAF*
SA2 CVK
ZR X2,ACW6 IF *K* CONVERSION NOT SPECIFIED
RJ SPB SET *CSAF* PERMISSION BIT
SA1 =4LCRAF
EQ ACW6 SET *CRAF* PERMISSION BIT
ACW3.1 SA2 =3LNUL
BX2 X2-X5
NZ X2,ACW6 IF NOT *NUL*
LX3 59-31
PL X3,ACW7 IF *NUL* NOT ALLOWED
RJ CDP CLEAR DEFAULT PERMISSION BITS
SB3 -B1 SET NO ERROR
SX1 A0-TPCW-PCAW
NZ X1,ACW7 IF NOT *AACW* UPDATE
SA1 CVC
ZR X1,ACW4 IF *C* CONVERSION NOT SPECIFIED
SA1 =4LCNRD
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
ACW4 SA1 CVD
ZR X1,ACW5 IF *D* CONVERSION NOT SPECIFIED
SA1 =4LCOPR
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
ACW5 SA1 CVF
ZR X1,ACW5.1 IF *F* CONVERSION NOT SPECIFIED
SA1 =4LCSAF
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
SA1 CVK
ZR X1,ACW5.1 IF *K* CONVERSION NOT SPECIFIED
SA1 =4LCRAF
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
ACW5.1 SA1 CVG
ZR X1,ACW5.2 IF *G* CONVERSION NOT SPECIFIED
SA1 =4LCOPI
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
ACW5.2 SA1 CVH
ZR X1,ACW5.3 IF *H* CONVERSION NOT SPECIFIED
SA1 =4LCACA
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
ACW5.3 SA1 CVK
ZR X1,ACW7 IF *K* CONVERSION NOT SPECIFIED
SA1 =4LCSAU
RJ SPB SET PERMISSION BIT
PL B3,ACW7 IF ERROR
SA1 =4LCRAU
ACW6 RJ SPB SET PERMISSION BIT
ACW7 BX7 X4 WRITE PERMISSION CONTROL WORD
SA7 A4
EQ ACWX RETURN
PCDW SPACE 4,10
** PCDW - PERMISSION BIT WORD TO CONTROL USE OF DEFAULT.
*
* BITS APPLY TO PERMISSION CONTROL DIRECTIVES DEFINED
* BY POSITION IN *TPCW* (BIT 0 = TABLE ENTRY 0,
* BIT 1 = TABLE ENTRY 1, ETC.). BIT CLEAR IMPLIES
* FIRST OCCURANCE OF DIRECTIVE WILL CLEAR DEFAULT
* SELECTION. BIT SET IMPLIES DIRECTIVE SHOULD TOGGLE
* SPECIFIED BIT ONLY.
PCDM EQU 0 PERMISSION CONTROL DEFAULT MASK
PCDW CON PCDM PERMISSION CONTROL DEFAULT WORD
TPCW SPACE 4,15
** TPCW - TABLE OF PERMISSION CONTROL WORDS.
*
*T 18/ID,12/OPT,6/SHF,6/NB,18/TPB
* ID DIRECTIVE IDENTIFIER.
* OPT OPTIONS = 9/0, 1/ALL, 1/NUL, 1/SPF.
* ALL = SET IF *ID=ALL* DIRECTIVE ALLOWED.
* NUL = SET IF *ID=NUL* DIRECTIVE ALLOWED.
* SPF = SET IF SPACE FILL NEEDED FOR PERMISSION
* IDENTIFIER.
* SHF SHIFT FOR MASK.
* NB NUMBER OF PERMISSION BITS.
* TPB FWA TABLE OF PERMISSION IDENTIFIERS.
TPCW BSS 0
LOC 0
PCAW DTPC AW,TAWI,60D,0,(ALL,NUL) ACCESS WORD
PCAP DTPC AP,TNAV,NNAB,ALAB+1,(ALL,NUL,SPF) APPLICATIONS
DTPC SO,TRTP,TRTPL,TRTPL,(NUL) SHELL PROGRAM
DTPC SAV,TAPV,TAPVL-TAPVS,0,(ALL,NUL) SECURITY CONTROL
DTPC SAL,TALB,TALBL,TALBS,(ALL,NUL) ACCESS LEVEL
DTPC SAC,TACC,TACCL,TACCS,(ALL,NUL) ACCESS CATEGORIES
DTPC VM,TSVM,TSVML,TSVML,(ALL,NUL) SERVICE CLASS
LOC *O
TPCWL EQU *-TPCW TABLE LENGTH
CON 0 END OF TABLE
ADS SPACE 4,15
** ADS - ASSEMBLE USER DEFAULT SERVICE CLASS.
*
* ENTRY (CBUF) = ASSEMBED CHARACTERS FOR INPUT DIRECTIVE.
* (CHVB) = DATA IF *CHVAL* COMMAND.
*
* EXIT USER DEFAULT SERVICE CLASS IN *TANB* ALTERED.
* (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS, IF PROCESSING
* INPUT DIRECTIVE.
* IF *CHVAL* COMMAND, EXIT TO *ABT* WITH (X2) = ERROR
* MESSAGE ADDRESS.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 4, 5, 6.
* B - 2, 3, 4, 5.
*
* CALLS STB.
ADS SUBR ENTRY/EXIT
SB3 CBUF SET ADDRESS OF DATA
SA1 CHFG
ZR X1,ADS1 IF NOT *CHVAL* COMMAND
SB3 CHVB SET ADDRESS OF DATA
MX0 -36
SA1 B3+ CHECK NUMBER OF CHARACTERS
BX3 -X0*X1
SX2 DMCA * ERROR IN CHVAL ARGUMENTS.*
NZ X3,ABT IF TOO MANY CHARACTERS
ADS1 SA1 B3 CHECK FOR VALID ORIGIN TYPE
MX2 12
SB2 TOSC
BX1 X2*X1
RJ STB SEARCH FOR VALID ORIGIN TYPE
SB4 A3-TOSC SET ORIGIN TYPE INDEX
NZ X3,ADS2 IF FOUND
SB2 TSOT
RJ STB SEARCH FOR VALID ORIGIN TYPE
SB4 A3-TSOT SET ORIGIN TYPE INDEX
NZ X3,ADS2 IF FOUND
SX2 DMOT * UNDEFINED ORIGIN TYPE.*
SA1 CHFG
NZ X1,ABT IF *CHVAL* COMMAND
SB3 EROT **** INCORRECT ORIGIN TYPE.
EQ ADSX RETURN
ADS2 SB4 B4+B4 CALCULATE SHIFT FOR ORIGIN TYPE
SB2 B4+B4
SB4 B4+B2
SA1 B3 CHECK FOR VALID SERVICE CLASS
LX1 12
BX1 X2*X1
NZ X1,ADS3 IF SERVICE CLASS SPECIFIED
LX3 12
BX1 X2*X3 USE DEFAULT SERVICE CLASS FOR ORIGIN
ADS3 SB2 TSVM
RJ STB SEARCH FOR VALID SERVICE CLASS
NZ X3,ADS4 IF FOUND
SX2 DMUS * UNDEFINED SERVICE CLASS.*
SA1 CHFG
NZ X1,ABT IF *CHVAL* COMMAND
SB3 ERSC **** INCORRECT SERVICE CLASS.
EQ ADSX RETURN
ADS4 SA4 TANB+ASCV GET VALIDATION WORD
SA1 CHFG
ZR X1,ADS5 IF NOT *CHVAL* COMMAND
SB5 A3-TSVM CHECK IF USER VALIDATED
SA5 TSCV+B5
BX1 X4*X5
SX2 DMVC * INCORRECT SERVICE CLASS.*
ZR X1,ABT IF NOT VALIDATED
ADS5 MX0 6 SET NEW USER DEFAULT
SA4 TANB+ASC1
LX3 -18
BX3 X0*X3 GET SUFFIX FOR SERVICE CLASS
LX4 B4
SB4 -B4 RESET SHIFT COUNT
SB4 B4+60
BX4 -X0*X4
BX6 X4+X3
LX6 B4
SA6 A4
SB3 -B1 SET NO ERROR, DATA ALREADY SET IN FIELD
EQ ADSX RETURN
AEA SPACE 4,15
** AEA - ASSEMBLE EQUIVALENCED ARGUMENTS.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) = 0.
*
* USES A - 1, 2.
* B - 2, 3.
* X - 1, 2, 6.
*
* CALLS STB.
AEA SUBR ENTRY/ EXIT
SA1 DF
BX1 -X1
SB2 X1+B1
MX2 60
BX1 X5
RJ STB SEARCH FOR IDENTIFIER
SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
ZR X3,AEAX IF NOT FOUND
SA2 DF SET EQUIVALENCED VALUE
SX6 A3-B1
IX6 X2+X6
SB3 B0 SET DATA FIELD
EQ AEAX RETURN
AEP SPACE 4,15
** AEP - ASSEMBLE ENCRYPTED PASSWORD.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
* (X1) = 0 IF EXACT CHARACTER COUNT ASSEMBLED.
*
* EXIT (X6) = DATA TO BE STORED IN *TANB*.
* (B3) = 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 5.
* B - 3, 4.
* X - 0, 2, 3, 5, 6.
AEP SUBR ENTRY/EXIT
SB4 10
SB3 ERND **** ERROR IN NUMERIC DATA.
NZ X1,AEPX IF NOT EXACT CHARACTER COUNT
MX0 -6
BX6 X6-X6
AEP1 LX5 6
BX2 -X0*X5
SX3 X2-1R0
NG X3,AEPX IF ALPHA CHARACTER
SX2 X2-1R8
PL X2,AEPX IF NOT OCTAL DIGIT
LX6 3
BX6 X6+X3
SB4 B4-B1
NZ B4,AEP1 IF MORE CHARACTERS TO PROCESS
SA5 A5+B1 GET SECOND WORD TO BE PROCESSED
SB4 4
SX2 A5-CBUF-1
ZR X2,AEP1 IF SECOND WORD TO BE PROCESSED
SB3 B0
EQ AEPX RETURN
AMX SPACE 4,15
** AMX - ASSEMBLE MAXIMUM RESOURCE LIMITS.
*
* ENTRY (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT ALL RESOURCE LIMITS SET TO MAXIMUM VALUES.
* (B3) = -1, IF NO ERROR.
* (B3) = ERROR MESSAGE ADDRESS IF *ALL* NOT SPECIFIED.
*
* USES X - 0, 1, 2, 5, 6, 7.
* A - 1, 5, 6, 7.
* B - 3.
*
* MACROS FUNC.
AMX SUBR ENTRY/EXIT
SA1 =3LALL
BX2 X5-X1
SA5 TINE-1 INITIALIZE TABLE SEARCH
SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
NZ X2,AMXX IF *ALL* NOT ENTERED
SB3 -1
AMX1 SA5 A5+B1 GET NEXT TABLE ENTRY
MX0 18
SA1 =2LRL
BX2 X0*X5
BX2 X1-X2
ZR X2,AMXX IF END OF ENTRIES TO PROCESS
LX5 36
BX6 -X0*X5 ADDRESS OF MAXIMUM VALUE
SA2 X6
BX6 X2 MAXIMUM VALUE
MX0 -6
LX5 6
BX7 -X0*X5 UPPER BIT OF FIELD
SA7 DF+1
LX5 6
BX7 -X0*X5 SIZE OF FIELD
SA7 A7+B1
LX5 6
BX7 -X0*X5 FIRST WORD ADDRESS OF FIELD
SA7 A7+B1
SX3 TANB
FUNC SDFT SET DATA IN FIELD
EQ AMX1 CHECK NEXT ENTRY
AND SPACE 4,20
** AND - ASSEMBLE NUMERIC DATA.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (X6) = DATA TO BE STORED IN *TANB*.
* (B3) = 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 1.
* B - 3, 7.
* X - 1.
*
* CALLS DXB.
AND SUBR ENTRY/EXIT
SB7 B1 BASE DECIMAL
RJ DXB CONVERT DIGITS
NZ X4,AND1 IF ERROR IN ASSEMBLY
SA1 DF GET MAXIMUM VALUE
SB3 B0
ZR X1,ANDX IF INFINITE
IX1 X1-X6
PL X1,ANDX IF WITHIN MAXIMUM
AND1 SB3 ERND **** ERROR IN NUMERIC DATA.
EQ ANDX RETURN
API SPACE 4,15
** API - ASSEMBLE PERSONAL IDENTIFICATION.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (A5) = CBUF.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* USES A - 1, 6.
* B - 3.
* X - 1, 6.
API SUBR ENTRY/EXIT
BX6 X5
SA6 TANB+APID
SA1 A5+B1
SB3 -B1
BX6 X1
SA6 TANB+API2
EQ APIX RETURN
APN SPACE 4,15
** APN - ASSEMBLE PROJECT NUMBER.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* USES A - 1, 6.
* B - 3.
* X - 1, 6.
APN SUBR ENTRY/EXIT
BX6 X5
SA6 TANB+APJN
SA1 A5+B1
SB3 -B1
BX6 X1
SA6 TANB+APJ1
EQ APNX RETURN
APW SPACE 4,15
** APW - ASSEMBLE PASS WORD.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 1, 2, 3, 4, 6, 7.
* B - 3.
* X - ALL.
*
* CALLS ADT, EPW, VPW.
APW5 SA1 OP
NZ X1,APWX IF NOT K-DISPLAY
SA1 DF+4
SB3 ERPU **** PASSWORDS UPDATED.
ZR X1,APWX IF BOTH PASSWORDS UPDATED
LX1 12
SX2 X1-2RPB
SB3 ERBU **** BATCH PASSWORD UPDATED.
ZR X2,APWX IF ONLY BATCH PASSWORD UPDATED
SB3 ERIU **** INTERACTIVE PASSWORD UPDATED.
APW SUBR ENTRY/ EXIT
BX7 X5
RJ VPW VERIFY PASSWORD
ZR B2,APW1 IF PASSWORD IS OF REQUIRED LENGTH
SA1 RDBA CHECK IF OLD USER NAME
SB3 ERIP **** INCORRECT PASSWORD.
NZ X1,APWX IF NEW USER NAME
SB3 ERPI **** INCORRECT PASSWORD IGNORED.
EQ APWX RETURN
* ENCRYPT PASSWORD.
APW1 RJ EPW ENCRYPT PASSWORD
BX5 X6
* SAVE ENCRYPTED PASSWORD. SET EXPIRATION DATE TO
* DEFAULT WHEN CREATING PASSWORD FOR A NEW USER.
APW2 SA3 DF+3 GET PREVIOUS VALUE
SA4 X3+TANB
SX2 B0+
SX1 APXT-7777B DEFAULT PASSWORD EXPIRATION TERM
ZR X1,APW3 IF NON-EXPIRING DEFAULT EXPIRATION TERM
SA3 ASVW+TANB SECURITY VALIDATION WORD
NG X3,APW3 IF SECURITY ADMINISTRATOR
SA2 PD GET PACKED DATE
SX1 APXT DEFAULT PASSWORD EXPIRATION TERM
ZR X1,APW3 IF NO DEFAULT EXPIRATION TERM
RJ ADT ADD TERM TO DATE
APW3 BX6 X5+X2 COMBINE PASSWORD WITH EXPIRATION DATE
SA6 A4+
APW4 SA1 DF+4 FUNCTION IDENTIFIER
SA2 =2LPW
IX7 X1-X2
SB3 -B1
NZ X7,APW5 IF NOT *PW* FUNCTION IDENTIFIER
SA7 A1+ CLEAR FUNCTION IDENTIFIER
SX7 APWI
SA7 DF+3 SET ADDRESS
EQ APW2 PROCESS INTERACTIVE PASSWORD
AED SPACE 4,10
** AED - ASSEMBLE EXPIRATION DATE.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* (PARAMETERS FROM *TINE* TABLE).
* (X5) = (CBUF) = ASSEMBLED DATA.
* (X1) = 0 IF EXACT CHARACTER COUNT ASSEMBLED.
*
* EXIT (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 3.
*
* CALLS VDT.
*
* MACROS FUNC.
AED SUBR ENTRY / EXIT
BX2 X2-X2
SA3 =1L* CHECK FOR NONEXPIRING PASSWORD
IX6 X3-X5
ZR X6,AED1 IF NONEXPIRING PASSWORD
SB3 ERND **** ERROR IN NUMERIC DATA.
NZ X1,AEDX IF NOT EXACT CHARACTER COUNT
BX1 X5
RJ VDT DATE TIME CHECK
SB3 ERND **** ERROR IN NUMERIC DATA.
NG X6,AEDX IF ERROR IN CONVERSION
SA2 TANB+ASVW SECURITY VALIDATION WORD
SB3 ERXD **** CANNOT ALTER XD/XT OF *CSAP*
NG X2,AEDX IF SECURITY ADMINISTRATOR
AED1 SA6 AEDA SAVE EXPIRATION DATE
SX3 TANB
FUNC SDFT SET DATA IN FIELD
SA1 DF+4 FUNCTION IDENTIFIER
SA2 =2LXD
IX6 X1-X2
SB3 -B1
NZ X6,AEDX IF NOT *XD* IDENTIFIER
SA6 A1 CLEAR IDENTIFIER
SX7 APWI
SA7 DF+3 ADDRESS FOR INTERACTIVE PASSWORD
SA1 AEDA
BX6 X1
EQ AED1 ALSO SET INTERACTIVE PASSWORD EXPIRATION
AEDA CON 0 EXPIRATION DATE
ASC SPACE 4,15
** ASC - ASSEMBLE SECURITY COUNT.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (X6) = DATA TO BE STORED IN TABLE.
* (B3) = 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* CALLS AND.
ASC SUBR ENTRY/EXIT
RJ AND ASSEMBLE NUMERIC DATA
GT B0,B3,ASCX IF ERROR
SA1 ASVW+TANB
PL X1,ASCX IF NOT SECURITY ADMINISTRATOR
SB3 ERCS **** CANNOT ALTER SEC. COUNT OF *CSAP*.
EQ ASCX RETURN
ATE SPACE 4,10
** ATE - ASSEMBLE EXPIRATION TERM.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES X - 1, 2, 3, 6, 7.
* A - 1, 2, 6, 7.
* B - 3, 7.
*
* CALLS ADT, DXB.
*
* MACROS FUNC.
ATE3 SB3 ERAD **** ERROR IN NUMERIC DATA.
ATE SUBR ENTRY/EXIT
SA1 =1L*
IX6 X1-X5
ZR X6,ATE1 IF NON-EXPIRING PASSWORD
SB7 B1 SET DECIMAL BASE
RJ DXB DISPLAY TO BINARY CONVERSION
NZ X4,ATE3 IF ERROR IN CONVERSION
SA2 DF MAXIMUM VALUE ALLOWED
IX2 X2-X6
BX1 X6
NG X2,ATE3 IF VALUE OUT OF RANGE
SX6 X6-7777B
ZR X6,ATE1 IF NON-EXPIRING PASSWORD
SA2 TANB+ASVW SECURITY VALIDATION PRIVILEGES
SB3 ERXD **** CANNOT ALTER XD/XT OF *CSAP*
NG X2,ATEX IF SECURITY ADMINISTRATOR
SA2 PD GET PACKED DATE
BX6 X2
ZR X1,ATE1 IF IMMEDIATELY EXPIRING PASSWORD
RJ ADT ADD TERM VALUE TO PACKED DATE
ATE1 SX3 TANB SET DATA FIELD
SA6 ATEA SAVE EXPIRATION DATE
FUNC SDFT SET DATA IN FIELD
SA1 DF+4 FUNCTION IDENTIFIER
SA2 =2LXT
IX6 X1-X2
SB3 -B1
NZ X6,ATEX IF NOT *XT* IDENTIFIER
SA6 A1+ CLEAR IDENTIFIER
SX7 APWI
SA7 DF+3 INTERACTIVE PASSWORD ADDRESS
SA2 ATEA GET EXPIRATION DATE
BX6 X2
EQ ATE1 ALSO SET INTERACTIVE PASSWORD EXPIRATION
ATEA CON 0 EXPIRATION DATE
AUX SPACE 4,15
** AUX - ASSEMBLE USER INDEX.
*
* EXIT (B3) = 0.
* (X6) = DATA TO BE STORED IN *TANB*.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 2, 3.
* B - 3.
* X - 0, 2, 3.
*
* CALLS AND, CUI.
AUX1 SB3 ERND **** ERROR IN NUMERIC DATA.
AUX SUBR ENTRY/EXIT
RJ AND ASSEMBLE NUMERIC DATA
GT B3,AUXX IF ERROR
ZR X6,AUX1 IF USER INDEX ZERO
SA2 DF+4
SA3 =2LUI
BX3 X2-X3
NZ X3,AUXX IF NOT *UI* DIRECTIVE
SA3 SI
NZ X3,AUXX IF *SI* SELECTED
SX0 B1 CHECK FOR DUPLICATE USER INDEX
RJ CUI
PL X7,AUXX IF NOT DUPLICATE
SB3 ERUI **** DUPLICATE USER INDEX
EQ AUXX RETURN
CUI SPACE 4,20
** CUI - CHECK USER INDEX.
*
* ENTRY (X6) = USER INDEX.
* (TAUI) = ASSIGNED USER INDICES.
* (X0) = 0, IF USER INDEX TO BE SET IN TAUI.
* (X0) .NE. 0, IF USER INDEX TO BE CHECKED FOR
* DUPLICATION.
*
* EXIT (X7) .LT. 0, IF DUPLICATE USER INDEX FOUND FOR
* CHECK USER INDEX REQUEST.
*
* USES X - 0, 1, 2, 3, 7.
* A - 1, 7.
* B - 2, 7.
CUI SUBR ENTRY/ EXIT
SX7 X6-AUIMX
PL X7,CUIX IF SPECIAL USER INDEX (SYSTEM/LIBRARY)
SX1 60 FIND UI BIT
SX2 X6-1
IX2 X2/X1 (X2) = WORD
SX1 60
BX3 X2
IX1 X1*X3
IX3 X6-X1
SB2 X3-1 (B2) = SHIFT COUNT
SA1 X2+TAUI
LX7 X1,B2
NZ X0,CUIX IF USER INDEX NOT TO BE SET
MX0 1 SET USER INDEX IN TAUI
SB7 -60
BX1 X0+X7
SB2 B2+B7
AX7 X1,B2
SA7 A1+
EQ CUIX RETURN
DAN SPACE 4,15
** DAN - DELETE USER NAME.
*
* ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
* PARAMETERS FROM *TINE* TABLE.
* (X5) = (CBUF) = ASSEMBLED DATA.
*
* EXIT (B3) .LT. 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 1, 3, 6, 7.
* B - 3.
* X - 0, 1, 2, 3, 6, 7.
*
* CALLS CUN.
*
* MACROS MESSAGE, SEARCH.
DAN1 RJ CUN CHECK USER NAMES
SB3 ERDU **** CANNOT DELETE USER RUNNING MODVAL.
ZR X1,DANX IF USER NAMES MATCH
SA3 OP CHECK OPTION
SA1 EF
NZ X3,DAN2 IF NOT K-DISPLAY
NZ X1,DAN2 IF ERROR FLAG SET
SA1 =10H DELETING
BX7 X1
SA7 MSGA
MESSAGE A7,1
DAN2 SX6 B1 SET DELETE FLAG
SB3 -B1
SA6 DANA
DAN SUBR ENTRY / EXIT
SA1 OP CHECK OPTION
SX2 DMSE * SYSTEM ERROR.*
SX1 X1-COPT
ZR X1,ABT IF CREATE
SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
SA1 AN
BX2 X5-X1
NZ X2,DANX IF INCORRECT USER NAME
MX0 42
SEARCH TAB1,X1,M
NZ X2,DAN1 IF MATCH
SA1 =10H NAME
MX7 0
BX6 X1
SA7 DANA
SA6 ERNF+2
SB3 ERNF **** USER NAME NOT FOUND.
EQ DANX RETURN
DANA CON 0
DIP SPACE 4,15
** DIP - DIRECTIVE INPUT PROCESSOR.
*
* EXIT IF END OF INPUT DIRECTIVES OR OVERFLOW.
*
* USES X - ALL.
* A - 1, 2, 3, 5, 6, 7.
* B - 3, 6, 7.
*
* CALLS AAN, ACI, CUN, CPR, FFA, IDE, PAG, RDB, SFN, SRD.
*
* MACROS FUNC, MESSAGE, MOVE, SEARCH.
DIP SUBR ENTRY/ EXIT
SA1 ET CHECK ENTRY TERMINATION
NZ X1,DIP10 IF SET (CREATE PERFORMED)
* FIND NEXT -/-.
DIP1 SA1 KIA SET INITIAL SCREENS
SX7 MSGA CLEAR MESSAGE LINE AFTER INPUT
SA7 M1
SX7 INPA SET KEYBOARD INPUT LINE
SA7 IL
MX0 24
BX6 X0*X1
SX5 DSA
BX6 X5+X6
SA6 A1
SA2 CS SUPPRESS BLANKS
MX1 0
BX6 X2
RJ ACI ASSEMBLE CHARACTERS
SB3 ERAN **** ERROR IN USER NAME.
ZR B6,DIP10 IF ENTRY TERMINATION
SA1 OP CHECK OPTION
NZ X1,DIP5 IF NOT K-DISPLAY
DIP2 SX7 B0 CLEAR COMMAND FLAGS
MX0 42
SA7 DIPC
SA7 DIPD
SA7 ET
SA7 EF
SA7 DANA
ZR X4,DIP1 IF NO CHARACTERS ASSEMBLED
SA1 CBUF
BX6 X1
* FIND NEXT COMMAND FROM K-DISPLAY.
SA1 DIPB-1 COMMAND TABLE
DIP3 SA1 A1+B1
BX2 X1*X0
ZR X1,DIP4 IF END OF TABLE
BX2 X2-X6
NZ X2,DIP3 IF NO MATCH
SX7 B1 SET FLAG
SA7 X1
EQ DIP10 PROCESS USER NAME
DIP4 SA1 =0LEND CHECK FOR K-DISPLAY TERMINATION COMMANDS
SA2 =0LSTOP
BX1 X1-X6
BX2 X2-X6
ZR X1,DIPX IF *END*
ZR X2,DIPX IF *STOP*
SB3 ERFE **** FORMAT ERROR.
DIP5 RJ IDE INPUT DATA ERROR
EQ DIP1 SEARCH FOR -/-
* CLEAN UP CURRENT USER ENTRY.
DIP6 SA2 OP CHECK FOR K-DISPLAY INHIBITORS
NZ X2,DIP21 IF NOT K-DISPLAY
SB6 B7+5
PL B6,DIP7 IF NOT PAGING COMMAND
SX3 -B7
RJ PAG
EQ DIP22 PROCESS NEXT DIRECTIVE
DIP7 SX6 2
SB7 B7+4
SA6 ET
NG B7,DIPX IF *STOP*
SA1 EF INQUIRE ONLY FLAG
SX6 B7
BX6 X1+X6
SA6 EF INHIBIT USER UPDATE IF *DROP*
ZR B7,DIP8 IF NOT *DROP*
SA1 =10HINQUIRING
BX6 X1
SA6 MSGA
EQ DIP9 FINISH FORMER USER NAME
DIP8 SA5 APSW+TANB CHECK BATCH PASSWORD
RJ CPR
NZ B3,DIP8.1 IF REQUIRED AND NOT ENTERED
SA5 APWI+TANB CHECK INTERACTIVE PASSWORD
RJ CPR
ZR B3,DIP9 IF ENTERED
DIP8.1 RJ IDE PROCESS ERROR
SA1 OP
ZR X1,DIP22 IF K-DISPLAY
DIP9 RJ FFA FINISH FORMER USER ENTRY
SA1 TV
NZ X1,DIPX IF OVERFLOW
SA1 MSGA+1 SET COMPLETED MESSAGE
SA2 A1-B1
BX6 X1
SA1 DIPF
SA6 A2
BX7 X1-X2
SA7 A6+1
DIP10 SA2 ET
NG X2,DIPX IF EOF
SX2 X2-2
ZR X2,DIP1 IF K-DISPLAY *END* OR *DROP*
SX6 B0+ CLEAR FILE POINTERS
SA6 ET ENTRY TERMINATION
SA6 AN USER NAME
SA6 M1 RETAIN K-DISPLAY STATUS MESSAGE
RJ AAN ASSEMBLE USER NAME
GT B3,DIP20 IF ERROR
NZ X1,DIP20 IF ENTRY TERMINATION
SA6 DIPA+1 SET NAME IN MESSAGES
BX1 X6
RJ SFN
SA6 DSAN
SA1 =10H CREATING PRESET MESSAGE
BX6 X1
SA6 DIPA
R= X6,PCDM CLEAR DEFAULT PERMISSION BITS IF SPECIFIED
SX7 B1+ INDICATE NEW USER
SA6 PCDW
* PRESET USER NAME ENTRY.
MOVE ARBS,TODV,TANB SET DEFAULT VALUES
SA2 UF CHECK MODE
ZR X2,DIP17 IF NOT UPDATE
SX1 AN SET PRIMARY BLOCK
SX0 N
FUNC SPBT
NZ X6,ABT IF ERROR, AND (X2) = MESSAGE
BX6 X4 SET ENTRY FOUND FLAG
SA6 RDBA
ZR X4,DIP13 IF EXACT HIT
SA1 OP CHECK K DISPLAY COMMANDS
SA2 DIPD *U* K-OPTION
NZ X1,DIP12 IF NOT K-DISPLAY
SA1 EF *I* K-OPTION
SA3 DANA *D* K-OPTION
BX2 X1+X2
BX2 X2+X3
ZR X2,DIP12 IF NOT UPDATE ONLY
SB3 ERNF **** USER NAME NOT FOUND.
DIP11 SA1 AN PROCESS *U* OR *C* K-COMMAND ERROR
RJ SFN
LX6 -6
SA6 B3+2
RJ IDE
MX4 0
EQ DIP2 FIND NEXT COMMAND
DIP12 SA5 RAND CHECK AVAILABLE ROOM IN CHAINED BLOCK
ZR X5,DIP19 IF NONE
EQ DIP15 READ BLOCK
* READ LEVEL-2 BLOCK TO TABLE.
DIP13 SA1 OP
SA2 DIPC *C* K-OPTION
NZ X1,DIP14 IF NOT K-DISPLAY
SB3 ERFD **** USER NAME ALREADY EXISTS.
NZ X2,DIP11 IF CREATE ONLY
DIP14 SA2 OP CHECK OPTION
SB3 ERDA **** DUPLICATE USER NAME.
SX2 X2-COPT
ZR X2,DIP21 IF CREATE
DIP15 RJ RDB READ LEVEL-2 BLOCK
SA2 =10H UPDATING
NZ X1,DIP19 IF NOT EXACT HIT
SX6 B1+ SET USER NAME UPDATE FLAG
SA6 UUFG
SA1 EF CHECK ERROR FLAG FOR INQUIRE
ZR X1,DIP16 IF NOT INQUIRE
SA2 =10HINQUIRING
DIP16 BX6 X2
SA1 DANA CHECK FOR *D* K-OPTION
SX7 B1+B1
SA6 DIPA
MX6 TPCWL PREVENT CLEARING OF PERMISSION BITS
LX6 TPCWL
SA6 PCDW
ZR X1,DIP19 IF NOT PRESENT
RJ CUN CHECK USER NAME
SB3 ERDU **** CANNOT DELETE USER RUNNING MODVAL.
ZR X1,DIP5 IF SAME USER
SA7 ET SET K-DISPLAY ENTRY TERMINATION
SA1 =10H DELETING SET STATUS MESSAGE
BX6 X1
SA6 DIPA
MOVE 2,DIPA,MSGA
EQ DIP9 DELETE USER NAME
* CHECK DUPLICATE USER NAME.
DIP17 SA1 AN
MX0 42
SEARCH TAB1,X1,M
NZ X2,DIP18 IF MATCH
SEARCH TAB2,X6,M SEARCH FOR DUPLICATE USER IN LEVEL-2
ZR X2,DIP19 IF NO MATCH
DIP18 SB3 ERDA **** DUPLICATE USER NAME.
RJ IDE
DIP19 MESSAGE DIPA,1 SET MESSAGES
MOVE 2,DIPA,MSGA
SA1 KIA SET DISPLAY CONTROL WORD
MX0 24
BX6 X0*X1
SX5 DSB SET PAGE ONE LEFT
BX6 X5+X6
SX5 DSG SET PAGE ONE RIGHT
LX5 18
BX6 X5+X6
SA6 A1+
SX6 INPB SET KEYBOARD INPUT LINE
SA6 IL
SA1 PAGA RESET PAGE TABLE HEADER
LX1 30
MX0 42
BX1 X0*X1
SX6 B1
BX1 X1+X6 SET PAGE ONE LEFT
LX1 30
BX1 X0*X1
BX6 X1+X6 SET PAGE ONE RIGHT
SA6 A1
EQ DIP22 PROCESS CODE IDENTIFIERS
DIP20 SA1 OP
ZR X1,DIP5 IF K-DISPLAY
DIP21 RJ IDE INPUT DATA ERROR
SA1 ET
NZ X1,DIP8 IF ENTRY TERMINATION
* PROCESS CODE IDENTIFIERS.
DIP22 SA1 OP CHECK OPTION
NZ X1,DIP23 IF NOT K-DISPLAY
RJ SRD SET RECORD DISPLAY FOR K-DISPLAY
DIP23 SX0 I SCAN FOR CODE IDENTIFIER
SA1 CK ALLOW K-DISPLAY PAGING CHARACTERS
SX3 TKDE
SX6 TINE
FUNC SCIT
NZ X1,DIP24 IF NO ERROR IN IDENTIFIER
SB3 ERID **** ERROR IN IDENTIFIER.
NZ B5,DIP25 IF SEPARATOR NOT *=*
MX1 0
BX6 X6-X6
RJ ACI SKIP OVER PARAMETER
SB3 ERID **** ERROR IN IDENTIFIER.
SX1 B0+
EQ DIP25 DISPLAY ERROR
DIP24 ZR B6,DIP8 IF ENTRY TERMINATION
NG B7,DIP6 IF K-DISPLAY COMMAND ENTERED
DIP25 SA3 OP
NZ X3,DIP26 IF NOT K-DISPLAY
SA2 EF
ZR X2,DIP26 IF NOT INQUIRE OPTION
SB3 ERIQ **** UPDATE NOT ALLOWED BY INQUIRE.
EQ DIP21 DISPLAY ERROR MESSAGE
DIP26 ZR X1,DIP21 IF ERROR IN IDENTIFIER
RJ PDD PROCESS DIRECTIVE DATA
GT B3,DIP21 IF ERROR
SA1 ET CHECK FOR ENTRY TERMINATION
ZR X1,DIP22 IF NONE
EQ DIP8 CLEAN UP USER NAME
DIPA DIS ,* CREATING USER.*
DIPB CON 0LI+EF K-DIPLAY OPTION TABLE
CON 0LC+DIPC
CON 0LU+DIPD
CON 0LDEL+DANA
CON 0
DIPC CON 0 K-CREATE ONLY FLAG
DIPD CON 0 K-UPDATE ONLY FLAG
DIPF CON 4RING &4RED. CONSTANT
IDE SPACE 4,10
** IDE - INPUT DATA ERROR.
*
* ENTRY (B3) = ERROR MESSAGE ADDRESS.
*
* EXIT ERROR MESSAGE WRITTEN.
*
* USES X - 1, 2, 3, 5, 6, 7.
* A - 1, 2, 3, 6, 7.
* B - 2.
*
* CALLS CLN.
*
* MACROS MOVE, WRITEC, WRITEH, WRITES, WRITEW.
IDE4 SA2 KIA GET K-DISPLAY STATUS WORD
SX6 MSGA
SX3 X2-DSA
ZR X3,IDE5 IF INITIAL SCREEN
SA2 PAGA GET MESSAGE AREA FROM PAGE TABLE
LX2 30
SB2 X2
SA2 A2+B2 CURRENT LEFT PAGE
AX2 18
SX6 X2+ MESSAGE AREA
SA6 M2
IDE5 MOVE 4,X5,X6
IDE SUBR ENTRY/ EXIT
SA2 OP CHECK OPTION
SX5 B3+B1
SA1 B3 SET ERROR FLAG
ZR X2,IDE4 IF K-DISPLAY
SA3 EF UPDATE ERROR FLAG
SA2 EMSF
BX6 X1+X3
BX7 X1+X2
SA6 A3
SA7 A2
NZ X1,IDE1 IF ERROR FLAG SET
SX6 B1+ SET WARNING MESSAGE FLAG
SA6 WMSF
IDE1 SA3 EL CHECK ERROR LIST FLAG
SX1 3
ZR X3,IDE2 IF DIRECTIVES LISTED
SX1 4
IDE2 RJ CLN CHECK LINE AVAILABLE
SA1 EL CHECK ERROR LIST FLAG
ZR X1,IDE3 IF DIRECTIVES LISTED
SA1 SB LIST ERRONEOUS DIRECTIVE
SA3 SM GET BUFFER LENGTH
IX3 X3-X1
WRITES O,X1-1,X3+1
IDE3 WRITEH O,X5,4 WRITE ERROR MESSAGE
WRITEW O,(=10H USER ),1
WRITEC O,AN,1 WRITE USER NAME
WRITEH O,(=1H ),1
EQ IDEX RETURN
* ERROR MESSAGES TO OUTPUT FILE OR K-DISPLAY.
ERAN CON 1
DIS 4, **** ERROR IN USER NAME.
ERDA CON 1
DIS 4, **** DUPLICATE USER NAME.
ERFD CON 1
DIS 4, **** USER NAME ALREADY EXISTS.
ERFE CON 1
DIS 4, **** FORMAT ERROR.
ERID CON 1
DIS 4, **** ERROR IN IDENTIFIER.
ERIQ CON 0
DIS 4, **** UPDATE NOT ALLOWED BY INQUIRE.
ERND CON 1
DIS 4, **** ERROR IN NUMERIC DATA.
ERNF CON 1
DIS 4, **** USER NAME NOT FOUND.
ERAD CON 1
DIS 4, **** ERROR IN ALPHANUMERIC DATA.
ERUI CON 1
DIS 4, **** USER INDEX PREVIOUSLY DEFINED.
ERUN CON 1
DIS 4, **** NO USER INDICES AVAILABLE.
ERIP CON 1
DIS 4, **** INCORRECT PASSWORD.
ERPI CON 0
DIS 4, **** INCORRECT PASSWORD IGNORED.
ERPR CON 1
DIS 4, **** PASSWORD REQUIRED.
EROD CON 0
CUE$ IFEQ CUE$,2
DIS 4, **** DIRECTIVE IGNORED.
CUE$ ELSE
DIS 4, **** OBSOLETE DIRECTIVE IGNORED.
CUE$ ENDIF
ERDU CON 1
DIS 4, **** CANNOT DELETE USER RUNNING MODVAL.
ERSP CON 1
DIS 4, **** CANNOT DELETE *CSAP* PRIVILEGE.
ERXD CON 1
DIS 4, **** CANNOT ALTER XD/XT OF *CSAP*.
EROT CON 0
DIS 4, **** INCORRECT ORIGIN TYPE.
ERSC CON 0
DIS 4, **** INCORRECT SERVICE CLASS.
ERPU CON 0
DIS 4, **** PASSWORDS UPDATED.
ERBU CON 0
DIS 4, **** BATCH PASSWORD UPDATED.
ERIU CON 0
DIS 4, **** INTERACTIVE PASSWORD UPDATED.
ERCS CON 0
DIS 4, **** CANNOT ALTER SEC. COUNT OF *CSAP*.
OBS SPACE 4,10
** OBS - PROCESS OBSOLETE DIRECTIVE.
*
* RETURNS ERROR STATUS TO ISSUE INFORMATIVE DIAGNOSTIC
* MESSAGE FOR OBSOLETE DIRECTIVE.
*
* EXIT (B3) = ERROR MESSAGE ADDRESS.
OBS SUBR ENTRY/EXIT
CUE$ IFEQ CUE$,2
SB3 EROD **** DIRECTIVE IGNORED.
CUE$ ELSE
SB3 EROD **** OBSOLETE DIRECTIVE IGNORED.
CUE$ ENDIF
EQ OBSX RETURN
PAG SPACE 4,10
** PAG - PAGE K-DISPLAY.
*
* ENTRY (X3) = RIGHT JUSTIFIED PAGING CHARACTER.
*
* EXIT FWA OF NEXT DISPLAY SET IN *KIA*.
* (IL) = KEYBOARD INPUT DISPLAY LINE OF CURRENT PAGE.
*
* USES X - 1, 2, 3, 4, 6.
* A - 1, 2, 6.
* B - 2.
*
* CALLS PGD.
*
* MACROS PAGT.
PAG SUBR ENTRY/EXIT
SA1 KIA
SX2 X1-DSA
ZR X2,PAGX IF INITIAL DISPLAY
SX2 PAGA SET ENTRY CONDITIONS FOR *PGD*
BX4 X4-X4
LX3 54
SX1 KIA
RJ PGD PAGE DISPLAY
SA2 PAGA UPDATE INPUT LINE
AX2 30
SB2 X2
SA2 A2+B2 CURRENT PAGE ENTRY
AX2 36
SX6 X2+
SA6 IL
EQ PAGX RETURN
PAGA PAGT DSB,MSGB,INPB LEFT SCREEN PAGE 1
PAGT DSC,MSGC,INPC LEFT SCREEN PAGE 2
PAGT DSD,MSGD,INPD LEFT SCREEN PAGE 3
PAGT DSE,MSGE,INPE LEFT SCREEN PAGE 4
PAGT DSF,MSGF,INPF LEFT SCREEN PAGE 5
PAGT
PAGT DSG RIGHT SCREEN PAGE 1
PAGT DSH RIGHT SCREEN PAGE 2
PAGT DSJ RIGHT SCREEN PAGE 3
PAGT *
PGD HERE REMOTE BLOCK FROM *COMCDCP*
PDD SPACE 4,15
** PDD - PROCESS DIRECTIVE DATA.
*
* ENTRY (B7) = PROCESSING ROUTINE INDEX INTO *TOPS*.
*
* EXIT (B3) = 0.
*
* ERROR (B3) = ERROR MESSAGE ADDRESS.
*
* USES A - 0, 1, 2, 3, 5.
* B - 3, 5, 7.
* X - 1, 2, 3, 5.
*
* CALLS ACI, ICE.
*
* MACROS FUNC.
PDD SUBR ENTRY/EXIT
SA0 TOPS+B7 SET TABLE ENTRY ADDRESS
SA3 A0
BX1 X1-X1
PL X3,PDD1 IF NO SPECIAL CHARACTERS
SA1 CA ALLOW ASTERISK IN DATA
PDD1 SA2 CS SUPPRESS BLANKS
BX6 X2
RJ ACI ASSEMBLE DATA
SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
ZR B6,PDDX IF EOF OR NEW USER NAME
SB5 B5-1R=
ZR B5,PDDX IF INCORRECT SEPARATOR
SA3 A0 GET *TOPS* ENTRY
SB7 X3 PROCESSOR ADDRESS
SX1 10 CHECK FOR MAXIMUM OF 10 CHARACTERS
LX3 59-58
NG X3,PDD2 IF DEFAULT CHARACTER COUNT
SA1 DF ALLOW ONLY *M* CHARACTERS
ZR X1,PDD3 IF UNLIMITED CHARACTER COUNT
PDD2 IX1 X1-X4
NG X1,PDDX IF INCORRECT CHARACTER COUNT
PDD3 SA5 CBUF GET ASSEMBLED CHARACTERS
RJ ICE EXECUTE PROCESSOR
NZ B3,PDDX IF ERROR OR DATA ALREADY SET
SX3 TANB SET DATA IN FIELD
FUNC SDFT
SB3 B0 NO ERROR
EQ PDDX RETURN
TOPS SPACE 4,10
** TOPS - TABLE OF PROCESSING SUBROUTINES FOR INPUT DATA.
*
*T 1/A,1/D,40/0,18/PROC
* A SET IF ASTERISK ALLOWED IN IDENTIFIER.
* D SET IF VALIDATE WITH DEFAULT CHARACTER COUNT (10D).
* PROC INPUT DATA PROCESSING ROUTINE ADDRESS.
TOPS BSS 0
LOC 0
PMX DTPS AMX ASSEMBLE MAXIMUM RESOURCE LIMITS
PPW DTPS APW ASSEMBLE PASSWORD
PEP DTPS AEP ASSEMBLE ENCRYPTED PASSWORD
PAD DTPS AAD ASSEMBLE ALPHANUMERIC DATA
POB DTPS OBS PROCESS OBSOLETE DIRECTIVE
PND DTPS AND,(DCC) ASSEMBLE NUMERIC DATA
PUI DTPS AUX,(DCC) ASSEMBLE USER INDEX
PPC DTPS ACW ASSEMBLE PERMISSION CONTROL
PDA DTPS DAN,(ASK) DELETE USER NAME
PEA DTPS AEA,(DCC) ASSEMBLE EQUIVALENCED ARGUMENTS
PCN DTPS ACN,(ASK) ASSEMBLE CHARGE NUMBER
PPN DTPS APN,(ASK) ASSEMBLE PROJECT NUMBER
PDS DTPS ADS ASSEMBLE USER DEFAULT SERVICE CLASS
PTE DTPS ATE,(ASK,DCC) ASSEMBLE EXPIRATION TERM
PED DTPS AED,(ASK) ASSEMBLE EXPIRATION DATE
PAV DTPS AAV ASSEMBLE ACCESS PRIVILEGES
PSC DTPS ASC ASSEMBLE SECURITY COUNT
PIW DTPS API ASSEMBLE PERSONAL IDENTIFICATION
LOC *O
TITLE VALIDATION FILE MANIPULATION.
FFA SPACE 4,15
** FFA - FINISH FORMER USER NAME.
*
* ENTRY USER NAME BLOCK ENTERED.
* (TANB) = DATA BLOCK INFORMATION.
* (UUFG) .LT. 0, IF REFORMAT OPTION.
* .EQ. 0, IF USER NAME CREATE OR DELETE.
* .GT. 0, IF USER NAME UPDATE.
*
* EXIT NO ACTION IS TAKEN IF ERRORS EXIST. OTHERWISE -
* LEVEL-2 ENTRY MADE IN FILE.
* RANDOM INDEX SET IN LEVEL-1 ENTRY (TAB1).
* TAB2 RESET.
*
* USES X - ALL.
* A - 1, 2, 3, 4, 5, 6, 7.
* B - 2, 3.
*
* CALLS AUI, CUI, IAM, IDE, WDB.
*
* MACROS ALLOC, MOVE, SEARCH.
FFA9 SA2 UF CHECK MODE
SX6 B0+
SA6 RA2
ZR X2,FFA10 IF NOT UPDATE
SA6 L.TAB1 CLEAR TABLES
SA6 L.TAB2
SA6 FFAB
FFA10 RJ IAM ISSUE ACCOUNT FILE MESSAGE
BX6 X6-X6 CLEAR KEY LOCATIONS
BX7 X7-X7
SA6 CW CONTROL WORD AREA
SA6 A6+B1
SA7 A6+B1
SA6 DANA DELETE FLAG
SA7 EF ERROR FLAG
SA6 RA2+1 LEVEL-2 LINKAGE
SA7 DIPC K-CREATE ONLY FLAG
SA6 A7+1 K-UPDATE ONLY FLAG
SA6 UUFG USER NAME UPDATE FLAG
FFA SUBR ENTRY/EXIT
SA3 EF CHECK INPUT ERRORS
NZ X3,FFA9 IF ERRORS
CUE$ IFEQ CUE$,2
* ENSURE THAT THE CORRECT SHELL PROGRAM NAME AND THE CORRECT
* SHELL OPTIONS ARE SET FOR THE CD2000 USER ENVIRONMENT.
SA1 AN GET USER NAME
MX0 42
BX1 X0*X1
SA2 =6LCDCCHS
BX5 X1-X2
NZ X5,FFA11 IF USER NAME IS NOT *CDCCHS*
SA1 FFAE
EQ FFA13 SET *RMSHELL* AS SHELL PROGRAM NAME
FFA11 SA1 TANB+AUIN GET USER INDEX
MX0 -18
BX5 -X0*X1
SX1 X5-AUIMX
PL X1,FFA12 IF USER INDEX ABOVE *AUIMX*
SA1 FFAF
EQ FFA13 SET *CDSHELL* AS SHELL PROGRAM NAME
FFA12 SA1 FFAG SET NULL SHELL PROGRAM NAME
FFA13 BX6 X1 SET SHELL PROGRAM NAME AND OPTIONS
SA6 TANB+ASHN
CUE$ ENDIF
SA1 TANB+ACCN
MX0 -18
BX5 -X0*X1
SX1 X5-AUIMX
NG X1,FFA0 IF USER INDEX NOT ABOVE *AUIMX*
SA1 FFAC SET ALL SERVICE CLASS VALIDATION FLAGS
BX6 X1
SA6 TANB+ASCV
EQ FFA0.5 CHECK FOR DELETES
* ENSURE THAT THE VALIDATION BITS FOR THE USER DEFAULT SERVICE
* CLASSES ARE SET IN THE VALIDATION MASK.
FFA0 SA3 CHFG
SA1 TANB+ASCV
NZ X3,FFA0.3 IF NO CHECK TO BE MADE
SA5 TANB+ASC1 GET SERVICE CLASS VALIDATION WORDS
LX5 11-59
SA3 TOSC-1
MX0 6 SEARCH TABLE FOR SERVICE CLASS ENTRY
LX0 18
FFA0.1 SB7 B0 INITIALIZE TABLE INDEX
SA3 A3+B1
LX5 6
SB3 X3
ZR X3,FFA0.3 IF END OF TABLE
NG B3,FFA0.1 IF ORIGIN TYPE NOT ALLOWED
FFA0.2 SA2 TSVM+B7
ZR X2,FFA0.1 IF END OF TABLE
SA4 TSCV+B7 GET MASK BIT
SB7 B7+B1 INCREMENT TABLE INDEX
BX3 X2-X5
BX3 X0*X3
NZ X3,FFA0.2 IF NO MATCH
BX1 X4+X1 SET BIT IN VALIDATION MASK
EQ FFA0.1 PROCESS NEXT USER DEFAULT
FFA0.3 SA2 UUFG
NZ X2,FFA0.4 IF NOT NEW USER NAME
SA3 TANB+AHDT CHECK IF *DI* SERVICE CLASS SHOULD BE SET
MX0 -6
LX3 -18
BX4 -X0*X3
ZR X4,FFA0.4 IF NO DETACHED JOBS ALLOWED
SX2 DIMK SET *DI* SERVICE CLASS VALID
BX1 X1+X2
FFA0.4 BX7 X1 UPDATE VALIDATION MASK
SA7 A1+
* PROCESS DELETES.
FFA0.5 SA1 AN CHECK BLOCK IN LEVEL-2 TABLE
MX0 42
SEARCH TAB2,X1,M
SA1 F.TAB2 SAVE RELATIVE POSITION IN TABLE
BX5 X2
IX7 X7-X1
SA3 DANA CHECK DELETED USER NAME
SA7 FFAA
ZR X3,FFA2 IF NO DELETE
ZR X2,FFA1 IF NO MATCH
MX6 0 CLEAR LEVEL-2 ENTRY
BX7 X2 SAVE USER NAME IN PASSWORD AREA
SA6 A2
SA7 A2+B1
SA1 AN
MX0 42
SEARCH TAB1,X1,M
FFA1 BX1 X2
SX2 DMSE * SYSTEM ERROR.*
MX6 0
ZR X1,ABT IF NO MATCH
SA6 X7+
EQ FFA8 COMPLETE DELETE
* SET DATA BLOCK IN LEVEL-2 TABLE.
FFA2 SA4 OP CHECK OPTION
SX4 X4-ROPT
SA1 TANB+AUIN SET USER NAME AND USER INDEX
ZR X4,FFA3 IF REFORMAT
SA3 AN
MX0 42
BX1 -X0*X1
BX3 X0*X3
IX6 X1+X3
SA3 TANB+ACMD SET LAST MOD DATE
SA4 PD
BX3 X0*X3
BX7 X3+X4
SA7 A3
SA6 A1
NZ X1,FFA3 IF USER INDEX ALREADY ASSIGNED
RJ AUI
NG X0,FFA4 IF USER INDEX ASSIGNED
RJ IDE
EQ FFA10 RETURN
FFA3 BX0 X0-X0 SET USER INDEX
SX6 X1
RJ CUI
FFA4 NZ X5,FFA6 IF MATCH
SA2 L.TAB2
SX2 X2-ABLB
NG X2,FFA5 IF BLOCK NOT FULL
BX6 X6-X6
SA6 A2 CLEAR TABLE
FFA5 ALLOC TAB2,C.TAB2
FFA6 SA3 FFAA SET UPDATED BLOCK
SA1 F.TAB2
IX3 X3+X1
MOVE ARBS,TANB,X3
* SET USER NAME.
SA1 AN SET FOR LEVEL-1 UPDATE
SX2 DMSE * SYSTEM ERROR.*
SA3 FFAB-1
SB3 ARBB
SB2 B0+
BX6 X1
FFA7 SB2 B2+B1
SA3 A3+B1
GT B2,B3,ABT IF TABLE OVERFLOWED
NZ X3,FFA7 IF ENTRY USED
SA6 A3+
EQ B2,B3,FFA8 IF TABLE FULL
SA1 UF CHECK MODE
ZR X1,FFA10 IF NOT UPDATE
FFA8 RJ WDB WRITE DATA BLOCK
EQ FFA10 RETURN
FFAA CON 0 HOLD TAB2 ENTRY
FFAB BSSZ ARBB+1 HOLD USER NAMES FOR RANDOM ADDRESS
FFAC VFD 36/0,12/A2MK,12/A1MK VALIDATION MASK FOR *ALL*
FFAD CON 0 CREATION RUN FLAG
CUE$ IFEQ CUE$,2
FFAE VFD 42/0LRMSHELL,11/0,7/13B
FFAF VFD 42/0LCDSHELL,11/0,7/13B
FFAG VFD 42/0,11/0,7/12B
CUE$ ENDIF
GAE SPACE 4,15
** GAE - GET USER ENTRY.
*
* ENTRY (X4) = USER TO BE SEARCHED FOR.
* (A0) = ADDRESS TO START SEARCH.
* (GAEA) = ENTRY COUNT.
*
* EXIT IF ENTRY FOUND.
* TO *ABT* IF NOT.
*
* USES X - 1, 2, 3, 5, 6.
* A - 1, 3, 5, 6.
* B - 3, 4, 5, 7.
GAE3 SA3 B3+B7 MOVE LOOP
BX6 X3
SA6 TANB+B7
SB7 B7+1
LT B7,B4,GAE3 IF NOT ALL MOVED
GAE SUBR ENTRY/ EXIT
SA1 GAEA GET ENTRY COUNT
ZR X1,GAE2 IF NO ENTRIES
SX2 ARBS WORDS/ ENTRY
SB3 A0 FWA
SB4 X2 INCREMENT
IX2 X2*X1 WORDS IN BLOCK
SB7 B0
SB5 X2+B3 LIMIT
MX1 42 MASK
SA5 B3 FIRST WORD
GAE1 BX5 X1*X5
BX6 X5-X4
ZR X6,GAE3 IF HIT
SB3 B3+B4
SA5 B3
LT B3,B5,GAE1 IF MORE TO SEARCH
GAE2 SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
EQ ABT
GAEA BSS 1 ENTRY COUNT
GNB SPACE 4,15
** GNB - GET NEXT DATA BLOCK.
*
* ENTRY (X6) = 1 IF INITIAL CALL.
* (X6) = 0 IF NOT INITIAL CALL.
* (GNBA) = LEVEL-1 BLOCK FUNCTION IN BITS 0-17 AND
* BIT 59 SET IF TO CLEAR LEVEL-1 TABLE.
*
* EXIT (X6) = 0 IF END OF USER ENTRIES.
* (TANB) = LEVEL-2 DATA BLOCK USER ENTRY.
*
* USES X - 0, 1, 2, 3, 5, 6, 7.
* A - 0, 1, 2, 6, 7.
* B - 4.
*
* MACROS FUNC, MESSAGE, READ, READW, RECALL.
GNB5 SA1 AN CHECK USER NAME
SA2 TANB+AUIN
MX0 42
BX3 X0*X2
BX1 X1-X3
SX6 X2
NZ X1,GNB3 IF NO MATCH
ZR X6,GNB4 IF NO USER INDEX
GNB SUBR ENTRY/EXIT
ZR X6,GNB2 IF NOT INITIAL CALL
SA6 RA0+1 SET INITIAL LEVEL-0 RANDOM ADDRESS
GNB1 SX0 P
SA0 B0+
FUNC PNAT PICK NEXT LEVEL-0 BLOCK
ZR X6,GNBX IF END OF USER ENTRIES
LX6 X3
BX7 X7-X7
SA1 GNBA
SA6 RA1+1
PL X1,GNB2 IF NOT TO CLEAR LEVEL-1 TABLE
SA7 L.TAB1 CLEAR LEVEL-1 TABLE
GNB2 RECALL P
SA1 P+1
SX6 X1
SA6 A1+B1
SA6 A6+B1
SA0 B1
SX0 P
SX5 N
SA1 GNBA GET LEVEL-1 BLOCK FUNCTION
FUNC X1
ZR X6,GNB1 IF END OF BLOCK
RECALL P
SA2 A3-B1 SET LEVEL-2 ENTRY USER NAME
BX6 X2
SA6 AN
SX6 B1+ SET LEVEL-2 RANDOM ADDRESS
LX6 29
BX6 X3+X6
SA6 P+6
READ P
READW P,CW,1
FUNC CCWT CRACK CONTROL WORD
SB4 B4-2
NZ B4,GNB4 IF LEVEL NUMBER WRONG
READW P,TANB,B2-B1
GNB3 READW P,TANB,ARBS
ZR X1,GNB5 IF TRANSFER COMPLETE
GNB4 MESSAGE DML2,3 * LEVEL-2 DATA BASE ERROR.*
EQ GNB2 LOOP FOR NEXT BLOCK
GNBA CON 0 LEVEL-1 BLOCK FUNCTION AND CLEAR FLAG
RDB SPACE 4,15
** RDB - READ DATA BLOCK.
*
* ENTRY (X5) = RANDOM ADDRESS OF DATA BLOCK.
* (RDBA) .NE. 0, IF NOT EXACT HIT.
*
* EXIT DATA BLOCK READ.
* USER ENTRY SET IN *TANB* IF EXACT HIT.
* (X1) .NE. 0, IF NOT EXACT HIT.
* (X2) = ERROR MESSAGE.
*
* USES A - ALL.
* B - 4.
* X - 1, 2, 3, 4, 5, 6, 7.
*
* CALLS GAE.
*
* MACROS ALLOC, FUNC, READ, READO, READW, RECALL.
RDB SUBR ENTRY/ EXIT
RECALL P
RECALL N
SX7 B1 READ LEVEL-2 BLOCK
LX7 29
BX6 X7+X5
BX7 X5
SA6 N+6
SA7 RA2
MX6 0
SA6 A7+B1
READ N
READO N GET CONTROL WORD
SA6 CW
FUNC CCWT
SB4 B4-B1 CHECK LEVEL NUMBER
SX6 B5
SA6 GAEA
SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
NE B1,B4,ABT IF NOT 2
ALLOC TAB2,B3
READO N
READO N
SA2 F.TAB2
READW N,X2,B3 GET BLOCK
SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
NZ X1,ABT IF TRANSFER INCOMPLETE
SA4 AN
SA1 N+2 CHECK WORDS LEFT IN BUFFER
SA3 F.TAB2
SA5 A1+B1
SA0 X3
BX1 X1-X5
NZ X1,ABT IF WORD COUNT NOT EXACT
* SET DATA BLOCK.
SA1 RDBA CHECK HIT
NZ X1,RDBX IF NOT EXACT
RJ GAE GET USER ENTRY
MX1 0 SET STATUS
EQ RDBX RETURN
RDBA CON 1 BLOCK FOUND FLAG
WDB SPACE 4,15
** WDB - WRITE DATA BLOCK.
*
* ENTRY (TAB2) = USER ENTRIES IN LEVEL-2 BLOCK.
* (FFAB) = USER NAMES IN LEVEL-2 BLOCK.
*
* EXIT LEVEL-2 BLOCK WRITTEN TO FILE.
* *TAB2*, *FFAB*, *RAND*, *RA2*, UPDATED APPROPRIATELY.
*
* USES X - 0, 1, 4, 5, 6, 7.
* A - 0, 1, 4, 5, 6, 7.
* B - 5, 7.
*
* MACROS ALLOC, FUNC, MESSAGE, SEARCH.
WDBBE EQU ARBB*ARBS DATA WORDS IN FULL LEVEL-2 BLOCK
WDB8 MX6 0 CLEAR USER ENTRY
SA6 A4
SA6 FFAB CLEAR LEVEL-1 USER NAME
WDB9 SX6 B0+ CLEAR RANDOM ADDRESS POINTER
SA6 RA2+1
WDB SUBR ENTRY/ EXIT
SA1 L.TAB2 SET FULL BLOCK FLAG
SX6 X1-WDBBE
SA6 WDBB
MX0 0 WRITE LEVEL-2 BLOCK
R= A0,TAB2
SX5 N
FUNC WTBT
* UPDATE LEVEL-1.
SA4 FFAB INITIALIZE SEARCH
WDB1 MX0 42
ZR X4,WDB4 IF NO USER NAME
SEARCH TAB1,X4,M
MX6 0
SA4 A4
SA6 A4
BX6 X4
SA1 UF CHECK MODE
SA6 WDBA
ZR X1,WDB2 IF NOT UPDATE
NZ X2,WDB8 IF ENTRY ALREADY EXISTS EXIT
WDB2 SA1 F.TAB1 PRESERVE RELATIVE ADDRESS
IX7 X7-X1
SB7 X7
SB5 A4
NZ X2,WDB3 IF ENTRY ALREADY EXISTS
ALLOC TAB1,C.TAB1
WDB3 SA1 F.TAB1
SA4 WDBA
SA5 RA2+1
BX6 X4
LX7 X5
SA6 B7+X1
SA7 A6+B1
SA4 B5+1
EQ WDB1 LOOP FOR NEXT USER
WDB4 SA1 WDBB SET CURRENT AVAILABLE DATA RECORD
SA4 RA2+1
MX6 0
ZR X1,WDB5 IF FULL
BX6 X4
WDB5 SA1 DANA CHECK DELETE
NZ X1,WDB6 IF DELETE
SA6 RAND
WDB6 SA1 UF CHECK MODE
ZR X1,WDBX IF NOT UPDATE
SA0 TAB1 TABLE NUMBER
FUNC STBT SORT TABLE
SA1 L.TAB1 CHECK INDEX BLOCK LINKAGE
SX1 X1-ABLI-1
NG X1,WDB7 IF NO LINKAGE
SA1 DML1 * LEVEL-1 INDEX BLOCKS LINKED.*
ZR X1,WDB7 IF ALREADY DISPLAYED
MESSAGE A1,3,R ISSUE MESSAGE
SX6 B0+
SA6 DML1
WDB7 R= A0,TAB1 WRITE TABLE
MX0 0
SX5 N
FUNC WTBT
EQ WDB9 CLEAR RANDOM ADDRESS AND EXIT
WDBA BSS 1 USER TO UPDATE
WDBB CON 0 AVAILABLE DATA BLOCK FLAG
TITLE SOURCE CONVERSION SUBROUTINES.
ADP SPACE 4,10
** ADP - ADD PARENS.
*
* ENTRY (X6) = 6 CHARACTERS, RIGHT-JUSTIFIED, TO BE
* ENCLOSED BY PARENS.
*
* EXIT (X7) = 6 CHARACTERS ENCLOSED BY PARENS.
*
* USES X - 1, 2, 7.
* A - 1.
ADP SUBR ENTRY/EXIT
BX2 X6
LX2 24
MX1 36
BX2 X1*X2 ISOLATE UPPER 6 CHARACTERS
SA1 =4R) (
BX7 X1+X2 ADD PARENS
LX7 42 REPOSITION CHARACTERS
EQ ADPX RETURN
AOC SPACE 4,10
** AOC - ALTERNATE OCTAL CONVERSION.
*
* ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
* (X1) = DATA FIELD RIGHT JUSTIFIED.
*
* EXIT (X6) = FIRST WORD OF CONVERTED NUMBER.
* (X7) = SECOND WORD OF CONVERTED NUMBER.
*
* USES A - 2, 4.
* B - 2, 3.
* X - 1, 2, 4, 7.
*
* CALLS WOD.
AOC SUBR ENTRY/EXIT
RJ WOD
SA4 A0 GET WORD 1 OF ENTRY
LX4 59-30
PL X4,AOCX IF NOT MULTIPLE WORD RESULT
LX4 24-59+30
MX2 -6
BX2 -X2*X4 GET NUMBER OF CHARACTERS IN MULTIPLE WORD
MX1 1
SB2 X2-10
SB2 B2+B2
SB3 B2+B2
SB2 B3+B2
SB2 B2-B1
AX1 B2
BX7 X1*X7 MASK OFF UNUSED CHARACTERS
SA2 =10H
BX2 -X1*X2 BLANK FILL REMAINDER OF WORD
BX7 X7+X2
EQ AOCX RETURN
APC SPACE 4,10
** APC - APPLICATION PERMISSIONS CONVERSION FOR DISPLAY.
*
* ENTRY (TANB+AAVW) = APPLICATION PERMISSION WORD.
*
* EXIT APPLICATION PERMISSION PAGE OF K-DISPLAY SET.
*
* USES X - 2, 3, 4, 5, 6, 7.
* A - 3, 4, 5, 6.
* B - 3, 4, 5, 7.
APC SUBR ENTRY/EXIT
SA4 TANB+AAVW GET APPLICATION PERMISSIONS
SB3 59
SA5 TNAV-1 APPLICATION BIT POSITIONS AND NAMES
SB7 DSAP+1 INITIALIZE K-DISPLAY POINTER
MX2 -12
MX7 42
APC1 SA5 A5+B1
ZR X5,APCX IF END OF APPLICATION TABLE
BX3 -X2*X5
NG X5,APC1 IF SPARE APPLICATION BIT
SB5 X3 ACCESS BIT NUMBER
SB4 B3-B5
LX3 X4,B4 POSITION ACCESS BIT
BX6 X7*X5 APPLICATION NAME
SB4 =10HOFF
PL X3,APC2 IF APPLICATION NOT PERMITTED
SB4 =10HON
APC2 SA6 B7+B1 SET APPLICATION NAME
SA3 B4
BX6 X3 SET ON/OFF STATUS
SA6 B7
SB7 B7+3
EQ APC1 PROCESS NEXT APPLICATION
CAV SPACE 4,15
** CAV - CALCULATE ACTUAL VALUE.
*
* ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
* (X1) = INDEX VALUE TO BE CONVERTED TO ACTUAL VALUE.
*
* EXIT (X3) = 0 IF NO ACTUAL VALUE CONVERSION REQUIRED.
* ACTUAL VALUE STORED IN LIMITS MESSAGE.
* ACTUAL VALUE IN PARENS STORED AT K-DISPLAY ADDRESS +1.
*
* USES A - 2, 4, 5, 6, 7.
* B - 3, 4, 7.
* X - ALL.
*
* CALLS ADP, CDD, COD, ICE, INDEX CONVERSION PROCESSORS.
CAV SUBR ENTRY/EXIT
SA4 A0 GET 1ST WORD OF ENTRY
MX0 -6
LX4 -18
BX3 -X0*X4
ZR X3,CAVX IF NO ACTUAL VALUE CONVERSION
SA2 A0+2 GET 3RD WORD OF ENTRY
AX2 36
SB7 X2 PROCESSOR ADDRESS
AX2 18
SB4 X2 SHIFT VALUE
SB3 X3
LX4 59-32+18-60
RJ ICE CALCULATE ACTUAL VALUE
SA2 =10H
BX6 X2
LX7 X2
PL X4,CAV1 IF NOT ZERO SYSTEM DEFAULT CASE
ZR X1,CAV4 IF SYSTEM DEFAULT VALUE
CAV1 NG X1,CAV4 IF UNLIMITED
LX1 B4
EQ B3,B1,CAV2 IF OCTAL CONVERSION
RJ CDD CONVERT ACTUAL VALUE TO DECIMAL DISPLAY
EQ CAV3 ADD PARENS
CAV2 RJ CON CONVERT ACTUAL VALUE TO OCTAL DISPLAY
CAV3 RJ ADP ADD PARENS
SA5 A0+B1
AX5 36
ZR X5,CAV4 IF NO LIMITS MESSAGE
SA6 X5+5 ENTER ACTUAL VALUE IN LIMITS MESSAGE
CAV4 SA5 A0+B1
AX5 18
SX5 X5+
ZR X5,CAVX IF NO K-DISPLAY FIELD
SA7 X5+1
EQ CAVX RETURN
CDS SPACE 4,15
** CDS - CONVERT DATE TO SOURCE.
*
* ENTRY (A1) = ADDRESS OF DATE.
* (X1) = DATE IN FORM * YY/MM/DD.*.
*
* EXIT DATE STORED IN FORM *YYMMDD*.
* DATE RESET TO * IF NONEXPIRING.
*
* USES X - 1, 2, 3, 6, 7.
* A - 2, 3, 7.
* B - 2.
CDS SUBR ENTRY/EXIT
SA2 =10H *
SA3 =10H
BX7 X1-X3
ZR X7,CDS2 IF NONEXPIRING PASSWORD
MX6 -12
SB2 B1+B1
BX7 X7-X7
CDS1 LX1 18
BX2 -X6*X1
BX7 X7+X2
LX7 12
SB2 B2-B1
PL B2,CDS1 IF MORE DATE TO EXTRACT
SX2 2R
BX7 X7+X2
LX7 12
CDS2 BX7 X7+X2
SA7 A1
EQ CDSX RETURN
CON SPACE 4,10
** CON - CONVERT OCTAL NUMBER TO DISPLAY.
*
* ENTRY (X1) = OCTAL NUMBER.
*
* EXIT (X6) = OCTAL NUMBER IN DISPLAY CODE WITH POST RADIX B.
*
* CALLS COD, ISB.
CON SUBR ENTRY/EXIT
RJ COD CONVERT OCTAL TO DISPLAY
RJ ISB INSERT B RADIX
EQ CONX RETURN
CPS SPACE 4,15
** CPS - CONVERT PERMISSIONS TO SOURCE.
*
* EXIT PERMISSION BITS CONVERTED AND WRITTEN TO SOURCE.
*
* USES A - 0, 2, 4, 5, 6, 7.
* B - 2.
* X - 1, 2, 3, 4, 5, 6, 7.
*
* CALLS SFN, STB.
*
* MACROS WRITEC.
CPS SUBR ENTRY/EXIT
SA0 TPCS-1
CPS1 SA0 A0+B1 GET NEXT PERMISSION WORD
SA1 A0
SA2 =3HNUL
ZR X1,CPSX IF END OF TABLE
LX7 X1
BX6 X2
LX1 18
SA7 CPSA
SA6 X1+B1
WRITEC S,A6-B1 INITIALIZE IDENTIFIER VALUE
CPS2 SA5 CPSA GET PERMISSION WORD PARAMETERS
MX2 6
LX2 6
BX1 X2*X5 NEXT BIT POSITION
SX6 B1
IX7 X5+X6
LX5 -6
BX3 X2*X5 LAST BIT POSITION + 1
IX3 X1-X3
PL X3,CPS1 IF NO MORE BITS TO PROCESS
LX5 -30
BX4 X2*X5 VALIDATION WORD OFFSET
SA4 TANB+X4
SA7 A5
SB2 X1
LX6 B2
BX6 X6*X4
ZR X6,CPS2 IF BIT NOT SET
LX5 24
SB2 X5 TABLE OF PERMISSION IDENTIFIERS
RJ STB
ZR X3,CPS2 IF BIT NOT DEFINED
MX6 42
BX1 X6*X3
RJ SFN SPACE FILL IDENTIFIER
LX5 -30
SA6 X5+B1
WRITEC S,A6-B1 WRITE IDENTIFIER
EQ CPS2 CONTINUE PERMISSION BIT CONVERSION
CPSA CON 0 PERMISSION WORD PARAMETERS
TPCS SPACE 4,10
** TPCS - TABLE OF PERMISSION BITS CONVERSION TO SOURCE.
*
*T 18/SA,6/UBO,6/0,18/TPI,6/LBP,6/FBP
* SA SOURCE ENTRY ADDRESS.
* UBO USER BLOCK OFFSET OF VALIDATION WORD.
* TPI TABLE OF VALIDATION PERMISSION IDENTIFIERS.
* LBP LAST BIT POSITION + 1.
* FBP FIRST BIT POSITION.
TPCS BSS 0
DTCS TMAW,AAWC,TAWI,60D,0 ACCESS WORD
DTCS TMAP,AAVW,TNAV,NNAB+AFAB,AFAB APPLICATIONS
DTCS TMSO,ASHN,TRTP,TRTPL,0 SHELL PROGRAM
DTCS TMAV,ASVW,TAPV,TAPVL,TAPVS SECURITY VALIDATION
DTCS TMLV,ASVW,TALB,TALBS,TALBS-TALBL ACCESS LEVEL
DTCS TMAC,ASVW,TACC,TACCL,0 ACCESS CATEGORY
DTCS TMVM,ASCV,TSVM,TSVML,0 SERVICE CLASS
CON 0 END OF TABLE
CSC SPACE 4,15
** CSC - CONVERT USER DEFAULT SERVICE CLASSES.
*
* ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
* (X1) = DATA FIELD RIGHT JUSTIFIED.
*
* EXIT (X6) = SERVICE CLASS IDENTIFIERS.
*
* USES B - 2, 3.
* X - ALL.
*
* CALLS STB.
CSC SUBR ENTRY/EXIT
SB2 TSVM
SB3 48
LX5 X1
BX7 X7-X7
LX5 -12
MX2 6
LX2 18
CSC1 BX1 X2*X5 EXTRACT SERVICE CLASS CHARACTER
MX4 -12
SX0 2R
ZR X1,CSC2 IF NO VALUE DEFINED
RJ STB LOCATE SERVICE CLASS CHARACTER IN TABLE
ZR X3,CSC2 IF NO MATCH
LX3 12 GET 2 CHARACTER SERVICE CLASS IDENTIFIER
BX0 -X4*X3
CSC2 LX0 B3
BX7 X7+X0
SB3 B3-12
LX5 6
PL B3,CSC1 IF MORE ENTRIES TO PROCESS
BX6 X7
EQ CSCX RETURN
CSD SPACE 4,15
** CSD - CONVERT USER DEFAULT SERVICE CLASSES TO SOURCE.
*
* ENTRY (TMUC+1) = SERVICE CLASS IDENTIFIERS.
* (LMFG) = 0 IF NOT PROCESSING LIMITS.
*
* EXIT USER DEFAULT SERVICE CLASSES WRITTEN TO SOURCE
* FILE OR LIMITS OUTPUT.
*
* USES A - 1, 5, 6.
* X - 0, 1, 5, 6, 7.
*
* CALLS SFN.
*
* MACROS WRITEC.
CSD SUBR ENTRY/EXIT
SA1 TMUC+1 GET CONVERTED DEFAULT SERVICE CLASSES
BX0 X1
SA5 TOSC
CSD1 SA5 A5+B1
MX7 12
BX6 X7*X0
LX0 12
ZR X5,CSDX IF END OF TABLE
SX1 X5+
NG X1,CSD1 IF RESERVED ENTRY
SA1 LMFG
NZ X1,CSD2 IF PROCESSING LIMITS
BX7 X7*X5 GET ORIGIN TYPE
LX6 -12
BX1 X7+X6
RJ SFN SPACE FILL IDENTIFIER
SA6 TMUC+1
WRITEC S,A6-B1 WRITE DIRECTIVE TO SOURCE
EQ CSD1 PROCESS NEXT IDENTIFIER
CSD2 SX1 1R
BX6 X6+X1
LX6 -6
SA6 X5+5
WRITEC O,X5 WRITE LIMITS MESSAGE
EQ CSD1 PROCESS NEXT IDENTIFIER
DAT SPACE 4,10
** DAT - CONVERT PACKED DATE TO DISPLAY.
*
* ENTRY (X1) = DATA FIELD RIGHT JUSTIFIED.
*
* EXIT (X6) = CONVERTED DATE IN FORM * YY/MM/DD.*.
*
* USES A - 2.
* X - 2, 6.
*
* MACROS EDATE.
DAT SUBR ENTRY/EXIT
SA2 =10H
BX6 X2
ZR X1,DATX IF NO EXPIRATION DATE
EDATE X1 UNPACK DATE INTO DISPLAY
EQ DATX RETURN
ISB SPACE 4,10
** ISB - INSERT B (RADIX).
*
* ENTRY (X6) = RIGHT JUSTIFIED DISPLAY CODE FOR OCTAL NUMBER.
*
* EXIT (X6) = RIGHT JUSTIFIED DISPLAY CODE FOR OCTAL NUMBER
* WITH RADIX INSERTED ON RIGHT.
*
* USES X - 0, 1, 6.
ISB SUBR ENTRY/EXIT
MX0 54
LX6 6
SX1 1RB
BX6 X0*X6
BX6 X1+X6
EQ ISBX RETURN
MRJ SPACE 4,15
** MRJ - MULTIPLE WORD RIGHT JUSTIFY.
*
* ENTRY (A2) = ADDRESS WHERE 2ND WORD IS STORED
* IN LIMITS MESSAGE.
* (X2) = 1ST WORD, RIGHT JUSTIFIED, BLANK FILLED.
* (X6) = 2ND WORD, RIGHT JUSTIFIED, BLANK FILLED.
*
* EXIT 1ST AND 2ND WORDS STORED IN LIMITS MESSAGE
* AFTER MULTIPLE WORD RIGHT JUSTIFICATION PROCESSED.
*
* USES A - 4, 6, 7.
* B - 2, 3, 4.
* X - 0, 2, 3, 4, 6, 7.
MRJ2 BX7 X2 STORE 1ST WORD
SA7 A2
MRJ SUBR ENTRY/EXIT
SA4 =10H
SB2 B0
BX3 X6-X4
ZR X3,MRJ2 IF NO VALUE IN 2ND WORD
BX7 X2
SA7 A2-B1
MX0 6
BX7 X0*X3
NZ X7,MRJX IF BOTH WORDS FULL
MRJ1 LX0 -6
BX7 X0*X3
SB2 B2+6
ZR X7,MRJ1 IF BLANK CHARACTER
SB3 60
MX0 1
SB4 B2-B1
AX0 B4
SB3 B3-B2
LX2 B3
BX7 X0*X2
BX6 -X0*X6
BX7 X7+X6
SA7 A2 STORE 2ND WORD
BX6 -X0*X2
BX4 X0*X4
BX6 X6+X4
SA6 A2-B1 STORE FIRST WORD
EQ MRJX RETURN
PLM SPACE 4,15
** PLM - PRINT *LIMITS* MESSAGES.
*
* EXIT ALL *LIMITS* MESSAGES ISSUED.
*
* USES A - ALL.
* B - 2, 3.
* X - ALL.
*
* CALLS CSD, SFN.
*
* MACROS CLOCK, DATE, GETJO, GETPFP, TSTATUS, WRITEC.
PLM8 WRITEC O,(=C* *),B1 WRITE BLANK LINE
WRITEC X2,USUD WRITE HEADER
RJ CSD CONVERT USER DEFAULT SERVICE CLASSES
PLM SUBR ENTRY/EXIT
SA2 DSAN GET USER NAME
MX7 -54
AX2 6
SA1 USRN
BX7 -X7*X2
BX7 X1+X7
SA7 A1
DATE TODT REQUEST DATE
CLOCK TOTM REQUEST TIME
GETJO TSTATUS GET JOB ORIGIN
SA1 TSTATUS
SX1 X1-TXOT
NZ X1,PLM1 IF NOT *TXOT*
TSTATUS TSTATUS
SA3 TSTATUS
SA2 =0LNAMIAF
MX1 36
BX3 X1*X3
BX6 X3-X2
NZ X6,PLM1 IF NOT NETWORK TERMINAL
SA6 TFPA+1 CLEAR NON-NETWORK TERMINAL LIMITS MESSAGES
SA6 TFRO+1
SA6 TFPX+1
SA6 TFTT+1
PLM1 GETPFP PLMA REQUEST FAMILY NAME
SA1 PLMA
BX6 X6-X6 CLEAR POINTERS
SA6 A1+B1
SA6 A6+B1
RJ SFN SPACE FILL NAME
SA2 FAM
LX6 59-17
MX3 -42
BX6 -X3*X6
BX6 X2+X6
SA0 TFR TABLE TO FORMAT RECORDS
SA6 A2
SA5 OF
BX0 X0-X0
ZR X5,PLM3.1 IF OUTPUT TO TERMINAL
PLM2 SA1 A0 GET WORD 1 OF ENTRY
SA2 A0+B1 GET WORD 2 OF ENTRY
ZR X1,PLM6 IF END OF TABLE
SA1 A2+B1 GET WORD 3 OF ENTRY
AX2 36
BX0 X2
SA0 A1+B1 ADVANCE TABLE ENTRY
SX5 X1
BX2 X0+X5
ZR X2,PLM2 IF NO LIMITS OR HEADER MESSAGE
SA2 OF
ZR X2,PLM4 IF OUTPUT TO TERMINAL
SX7 B1+
ZR X5,PLM3 IF NO HEADER
SX7 B1+B1
ZR X0,PLM3 IF NO LIMITS MESSAGE
SX7 X7+B1
PLM3 SA2 PLMB
IX6 X2-X7
SA6 A2
PL X6,PLM4 IF ENOUGH ROOM ON PAGE
SA3 LPPG
SX6 X3-2
IX6 X6-X7
SA6 A2
PLM3.1 WRITEC O,LITL WRITE PAGE HEADER
WRITEC X2,(=C* *),B1 WRITE BLANK LINE
PLM4 ZR X5,PLM5 IF NO HEADER MESSAGE
WRITEC O,(=C* *),B1 WRITE BLANK LINE
WRITEC X2,X5 WRITE HEADER
PLM5 ZR X0,PLM2 IF NO LIMITS MESSAGE
WRITEC O,X0 ISSUE LIMITS MESSAGE
EQ PLM2 PROCESS NEXT ENTRY
* WRITE ALLOWED PERMISSIONS LIMIT MESSAGES.
PLM6 SA2 PLMC GET *TAPL* INDEX
SA1 TAPL+X2 GET ALLOWED PERMISSIONS LIMITS PARAMETERS
ZR X1,PLM8 IF END OF TABLE
SX6 X2+B1
SA6 A2
MX2 -6
BX3 -X2*X1 NUMBER OF PERMISSION BITS
AX1 6
BX4 -X2*X1 USER BLOCK OFFSET
SA4 TANB+X4 GET PERMISSION BITS FROM USER BLOCK
AX1 6
SB2 X3-1
MX6 1
AX6 B2
MX5 -12
BX5 -X5*X1 LIMITS HEADER ADDRESS
AX1 30
SA1 X1+B1 GET FIRST BIT POSITION
SB3 59
SB2 X1+B2
SB2 B3-B2
LX1 X4,B2
BX0 X4
BX6 X6*X1
NZ X6,PLM6.1 IF ANY PERMISSIONS GRANTED
PL X6,PLM6 IF NO PERMISSIONS GRANTED
PLM6.1 WRITEC O,(=C* *),B1 WRITE BLANK LINE
WRITEC X2,X5 WRITE HEADER MESSAGE
SA1 PLMC GET *TAPL* INDEX
SA1 TAPL-1+X1 GET *TAPL* ENTRY
AX1 24
SA5 X1 FWA-1 TABLE OF LIMITS MESSAGE ADDRESSES
AX1 18
SA0 X1 FWA-1 TABLE OF BIT NAMES AND POSITIONS
PLM7 SA5 A5+B1
SA0 A0+B1
ZR X5,PLM6 IF END OF MESSAGE TABLE
NG X5,PLM7 IF PERMISSION NOT ALLOWED
SA3 A0
MX4 -12
BX4 -X4*X3
SB2 X4
SB3 59
SB2 B3-B2
LX4 X0,B2
PL X4,PLM7 IF PERMISSION NOT GRANTED
WRITEC O,X5 WRITE PERMISSION MESSAGE
EQ PLM7 CONTINUE PROCESSING MESSAGES
PLMA CON 0 FAMILY NAME
PLMB CON 0 PAGE LINE COUNTER
PLMC CON 0 *TAPL* INDEX
TAPL SPACE 4,10
** TAPL - TABLE OF ALLOWED PERMISSIONS LIMITS PARAMETERS.
*
*T 18/TBP,18/TLM,12/LHR,6/UBO,6/NPB
* TBP FWA-1 TABLE OF BIT POSITIONS.
* TLM FWA-1 TABLE OF LIMITS MESSAGE ADDRESSES.
* LHR LIMITS HEADER MESSAGE ADDRESS.
* UBO USER BLOCK OFFSET FOR PERMISSION DATA WORD.
* NPB NUMBER OF PERMISSION BITS.
TAPL BSS 0
APLW TAWI,ALP,ALLW,AAWC ACCESS WORD
APLW TNAV,APP,APPH,AAVW APPLICATIONS
APLW TRTP,ASP,RMFP,ASHN *RDF* PERMISSIONS
APLW TAPV,APV,AAPP,ASVW SECURITY VALIDATIONS
APLW TACC,CAT,VCAT,ASAC ACCESS CATEGORIES
APLW TALB,ALV,ALVA,ASVW ACCESS LEVELS
APLW TSVM,SCL,USVM,ASCV USER SERVICE CLASS
CON 0 END OF TABLE
STB SPACE 4,15
** STB - SEARCH TABLE.
*
* ENTRY (X1) = VALUE TO COMPARE.
* (X2) = MASK.
* (B2) = TABLE ADDRESS.
*
* EXIT (X3) = TABLE ENTRY ON MATCH.
* = 0 IF NO MATCH.
* (A3) = ADDRESS OF MATCHING TABLE ENTRY.
*
* USES X - 3, 6.
* A - 3.
STB SUBR
SA3 B2-1
STB1 SA3 A3+1
BX6 X3-X1
BX6 X2*X6
ZR X3,STBX IF END OF TABLE
NZ X6,STB1 IF NOT YET MATCH
EQ STBX RETURN
SRD SPACE 4,25
** SRD - SET RECORD DISPLAYS.
*
* ENTRY *TANB* SET TO PROPER USER BLOCK.
*
* EXIT K-DISPLAY PROPERLY FORMATTED.
* S-OPTION PROPERLY FORMATTED.
* VALUES ENTERED IN LIMITS MESSAGES.
*
* USES A - ALL.
* B - 2, 3, 4, 5, 7.
* X - ALL.
*
* CALLS APC, CAV, ICE, MRJ, SFN,
* DISPLAY CONVERSION PROCESSORS.
*
* MACROS EDATE.
SRD16 RJ APC DISPLAY APPLICATION PERMISSIONS
SRD SUBR ENTRY/EXIT
SA1 TANB+ACCD SET CREATION DATE
AX1 18
SX1 X1
EDATE X1 UNPACK AND CONVERT DATE
SA1 TANB+ACMD SET LAST MODIFICATION DATE
SA6 DSAC1
SX1 X1+
EDATE X1 UNPACK AND CONVERT DATE
SA6 DSAU
SA1 AN SET USER NAME
SX6 1R/
BX1 X1+X6
LX1 -6
RJ SFN
SA6 TMBS
SX1 1R &1R/
LX1 -6
BX6 X1-X6
SA6 DSAN
SA6 DSAN1
SA6 DSAN2
SA6 DSAN3
SA6 DSAN4
SA0 TFR-3 TABLE TO FORMAT RECORD
SRD1 SA0 A0+3
SA4 A0+ GET WORD 1 OF ENTRY
ZR X4,SRD16 IF END OF TABLE
SB7 X4 PROCESSOR ADDRESS
LX4 6
MX2 -6
BX1 -X2*X4 USER BLOCK OFFSET
LX4 6
BX3 -X2*X4 STARTING BIT NUMBER
LX4 6
BX2 -X2*X4 NUMBER OF BITS IN FIELD
SA1 TANB+X1 GET DATA WORD
MX6 1
SB4 X2
SB2 B4-B1
AX6 B2
SB2 60
SB3 X3+B4
SB2 B2-B3
LX1 B2
BX2 X6*X1
LX1 X2,B4
BX7 X1
LX4 59-31-18
PL X4,SRD2 IF DATA TO BE PASSED RIGHT JUSTIFIED
BX1 X2 PASS DATA LEFT JUSTIFIED
SRD2 SA3 A0+2 GET WORD 3 OF ENTRY
LX3 -18
SB3 X3 ALTERNATE BLOCK ADDRESS
ZR B3,SRD3 IF NO ALTERNATE BLOCK
SB3 B3+B1
SA1 X7+B3
BX7 X1
SRD3 SA7 SRDA SAVE DATA FIELD
RJ ICE EXECUTE DISPLAY FORMAT PROCESSOR
SA4 A0 GET WORD 1 OF ENTRY
LX4 0-35
SX0 B1
BX0 X0*X4
SB5 X0 CONTINUATION WORD FLAG
SB2 B5+B5
SB2 B2+B5
SB3 A0+B1
SA5 B3-B2 GET WORD 2 OF ENTRY
SA3 A0 GET MULTIPLE WORD RESULT FLAG
SX2 X5
LX3 59-30
AX5 18
LX4 24-0+35
SA1 SRDA GET DATA VALUE
MX0 -6
ZR X2,SRD4 IF NO SOURCE ADDRESS
SB2 B1+B5
SA6 X2+B2
PL X3,SRD4 IF NOT MULTIPLE WORD RESULT
SA7 A6+B1
SRD4 NG X3,SRD7 IF MULTIPLE WORD RESULT
BX2 -X0*X4 UNLIMITED VALUE
LX4 59-33-24
LX0 X4,B1
ZR X2,SRD5 IF NO UNLIMITED VALUE
IX2 X1-X2
NG X2,SRD5 IF NOT UNLIMITED
SA2 =9AUNLIMITED
BX6 X2
NG X4,SRD6 IF *SYSTEM* DEFAULT TO BE DISPLAYED
SRD5 PL X0,SRD7 IF NOT ZERO SYSTEM DEFAULT
NZ X1,SRD7 IF NOT ZERO DATA VALUE
SRD6 SA2 =10HSYSTEM
BX6 X2
SX4 B1 RIGHT JUSTIFY FOR LIMITS
SRD7 SB2 X5
AX5 18
ZR B2,SRD10 IF NO K-DISPLAY FIELD
BX0 X3
LX0 -1
SA6 B2+B5
NG X0,SRD9 IF ALREADY LEFT JUSTIFIED
SA1 =10H
BX1 X1-X6
MX0 -6
ZR X1,SRD9 IF BLANK WORD
SA6 SRDB
SRD8 LX6 6 LEFT JUSTIFY FIELD
BX2 -X0*X6
SX2 X2-1R
ZR X2,SRD8 IF BLANK CHARACTER
LX6 -6
SA6 B2+B5
SA2 SRDB
BX6 X2
SRD9 PL X3,SRD10 IF NOT MULTIPLE WORD RESULT
SA7 A6+1
SRD10 ZR X5,SRD15 IF NO LIMITS MESSAGE
SA2 X5+5 GET MULTIPLE ENTRY 1ST WORD
LX4 59-34-59+33
SA6 A2 STORE LIMITS VALUE
PL X3,SRD11 IF NOT MULTIPLE WORD RESULT
SA6 A2-B1
SA7 A2
BX2 X6
LX6 X7
SRD11 PL X4,SRD15 IF NO RIGHT JUSTIFY FOR LIMITS FIELD
SA1 =10H
BX1 X1-X6
ZR X1,SRD13 IF BLANK WORD
MX0 -6
SRD12 BX7 -X0*X6 RIGHT JUSTIFY BLANK FILLED DATA
SX7 X7-1R
LX6 -6
ZR X7,SRD12 IF BLANK
LX6 6
SA6 A2 STORE RIGHT JUSTIFIED LIMITS VALUE
SRD13 NG X3,SRD14 IF MULTIPLE WORD RESULT
ZR B5,SRD15 IF NOT CONTINUATION ENTRY
SRD14 RJ MRJ RIGHT JUSTIFY MULTIPLE WORD
SRD15 SA1 SRDA GET DATA VALUE
RJ CAV CALCULATE ACTUAL VALUE
NZ X3,SRD1 IF ACTUAL VALUE CALCULATED
SA1 SRDA
NZ X1,SRD1 IF DATA VALUE PRESENT
SA1 A0+B1 CLEAR LIMITS MESSAGE
MX6 18
LX6 -6
BX6 -X6*X1
SA6 A1+
EQ SRD1 CONTINUE RECORD FORMATTING
SRDA CON 0 DATA FIELD
SRDB CON 0 K-DISPLAY DATA FIELD BEFORE LEFT JUSTIFY
TITLE MISCELLANEOUS ROUTINES.
ABT SPACE 4,10
** ABT - ABORT EXIT.
ABM BSS 0 ENTRY
MESSAGE CCDR,0,R ISSUE COMMAND TO DAYFILE
EQ ABT ABORT
ABE BSS 0 ENTRY
SX2 DMGV * GENVAL ABORTED.*
SA1 GENF
NZ X1,ABT IF *GENVAL*
SX2 DMAB * MODVAL ABORTED.*
SA1 PSWF
ZR X1,ABT IF NOT *PASSWOR*
SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
SA1 TSTB+1
AX1 54-0
ZR X1,ABT IF NOT NETWORK TERMINAL
WRITEC O,TRMB RESET CURSOR POSITIONING
SX2 DMPA RESET ERROR MESSAGE
* EQ ABT ABORT
ABT BSS 0 ENTRY
MESSAGE X2,3 ISSUE ERROR MESSAGE
RJ COB CHECK OUTPUT BUFFER
SA1 ABTA
ZR X1,ABT1 IF UPDATE NOT PERFORMED
RJ SUI SET AVAILABLE USER INDICES
ABT1 SA3 RAPF CHECK SYSTEM FILE ATTACHED
ZR X3,ABT2 IF NOT ATTACHED
RETURN U
RECALL N
RETURN P
ABT2 SA1 GENF
ZR X1,ABT3 IF NOT *GENVAL*
RETURN P
RETURN U
ABT3 RJ CAF CHECK ALTERNATE FAMILY
ABORT
ABTA CON 0 SET IF UPDATE PERFORMED
ABTB RPVBLK ABE *REPRIEVE* BLOCK
ACI SPACE 4,20
** ACI - ASSEMBLE CHARACTERS INTERFACE.
*
* ENTRY (X1) = BIT STRING OF CHARACTERS TO PERMIT.
* (X6) = BIT STRING OF CHARACTER TO SUPPRESS.
*
* EXIT (CBUF - CBUF+CBUFL) = LEFT JUSTIFIED
* ASSEMBLED CHARACTERS.
* (X4) = NUMBER OF CHARACTERS.
* (B5) = SEPARATOR ( 0 IF END-OF-LINE).
* (B6) = 0 IF ENTRY TERMINATION.
* (B6) .NE. 0 IF ASSEMBLY COMPLETE.
* (ET) = -1 IF EOF.
* (ET) = 1 IF */* ENTRY TERMINATION.
*
* USES X - 0, 1, 2, 4, 6, 7.
* A - 1, 2, 6, 7.
* B - 2, 4.
*
* MACROS FUNC.
ACI SUBR ENTRY/EXIT
SA6 ACIC SAVE BIT STRING TO SUPPRESS
BX7 X1
SX6 B0
SA7 ACIB SAVE BIT STRING TO PERMIT
SA6 ACIA CLEAR CHARACTER COUNT
SA6 ACID CLEAR CHARACTER BUFFER INDEX
SB2 CBUFL-1
ACI1 SA6 CBUF+B2 CLEAR CHARACTER BUFFER
SB2 B2-1
PL B2,ACI1 IF CLEAR NOT COMPLETE
ACI2 SX0 I INPUT FET ADDRESS
SA2 ACIC CHARACTERS TO BE SUPPRESSED
SA1 ACIB CHARACTERS TO BE ALLOWED
BX6 X2
FUNC ASCT ASSEMBLE CHARACTERS
SA2 ACID
SA6 CBUF+X2 STORE ASSEMBLED CHARACTERS
SA1 ACIA
SB4 X4-10
IX4 X1+X4 INCREMENT CHARACTER COUNT
NG B4,ACIX IF SEPARATOR ENCOUNTERED
BX7 X4
SA7 A1
SX7 X2-CBUFL-1
PL X7,ACI2 IF BUFFER FULL
SX7 X2+B1
SA7 A2 INCREMENT CHARACTER BUFFER INDEX
EQ ACI2 ASSEMBLE MORE CHARACTERS
ACIA BSS 1 CHARACTER COUNT
ACIB BSS 1 BIT STRING OF CHARACTERS TO PERMIT
ACIC BSS 1 BIT STRING OF CHARACTERS TO SUPPRESS
ACID BSS 1 CHARACTER BUFFER INDEX
ADT SPACE 4,10
** ADT - ADD TERM TO CURRENT DATE.
*
* ENTRY (X1) = TERM VALUE.
*
* EXIT (X2) = (X6) = NEW PACKED DATE.
*
* USES A - 2, 7.
* X - 2, 6, 7.
*
* MACROS SYSTEM.
ADT SUBR ENTRY/EXIT
BX7 X1 SET UP *CPM* PARAMETER WORD
SA7 ADTA
SYSTEM CPM,R,A7,121B*100B ADD TERM TO CURRENT DATE
SA2 A7 GET NEW PACKED DATE
BX6 X2
EQ ADTX RETURN
ADTA BSS 1 *CPM* PARAMETERS
AUI SPACE 4,15
** AUI - ASSIGN USER INDEX.
*
*
* ENTRY NO USER INDEX IN *TANB* BLOCK.
*
* EXIT (X0) .LT. 0, IF USER INDEX SET.
* (X0) .GE. 0, IF USER INDEX NOT SET.
* (B3) = MESSAGE, IF USER INDEX NOT SET.
*
* USES X - 0, 1, 6, 7.
* A - 1, 6, 7.
* B - 2, 3, 4, 5.
AUI4 MX0 1 SET UI USED
SB5 B5+B2
BX1 X0+X1
SB4 B4-B2
LX6 X1,B4
SX7 B5+B1
SA6 A1
SA1 TANB+AUIN SET INDEX IN RECORD BLOCK
MX0 42
BX1 X0*X1
BX7 X1+X7
SA7 A1
AUI SUBR ENTRY/ EXIT
SB3 AUIMX-1
SA1 TAUI-1
SB5 B0
SB4 60 CONSTANT 60
AUI1 SA1 A1+B1
SB2 B0
GE B5,B3,AUI3 IF ALL ASSIGNED
AUI2 PL X1,AUI4 IF UI FREE
LX1 1
SB2 B2+B1
LT B2,B4,AUI2 IF MORE TO CHECK
SB5 B5+B4
EQ AUI1 LOOP FOR NEXT WORD
AUI3 SX0 B0+ SET ERROR
SB3 ERUN **** NO USER INDICES AVAILABLE.
EQ AUIX RETURN
CDP SPACE 4,15
** CDP - CLEAR DEFAULT PERMISSION BITS.
*
* ENTRY (A0) = ADDRESS OF *TPCW* ENTRY.
* (X4) = PERMISSION CONTROL WORD.
*
* EXIT (X4) = NEW PERMISSION CONTROL WORD.
* DEFAULT BITS CLEARED IN PERMISSION CONTROL WORD.
* PERMISSION CONTROL DEFAULT MASK BIT SET.
*
* USES X - 0, 1, 2, 3, 4, 6.
* A - 1, 6.
* B - 2, 3.
CDP SUBR ENTRY/EXIT
SA1 A0
MX2 -6
LX1 -18
BX3 -X2*X1 NUMBER OF PERMISSION BITS
LX1 -6
BX2 -X2*X1 SHIFT FOR MASK
SB2 X3-1 MASK BITS
SB3 X2 MASK SHIFT
MX0 1
AX0 B2
LX0 B3
BX4 -X0*X4 CLEAR DEFAULT PERMISSIONS
SB2 A0-TPCW PREVENT ADDITIONAL CLEAR OF DEFAULT BITS
SA1 PCDW
SX2 B1
LX2 B2
BX6 X1+X2
SA6 A1
EQ CDPX RETURN
CEP SPACE 4,10
** CEP - CLEAR ERROR PROCESSING.
*
* ENTRY (A1) = FET ADDRESS.
*
* USES X - 0, 2, 6.
* A - 2, 6.
CEP SUBR ENTRY/EXIT
SA2 A1+B1 CLEAR ERROR PROCESSING BIT
SX0 B1
LX0 44
BX6 -X0*X2
SA6 A2
EQ CEPX RETURN
CER SPACE 4,20
** CER - CHECK FOR ERROR.
*
* ENTRY (A1) = FET ADDRESS.
* (X1) = FIRST WORD OF FET.
* (B4) = RETURN ADDRESS. CONTROL IS RETURNED HERE
* IF THE FILE IS FOUND BUSY.
*
* EXIT TO (B4) AFTER WAITING FOR FILE TO BECOME AVAILABLE.
* TO *ABE* IF ONE OF THE FOLLOWING CONDITIONS -
* 1. AN ERROR OTHER THAN FILE BUSY WAS ENCOUNTERED.
* 2. AN ERROR IS PRESENT AND *CER* WAS NOT CALLED FROM
* *PRESET*.
* TO *ABT* IF AN INTERACTIVE JOB HAS MADE TEN
* UNSUCCESSFUL ATTEMPTS TO ATTACH THE VALIDATION FILE.
*
* USES X - 0, 1, 2, 6.
* A - 2, 6.
*
* MACROS MESSAGE, ROLLOUT.
CER SUBR ENTRY/EXIT
MX0 -4 CHECK FOR ERROR
AX1 10
BX0 -X0*X1
ZR X0,CERX IF NO ERROR
SX0 X0-/ERRMSG/FBS
NZ X0,ABE IF NOT *FILE BUSY* RETURN FROM *PFM*
SA2 CERA
NZ X2,ABE IF NOT PRESET CALL
SX1 A1-U
ZR X1,CER3 IF *VALINDS* REQUEST
SA2 CERC
SX6 X2-1
ZR X6,CER2 IF RETRY COUNT EXCEEDED
SA6 A2+
MESSAGE DMWV,2,R * WAITING FOR VALIDATION FILE.*
ROLLOUT CERD ROLLOUT FOR 5 SECONDS
MESSAGE (=C**),2,R
JP B4 RETURN CONTROL
CER2 SA2 OT
SX2 X2-IAOT
NZ X2,CER3 IF NOT INTERACTIVE JOB
SX2 DMVB * VALIDATION FILE BUSY.*
EQ ABT ABORT
CER3 ROLLOUT CERB
JP B4 RETRY
CERA CON 0 PRESET CALL FLAG
CERB CON 0 FAST ATTACH FILE BUSY TIMED/EVENT ROLLOUT
CERC CON 10 RETRY COUNT
CERD CON 5 PARAMETER WORD FOR TIMED ROLLOUT
CLN SPACE 4,15
** CLN - CHECK LINE NUMBER.
*
*
* ENTRY (X1) = AVAILABLE LINES REQUESTED. UPPER 30 BITS
* CONTAIN LINES USED IF LESS.
*
* EXIT NEW PAGE GENERATED IF NECESSARY.
*
* USES X - 1, 2, 6, 7.
* A - 1, 2, 6.
*
* CALLS CDD.
*
* MACROS CLOCK, DATE, WRITEC, WRITEH, WRITEW.
CLN4 SA6 LC SET NEW LINE COUNT
CLN SUBR ENTRY/EXIT
SA2 LC
IX6 X2-X1
PL X6,CLN4 IF ENOUGH ROOM ON PAGE
BX7 X1
AX7 30
ZR X7,CLN1 IF LINES USED = LINES REQUESTED
SX1 X1
IX6 X2-X7
IX2 X2-X1
PL X2,CLN4 IF ENOUGH ROOM ON PAGE
BX1 X7
CLN1 BX6 -X1 SAVE LINES USED COMPLEMENTED
SA6 CLNB
DATE DATE
CLOCK TIME
SA1 PN GET PAGE NUMBER
SX6 X1+B1 INCREMENT
SA6 A1
RJ CDD CONVERT
LX6 6*4
SA6 PAGE
WRITEW O,CLNA,1
WRITEW O,CCDR,8 WRITE COMMAND IN HEADER LINE
WRITEH O,DATE,6
SA1 OP CHECK OPTION
SX1 X1-LOPT
NZ X1,CLN2 IF NOT LIST
WRITEC O,SUBT1
WRITEC O,SUBT2
WRITEC O,(=1L )
SA1 CLNB
SA2 LPPG GET LINES PER PAGE
IX6 X1+X2
SX6 X6-5
EQ CLN3 CHECK OUTPUT FILE TYPE
CLN2 SA1 CLNB SET LINES REMAINING ON PAGE
SA2 LPPG GET LINES PER PAGE
IX6 X1+X2
SX6 X6-2
CLN3 SA1 OF CHECK OUTPUT FILE TYPE
NZ X1,CLN4 IF NOT A TERMINAL FILE
MX6 1
BX6 -X6
EQ CLN4 RETURN
CLNA CON 1H1 CARRIAGE CONTROL
CLNB CON 0 LINES USED COMPLEMENT
LC CON 0 LINE COUNT
PN CON 1 PAGE NUMBER
DATE DATA 1H HEADER
TIME DATA 1H
CON 0APAGE
PAGE DATA 1H
CON 0
CON 1L
SUBT1 DIS ,* USER USER CREATION LAST MOD*
SUBT2 DIS ,* NAME INDEX DATE DATE*
COB SPACE 4,15
** COB - CHECK OUTPUT BUFFER.
*
* EXIT OUTPUT BUFFER FLUSHED IF NECESSARY AND *SSST* STATUS
* REMOVED FROM OUTPUT FILE.
*
* USES X - 1, 2.
* A - 1, 2.
*
* MACROS SETFS, STATUS, WRITER.
COB SUBR ENTRY/ EXIT
SA1 CLN CHECK IF SUBROUTINE *CLN* EVER CALLED
SA2 PLM CHECK IF SUBROUTINE *PLM* EVER CALLED
BX2 X1+X2
ZR X2,COBX IF NO OUTPUT WRITTEN
WRITER O,R FLUSH OUTPUT
SA1 OF
ZR X1,COBX IF TERMINAL FILE
STATUS O,P
SA2 O+5 GET FNT
MX1 -6
BX2 -X1*X2 GET FILE STATUS
SX1 X2-SSST
NZ X1,COBX IF PRIOR OUTPUT ID
SETFS O,0 CLEAR FILE STATUS
EQ COBX RETURN
CPR SPACE 4,20
** CPR - CHECK PASSWORD REQUIREMENT.
*
* ENTRY (X5) = PASSWORD WORD FROM USER BLOCK.
* (A5) = ADDRESS OF PASSWORD WORD.
*
* EXIT (B3) = ERROR MESSAGE ADDRESS, IF PASSWORD REQUIRED
* BUT NOT ENTERED.
* (B3) = 0, IF ENTERED OR NOT REQUIRED.
*
* IF NO PASSWORD IS ENTERED, AND NONE IS REQUIRED, THE
* ENCRYPTED NULL PASSWORD AND THE DEFAULT EXPIRATION DATE
* WILL BE SET.
*
* USES X - 0, 1, 5, 6, 7.
* A - 1, 7.
* B - 2, 3.
*
* CALLS ADT, EPW.
CPR3 SB3 ERPR **** PASSWORD REQUIRED.
CPR SUBR ENTRY/EXIT
SB3 B0+ SET NO ERROR
MX0 42
BX6 X0*X5
NZ X6,CPRX IF PASSWORD ENTERED
BX6 -X0*X5
NZ X6,CPR1 IF EXPIRATION DATE ENTERED
SX1 APXT-7777B
ZR X1,CPR1 IF DEFAULT IS NON-EXPIRING
SX1 APXT SET DEFAULT EXPIRATION TERM
RJ ADT
CPR1 BX3 X6 SAVE EXPIRATION DATE
BX5 X5-X5 SET NULL PASSWORD
RJ EPW
BX7 X3+X6 COMBINE PASSWORD AND EXPIRATION DATE
SA1 RP
NZ X1,CPR2 IF NO PASSWORD REQUIRED
SB2 RPWL
ZR B2,CPR2 IF MINIMUM REQUIRED LENGTH = 0
SA1 RDBA
NZ X1,CPR3 IF NEW USER
CPR2 SA7 A5 SET PASSWORD AND EXPIRATION DATE
EQ CPRX RETURN
CSM SPACE 4,15
** CSM - CHECK SECURITY MODE.
*
* EXIT (X1) = 0, IF USER IS VALID.
* (X1) .NE. 0 IF USER IS NOT VALID. IN A SECURED
* SYSTEM, SECURITY ADMINISTRATOR PRIVILEGES
* ARE REQUIRED.
*
* USES X - 1, 2.
* A - 1, 2.
*
* MACROS GETSSM, GETUSV.
CSM SUBR ENTRY/EXIT
GETSSM CSMA GET SECURITY MODE
SA1 CSMA
ZR X1,CSMX IF NOT A SECURE SYSTEM
GETUSV CSMB GET VALIDATION WORD *JSCW*
SA2 CSMB
SX1 B0+
NG X2,CSMX IF SECURITY ADMINISTRATOR
SX1 B1+
EQ CSMX RETURN
CSMA CON 0 SECURITY MODE
CSMB CON 0 VALIDATION WORD *JSCW*
CUN SPACE 4,10
** CUN - COMPARE USER NAMES.
*
* *CUN* COMPARES THE CURRENT JOB USER NAME WITH THE
* USER NAME TO BE CHANGED.
*
* ENTRY *TANB* BLOCK SET.
*
* EXIT (X1) = 0 IF USER NAMES MATCH.
*
* USES X - 0, 1, 2.
* A - 1, 2.
CUN SUBR ENTRY/EXIT
SA1 SSJ=+UIDS GET USER NAME FOR JOB
SA2 TANB+ACCN GET USER NAME BEING ALTERED
MX0 42
BX1 X1-X2
BX1 X0*X1 COMPARE USER NAMES
EQ CUNX RETURN
EPW SPACE 4,10
** EPW - ENCRYPT PASSWORD.
*
* ENTRY (X5) = PASSWORD LEFT JUSTIFIED, BINARY ZERO FILLED.
*
* EXIT (X6) = ENCRYPTED PASSWORD IN BITS 59-18.
*
* USES X - 1, 6.
* A - 1, 6.
*
* MACROS SYSTEM.
EPW SUBR ENTRY/EXIT
BX6 X5 SAVE PASSWORD
SA6 EPWA
SYSTEM CPM,R,EPWA,122B*100B
SA1 EPWA GET ENCRYPTED PASSWORD
BX6 X1
EQ EPWX RETURN
EPWA CON 0 *CPM* PARAMETER BLOCK
IAM SPACE 4,20
** IAM - ISSUE ACCOUNT FILE MESSAGE.
*
* ENTRY (DANA) .NE. 0, IF USER NAME DELETE.
* (UUFG) .LT. 0, IF REFORMAT OPTION.
* .EQ. 0, IF USER NAME CREATE OR DELETE.
* .GT. 0, IF USER NAME UPDATE.
*
* EXIT ACCOUNT MESSAGE ISSUED IF FAST-ATTACHED MODE.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
* B - 2, 5.
*
* CALLS SNM.
*
* MACROS MESSAGE, MOVE.
IAM3 MESSAGE IAMD,5,R ISSUE MESSAGE TO ACCOUNT FILE
IAM SUBR ENTRY/EXIT
SA1 RAPF
ZR X1,IAMX IF LOCAL VALIDATION FILE
SA2 UUFG
NG X2,IAMX IF REFORMAT OPTION
SA1 EF
NZ X1,IAMX IF ERRORS
SA2 TANB+ACCN GET MODIFIED USER NAME
BX6 X2
SA6 IAMA+2
SA1 DANA GET MODIFICATION TYPE
SX6 B0+
NZ X1,IAM1 IF DELETE
SA1 UUFG
SX6 X6+1
NZ X1,IAM1 IF UPDATE
SX6 X6+1
IAM1 SA1 X6+IAMB SET MODIFICATION TYPE
BX6 X1
SA6 IAMA+4
MOVE IAMEL,IAME,IAMD SET MESSAGE FIELDS
SX0 4
IAM2 NG X0,IAM3 IF ALL FIELDS SET
SA1 X0+IAMC GET REPLACEMENT CHARACTER
SB2 X1
SA1 X0+IAMA GET FIELD
MX6 42
BX1 X6*X1
SB5 IAMD
RJ SNM SET NAME IN MESSAGE
SX0 X0-1
EQ IAM2 CHECK NEXT FIELD
IAMA BSS 0 MESSAGE FIELD VALUES
CON 0 MODIFIED FAMILY NAME
BSS 1 ISSUING FAMILY NAME
BSS 1 MODIFIED USER NAME
BSS 1 ISSUING USER NAME
BSS 1 MODIFICATION TYPE
IAMB BSS 0 MESSAGE IDENTIFIERS
DATA 4LMVDU USER NAME DELETE
DATA 4LMVUU USER NAME UPDATE
DATA 4LMVCU USER NAME CREATE
IAMC BSS 0 REPLACEMENT CHARACTERS
CON 1R+ MODIFIED FAMILY NAME
CON 1R- ISSUING FAMILY NAME
CON 1R= MODIFIED USER NAME
CON 1R/ ISSUING USER NAME
CON 1R$ MODIFICATION TYPE
IAMD DATA C*$$$$, -------, ///////, +++++++, =======.*
IAME DATA C*$$$$, -------, ///////, +++++++, =======.*
IAMEL EQU *-IAME LENGTH OF MESSAGE
ICE SPACE 4,10
** ICE - INDEXED CODE EXECUTION.
*
* ENTRY (B7) = SUBROUTINE ADDRESS.
*
* EXIT TO SUBROUTINE WITH RETURN ADDRESS SET.
*
* USES A - 2, 7.
* X - 2, 7.
ICE SUBR ENTRY/ EXIT
SA2 ICEX SET RETURN ADDRESS
BX7 X2
SA7 B7
JP B7+1 JUMP TO SUBROUTINE
LID SPACE 4,15
** LID - LIST INPUT DIRECTIVES.
*
* ENTRY FRESH DATA IN STRING BUFFER.
*
* EXIT NEW INPUT LINE WRITTEN TO OUTPUT.
*
* USES X - 1, 2, 3, 7.
* A - 1, 2, 3, 7.
*
* CALLS CLN.
*
* MACROS WRITES.
LID1 SX7 X1-1 COUNT INFORMATION SKIPPED
SA7 A1+
LID SUBR ENTRY/ EXIT
SA3 OP CHECK OPTION
ZR X3,LIDX IF K-DISPLAY
SA1 LIDA SKIP PRIVILEGED INFORMATION
SA2 EL CHECK LIST OPTION
NZ X1,LID1 IF PRIVILEGED INFORMATION
NZ X2,LIDX IF DIRECTIVES NOT LISTED
SX1 B1 CHECK FOR HEADER
SX2 5
LX1 30
BX1 X1+X2
RJ CLN
SA1 SB SET STRING BUFFER ADDRESS
SA3 SM GET BUFFER LENGTH
IX3 X3-X1
WRITES O,X1-1,X3+1
EQ LIDX RETURN
LIDA CON 0 PRIVILEGED INFORMATION FLAG
PCE SPACE 4,15
** PCE - PURGE CATALOG ENTRIES.
*
* ENTRY USER INDEX SET.
*
* EXIT ALL CATALOG ENTRIES FOR SPECIFIC USER INDEX PURGED.
*
* USES X - 0, 1, 6.
* A - 1, 6.
*
* CALLS CEP, CER, CLN, SEP.
*
* MACROS CATLIST, PURGE, READW, WRITEC.
PCE3 SA1 I
LX1 -10
BX6 X6-X6
PL X1,PCE1 IF NOT END OF INFORMATION
SA1 I
SA6 A1+CFCN CLEAR CATLIST CONTINUATION DATA ADDRESS
RJ CEP CLEAR ERROR PROCESSING
SA1 S
RJ CEP CLEAR ERROR PROCESSING
PCE SUBR ENTRY/ EXIT
SA1 I
RJ SEP SET ERROR PROCESSING
SA1 S
RJ SEP SET ERROR PROCESSING
PCE1 CATLIST I,,,,,,IP
SA1 I
RJ CER CHECK ERROR
PCE2 READW I,KBUF,NWCE
NG X1,PCE3 IF NO MORE FILES
SA1 KBUF+FCFN
MX0 42
SX6 B1
BX1 X0*X1 GET FILE NAME
BX6 X1+X6 SET BIT ZERO FOR PURGE CALL
SA6 S
BX6 X1
SA6 PCEA+1
PURGE S,,,,,IP
SA1 S
RJ CER CHECK ERROR
SX1 B1
RJ CLN CHECK LINE NUMBER
WRITEC O,PCEA DUMP FILE NAME TO OUTPUT
EQ PCE2 LOOP
PCEA DATA C* PURGE XXXXXXX*
SEP SPACE 4,10
** SEP - SET ERROR PROCESSING.
*
* ENTRY (A1) = FET ADDRESS.
*
* USES X - 0, 2, 6.
* A - 2, 6.
SEP SUBR ENTRY/EXIT
SA2 A1+B1 SET ERROR PROCESSING BIT
SX0 B1
LX0 44
BX6 -X0*X2
BX6 X0+X6
SA6 A2
EQ SEPX RETURN
SUI SPACE 4,10
** SUI - SAVE AVAILABLE USER INDEX TABLE.
*
* EXIT USER INDICES WRITTEN TO VALINDS.
*
* MACROS REWIND, SETFS, WRITER, WRITEW.
SUI SUBR ENTRY/ EXIT
REWIND U,R
WRITEW U,TAUI,TAUIL
WRITER U
SETFS U,0 CLEAR FILE STATUS
EQ SUIX RETURN
SPB SPACE 4,15
** SPB - SET PERMISSION BIT IN PERMISSION CONTROL WORD.
*
* ENTRY (A0) = ADDRESS OF *TPCW* ENTRY.
* (X1) = PERMISSION IDENTIFIER.
* (X4) = PERMISSION CONTROL WORD.
*
* EXIT (X4) = NEW PERMISSION CONTROL WORD.
* (B3) .LT. 0 IF NO ERROR.
* = ERROR MESSAGE ADDRESS IF ERROR.
*
* USES X - 1, 2, 3, 4.
* A - 1, 3.
* B - 2, 3, 4.
*
* CALLS CDP, STB.
SPB SUBR ENTRY/EXIT
SA3 A0
MX2 42
SB2 X3
RJ STB SEARCH TABLE
SB3 ERAD * ERROR IN ALPHANUMERIC DATA.*
ZR X3,SPBX IF PERMISSION IDENTIFIER NOT FOUND
MX2 -6
BX3 -X2*X3
SB4 X3 PERMISSION BIT NUMBER
SB2 A0-TPCW CHECK IF DEFAULTS TO BE CLEARED
SA1 PCDW
AX1 B2
LX1 59-0
NG X1,SPB1 IF DEFAULT BITS NOT TO BE CLEARED
RJ CDP CLEAR DEFAULT PERMISSION BITS
SPB1 SX1 B1 SET/TOGGLE PERMISSION BIT
LX1 B4
BX4 X4-X1
SB3 -1 SET NO ERROR
EQ SPBX RETURN
CAF SPACE 4,15
** CAF - CHECK ALTERNATE FAMILY.
*
* EXIT (X6) .NE. 0, IF FAMILY NAME CHANGE NOT ALLOWED.
* FAMILY SET TO (FN), IF (FN) .NE. -1 AND JOB IS FROM
* SYSTEM ORIGIN.
*
* ERROR TO *ABT* IF INCORRECT FAMILY.
*
* USES X - 1, 2, 6.
* A - 1, 2, 6.
*
* MACROS ENFAM.
CAF SUBR ENTRY/EXIT
SA1 FN
MX6 59
BX6 X1-X6
ZR X6,CAFX IF FAMILY NOT SPECIFIED
SA1 OT CHECK FAMILY CHANGE ALLOWED
SX6 X1-SYOT
NZ X6,CAFX IF NOT SYSTEM ORIGIN
ENFAM FN
SA1 FN
MX6 -18
BX6 X6*X1 CLEAR STATUS
LX1 59-11
SX2 DMFM * FM NOT LEGAL FAMILY.*
PL X1,CAF1 IF FAMILY CHANGED
MX6 59
SA6 A1
EQ ABT ABORT
CAF1 SA6 A1 SET OLD FAMILY NAME
BX6 X6-X6
EQ CAFX RETURN
TOV SPACE 4,15
** TOV - TABLE OVERFLOW PROCESSOR.
*
* ENTRY FROM *ATS* ONLY.
* (B6) = EXIT ADDRESS IN *COMCMTP* TO CONTINUE
* PROCESSING.
*
* EXIT TO (B6).
* FIELD LENGTH INCREASED BY *FLIN* WORDS.
* (TV) .NE. 0, IF FIELD LENGTH LIMIT REACHED.
*
* USES X - 3, 4, 6.
* A - 3, 4, 6.
*
* MACROS MEMORY.
TOV BSS 0 ENTRY
SA4 FLM MAXIMUM FIELD LENGTH
SA3 ML CURRENT FIELD LENGTH
SX3 X3+FLIN
IX4 X3-X4 LIMIT FIELD LENGTH
NG X4,TOV1 IF ADEQUATE FIELD LENGTH
SX6 B1 INDICATE OVERFLOW
SA6 TV
TOV1 MEMORY CM,TOVB,R,X3
SA3 TOVB GET FIELD LENGTH ASSIGNED
AX3 30
BX6 X3
SA6 ML SET NEW FIELD LENGTH
SX6 X6-C.TAB2
SA6 F.TEND ADJUST TABLE LENGTH
JP B6 EXIT
TOVB CON 0 FIELD LENGTH STATUS RETURN
VPW SPACE 4,15
** VPW - VERIFY PASSWORD.
*
* ENTRY (X7) = PASSWORD, LEFT JUSTIFIED.
*
* EXIT (B2) = 0 IF PASSWORD AT LEAST REQUIRED LENGTH.
* = -1 IF PASSWORD NOT AT LEAST MINIMUM
* REQUIRED LENGTH.
*
* USES X - 0, 1, 3, 4.
* A - 3.
* B - 2, 3.
VPW SUBR ENTRY/EXIT
SB2 B0+
SA3 RP CHECK IF PASSWORD REQUIRED
SX1 RPWL-1 CHECK REQUIRED PASSWORD LENGTH
NZ X3,VPWX IF NO PASSWORD REQUIRED
NG X1,VPWX IF NO PASSWORD REQUIRED
SX4 6
IX3 X1*X4
MX0 1
SB3 X3-1 BUILD MASK
AX0 B3
BX1 -X0*X7 CHECK PASSWORD
NZ X1,VPWX IF PASSWORD AT LEAST REQUIRED LENGTH
SB2 -B1
EQ VPWX RETURN
WCE SPACE 4,10
** WCE - WRITE CATALOG ENTRY TO OUTPUT.
*
* ENTRY (TANB) = 42/USER NAME ,18/USER INDEX.
* (TANB+1) = 24/ ,18/CREATION DATE ,18/LAST MOD DATE.
*
* EXIT CATALOG INFORMATION WRITTEN TO OUTPUT FILE.
*
* USES X - 0, 1, 2, 6.
* A - 1, 2, 6.
*
* CALLS CLN, COD, SFN.
*
* MACROS EDATE, WRITEC.
WCE SUBR ENTRY/EXIT
SA2 TANB SET USER NAME
MX0 42
BX1 X0*X2
BX0 -X0*X2
RJ SFN SET USER NAME
LX6 -6
SA6 WCEA
BX1 X0 SET USER INDEX
RJ COD
LX6 6*2
SA1 TANB+1 SET CREATION DATE
AX1 18
SA6 WCEB
SX1 X1+
EDATE X1
SA6 WCEC
SA1 TANB+1 SET LAST MODIFICATION DATE
SX1 X1
EDATE X1
SA6 WCED
SX1 1
RJ CLN
WRITEC O,WCEA
EQ WCEX RETURN
WCEA CON 1H
WCEB CON 1H
WCEC CON 1H
WCED CON 1H
CON 0
COMMON SPACE 4,10
** COMMON DECKS.
*CALL COMCOVL
*CALL COMCPFM
*CALL COMCCDD
*CALL COMCCIO
*CALL COMCCOD
*CALL COMCCPM
*CALL COMCDXB
*CALL COMCEDT
LIST X
*CALL COMCCVI
LIST -X
*CALL COMCLFM
*CALL COMCMTP
*CALL COMCMVE
*CALL COMCRDO
*CALL COMCRDS
*CALL COMCRDW
*CALL COMCSFN
*CALL COMCSYS
*CALL COMCWOD
*CALL COMCSTF
*CALL COMCWTC
*CALL COMCWTH
*CALL COMCWTS
*CALL COMCWTW
*CALL COMCRDC
*CALL COMCSNM
*CALL COMCVDT
TITLE K-DISPLAY AREA.
INITIAL SPACE 4,10
** DISPLAY AREA DATA.
KIA VFD 6/4B,18/KBUF,18/0,18/DSA CONTROL WORD
KBUF BSSZ 8 KEYBOARD BUFFER
KTIT DATA C*MODVAL.* K-DISPLAY TITLE
NOREF K
DSA VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,( MODVAL)
KDL 5,,("APFN")
KDL 18,,(CRE)
KDL 21,,(ATED )
DSCD EQU *-1
KDL 41,,(UPD)
KDL 44,H,(ATED )
DSMD EQU *-1
KDL 1,K,(INPUT DIRECTIVES ARE THE SAME AS BATCH INPUT DIRECTIVES.)
KDL 1,H,(THE FOLLOWING DIRECTIVES ARE ALSO PROVIDED -)
KDL 1,H,( DIRECTIVE DESCRIPTION)
KDL 1,K,( C,UN CREATE OPTION. THIS DISPLAY ONLY.)
KDL 1,K,( DEL,UN DELETE OPTION. THIS DISPLAY ONLY.)
KDL 1,K,( I,UN INQUIRE OPTION. THIS DISPLAY ONLY.)
KDL 1,K,( U,UN UPDATE OPTION. THIS DISPLAY ONLY.)
KDL 6,K,(/UN TERMINATE INPUT FOR PRESENT USER NAME IF ANY,)
KDL 18,H,(UPDATE "APFN" FILE. INITIATE ACTION ON *UN*.)
KDL 1,H,(UN = 1-7 CHARACTER USER NAME.)
KDL 1,H,(K.END FROM THIS DISPLAY ENDS THE MODVAL RUN.)
MSGA EQU *+1
KDL 1,M,( )
INPA EQU *+1
KDL 1,I,( )
CON 0
PAGE1 SPACE 4,10
DSB VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(USER )
DSAN EQU *-1
KDL 54,T,(PAGE 1 OF 5)
KDL 3,,(CRE)
KDL 6,,(ATED )
DSAC1 EQU *-1
KDL 40,,(UPD)
KDL 43,H,(ATED )
DSAU EQU *-1
KDL 2,H,( CONTENTS DESCRIPTION)
DSUI EQU *+1
KDL 2,K,( UI = USER INDEX (1-377777B).)
DSPL EQU *+1
KDL 2,K,( AL = 00B APPLICATION ACCESS LEVEL (1-17B).)
DSMT EQU *+1
KDL 2,K,( MT = MAGNETIC TAPES (0-7).)
DSRP EQU *+1
KDL 2,H,( RP = REMOVABLE PACKS (0-7).)
KDL 2,H,( CONTENTS VALUE DESCRIPTION)
DSCM EQU *+1
KDL 2,K,( CM = 00B ( 0000B) CENTRAL MEMORY FL (0-77B).)
DSEC EQU *+1
KDL 2,K,( EC = 00B ( 0000B) EXTENDED MEMORY FL (0-77B).)
DSLP EQU *+1
KDL 2,K,( LP = 00B ( 00000) LINES PRINTED (0-77B).)
DSMS EQU *+1
KDL 2,K,( MS = 00B (000000) MASS STORAGE PRUS (0-77B).)
DSSL EQU *+1
KDL 2,K,( SL = 00B ( 00000) SRU LIMIT (0-77B).)
DSTL EQU *+1
KDL 2,K,( TL = 00B ( 00000) TIME LIMIT (0-77B).)
MSGB EQU *+1
KDL 1,M,( )
INPB EQU *+1
KDL 1,I,( )
CON 0 END OF DISPLAY
PAGE2 SPACE 4,10
DSC VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(USER )
DSAN1 EQU *-1
KDL 54,T,(PAGE 2 OF 5)
KDL 2,H,( CONTENTS VALUE DESCRIPTION)
DSCP EQU *+1
KDL 2,K,( CP = 00B ( 0000) CARDS PUNCHED (0-77B).)
DSPT EQU *+1
KDL 2,K,( PT = 00B ( 00000) UNITS PLOTTED (0-77B).)
DSCC EQU *+1
KDL 2,K,( CC = 00B ( 0000) COMMANDS (0-77B).)
DSDF EQU *+1
KDL 2,K,( DF = 00B ( 0000) DAYFILE MESSAGES (0-77B).)
DSDB EQU *+1
KDL 2,K,( DB = 0 ( 00) DEFERRED BATCH (0-7).)
DSDT EQU *+1
KDL 2,H,( DT = 00B ( 00000) DETACHED JOBS (0-77B).)
DSCS EQU *+1
KDL 2,K,( CS = 0 ( 00000) INDIRECT ACCESS FILE SPACE (0-7
,).)
DSDS EQU *+1
KDL 2,K,( DS = 0 ( 00000) DIRECT ACCESS FILE SIZE (0-7).
DSFC EQU *+1
KDL 2,K,( FC = 0 ( 00) PERMANENT FILE COUNT (0-7).)
DSFS EQU *+1
KDL 2,K,( FS = 0 ( 00) INDIRECT ACCESS FILE SIZE (0-7)
,.)
DSAW EQU *+1
KDL 2,K,( AW = ACCESS WORD (4 CHARACTERS).)
DSCN EQU *+1
KDL 2,K,( CN = CHARGE NUMBER (1-10 CHARACTERS)
,.)
DSPN EQU *+1
KDL 2,K,( PN = PROJECT NUMBER (1-20 CHARACTERS
,).)
DSUD EQU *+1
KDL 2,K,( PID = PERSONAL ID (0-20 CHARACTERS.).
,)
MSGC EQU *+1
KDL 1,M,( )
INPC EQU *+1
KDL 1,I,( )
CON 0
PAGE3 SPACE 4,10
DSD VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(USER )
DSAN2 EQU *-1
KDL 54,T,(PAGE 3 OF 5)
KDL 2,H,( CONTENTS DESCRIPTION)
DSSN EQU *+1
KDL 2,K,( SH = SHELL PROGRAM NAME (1-7 CHARACTERS).)
DSSH EQU *+1
KDL 2,K,( SO = SHELL PROGRAM OPTIONS (4 CHARACTERS).)
DSSP EQU *+1
KDL 2,K,( SP = SYSTEM PROLOGUE FILE INDEX (1-77B).)
DSUP EQU *+1
KDL 2,H,( UP = USER PROLOGUE FILE NAME (1-7 CHARACTERS).
,)
DSUC EQU *+1
KDL 2,K,( UC = DEFAULT SERVICE CLASS FOR ORIGIN TYPES)
KDL 2,K,( BC,RB,IA (2 OR 4 CHARACTERS).)
DSVM EQU *+1
KDL 2,H,( VM = VALIDATION MASK (2 CHARACTERS).)
DSIS EQU *+1
KDL 2,K,( IS = INITIAL SUBSYSTEM (4-8 CHARACTERS).)
DSPA EQU *+1
KDL 2,K,( PA = TERMINAL PARITY (EVEN OR ODD).)
DSPX EQU *+1
KDL 2,K,( PX = TRANSMISSION (FULL OR HALF).)
DSRO EQU *+1
KDL 2,K,( RO = RUBOUTS (0-31).)
DSTC EQU *+1
KDL 2,K,( TC = CHARACTER SET (ASCII OR NORMAL).)
DSTT EQU *+1
KDL 2,K,( TT = TERMINAL TYPE (3-7 CHARACTERS).)
MSGD EQU *+1
KDL 1,M,( )
INPD EQU *+1
KDL 1,I,( )
CON 0 END OF DISPLAY
PAGE4 SPACE 4,10
DSE VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(USER )
DSAN4 EQU *-1
KDL 54,T,(PAGE 4 OF 5)
KDL 2,H,( CONTENTS DESCRIPTION)
KDL 2,K,( PASSWORDS MUST BE "OPWL"-7 CHAR.)
DSXB EQU *+1
KDL 2,K,(XB = BATCH PASSWORD EXPIRATION DATE (YYMMDD).
,)
DSXI EQU *+1
KDL 2,K,(XI = INTERACTIVE PASSWORD EXPIRATION DATE)
KDL 2,H,( (YYMMDD).)
DSLV EQU *+1
KDL 2,K,(SAL = SECURITY ACCESS LEVELS (1-7 CHAR).)
DSAV EQU *+1
KDL 2,K,(SAV = SECURITY ACCESS PRIVILEGES (4 CHAR).)
DSAC EQU *+1
KDL 2,,(SAC = )
KDL 23,K,(SECURITY ACCESS CATEGORIES (1-7 CHAR).)
DSSE EQU *+1
KDL 2,K,(SC = SECURITY COUNT (0-77B).)
MSGE EQU *+1
KDL 1,M,( )
INPE EQU *+1
KDL 1,I,( )
CON 0 END OF DISPLAY
PAGE5 SPACE 4,10
DSF VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(USER )
DSAN3 EQU *-1
KDL 54,T,(PAGE 5 OF 5)
KDL 1,H,( STATUS APPLICATION STATUS APPLICATION)
DSAP EQU *
RNNA SET TNAVL+1 ROUNDED APPLICATION COUNT
DUP RNNA/2,1
KDL 1,K,( )
MSGF EQU *+1
KDL 1,M,( )
INPF EQU *+1
KDL 1,I,( )
CON 0 END OF DISPLAY
PAGE1R SPACE 4,10
DSG VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(K DISPLAY COMMANDS)
KDL 54,T,(PAGE 1 OF 3)
KDL 7,K,(DROP TERMINATE INPUT FOR ACTIVE USER.)
KDL 7,K,(END COMPLETE UPDATE OR INQUIRE OF ACTIVE USER. FROM)
KDL 7,K,( INITIAL DISPLAY, END RUN.)
KDL 7,H,(STOP TERMINATE INPUT FOR ACTIVE USER, IF ANY. END RUN.)
KDL 7,K,(/UN TERMINATE INPUT FOR PRESENT USER NAME AND UPDATE)
KDL 7,K,( "APFN" FILE. INITIATE ACTION ON *UN*.)
KDL 7,K,(+ PAGE LEFT DISPLAY FORWARD.)
KDL 7,K,(- PAGE LEFT DISPLAY BACKWARD.)
CHAR 1R[,1R(
CHAR 1R],1R)
CODE O
KDL 7,K,([ PAGE RIGHT DISPLAY FORWARD.)
KDL 7,H,(] PAGE RIGHT DISPLAY BACKWARD.)
CODE *
KDL 1,H,(PARAMETER INPUT)
KDL 1,K,( DATA ENTRY FORMAT IS OF THE FORM MT=XX,CM=XX,TL=XX, ETC.)
KDL 1,K,( ALL NUMERIC FIELDS ARE ASSUMED TO BE DECIMAL UNLESS A)
KDL 1,K,( POSTRADIX IS SPECIFIED. FOR EXAMPLE - 4000B)
CON 0 END OF DISPLAY
PAGE2R SPACE 4,10
DSH VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(MODVAL IDENTIFIERS)
KDL 54,T,(PAGE 2 OF 3)
KDL 1,H,(AW - ACCESS WORD (LEFT FROM BIT 0))
KDL 4,K,(CPWC,CTPC,CLPF,CSPF,CSOJ,CASF,CAND)
KDL 4,K,(CCNR,CSRP,CSTP,CTIM,CUCP,CSAP,CBIO)
KDL 4,K,(CPRT,CPLK,CQLK,CUST,CNVE,CMNT,CNOP)
KDL 4,K,(CSAF,CNRD,COPR,CLTD,COPI,CACA,CPAM)
KDL 4,K,(CSAU,CRAU,CRAF)
KDL 1,H,(SO - REMOTE TERMINAL PROGRAM (LEFT FROM BIT 0))
KDL 1,H,( CCLM,BCSM,TCSM,SLID,GLID,LFID,ABTM)
KDL 1,H,(UC - SERVICE CLASS (LEFT FROM BIT 1))
KDL 1,H,( SY,BC,RB,TS,DI,NS,SS,MA,CT,I0,I1,I2,I3)
KDL 1,H,(SAL - SECURITY ACCESS LEVEL (LEFT FROM BIT 0))
KDL 1,K,( "ALM0","ALM1","ALM2","ALM3")
KDL 1,K,( "ALM4","ALM5","ALM6","ALM7")
CON 0 END OF DISPLAY
PAGE3R SPACE 4,10
DSJ VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
KDL 1,T,(MODVAL IDENTIFIERS)
KDL 54,T,(PAGE 3 OF 3)
KDL 1,H,(SAV - SECURITY PRIVILEGE (RIGHT FROM BIT 59))
KDL 1,H,( CSAP,COLD,CPWX,CFPX,CLJL,CLFL,CWLF,CULT)
KDL 1,H,(SAC - SECURITY ACCESS CATEGORY (LEFT FROM BIT 0))
KDL 1,K,( "ACM00","ACM01","ACM02","ACM03","ACM04","ACM05","ACM06")
KDL 1,K,( "ACM07","ACM08","ACM09","ACM10","ACM11","ACM12","ACM13")
KDL 1,K,( "ACM14","ACM15","ACM16","ACM17","ACM18","ACM19","ACM20")
KDL 1,K,( "ACM21","ACM22","ACM23","ACM24","ACM25","ACM26","ACM27")
KDL 1,K,( "ACM28","ACM29","ACM30","ACM31")
CON 0 END OF DISPLAY
TITLE DATA AREA.
TAUI SPACE 4,10
** TAUI - TABLE OF AVAILABLE USER INDICES.
TAUIL EQU AUIMX/60+1
TAUI BSSZ TAUIL
ACW SPACE 4,10
** SSJ - TABLE OF USER ACCESS PARAMETERS.
SSJ= BSSZ SSJL
BUFFERS SPACE 4,10
** BUFFER ASSIGNMENTS.
USE BUFFERS
D1 SET *
TITLE PRESET ROUTINES.
PRS SPACE 4,10
** PRS - PRESET.
** PRESET CODE NOT OVERLAID BY *CIO* BUFFERS.
PRS33 REWIND U CHECK VALIDATION FILES
REWIND P
READ U
READ P
READW U,TAUI,TAUIL
SA3 OPTION
SX6 ROPTB+UOPTB
SX2 DMVR * VALINDS READ ERROR.*
BX6 X6*X3
ZR X6,PRS34 IF NOT *R* OR *U* OPTION
NZ X1,ABT IF READ ERROR ON *VALINDS*
PRS34 READO P SET AVAILABLE DATA BLOCK
MX0 12
BX5 X0*X6
READO X2
SX2 DML0 * LEVEL-0 DATA BASE ERROR.*
NZ X1,ABT IF TRANSFER NOT COMPLETE
NZ X5,ABT IF LEVEL NUMBER WRONG
SA6 RAND
AX6 18 SET K-DISPLAY CREATION DATE
EDATE X6
SA6 DSCD
SA1 RAND SET K-DISPLAY MODIFICATION DATE
SX1 X1
EDATE X1
SA6 DSMD
SA1 RAND SET PRU OF AVAILABLE DATA BLOCK
SB2 60-24
AX6 X1,B2
SA6 A1
REWIND P
PRS35 OVERLAY PRSA,100B,S
GETPFP IAMA GET MODIFIED FAMILY NAME
SA2 IAMA MODIFIED FAMILY NAME
SA1 SSJ=+UIDS GET ISSUING USER NAME
BX7 X1
BX6 X2
SA1 OT CHECK ORIGIN TYPE
SX1 X1-SYOT
SA7 IAMA+3
NZ X1,PRS36 IF NOT SYSTEM ORIGIN
SA2 FN CHECK ALTERNATE FAMILY
SB2 X2+1
ZR B2,PRS36 IF NO ALTERNATE FAMILY
BX6 X2
PRS36 SA6 IAMA+1
SA1 UPFG CHECK USER PROLOGUE FILE NAME FLAG
NZ X1,UPR IF USER PROLOGUE FILE NAME ENTERED
SA1 CHFG
NZ X1,CHV IF USER VALIDATION CHANGE
SA1 AN CHECK PASSWORD CHANGE
NZ X1,PSW IF CHANGE PASSWORD
EQ MOD EXIT TO MAIN LOOP
PRSA CON 0LSFS
D SET *
** PRESET CODE AND DATA OVERLAID BY *VALIDUS* AND *VALINDS*
* *CIO* BUFFERS.
CHVAL SB1 1 ENTRY
SX6 B1
SX7 B0
SA6 CHFG SET *CHVAL* FLAG
SA6 UF SET UPDATE MODE
SA7 OP SUPPRESS NORMAL OPTIONS
SA1 SSJ=+UIDS CHECK FOR USER NAME
SX2 DMCM * INCORRECT COMMAND.*
MX0 42
BX1 X0*X1
ZR X1,ABM IF NO USER
BX7 X1
SA7 AN
EQ MODVAL MERGE INTO *MODVAL* FLOW
LIMITS SB1 1 ENTRY
SX7 -B1
LX6 -6
SA7 LMFG
SA1 SSJ=+UIDS CHECK USER NAME
SX2 DMCM * INCORRECT COMMAND.*
MX0 42
BX1 X0*X1
ZR X1,ABM IF NO USER
EQ MODVAL
PASSWOR SB1 1 ENTRY
SA4 TARG FWA ARGUMENT TABLE
SB6 TKPR FWA KEYWORD/POSITION TABLE
SA5 CCDR FWA COMMAND BUFFER
SB2 B0 NO PARAMETERS TO SKIP
RJ RSP REMOVE SECURE PARAMETERS
SX6 B1
SX7 B0
SA6 LIDA *PASSWOR* FLAG, NO OUTPUT
SA7 OP SUPPRESS NORMAL OPTIONS
SA6 UF SET UPDATE MODE
SA6 PSWF SET *PASSWOR* FLAG
EQ MODVAL MERGE INTO *MODVAL* FLOW
UPROC SB1 1 ENTRY
SX6 B1
SA6 UPFG SET *UPROC* FLAG
SA6 UF SET UPDATE MODE
SX6 B0
SA6 OP SUPPRESS NORMAL OPTIONS
SA1 SSJ=+UIDS CHECK USER NAME
SX2 DMCM * INCORRECT COMMAND.*
MX0 42
BX1 X0*X1
ZR X1,ABM IF N0 USER
BX7 X1
SA7 AN
EQ MODVAL MERGE INTO *MODVAL* FLOW
GENVAL SB1 1 ENTRY
SX7 1RC SET CREATE OPTION
LX7 -6
SA7 PRSB
SA7 GENF SET *GENVAL* FLAG
* EQ MODVAL MERGE INTO *MODVAL* FLOW
MODVAL SB1 1 ENTRY
REPRIEVE ABTB,SET,237B SET *REPRIEVE* PROCESSING
MESSAGE CCDR,0,R ISSUE COMMAND TO DAYFILE
MX6 30 SET VALIDATED FL RETURN
SX7 TOV SET TABLE OVERFLOW PROCESSOR ADDRESS
SA6 FLM
SA7 TO
MEMORY CM,A6,R,,NA
SA1 FLM POSITION MAXIMUM FIELD LENGTH
LX1 30
SX6 X1-FLIN
SA6 FLM
GETPP PRSF,LPPG,PRSF INITIALIZE PAGE PARAMETERS
PDATE PD SET DATE
SA1 PD
AX1 18
BX6 X1
SA2 TODV+ATPA TERMINAL PROCESSING DEFAULTS
BX7 X2+X1
SA6 A1 (PD) = MODIFICATION DATE
LX6 18
BX7 X7+X6
SA7 TODV+ACCD DEFAULT CREATION/MODIFICATION DATES
SA1 CCDR SPACE FILL COMMAND
SB3 8
PRS MX0 54
LX6 X1
BX5 -X0*X1
SB3 B3-B1
NZ X5,PRS1 IF NO FILL NEEDED
RJ SFN
PRS1 SA6 A1
SA1 A1+B1
NZ B3,PRS IF NOT COMPLETE
MX6 0
SA6 A6+B1
SA1 JOPR SET ORIGIN TYPE
SX0 7777B
LX1 -24
BX7 X0*X1
SA7 OT
SA3 LIDA CHECK ENTRY
SA4 ACTR
SB4 X4
ZR X3,PRS4 IF NOT *PASSWOR*
MX0 42
SA1 SSJ=+UIDS SET USER NAME
SX2 DMCM * INCORRECT COMMAND.*
BX1 X0*X1
ZR X1,ABT IF NO USER
BX6 X1
SA6 AN
SA3 SSJ=+AACS CHECK USER ALLOWED TO CHANGE PASSWORD
LX3 59-0
PL X3,ABT IF NO PERMISSION
SA1 O SET POINTER FOR TERMINAL INTERACTION
SA3 ARGR OLD PASSWORD
BX2 X0*X1
SX1 A1
BX6 X1+X2
SA6 A3
SA1 SSJ=+AACS GET PASSWORD RANDOMIZATION REQUIRED BIT
MX6 -1
AX1 23
BX6 -X6*X1
SA6 OPWR
SX1 X7-IAOT
SX7 DEPT CHECK IF CHANGING BOTH PASSWORDS
NZ X1,PRS1.0 IF NOT INTERACTIVE ORIGIN
ZR X7,PRS1.1 IF CHANGING BOTH PASSWORDS
SX7 APWI SET INDEX TO CHANGE INTERACTIVE PASSWORD
EQ PRS1.1 PROCESS PARAMETERS
PRS1.0 SX2 DMPB * RANDOMIZATION NOT PERMITTED FROM BATCH.*
ZR X6,ABT IF PASSWORD RANDOMIZATION REQUIRED
ZR X7,PRS1.1 IF CHANGING BOTH PASSWORDS
SX7 APSW SET INDEX TO CHANGE BATCH PASSWORD
PRS1.1 SA7 PWIX
ZR B4,PRS3 IF SECURE ENTRY
SX2 DMSP * SECURE PASSWORD ENTRY REQUIRED.*
ZR X6,ABT IF PASSWORD RANDOMIZATION REQUIRED
EQ B4,B1,PRS2 IF INCORRECT ARGUMENT COUNT
SA1 A3+B1
BX7 X0*X3
SA7 OPW SAVE OLD PASSWORD
SX5 X3-1R=
SX3 X3-2
BX6 X0*X1
IX5 X5*X3
SA6 NPW SAVE NEW PASSWORD
SX4 X1-1R=
SX1 X1-2
IX4 X4*X1
IX4 X4*X5
ZR X4,PRS2 IF INCORRECT SEPARATOR FOR PASSWORDS
SB5 TARG *PASSWOR* ARGUMENT TABLE
SA4 ARGR+2 FIRST KEYWORD POSITION
SB4 B4-2 REMAINING PARAMETER COUNT
RJ ARG PROCESS OPTIONAL PARAMETERS
ZR X1,PRS3.1 IF NO ARGUMENT ERROR
PRS2 SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
EQ ABT ABORT
PRS3 RJ ESP ENTER SECURE PARAMETERS
SA1 NPW COMPARE NEW AND VERIFICATION PASSWORDS
SX2 DMVE * VERIFICATION ERROR.*
SA3 A1+B1
ERRNG NPW-VERPW+1 CODE REQUIRES CONTIGUOUS WORDS
BX1 X1-X3
NZ X1,ABT IF VERIFICATION ERROR
PRS3.1 SA1 XD GET EXPIRATION DATE
SA5 XT GET EXPIRATION TERM
ZR X1,PRS3.3 IF EXPIRATION DATE NOT SPECIFIED
NZ X5,PRS2 IF EXPIRATION TERM ALSO SPECIFIED
BX2 X2-X2
RJ VDT VALIDATE AND CONVERT DATE
NG X6,PRS3.2 IF INCORRECT DATE
NG X1,PRS3.2 IF DATE ALREADY EXPIRED
SX1 APXL
SX2 X1-7777B
ZR X2,PRS3.6 IF LIMIT IS INFINITE
BX3 X6
RJ ADT CALCULATE LIMIT
IX7 X6-X3
BX6 X3
PL X7,PRS3.6 IF DATE NOT PAST LIMIT
PRS3.2 SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
EQ ABT ABORT
PRS3.3 SX6 -1
ZR X5,PRS3.6 IF NO EXPIRATION TERM SPECIFIED
SA1 =1L*
IX6 X1-X5
SB7 B1
NZ X6,PRS3.4 IF ASTERISK NOT SPECIFIED FOR TERM
SX6 APXL SET MAXIMUM VALUE
BX1 X6
EQ PRS3.5 PROCESS MAXIMUM VALUE
PRS3.4 RJ DXB CONVERT TERM VALUE
NZ X4,PRS3.2 IF CONVERSION ERROR
SX2 APXL MAXIMUM TERM ALLOWED
IX1 X2-X6
NG X1,PRS3.2 IF VALUE OUT OF RANGE
BX1 X6
PRS3.5 SX6 X6-7777B
ZR X6,PRS3.6 IF NON-EXPIRING PASSWORD
SA2 PD
BX6 X2
ZR X1,PRS3.6 IF IMMEDIATELY EXPIRING PASSWORD
RJ ADT ADD TERM VALUE TO PACKED DATE
PRS3.6 SA6 XDATE
SA5 OPW
SA4 NPW
SA1 OPWR
NZ X1,PRS3.7 IF PASSWORD RANDOMIZATION NOT REQUIRED
RJ RPW RANDOMIZE PASSWORD
SA5 OPW
SA4 NPW
PRS3.7 RJ EPW ENCRYPT OLD PASSWORD
SA6 OLDPW
BX5 X4
MX0 -6
PRS3.8 LX4 6 CHECK NEW PASSWORD FOR ASTERISKS
BX3 -X0*X4
ZR X3,PRS3.9 IF PASSWORD CHECK COMPLETE
SX3 X3-1R*
NZ X3,PRS3.8 IF VALID CHARACTER
SX2 DMIP * INCORRECT PASSWORD.*
EQ ABT ABORT
PRS3.9 LX7 X5
RJ VPW VERIFY NEW PASSWORD
SX2 DMPS * PASSWORD TOO SHORT.*
NZ B2,ABT IF NEW PASSWORD NOT REQUIRED LENGTH
RJ EPW ENCRYPT NEW PASSWORD
SA6 NEWPW
SA1 PT
ZR X1,PRS31 IF PASSWORD TYPE NOT SPECIFIED
MX2 24
SB2 TPTI
RJ STB SEARCH FOR VALID PASSWORD TYPE
SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
ZR X3,ABT IF INVALID PASSWORD TYPE
SX6 X3
SA6 PWIX SET PASSWORD DATA BLOCK INDEX
EQ PRS31 ATTACH VALIDATION FILE
PRS4 SA5 LMFG
SB5 PRST *LIMITS* ARGUMENT EQUIVALENCE TABLE
NZ X5,PRS6 IF *LIMITS*
SA5 UPFG
ZR X5,PRS4.1 IF NOT *UPROC*
SX6 DMUP * UPROC COMPLETE.*
SA6 MODA
SX6 PRSV *UPROC* ARGUMENT EQUIVALENCE TABLE
SX7 PRSVL SET ARGUMENT TABLE LENGTH
RJ PKP PROCESS KEYWORD OR POSITIONAL ARGUMENTS
PL X1,PRS31 IF NO ERROR
SX2 DMUA * ERROR IN UPROC ARGUMENTS.*
EQ ABT ABORT
PRS4.1 SA5 CHFG
ZR X5,PRS4.2 IF NOT *CHVAL*
SB5 PRSAA *CHVAL* ARGUMENT EQUIVALENCE TABLE
SA4 ARGR
RJ ARG PROCESS ARGUMENTS
SA3 CHVB
SX2 DMCA * ERROR IN CHVAL ARGUMENTS.*
ZR X3,ABT IF NO PARAMETERS
NZ X1,ABT IF ERROR
EQ PRS31 ATTACH VALIDATION FILE
PRS4.2 SA5 GENF
ZR X5,PRS4.4 IF NOT *GENVAL*
SX2 DMIA * USER ACCESS NOT VALID.*
NZ X7,ABT IF NOT SYSTEM ORIGIN
SB5 PRSAB *GENVAL* ARGUMENT EQUIVALENCE TABLE
SA4 ARGR
RJ ARG PROCESS ARGUMENTS
ZR X1,PRS4.3 IF NO ERROR
SX2 DMGA * ERROR IN GENVAL ARGUMENTS.*
EQ ABT ABORT
PRS4.3 RJ CAF CHECK ALTERNATE FAMILY
SETUI SYUI SET SYSTEM USER INDEX
SA1 N SET LOCAL FILE NAME
BX6 X1
SA6 P
SA1 P SET ERROR PROCESSING
RJ SEP
DEFINE P,,,,,,,,,IP DEFINE VALIDATION FILE
SA1 P
RJ CER CHECK ERROR
RJ CEP CLEAR ERROR PROCESSING
SA1 U SET ERROR PROCESSING
RJ SEP
DEFINE U,,,,,,,,,IP DEFINE USER INDEX FILE
SA1 U
RJ CER CHECK ERROR
RJ CEP CLEAR ERROR PROCESSING
EQ PRS14.1 PROCESS CREATION
PRS4.4 NZ X7,PRS5 IF NOT SYSTEM ORIGIN
ZR B4,PRS12 IF NO PARAMETERS
PRS5 SB5 PRSE *MODVAL* ARGUMENT EQUIVALENCE TABLE
PRS6 SA4 ARGR CRACK COMMAND
RJ ARG
NZ X1,PRS26 IF INCORRECT PARAMETER
SA5 LMFG
NZ X5,PRS13 IF *LIMITS*
SA1 PRSL CONVERT CONVERSION OPTIONS
MX0 6
PRS7 BX2 X0*X1
LX1 6
ZR X2,PRS9 IF NO MORE OPTIONS
SA3 PRSU CHECK OPTION TABLE
PRS8 ZR X3,PRS26 IF INCORRECT OPTION
BX4 X2-X3
BX4 X0*X4
SA3 A3+B1
NZ X4,PRS8 IF NO MATCH
SA5 A3-B1 SET OPTION
LX5 -18
SX6 X5
LX5 18
SA6 X5
EQ PRS7 LOOP FOR NEXT OPTION
PRS9 SA1 CVA CHECK IF *CV=A* SPECIFIED
ZR X1,PRS9.1 IF NOT SPECIFIED
SA1 =0LSTANDARD
BX6 X1
SA6 TTCI+ATCN+1
PRS9.1 SA1 LO CRACK LIST OPTIONS
BX6 X6-X6
MX0 6
SA6 A1+
PRS10 BX2 X0*X1
LX1 6
ZR X2,PRS13 IF NO MORE OPTIONS
SA3 PRSO CHECK OPTION TABLE
PRS11 ZR X3,PRS26 IF INCORRECT OPTION
BX4 X2-X3
BX4 X4*X0
SA3 A3+B1
NZ X4,PRS11 IF NO MATCH
SA5 A3-B1 SET OPTION
LX5 -18
SX6 X5
LX5 18
SA6 X5
EQ PRS10 LOOP FOR NEXT LIST OPTION
* CRACK OPTIONS.
PRS12 SX7 1RK SET K-DISPLAY OPTION
LX7 -6
SA7 PRSB
PRS13 RJ CAF CHECK ALTERNATE FAMILY
NZ X6,PRS26 IF FAMILY CHANGE NOT ALLOWED
SX2 O SET OUTPUT FILE TERMINAL STATUS
RJ STF
NZ X6,PRS14 IF NOT TERMINAL FILE
SA1 =1H CLEAR CARRIAGE CONTROL
BX7 X1
SA7 CLNA
SA1 =1L CLEAR CARRIAGE CONTROL FROM *LIMITS* TITLE
SA2 LITL
MX7 -54
BX7 -X7*X2
BX7 X1+X7
SA7 A2
PRS14 SA6 OF
WRITEW O,PRSF,X6 CONDITIONALLY WRITE FORMAT EFFECTOR
SA1 O SET POINTER FOR TERMINAL INTERACTION
MX0 42
BX6 X0*X1
SX2 A1
BX6 X2+X6
SA6 ARGR
PRS14.1 SA1 PRSB *OP* EQUIVALENCE
MX0 6
BX6 X6-X6
PRS15 BX5 X0*X1 GET OPTION CHARACTER
LX1 6
ZR X5,PRS17 IF NO MORE OPTIONS
SB3 B0+
PRS16 SA3 PRSC+B3
ZR X3,PRS26 IF END OF TABLE
SB3 B3+B1
BX2 X5-X3
NZ X2,PRS16 IF NOT ENTRY
SB3 B3-B1 SET OPTION IN CONTROL WORD
SX2 B1
LX2 X2,B3
BX6 X6+X2
EQ PRS15 GET NEXT ENTRY
PRS17 SA1 LMFG
ZR X1,PRS17.1 IF NOT *LIMITS*
SX6 IOPTB
PRS17.1 SA6 OPTION SET OPTION CONTROL WORD
RJ CFN CHECK FOR FILE NAME CONFLICT
ZR X1,PRS19 IF NO FILE NAME CONFLICT
SB2 1RX SET SEARCH CHARACTER
SB5 DMFC * FILE NAME CONFLICT - LFN.*
RJ SNM ENTER FILE NAME IN MESSAGE
SX2 B5
EQ ABT PROCESS ERROR
PRS19 SA2 OPTION
SX1 UOPTB+ROPTB+SOPTB
LX6 X2
BX2 -X1*X2
SA3 FA
LX6 59-COPT
BX4 X3+X2
SA1 RP CHECK FOR *RP* PARAMETER
CX3 X6
AX3 1
NG X6,PRS20 IF CREATE RUN
NZ X1,PRS26 IF *RP* SPECIFIED AND NOT CREATE RUN
SA1 SI CHECK FOR *SI* PARAMETER
NZ X1,PRS26 IF *SI* SPECIFIED AND NOT CREATE RUN
ZR X4,PRS33 IF NO SPECIAL OPTIONS AND *FA* NOT SET
ZR X2,PRS29 IF NO SPECIAL OPTIONS
EQ PRS22 CHECK SPECIAL OPTIONS
* PROCESS SPECIAL OPTIONS.
PRS20 NZ X3,PRS26 IF CREATE NOT ALONE
SA1 UIIW SET *CREATE* DATA IDENTIFIERS
MX7 0
BX6 X1
SA7 FUIW+1
SA6 A7-1
SA3 SI CHECK FOR *SI* PARAMETER
NZ X3,PRS21 IF SOURCE INPUT
SX6 PRSDN SET NUMBER OF PRIVILEGED INPUT DIRECTIVES
SA6 LIDA
WRITEW I,PRSD,PRSDL SET DIRECTIVES IN INPUT BUFFER
PRS21 EVICT N INITIALIZE FILES
EVICT U
SX0 9 RESERVE 1ST LEVEL 0 PLUS 8 SECTORS
PRS21.1 WRITER N,R
SX0 X0-1
NZ X0,PRS21.1 IF MORE SECTORS TO RESERVE
EQ PRS35 LOAD FILE SUPERVISOR
PRS22 LX6 COPT-IOPT
PL X6,PRS23 IF NOT INQUIRE OPTION
NZ X3,PRS26 IF INQUIRE NOT ALONE
SA1 P
RJ SEP SET ERROR PROCESSING
ATTACH P,,,,RM,,,IP,MA ATTACH *VALIDUS* FILE
EQ PRS32 CHECK FOR ERROR ON ATTACH
PRS23 LX6 IOPT-LOPT
PL X6,PRS24 IF NOT LIST OPTION
NZ X3,PRS26 IF LIST NOT ALONE
SA1 PRSP PRESET SCRATCH FILES
SA2 A1+B1
BX7 X1
SA7 N
LX7 X2
SA7 S
RETURN S
RETURN N
SA1 PRSQ
NZ X1,PRS33 IF LOCAL FILE CATALOG
EQ PRS29 CHECK ORIGIN TYPE
PRS24 LX6 LOPT-ZOPT
PL X6,PRS28 IF NOT COMMAND INPUT OPTION
SB2 CCDR GET DIRECTIVES FROM COMMAND
RJ USB
SA1 B6+ SKIP TO TERMINATOR
SX3 4100B SET TERMINATOR MASK
PRS25 SB2 X1-1R9
AX2 X3,B2
SA1 A1+1
LX2 59
NG X2,PRS27 IF TERMINATOR
NZ X1,PRS25 IF NOT END OF COMMAND
PRS26 SX2 DMMA * ERROR IN MODVAL ARGUMENTS.*
SA3 LMFG
ZR X3,ABT IF NOT *LIMITS*
SX2 DMLA * ERROR IN LIMITS ARGUMENTS.*
EQ ABT ABORT
PRS27 SB6 A1 SET STRING BUFFER
SB7 B7-B6
WRITES I,B6,B7+B1
SX6 ZOPTB
SA6 OPTION
EQ PRS29 PRESET SYSTEM FILE
PRS28 LX6 ZOPT-KOPT
PL X6,PRS33 IF NOT K-DISPLAY
SX6 KOPTB
SA6 OPTION
* PRESET SYSTEM FILE.
PRS29 SA1 OT CHECK ORIGIN TYPE
SX1 X1-SYOT
NZ X1,PRS26 IF NOT SYSTEM ORIGIN
SETUI SYUI
RJ CSM CHECK SECURITY MODE
SX2 DMIA * USER ACCESS NOT VALID.*
NZ X1,ABT IF CALLER NOT VALID
SA1 OPTION
SX2 KOPTB
BX2 X1*X2
ZR X2,PRS30 IF NOT K-DISPLAY
SX3 PRSAC
RJ PRK PRESET K-DISPLAY BUFFER
PRS30 SA1 U
RJ SEP SET ERROR PROCESSING
SETRNR NOROLL PREVENT ROLLOUT
SETPR MVCS
ATTACH U,,,,W,,,IP SET AVAILABLE USER INDICES
SA1 U
SB4 PRS30
RJ CER CHECK ERROR
RJ CEP CLEAR ERROR PROCESSING
PRS31 SA1 P
RJ SEP SET ERROR PROCESSING
SETRNR NOROLL PREVENT ROLLOUT
SETPR MVCS
ATTACH P,,,,M,,,IP,MA INTERLOCK UPDATE
PRS32 SA1 P
SB4 PRS31
RJ CER CHECK ERROR
RJ CEP CLEAR ERROR PROCESSING
SX6 1 SET SYSTEM FILES ATTACHED FLAG
SA6 RAPF
SX6 B1+
SA6 CERA FORCE ABORT WHEN ERROR ENCOUNTERED
EQ PRS33 CHECK VALIDATION FILES
PRS SPACE 4,10
PRSB CON 1LU OPTION EQUIVALENCE STRING
PRS SPACE 4,10
** OPTION TABLE.
PRSC INDEX CON,LOPT+1,( * )
INDEX ,KOPT,( 1LK )
INDEX ,COPT,( 1LC )
INDEX ,UOPT,( 1LU )
INDEX ,ROPT,( 1LR )
INDEX ,SOPT,( 1LS )
INDEX ,ZOPT,( 1LZ )
INDEX ,LOPT,( 1LL )
CON 0
PRS SPACE 4,10
CUE$ IFEQ CUE$,2
HSUI OCTMIC HSUI
CUE$ ENDIF
SUBF0 OCTMIC SBUI
SUBF1 OCTMIC SBUI+1
SUBF2 OCTMIC SBUI+2
SUBF3 OCTMIC SBUI+3
SUBF4 OCTMIC SBUI+4
SUBF5 OCTMIC SBUI+5
SUBF6 OCTMIC SBUI+6
SUBF7 OCTMIC SBUI+7
NTUI OCTMIC NTUI
PLUI OCTMIC PLUI
AAUI OCTMIC AAUI
IFUI OCTMIC IFUI
LIUI OCTMIC LIUI
SYUI OCTMIC SYUI
PRSD BSS 0 TABLE OF DEFAULT USER NAMES FOR *OP=C*
DATA C*/SUBFAM0,UI="SUBF0"B,AW=ALL,PW=SUBFAM0,XT=0.*
DATA C*/SUBFAM1,UI="SUBF1"B,AW=ALL,PW=SUBFAM1,XT=0.*
DATA C*/SUBFAM2,UI="SUBF2"B,AW=ALL,PW=SUBFAM2,XT=0.*
DATA C*/SUBFAM3,UI="SUBF3"B,AW=ALL,PW=SUBFAM3,XT=0.*
DATA C*/SUBFAM4,UI="SUBF4"B,AW=ALL,PW=SUBFAM4,XT=0.*
DATA C*/SUBFAM5,UI="SUBF5"B,AW=ALL,PW=SUBFAM5,XT=0.*
DATA C*/SUBFAM6,UI="SUBF6"B,AW=ALL,PW=SUBFAM6,XT=0.*
DATA C*/SUBFAM7,UI="SUBF7"B,AW=ALL,PW=SUBFAM7,XT=0.*
DATA C*/NETOPS,UI="NTUI"B,AW=ALL,PW=NETOPSX,AP=ALL,RL=ALL,*
DATA C*XT=0.*
DATA C*/CYBISMF,UI="PLUI"B,AW=ALL,PW=CYBISMF,XT=0.*
DATA C*/APPLLIB,UI="AAUI"B,AW=ALL,PW=APPLLIB,XT=0.*
DATA C*/FLAWPF,UI="IFUI"B,AW=ALL,PW=FLAWPFX,XT=0.*
DATA C*/LIBRARY,UI="LIUI"B,AW=ALL,PW=LIBRARY,RL=ALL,XT=0.*
DATA C*/SYSTEMX,UI="SYUI"B,AW=ALL,PW=SYSTEMX,RL=ALL,*
DATA C*SAV=ALL,SAL=ALL.*
CUE$ IFEQ CUE$,2
DATA C*/CDCCHS,UI="HSUI"B,RL=ALL,IS=BATCH,AW=NUL,AW=CLPF,*
DATA C*AW=CSPF,AW=CNRD,AW=CASF,AW=CSRP,SH=RMSHELL,SO=SLID,*
DATA C*SO=BCSM,SO=CCLM,AW=CAND,AW=CCNR,AW=CMNT,*
DATA C*AW=COPR,SAV=NUL,SAV=CULT,SAV=COLD,AP=NUL,AP=IAF,*
DATA C*AP=RBF,PX=HALF,TT=TTY,PA=EVEN,XT=0,PW=CDCCE,SC=10B.*
CUE$ ENDIF
PRSDL EQU *-PRSD LENGTH OF INPUT DIRECTIVE BLOCK
PRSDN EQU 16 NUMBER OF DEFAULT USER NAME INPUT LINES
PRS SPACE 4,10
** *MODVAL* COMMAND PARAMETERS.
PRSE BSS 0
I ARG I,I,400B INPUT FILE
L ARG O,O LIST FILE
P ARG P,P *VALIDUS* FILE
N ARG N,N NEW *VALIDUS* FILE
S ARG S,S SOURCE FILE
U ARG U,U USER INDEX FILE
OP ARG PRSB,PRSB OPTIONS
FM ARG FN,FN,400B ALTERNATE FAMILY NAME
CV ARG PRSL,PRSL CONVERSION OPTIONS
LO ARG PRSN,LO LIST OPTIONS
D ARG -PRSN,DB DEBUG MODE
FA ARG -PRSN,FA FORCE FAST ATTACH FLAG
RP ARG -PRSN,RP PASSWORD NOT REQUIRED
SI ARG -PRSN,SI SOURCE INPUT
CON 0 END OF TABLE
SPACE 4,10
PRSF BSS 2 PAGE PARAMETER RESPONSE BLOCK
PRS SPACE 4,10
PRSL CON 0 CONVERSION PARAMETERS
PRSN CON 0LEN ALTERNATE DEFAULT LIST OPTIONS
PRS SPACE 4,10
** LIST OPTION TABLE.
PRSO VFD 24/0LE,18/1,18/EL ERRORS ONLY
VFD 24/0LA,18/0,18/LO ALPHA CATALOG
VFD 24/0LN,18/42,18/LO NUMERIC CATALOG
VFD 24/0LL,18/1,18/PRSQ LOCAL FILE CATALOG
CON 0
PRS SPACE 4,10
PRSP CON 0LZZZZZG1+3 SCRATCH FILE NAMES
CON 0LZZZZZG2+3
CON 0LSCR1+3
PRS SPACE 4,10
PRSQ CON 0 LOCAL FILE CATALOG FLAG
SPACE 4,10
** *LIMITS* COMMAND PARAMETERS.
PRST BSS 0
L ARG O,O LIST FILE
CON 0 END OF TABLE
SPACE 4,10
** CONVERSION OPTION TABLE.
PRSU VFD 24/0LA,18/1,18/CVA *CV=A* CONVERSION OPTION
VFD 24/0LC,18/1,18/CVC *CV=C* CONVERSION OPTION
VFD 24/0LD,18/1,18/CVD *CV=D* CONVERSION OPTION
VFD 24/0LF,18/1,18/CVF *CV=F* CONVERSION OPTION
VFD 24/0LG,18/1,18/CVG *CV=G* CONVERSION OPTION
VFD 24/0LH,18/1,18/CVH *CV=H* CONVERSION OPTION
VFD 24/0LJ,18/1,18/CVJ *CV=J* CONVERSION OPTION
VFD 24/0LK,18/1,18/CVK *CV=K* CONVERSION OPTION
CON 0 END OF TABLE
SPACE 4,10
** *UPROC* COMMAND PARAMETERS.
PRSV BSS 0
FN ARG UPFN,UPFN USER PROLOGUE FILE NAME
CON 0 END OF TABLE
PRSVL EQU *-PRSV-1 ARGUMENT TABLE LENGTH
SPACE 4,10
** *CHVAL* COMMAND PARAMETERS.
PRSAA BSS 0
UC ARG CHVB,CHVB USER DEFAULT SERVICE CLASS
CON 0 END OF TABLE
PRSAAL EQU *-PRSAA LENGTH OF ARGUMENT TABLE
SPACE 4,10
* *GENVAL* COMMAND PARAMETERS.
PRSAB BSS 0
FM ARG FN,FN,400B FAMILY NAME
CON 0 END OF TABLE
SPACE 4,10
* Y-COORDINATE TABLE.
PRSAC KDL *
PRK HERE REMOTE BLOCK FROM *COMCDCP*
SPACE 4,10
** COMMON DECKS.
*CALL COMCUSB
SPACE 4,10
** PRESET SUBROUTINES AND DATA NOT OVERLAID BY INPUT AND
* OUTPUT CIO BUFFERS.
DEL SPACE 4,15
** DEL - DELAY FOR A SPECIFIED PERIOD.
*
* ENTRY (X2) = DELAY PERIOD (SECONDS).
*
* USES X - 0, 1, 3.
* A - 1, 3.
*
* MACROS RECALL, RTIME.
DEL SUBR ENTRY/EXIT
RTIME DELA START CLOCK
SA3 DELA
MX0 -24 ISOLATE SECONDS
LX3 -36
BX3 -X0*X3
IX3 X3+X2 CALCULATE END OF INTERVAL
DEL1 RECALL
RTIME DELB CALCULATE ELAPSED TIME
SA1 DELB
LX1 -36 ISOLATE SECONDS
BX1 -X0*X1
IX1 X1-X3
NG X1,DEL1 IF PERIOD NOT ELAPSED
EQ DELX RETURN
DELA BSS 1 START TIME
DELB BSS 1 CURRENT TIME
ESP SPACE 4,35
** ESP - ENTER SECURE PASSWORDS.
*
* *ESP* PROCESSES SECURELY ENTERED PASSWORDS AND
* PASSWORD EXPIRATION DATE OR TERM VALUES.
* IF THE *OUTPUT* FILE IS ASSIGNED TO THE TERMINAL, MESSAGES
* WILL BE SENT TO THE TERMINAL REQUESTING EACH PASSWORD.
* THE *INPUT* FILE WILL THEN BE READ FOR ALL PARAMETERS.
* IF RANDOM CHARACTERS ARE TO BE APPENDED TO THE NEW PASSWORD
* EITHER THE INTERACTIVE OR BATCH PASSWORD MUST BE SPECIFIED.
* A MESSAGE WILL BE SENT TO THE TERMINAL TO REQUEST THE
* PASSWORD EXPIRATION DATE OR TERM IF THE USER IS
* PERMITTED TO CHANGE THE PASSWORD EXPIRATION.
* FOR BATCH JOBS, FILE *INPUT* WILL BE READ FOR THE
* PASSWORDS AND OPTIONAL EXPIRATION DATE/TERM.
*
* EXIT (OPW) = OLD PASSWORD.
* (NPW) = NEW PASSWORD.
* (VERPW) = VERIFICATION OF NEW PASSWORD.
* (XD) = PASSWORD EXPIRATION DATE.
* (XT) = PASSWORD EXPIRATION TERM.
* (PWIX) = PASSWORD DATA BLOCK INDEX.
*
* ERROR TO *ABT*.
*
* USES X - ALL.
* A - 0, 1, 2, 3, 4, 6, 7.
* B - 2, 3, 4, 5, 6.
*
* CALLS STB, STF, USB.
*
* MACROS CSET, GETUSV, MOVE, READ, READC, READO, TSTATUS,
* WRITE, WRITEC.
ESP16 MX6 -30
BX6 -X6*X7
NZ X6,ESP17 IF EXPIRATION DATE SPECIFIED
SA7 XT SET EXPIRATION TERM
SA6 XD CLEAR EXPIRATION DATE
ESP17 NZ X5,ESPX IF MUX TERMINAL OR NOT TERMINAL OUTPUT
WRITEC O,PWOM OVERWRITE PASSWORD
WRITEC O,TRMB RESET CURSOR POSITIONING
ESP SUBR ENTRY/EXIT
TSTATUS TSTB CHECK TERMINAL TYPE
SX2 O CHECK IF OUTPUT ASSIGNED TO TERMINAL
RJ STF
BX5 X6
NZ X5,ESP1 IF NOT TERMINAL OUTPUT
SA1 TSTB+1 GET NETWORK TYPE
AX1 54-0
NZ X1,ESP1 IF NETWORK TERMINAL
MX5 1 SET MUX TERMINAL
ESP1 WRITE O,* PRESET WRITE FUNCTION FOR OUTPUT FILE
SX2 I CHECK IF INPUT ASSIGNED TO TERMINAL
RJ STF
BX0 X6
NZ X0,ESP3 IF INPUT NOT ASSIGNED TO TERMINAL
CSET NORMAL ENSURE TERMINAL IN NORMAL MODE
* READ PASSWORD ORIGIN TYPE.
SB2 X5
GT B2,B0,ESP2 IF NOT TERMINAL OUTPUT
SA1 OPWR
ZR X1,ESP1.1 IF PASSWORD RANDOMIZATION REQUIRED
WRITEC O,POMH ISSUE PASSWORD TYPE MESSAGE
EQ ESP2 READ RESPONSE
ESP1.1 WRITEC O,POMG ISSUE PASSWORD TYPE MESSAGE
ESP2 READ I READ PASSWORD ORIGIN TYPE
READO I
NZ X1,ESP4 IF NO INPUT, ASSUME INTERACTIVE
BX1 X6 VALIDATE PASSWORD ORIGIN TYPE
MX2 24
SB2 TPTI
RJ STB SEARCH TABLE
SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
ZR X3,ABT IF PASSWORD TYPE NOT FOUND
MX6 -18
BX6 -X6*X3 SET PASSWORD DATA BLOCK INDEX
SA6 PWIX
EQ ESP4 PROMPT FOR PASSWORD
ESP3 SX2 DMIN /*INPUT* NOT ASSIGNED TO TERMINAL./
SA3 OPWR
ZR X3,ABT IF PASSWORD RANDOMIZATION REQUIRED
SX5 1 SET NO TERMINAL OUTPUT
* SEND MESSAGE TO TERMINAL REQUESTING PASSWORD.
ESP4 SA0 -B1 SET FLAG FOR FIRST PARAMETERS
NZ X5,ESP5 IF MUX TERMINAL OR NOT TERMINAL OUTPUT
WRITEC O,TRMA SET NO LINE FEED AFTER ENTERING PASSWORD
EQ ESP6 SEND PASSWORD MESSAGE
ESP5 NG X5,ESP6 IF MUX TERMINAL
NZ X5,ESP7 IF NOT TERMINAL OUTPUT
WRITEC O,PWOM OVERWRITE PASSWORD
ESP6 WRITEC O,PSMG WRITE PASSWORD REQUEST
* READ *INPUT* FILE FOR SECURE ENTRY OF PASSWORDS AND
* PASSWORD EXPIRATION DATE/TERM.
ESP7 READ I READ INPUT FOR PASSWORDS AND EXPIRATION
READC I,PSBF,PSBFL
BX7 X7-X7 CLEAR PARAMETER ASSEMBLY REGISTER
SB3 B0 INDICATE BUFFER EXHAUSTED
SB5 60 INITIALIZE ASSEMBLY SHIFT COUNT
SB4 B0 INDICATE BUFFER EXHAUSTED REQUIRED
ZR X0,ESP8 IF TERMINAL INPUT
SB4 B1 INDICATE SEPARATOR REQUIRED
ESP8 NG X1,ESP10 IF EOF/EOI ENCOUNTERED
NZ X1,ESP10 IF EOR ENCOUNTERED
SB2 PSBF UNPACK DATA TO STRING BUFFER
RJ USB
* ASSEMBLE PASSWORD OR PASSWORD EXPIRATION DATE/TERM.
ESP9 SB3 B0
GT B6,B7,ESP10 IF END OF BUFFER
SA1 B6
SB6 B6+B1
SX6 X1-1R
SB3 X1
ZR X6,ESP9 IF BLANK CHARACTER
SA3 ILCM GET INCORRECT CHARACTER MASK
SA4 SEPM GET SEPARATOR MASK
LX3 B3
AX4 B3
NG X3,ESP11 IF INCORRECT CHARACTER
LX4 -1
SB3 B1
NG X4,ESP10 IF SEPARATOR ENCOUNTERED
SB5 B5-6
LX7 6
SB3 18
BX7 X7+X1
LT B5,B3,ESP11 IF PASSWORD OR EXPIRATION TOO LONG
EQ ESP9 CONTINUE ASSEMBLING PASSWORD OR EXPIRATION
* CHECK TERMINATION CONDITION.
ESP10 LX7 B5 LEFT JUSTIFY PARAMETER
GT B4,B1,ESP12 IF EITHER TERMINATION CONDITION ALLOWED
EQ B3,B4,ESP12 IF CORRECT TERMINATION CONDITION
ESP11 SX2 DMIP * INCORRECT PASSWORD.*
SB2 A0+
LE B2,B1,ESP15 IF ASSEMBLING PASSWORD
SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
EQ ESP15 ABORT
* SAVE ASSEMBLED PASSWORD OR PASSWORD EXPIRATION DATE/TERM.
ESP12 SA0 A0+B1
SB2 A0
SA7 OPW+B2
SB4 B1+B1 INDICATE OPTIONAL PARAMETER MAY FOLLOW
GT B2,B4,ESP16 IF PASSWORD EXPIRATION ASSEMBLED
BX7 X7-X7 CLEAR PARAMETER ASSEMBLY REGISTER
SB5 60 INITIALIZE ASSEMBLY SHIFT COUNT
EQ B2,B4,ESP13 IF ALL PASSWORDS ASSEMBLED
EQ B2,B1,ESP12.1 IF OLD AND NEW PASSWORDS ASSEMBLED
NZ X0,ESP9 IF NOT TERMINAL INPUT
SA1 PSMG SET MESSAGE TO *NEW PASSWORD*
MX2 42
LX1 -18
SX3 3RNEW
BX6 X2*X1
BX6 X6+X3
LX6 18
SA6 A1
EQ ESP5 READ SECOND PASSWORD
ESP12.1 SA1 NPW PRESET VERIFICATION PASSWORD
BX7 X1
NZ X0,ESP12 IF NOT TERMINAL INPUT
SA1 OPWR
ZR X1,ESP12 IF PASSWORD RANDOMIZATION REQUIRED
MOVE PSMHL,PSMH,PSMG
EQ ESP5 VERIFY NEW PASSWORD
ESP13 ZR X0,ESP14 IF TERMINAL INPUT
SB4 B0+ INDICATE BUFFER EXHAUSTED REQUIRED
EQ B3,B1,ESP9 IF SEPARATOR ENCOUNTERED
EQ ESP17 RETURN
ESP14 GETUSV PSBF
SA1 PSBF GET JOB *JSCW* WORD
NG X1,ESP17 IF USER IS SECURITY ADMINISTRATOR
LX1 59-57
PL X1,ESP17 IF USER NOT ALLOWED TO CHANGE EXPIRATION
* SET EXPIRATION DATE PROMPT MESSAGE.
MOVE PSMJL,PSMJ,PSMG
EQ ESP5 ASSEMBLE EXPIRATION
ESP15 NZ X5,ABT IF MUX TERMINAL OR NOT TERMINAL OUTPUT
BX5 X2 SAVE ERROR MESSAGE
WRITEC O,PWOM OVERWRITE PASSWORD
WRITEC O,TRMB RESET CURSOR POSITIONING
BX2 X5
EQ ABT ABORT
TPTI BSS 0 TABLE OF PASSWORD TYPE IDENTIFIERS
VFD 24/0LI,18/0,18/APWI INTERACTIVE
VFD 24/0LB,18/0,18/APSW BATCH
VFD 24/0LIB,18/0,18/0 BOTH
VFD 24/0LBI,18/0,18/0 BOTH
CON 0 END OF TABLE
ILCM CON 610000B INCORRECT CHARACTER MASK
SEPM CON 77772466000000000001B SEPARATOR MASK
PSBFL EQU 8 PASSWORD BUFFER LENGTH
PSBF BSS PSBFL PASSWORD BUFFER
* PASSWORD TYPE MESSAGE.
POMG DATA C*"EM" INTERACTIVE (I) OR BATCH (B): *
POMH DATA C*"EM" INTERACTIVE (I), BATCH (B), OR BOTH (IB): *
* MESSAGES FOR SECURE ENTRY OF PASSWORDS AND EXPIRATION DATES.
PSMG DATA 10H"EM" OLD PA
DATA 10HSSWORD: "NL"
DATA 10H ((((((((
DATA 10H(((((("CR"
DATA 10H))))))))))
DATA 10H))))"CR" MM
DATA 10HMMMMMMMMMM
DATA 10HMM"CR" QQQQ
DATA 10HQQQQQQQQQQ
DATA 10H"CR" XXXXXX
DATA 10HXXXXXXXX"CR"
DATA 10H
DATA 10H "CR""CB"
CON 0
PSMGL EQU *-PSMG
* PASSWORD VERIFICATION MESSAGE.
PSMH DATA 10H"EM" PLEASE
DATA 10H REENTER N
DATA 10HEW PASSWOR
DATA 10HD FOR VERI
DATA 10HFICATION:
DATA 10H"NL" ((((((
DATA 10H(((((((("CR"
DATA 10H ))))))))
DATA 10H))))))"CR"
DATA 10HMMMMMMMMMM
DATA 10HMMMM"CR" QQ
DATA 10HQQQQQQQQQQ
DATA 10HQQ"CR" XXXX
DATA 10HXXXXXXXXXX
DATA 10H"CR"
DATA 10H "CR"
DATA 10H"CB"''''''''
PSMHL EQU *-PSMH
.XL DECMIC APXL
PSMJ DATA C*"EM" EXPIRATION DATE (YYMMDD) OR TERM (0-".XL"): *
PSMJL EQU *-PSMJ
* *TRMDEF* SEQUENCES FOR TURNING CURSOR POSITIONING ON/OFF.
TRMA CON 00164107400000000000B
TRMB CON 00164107400100000000B
* PASSWORD OVERWRITE MESSAGE.
PWOM DATA 10H"EM"
DATA 10H "CR"
CON 0
* *TSTATUS* REPLY BUFFER.
TSTB BSSZ 2
* THE FOLLOWING *PASSWOR* PARAMETER LOCATIONS MUST BE
* CONSECUTIVE AND IN THE SPECIFIED ORDER.
OPW CON 0 OLD PASSWORD
NPW CON 0 NEW PASSWORD
VERPW CON 0 VERIFICATION PASSWORD
XD CON 0 PASSWORD EXPIRATION DATE
XT CON 0 PASSWORD EXPIRATION TERM
PT CON 0 PASSWORD TYPE (I/B)
GRC SPACE 4,10
** GRC - GENERATE RANDOM CHARACTERS.
*
* ENTRY (B2) = NUMBER OF RANDOM ALPHANUMERIC CHARACTERS TO
* BE GENERATED (0 - 7).
*
* EXIT (X1) = RANDOM CHARACTERS, RIGHT JUSTIFIED, ZERO FILL.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 2.
* B - 2.
*
* MACROS RTIME.
GRC SUBR ENTRY/EXIT
RTIME GRCA GET TIME SINCE DEADSTART
MX0 -37 USE 37 BITS
SA2 GRCA
SX3 B1
BX2 -X0*X2
LX3 37 CREATE SEED .GE. 2**37
GRC1 IX4 X2-X3
PL X4,GRC2 IF SEED BIG ENOUGH
LX2 B1
EQ GRC1 CONTINUE DOUBLING
GRC2 SX1 B0
SX3 36 USE CHARACTERS A-Z, 0-9
GRC3 SB2 B2-B1
NG B2,GRCX IF ALL CHARACTERS GENERATED
PX4 X2
PX5 X3
NX6 X5
FX6 X4/X6 NEW SEED = OLD SEED / 36
UX0,B3 X6 CHARACTER = SEED MODULO 36
LX4 X0,B3
IX0 X4*X3
IX5 X2-X0
SX5 X5+B1 SET CHARACTER IN RANGE 1-36
LX1 6 APPEND CHARACTER
BX1 X1+X5
BX2 X6
EQ GRC3 GENERATE NEXT CHARACTER
GRCA BSS 1 REAL TIME CLOCK
RPW SPACE 4,20
** RPW - RANDOMIZE PASSWORD.
*
* IF PASSWORD RANDOMIZATION IS REQUIRED, RANDOM ALPHANUMERIC
* CHARACTERS ARE GENERATED AND APPENDED TO THE END OF THE NEW
* PASSWORD.
*
* ENTRY (NPW) = USER-SPECIFIED PORTION OF NEW PASSWORD.
* (OPW) = OLD PASSWORD.
*
* EXIT (NPW) = NEW PASSWORD. RANDOM CHARACTERS APPENDED TO
* END IF REQUIRED.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 5, 6.
* B - 2.
*
* CALLS DEL, GRC.
*
* MACROS READ, READC, TSTATUS, WRITEC.
RPW SUBR ENTRY/EXIT
SA1 NPW CHECK USER ENTERED AT LEAST 2 CHARACTERS
SX2 DMPS * PASSWORD TOO SHORT.*
MX3 6
BX3 -X3*X1
ZR X3,ABT IF PASSWORD TOO SHORT
SB2 42-PWRB MAXIMUM UNRANDOMIZED PASSWORD BIT LENGTH
SX2 DMTL * PASSWORD TOO LONG.*
LX1 X1,B2
AX1 X1,B2
NZ X1,ABT IF PASSWORD TOO LONG
SX2 3
RJ DEL DELAY
* APPEND RANDOM CHARACTERS TO END OF NEW PASSWORD.
RPW2 SB2 PWRC
RJ GRC GENERATE RANDOM CHARACTERS
SA2 NPW
MX0 6
SB2 60-PWRB
LX1 B2
BX3 X1 SAVE SHIFTED RANDOMIZATION CHARACTERS
SB2 9 CHARACTERS TO CHECK
RPW3 LX0 6 SCAN FOR END OF NEW PASSWORD
BX4 X0*X2
SB2 B2-B1
NZ X4,RPW4 IF END OF NEW PASSWORD
ZR B2,RPW4 IF NULL PASSWORD
LX1 6
EQ RPW3 CONTINUE SCAN
RPW4 SA4 OPW
BX6 X2+X1
BX1 X6-X4 CHECK NEW PASSWORD .NE. OLD
ZR X1,RPW2 IF NEW PASSWORD EQUALS OLD
SA6 NPW
* DISPLAY RANDOMIZATION CHARACTERS AND PROMPT FOR VERIFICATION.
MX0 1 SET CHARACTERS IN MESSAGE
SB2 PWRB-1
AX0 B2
SA2 RPWC
BX6 -X0*X2
BX6 X6+X3
SA6 A2
TSTATUS TSTB
SA5 TSTB+1 CHECK TERMINAL TYPE
AX5 54-0
ZR X5,RPW5 IF MUX TERMINAL
WRITEC O,TRMA SET NO LINE FEED AFTER ENTERING PASSWORD
RPW5 WRITEC O,RCMG DISPLAY CHARACTERS
* READ AND VERIFY NEW PASSWORD.
READ I
READC I,PSBF,B1
ZR X5,RPW6 IF MUX TERMINAL
WRITEC O,PWOM OVERWRITE PASSWORD
WRITEC O,TRMB RESET CURSOR POSITIONING
RPW6 SX2 3 DELAY
RJ DEL
SA1 PSBF
SA2 NPW
BX1 X1-X2
SX2 DMVE * VERIFICATION ERROR.*
NZ X1,ABT IF PASSWORD INCORRECT
EQ RPWX RETURN
* MESSAGES FOR VERIFICATION OF RANDOMIZED PASSWORD.
RCMG DATA 10H"EM"THE FOLL
DATA 10HOWING CHAR
DATA 10HACTERS HAV
DATA 10HE BEEN APP
DATA 10HENDED "NL"
DATA 10HTO THE END
DATA 10H OF YOUR N
DATA 10HEW PASSWOR
DATA 10HD - "NL"
RPWC DATA 10H "NL"
DATA 10HENTER YOUR
DATA 10H NEW PASSW
DATA 10HORD FOR VE
DATA 10HRIFICATION
DATA 10H: "NL" ))))
DATA 10H))))))))))
DATA 10H"CR" ((((((
DATA 10H(((((((("CR"
DATA 10H MMMMMMMM
DATA 10HMMMMMM"CR"
DATA 10HQQQQQQQQQQ
DATA 10HQQQQ"CR" XX
DATA 10HXXXXXXXXXX
DATA 10HXX"CR"
DATA 10H
DATA 10H"CR""CB"''''''
SPACE 4,10
D3 SET *
SPACE 4,10
** PRESET CODE OVERLAID BY INPUT AND OUTPUT CIO BUFFERS.
SPACE 4,10
TKPR BSS 0 TABLE OF KEYWORDS/POSITIONS TO REMOVE
CON 1 OLD PASSWORD
CON 2 NEW PASSWORD
* CON 0 END OF TABLE
TARG BSS 0 ARGUMENT TABLE FOR *PASSWOR*
XD ARG XD,XD,400B EXPIRATION DATE
XT ARG XT,XT,400B EXPIRATION TERM
PT ARG PT,PT,400B PASSWORD TYPE (I/B)
CON 0 END OF TABLE
CFN SPACE 4,10
** CFN - COMPARE FILE NAMES.
*
* ENTRY (OPTION) = COMMAND OPTIONS SELECTED.
*
* EXIT (X1) = 0, IF NO FILE NAME CONFLICT.
* (X1) = FILE NAME, IF CONFLICT.
*
* USES X - 0, 1, 2, 3, 4, 5, 6.
* A - 1, 2, 4, 5.
* B - 2, 3.
CFN SUBR ENTRY/EXIT
SB2 -B1 INITIALIZE COUNTERS/MASKS
MX0 -12
SB3 TFNCL
MX6 42
SA5 OPTION
BX1 X1-X1
CFN1 SB2 B2+B1 INCREMENT TO NEXT OPTION ENTRY
LX5 -1
GE B2,B3,CFNX IF END OF OPTIONS
PL X5,CFN1 IF OPTION NOT SELECTED
SA2 TFNC+B2 GET LIST OF FILE NAME COMPARISIONS
CFN2 LX2 12
BX1 -X0*X2
BX2 X0*X2
LX3 X2
ZR X1,CFN1 IF END OF FILE NAME COMPARISIONS
SA1 X1
BX1 X6*X1
CFN3 LX3 12
BX4 -X0*X3
ZR X4,CFN2 IF ONE PASS COMPLETED
SA4 X4+ COMPARE FILE NAMES
BX4 X6*X4
BX4 X4-X1
NZ X4,CFN3 IF NO FILE NAME CONFLICT
EQ CFNX RETURN
TFNC SPACE 4,10
** TFNC - TABLE OF FILE NAME CONFLICT COMPARISIONS.
*
* ONE WORD ENTRY FOR EACH COMMAND OPTION, CONTAINING
* THE 12-BIT FET ADDRESSES FOR THOSE FILES USED BY
* THIS OPTION.
* UP TO 5 FET ADDRESSES PER ENTRY ARE ALLOWED.
TFNC INDEX VFD,LOPT+1,( 60/* )
INDEX ,KOPT,( 12/P,12/U,36/0 )
INDEX ,COPT,( 12/I,12/O,12/N,12/U,12/0 )
INDEX ,UOPT,( 12/I,12/O,12/P,12/U,12/0 )
INDEX ,ROPT,( 12/O,12/N,12/P,12/U,12/0 )
INDEX ,SOPT,( 12/P,12/S,12/U,24/0 )
INDEX ,IOPT,( 12/O,12/P,12/U,24/0 )
INDEX ,ZOPT,( 12/I,12/O,12/P,12/U,12/0 )
INDEX ,LOPT,( 12/O,12/P,12/U,24/0 )
TFNCL EQU *-TFNC
PKP SPACE 4,15
** PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
*
* ENTRY (X6) = ARGUMENT TABLE ADDRESS.
* (X7) = ARGUMENT TABLE LENGTH.
*
* EXIT (X1) = 0, IF NO ERROR.
* = -1, IF ARGUMENT ERROR.
*
* USES A - 1, 2, 6, 7.
* B - 2, 3, 4, 6.
* X - 1, 2, 6, 7.
*
* CALLS ARM, CPA, USB.
PKP SUBR ENTRY/EXIT
SA6 PKPA SAVE ADDRESS AND LENGTH
SA7 A6+1
SB2 CCDR UNPACK COMMAND
RJ USB
* SKIP TO FIRST ARGUMENT.
PKP1 RJ POP
SA2 PKPB
BX2 X2-X6
NZ X2,PKP1 IF COMMAND NAME NOT FOUND
SX1 X1-1R.
ZR X1,PKPX IF NO ARGUMENTS
* PROCESS ARGUMENTS.
SA1 PKPA RETRIEVE ADDRESS AND LENGTH
SA2 A1+B1
SB3 X1 ARGUMENT TABLE ADDRESS
SB2 X2+
SB4 ABUF CONVERT POSITIONAL ARGUMENTS
RJ CPA
NG B5,PKP2 IF ARGUMENT ERROR
SX6 B5+ SET LWA OF ARGUMENTS
SB6 ABUF SET FWA OF ARGUMENTS
SA6 USBC
RJ ARM PROCESS ARGUMENTS
ZR X1,PKPX IF NO ARGUMENT ERROR
PKP2 SX1 -1 INDICATE ARGUMENT ERROR
EQ PKPX RETURN
PKPA CON 0 ARGUMENT TABLE ADDRESS
CON 0 ARGUMENT TABLE LENGTH
PKPB DATA C*UPROC*
SPACE 4,10
** SECONDARY OVERLAID COMMON DECKS.
*CALL COMCARG
*CALL COMCARM
*CALL COMCCPA
*CALL COMCPOP
*CALL COMCRSP
SPACE 4,10
** BUFFER ASSIGNMENTS.
ABUF EQU * ARGUMENT STRING BUFFER
CBUF EQU D1 CHARACTER BUFFER
D MAX D,D1+CBUFL
PBUF EQU D
D SET D+VBUFL VALIDUS BUFFER
NBUF EQU D NEWVAL AND VALINDS BUFFER
D SET D+VBUFL
D MAX D,D3
IBUF EQU D INPUT AND SOURCE BUFFER
D SET D+IBUFL
OBUF EQU D
D SET D+OBUFL OUTPUT BUFFER
SPACE 4,10
** MANAGED TABLES.
MEML EQU D
D SET D+1000B
SPACE 4,10
RFL= EQU D
ERRNG RFL=-ABUF-200 ARGUMENT BUFFER OVERFLOW
SPACE 4,10
END