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