User Tools

Site Tools


cdc:nos2.source:opl871:modval

MODVAL

Table Of Contents

  • [00017] MODVAL - VALIDATION FILE MANAGER.
  • [00019] USER VALIDATION FILE MANAGER.
  • [01357] PROGRAM EQUIVALENCES.
  • [01379] MACRO DEFINITIONS
  • [01381] APLW - ALLOWED PERMISSIONS LIMITS PARAMETER WORD.
  • [01397] DTCS - DEFINE TABLE FOR PERMISSION CONVERSION TO SOURCE.
  • [01414] DTPC - DEFINE TABLE OF PERMISSION CONTROL WORDS.
  • [01446] DTPS - DEFINE TABLE OF INPUT PROCESSING SUBROUTINES.
  • [01473] TFRW1 - DEFINE WORD 1 OF A *TFR* ENTRY.
  • [01534] TFRW2 - DEFINE WORD 2 OF A *TFR* ENTRY.
  • [01556] TFRW3 - DEFINE WORD 3 OF A *TFR* ENTRY.
  • [01575] DEFAW - DEFINE *LIMITS* MESSAGE FOR A BIT IN
  • [01594] SCLASS - DEFINE SERVICE CLASS TABLE.
  • [01642] PROGRAM EQUIVALENCES.
  • [01678] MANAGED TABLE AND DIRECT CELL INITIALIZATION.
  • [01731] DATA AREA.
  • [01801] TANB - SCRATCH BLOCK FOR USER RECORD ASSEMBLY.
  • [01858] TAWI - TABLE OF ACCESS WORD IDENTIFIERS.
  • [01919] TRTP - TABLE OF REMOTE TERMINAL ACCESS PERMISSIONS.
  • [01941] TSCV - TABLE OF SERVICE CLASS VALIDATION BITS.
  • [01958] TSVM - TABLE OF SERVICE CLASS VALIDATION MASK IDENTIFIERS.
  • [01977] TOSC - TABLE OF ORIGIN TYPES WITH DEFINED USER DEFAULT
  • [01998] TSOT - TABLE OF OTHER ORIGIN TYPE MNEMONICS SUPPORTED.
  • [02012] TAPV - TABLE OF SECURITY PRIVILEGE VALIDATION BITS.
  • [02035] TALB - TABLE OF ACCESS LEVEL BITS.
  • [02058] TACC - TABLE OF ACCESS CATEGORY BITS.
  • [02110] DATA DEFINITIONS.
  • [02111] TPAI - TABLE OF TERMINAL PARITY IDENTIFIERS.
  • [02119] TPXI - TABLE OF TERMINAL TRANSMISSION MODES.
  • [02127] TTTI - TABLE OF TERMINAL TYPES.
  • [02139] TTCI - TABLE OF TERMINAL CHARACTER SETS.
  • [02146] TISI - TABLE OF TERMINAL INITIAL SUBSYSTEMS.
  • [02283] TODV - TABLE OF DEFAULT VALUES FOR USER RECORD BLOCK.
  • [02431] TINE - TABLE OF INPUT ENTRIES. ONE WORD ENTRIES -
  • [02516] TKDE - TABLE OF K-DISPLAY ENTRIES.
  • [02754] TFR - TABLE TO FORMAT RECORD FOR SOURCE, K-DISPLAY, AND
  • [03095] TMBS - TABLE FOR MAP BACK TO SOURCE.
  • [03146] MAIN ROUTINES.
  • [03148] MOD - PROCESS NORMAL CALL.
  • [03207] TOFP - TABLE OF FUNCTION PROCESSORS.
  • [03221] CHV - CHANGE VALIDATION.
  • [03263] TCPV - TABLE OF COMMAND PARAMETER VALUES.
  • [03276] PSW - CHANGE PASSWORD.
  • [03366] UPR - PROCESS USER PROLOGUE FILE NAME.
  • [03405] PROCESS COMMAND OPTIONS.
  • [03407] PID - PROCESS INPUT DATA FOR CREATE. (OP = C).
  • [03441] PUD - PROCESS UPDATE DATA. (OP = U, K, OR Z).
  • [03501] PRF - PROCESS REFORMAT. (OP = R).
  • [03633] PCS - PROCESS CHANGE TO SOURCE. (OP = S).
  • [03672] PIO - PROCESS LIMITS.
  • [03713] PLO - PROCESS LIST OPTION. (OP = L).
  • [03811] DIRECTIVE PROCESSORS.
  • [03813] AAD - ASSEMBLE ALPHANUMERIC DATA.
  • [03837] AAN - ASSEMBLE USER NAME.
  • [03874] AAV - ASSEMBLE SECURITY VALIDATION PRIVILEGES.
  • [03931] ACN - ASSEMBLE CHARGE NUMBER.
  • [03950] ACW - ASSEMBLE PERMISSION CONTROL WORD.
  • [04081] PCDW - PERMISSION BIT WORD TO CONTROL USE OF DEFAULT.
  • [04095] TPCW - TABLE OF PERMISSION CONTROL WORDS.
  • [04122] ADS - ASSEMBLE USER DEFAULT SERVICE CLASS.
  • [04209] AEA - ASSEMBLE EQUIVALENCED ARGUMENTS.
  • [04239] AEP - ASSEMBLE ENCRYPTED PASSWORD.
  • [04279] AMX - ASSEMBLE MAXIMUM RESOURCE LIMITS.
  • [04325] AND - ASSEMBLE NUMERIC DATA.
  • [04355] API - ASSEMBLE PERSONAL IDENTIFICATION.
  • [04378] APN - ASSEMBLE PROJECT NUMBER.
  • [04400] APW - ASSEMBLE PASS WORD.
  • [04469] AED - ASSEMBLE EXPIRATION DATE.
  • [04521] ASC - ASSEMBLE SECURITY COUNT.
  • [04542] ATE - ASSEMBLE EXPIRATION TERM.
  • [04602] AUX - ASSEMBLE USER INDEX.
  • [04634] CUI - CHECK USER INDEX.
  • [04672] DAN - DELETE USER NAME.
  • [04729] DIP - DIRECTIVE INPUT PROCESSOR.
  • [05022] IDE - INPUT DATA ERROR.
  • [05137] OBS - PROCESS OBSOLETE DIRECTIVE.
  • [05153] PAG - PAGE K-DISPLAY.
  • [05202] PDD - PROCESS DIRECTIVE DATA.
  • [05249] TOPS - TABLE OF PROCESSING SUBROUTINES FOR INPUT DATA.
  • [05278] VALIDATION FILE MANIPULATION.
  • [05280] FFA - FINISH FORMER USER NAME.
  • [05494] GAE - GET USER ENTRY.
  • [05537] GNB - GET NEXT DATA BLOCK.
  • [05609] RDB - READ DATA BLOCK.
  • [05674] WDB - WRITE DATA BLOCK.
  • [05766] SOURCE CONVERSION SUBROUTINES.
  • [05768] ADP - ADD PARENS.
  • [05789] AOC - ALTERNATE OCTAL CONVERSION.
  • [05826] APC - APPLICATION PERMISSIONS CONVERSION FOR DISPLAY.
  • [05862] CAV - CALCULATE ACTUAL VALUE.
  • [05916] CDS - CONVERT DATE TO SOURCE.
  • [05950] CON - CONVERT OCTAL NUMBER TO DISPLAY.
  • [05964] CPS - CONVERT PERMISSIONS TO SOURCE.
  • [06022] TPCS - TABLE OF PERMISSION BITS CONVERSION TO SOURCE.
  • [06042] CSC - CONVERT USER DEFAULT SERVICE CLASSES.
  • [06079] CSD - CONVERT USER DEFAULT SERVICE CLASSES TO SOURCE.
  • [06123] DAT - CONVERT PACKED DATE TO DISPLAY.
  • [06142] ISB - INSERT B (RADIX).
  • [06160] MRJ - MULTIPLE WORD RIGHT JUSTIFY.
  • [06208] PLM - PRINT *LIMITS* MESSAGES.
  • [06356] TAPL - TABLE OF ALLOWED PERMISSIONS LIMITS PARAMETERS.
  • [06376] STB - SEARCH TABLE.
  • [06399] SRD - SET RECORD DISPLAYS.
  • [06575] MISCELLANEOUS ROUTINES.
  • [06577] ABT - ABORT EXIT.
  • [06621] ACI - ASSEMBLE CHARACTERS INTERFACE.
  • [06678] ADT - ADD TERM TO CURRENT DATE.
  • [06701] AUI - ASSIGN USER INDEX.
  • [06747] CDP - CLEAR DEFAULT PERMISSION BITS.
  • [06782] CEP - CLEAR ERROR PROCESSING.
  • [06798] CER - CHECK FOR ERROR.
  • [06854] CLN - CHECK LINE NUMBER.
  • [06935] COB - CHECK OUTPUT BUFFER.
  • [06963] CPR - CHECK PASSWORD REQUIREMENT.
  • [07009] CSM - CHECK SECURITY MODE.
  • [07036] CUN - COMPARE USER NAMES.
  • [07057] EPW - ENCRYPT PASSWORD.
  • [07080] IAM - ISSUE ACCOUNT FILE MESSAGE.
  • [07156] ICE - INDEXED CODE EXECUTION.
  • [07172] LID - LIST INPUT DIRECTIVES.
  • [07210] PCE - PURGE CATALOG ENTRIES.
  • [07263] SEP - SET ERROR PROCESSING.
  • [07280] SUI - SAVE AVAILABLE USER INDEX TABLE.
  • [07294] SPB - SET PERMISSION BIT IN PERMISSION CONTROL WORD.
  • [07333] CAF - CHECK ALTERNATE FAMILY.
  • [07370] TOV - TABLE OVERFLOW PROCESSOR.
  • [07406] VPW - VERIFY PASSWORD.
  • [07435] WCE - WRITE CATALOG ENTRY TO OUTPUT.
  • [07514] K-DISPLAY AREA.
  • [07766] DATA AREA.
  • [07768] TAUI - TABLE OF AVAILABLE USER INDICES.
  • [07774] SSJ - TABLE OF USER ACCESS PARAMETERS.
  • [07785] PRESET ROUTINES.
  • [07787] PRS - PRESET.
  • [08559] DEL - DELAY FOR A SPECIFIED PERIOD.
  • [08589] ESP - ENTER SECURE PASSWORDS.
  • [08881] GRC - GENERATE RANDOM CHARACTERS.
  • [08928] RPW - RANDOMIZE PASSWORD.
  • [09065] CFN - COMPARE FILE NAMES.
  • [09105] TFNC - TABLE OF FILE NAME CONFLICT COMPARISIONS.
  • [09124] PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.

Source Code

MODVAL.txt
  1. IDENT MODVAL,ORIG
  2. ABS
  3. SST DSSL,PRFE,SCLL
  4. SYSCOM B1
  5. ENTRY MODVAL
  6. ENTRY CHVAL
  7. ENTRY GENVAL
  8. ENTRY LIMITS
  9. ENTRY PASSWOR
  10. ENTRY UPROC
  11. ENTRY SDM=
  12. ENTRY RFL=
  13. ENTRY SSJ=
  14. LIST F
  15. *COMMENT MODVAL - USER VALIDATION FILE MANAGER.
  16. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1992.
  17. TITLE MODVAL - VALIDATION FILE MANAGER.
  18. SPACE 4,10
  19. *** MODVAL - USER VALIDATION FILE MANAGER.
  20. * E.J. FEESER 70/10/09.
  21. * C.J. MATULE 70/10/09.
  22. * R.P. ROHRBOUGH 72/09/28. REWRITE.
  23. * R. A. JAPS. 74/12/16. MODIFICATION.
  24. * J. L. LARSON. 74/12/16. MODIFICATION.
  25. * C. A. LACEY. 77/01/28.
  26. * J. L. LARSON. 83/02/17. RESTRUCTURE.
  27. SPACE 4,10
  28. *** *MODVAL* PROVIDES CREATION, MODIFICATION, AND DISPLAYS FOR
  29. * THE SYSTEM VALIDATION FILE. THIS FILE CONTAINS BASIC
  30. * INFORMATION NECESSARY TO VALIDATE A USER-S ACCESS TO THE
  31. * SYSTEM, AND PROVIDES SOME CONTROLS ON SYSTEM RESOURCE USAGE.
  32. * MORE COMPREHENSIVE MONITORING OF RESOURCES CAN BE ACHIEVED
  33. * BY USING AN ADDITIONAL *USER PROFILE* VALIDATION FILE. FOR
  34. * MORE INFORMATION, REFER TO *USER PROFILE CONTROL*.
  35. *
  36. * A MECHANISM EXISTS WITHIN *MODVAL* WHICH ALLOWS IT TO
  37. * BE ASSEMBLED IN DIFFERENT WAYS BY USING THE
  38. * *DEFINE *MODIFY* DIRECTIVE AND ASSIGNING THE
  39. * SYMBOL, CUE$, THE VALUE CORRESPONDING TO THE
  40. * DESIRED CUSTOMIZED USER ENVIRONMENT OPTION.
  41. *
  42. * AT THIS TIME, GIVING CUE$ A VALUE OF 2 CAUSES
  43. * ASSEMBLY OF CODE REQUIRED FOR CD2000 INSTALLATIONS.
  44. *
  45. * IN THE FUTURE, *MODVAL* CAN BE CHANGED TO ASSEMBLE
  46. * IN YET OTHER WAYS DEPENDING ON THE REQUIREMENTS OF
  47. * EACH CUSTOMIZED USER ENVIRONMENT. THIS CAN BE
  48. * ACCOMPLISHED BY MODIFYING THE VALID COMMAND LIST IN
  49. * THE *CUESHEL* DECK AND BY ASSIGNING A VALUE OF 3, 4,
  50. * ETC. TO CUE$ AND ADDING THE REQUIRED CONDITIONAL CODE
  51. * TO *MODVAL*.
  52. *
  53. *IF EQ,CUE$,2
  54. CUE$ EQU 2
  55. *ELSE
  56. CUE$ EQU 1
  57. *ENDIF
  58. SPACE 4,10
  59. *** COMMAND FORMAT.
  60. SPACE 4,10
  61. *** MODVAL (P1=F1,P2=F2,...,PN=FN) -DIRECTIVES FOR *Z* OPTION-
  62. *
  63. *
  64. * WHERE P1,...,PN CAN BE THE FOLLOWING -
  65. *
  66. * I = INPUT DATA FOR OP=C OR OP=U OPTIONS.
  67. * DEFAULT - *INPUT*.
  68. *
  69. * L = LIST FILE.
  70. * DEFAULT - *OUTPUT*.
  71. *
  72. * P = USER VALIDATION FILE.
  73. * DEFAULT - *VALIDUS*.
  74. *
  75. * N = NEW OR REFORMATTED VALIDATION FILE.
  76. * DEFAULT - *NEWVAL*.
  77. *
  78. * S = SOURCE FILE FOR OP=S.
  79. * DEFAULT - *SOURCE*.
  80. *
  81. * U = FILE TO OBTAIN AVAILABLE USER INDICES FROM FOR
  82. * UPDATE OPTION. FILE MUST BE CREATED BY PREVIOUS
  83. * *MODVAL* RUN.
  84. * DEFAULT - *VALINDS*.
  85. *
  86. * FM = FAMILY NAME IF OTHER THAN SYSTEM DEFAULT.
  87. * LEGAL ONLY FROM SYSTEM ORIGIN.
  88. *
  89. * D = IF SPECIFIED, *MODVAL* WILL NOT ABORT ON DIRECTIVE
  90. * ERRORS. EQUIVALENCING NOT ALLOWED.
  91. *
  92. * LO = LIST OPTIONS. WHICH CAN BE ANY OF THE FOLLOWING -
  93. * E = LIST ERRORS ONLY (OP = C, U, OR Z).
  94. * A = SORT BY USER NAME (OP = L).
  95. * N = SORT BY USER INDEX (OP = L).
  96. * L = CATALOG LOCAL FILE (OP = L).
  97. * DEFAULT - *A*.
  98. * ALTERNATE DEFAULT - *EN*.
  99. *
  100. * OP = OPTION(S) WHICH CAN BE ANY OF THE FOLLOWING -
  101. * C = CREATE, PROCESS INPUT FILE AND CREATE A VALIDATION
  102. * FILE. MUST OCCUR ALONE.
  103. * U = UPDATE, UPDATE FILE SPECIFIED BY *P* KEYWORD WITH
  104. * DATA ON INPUT FILE. SETS *NORERUN* ON JOB.
  105. * R = REFORMAT, RESTRUCTURE THE FILE SPECIFIED BY *P*
  106. * KEYWORD TO FILE SPECIFIED BY *N* KEYWORD.
  107. * IF JOB ORIGIN IS SYSTEM, ALL FILES UNDER USER
  108. * INDICES WHICH WERE USED UNDER THE OLD *VALIDUS*
  109. * FILE AND ARE NO LONGER USED WILL BE PURGED.
  110. * APPLIES ONLY TO INDICES 1 THROUGH *AUIMX*.
  111. * S = RETURN THE VALIDATION FILE SPECIFIED BY THE *P*
  112. * KEYWORD TO SOURCE FORMAT ON THE FILE SPECIFIED BY
  113. * THE *S* KEYWORD.
  114. * K = K-DISPLAY OPTION, ALL OTHER OPTIONS ARE CLEARED,
  115. * AND INSTRUCTIONS MUST BE ENTERED VIA THE
  116. * K-DISPLAY.
  117. * Z = COMMAND UPDATE OPTION. PROCESS THE DIRECTIVES
  118. * FOLLOWING THE TERMINATOR ON THE *MODVAL*
  119. * COMMAND. ALL OTHER OPTIONS ARE CLEARED.
  120. * SETS *NORERUN* ON JOB.
  121. * L = LIST OPTION. LIST VALIDATION FILE ENTRIES BY
  122. * USER NAME OR USER INDEX (SEE *LO* KEYWORD).
  123. * USER NAME, USER INDEX, CREATION AND LAST
  124. * MODIFICATION DATES WILL BE LISTED. MUST OCCUR
  125. * ALONE.
  126. * THE OPTIONS *C*, *U*, *R*, AND *S* REQUIRE THE USER
  127. * TO PROVIDE HIS OWN FILES. *OP=URS* IS VALID.
  128. *
  129. * FA = FORCE ATTACH OF *VALIDUS* AND *VALINDS* FOR *S*, *R*,
  130. * AND *U* OPTIONS (MUST BE SYSTEM ORIGIN JOB).
  131. *
  132. * CV = CONVERSION OPTIONS. WHICH CAN BE ANY COMBINATION
  133. * OF THE FOLLOWING -
  134. * A = OPTION TO CONVERT FROM PRE-NOS 2.0
  135. * TO NOS 2.2 *VALIDUS*.
  136. * DURING CREATION RUN, *TC=STANDARD*
  137. * INPUT DIRECTIVE WILL BE CONVERTED TO
  138. * *TC=NORMAL*.
  139. * C = OPTION TO CONVERT FROM PRE-NOS 2.3 *VALIDUS*
  140. * TO NOS 2.3 *VALIDUS*.
  141. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
  142. * WILL BE CONVERTED TO *AW=NUL*, *AW=CNRD*, GIVING
  143. * CHARGE NOT RESTRICTED TO DEFAULT PERMISSION.
  144. * D = OPTION TO CONVERT PRE-NOS 2.3 *VALIDUS* TO
  145. * NOS 2.3.
  146. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
  147. * WILL BE CONVERTED TO *AW=NUL*, *AW=COPR*, GIVING
  148. * OVERRIDE PASSWORD RANDOMIZATION PERMISSION.
  149. * F = OPTION TO CONVERT FROM PRE-NOS 2.2 TO NOS 2.2
  150. * *VALIDUS*.
  151. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
  152. * WILL BE CONVERTED TO *AW=NUL*, *AW=CSAF*, GIVING
  153. * ALTERNATE FAMILY SPECIFICATION PERMISSION.
  154. * G = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
  155. * TO NOS 2.5.1 *VALIDUS*.
  156. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
  157. * WILL BE CONVERTED TO *AW=NUL*, *AW=COPI*, GIVING
  158. * OMIT PERSONAL IDENTIFICATION ENTRY PERMISSION.
  159. * H = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
  160. * TO NOS 2.5.1 *VALIDUS*.
  161. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE
  162. * WILL BE CONVERTED TO *AW=NUL*, *AW=CACA*, GIVING
  163. * ALLOWED CONCURRENT ACCESS PERMISSION.
  164. * J = OPTION TO CONVERT FROM PRE-NOS 2.5.1 *VALIDUS*
  165. * TO NOS 2.5.1 *VALIDUS*.
  166. * DURING CREATION RUN, *AP=IAF* INPUT DIRECTIVE
  167. * WILL BE CONVERTED TO *AP=IAF*, *AP=VEIAF*, GIVING
  168. * PERMISSION FOR BOTH APPLICATIONS, WHICH IS
  169. * EQUIVALENT TO *AP=IAF* IN PRE-NOS 2.5.1 SYSTEMS.
  170. * K = OPTION TO CONVERT FROM PRE-NOS LEVEL 2.7.3 L780
  171. * *VALIDUS* TO NOS LEVEL 2.7.3 L780 *VALIDUS*.
  172. * DURING CREATION RUN, *AW=NUL* INPUT DIRECTIVE WILL
  173. * BE CONVERTED TO *AW=NUL*, *AW=CSAU*, *AW=CRAU* TO
  174. * ALLOW ALTERNATE USER NAME ON SECONDARY *USER*
  175. * COMMANDS AND ON ROUTED INPUT FILE *USER* COMMANDS.
  176. * ALSO, *AW=CSAF* WILL BE CONVERTED TO *AW=CSAF*,
  177. * *AW=CRAF* TO ALLOW ALTERNATE FAMILY ON BOTH
  178. * SECONDARY *USER* COMMANDS AND ON ROUTED INPUT FILE
  179. * *USER* COMMANDS, WHICH IS EQUIVALENT TO *AW=CSAF*
  180. * ON PRE-NOS LEVEL 2.7.3 SYSTEMS.
  181. * IF *CV=F* IS SPECIFIED WITH *CV=K*, *AW=CRAU* WILL
  182. * BE GENERATED BY THE *AW=NUL* DIRECTIVE.
  183. *
  184. * SI = WHEN SPECIFIED, INDICATES THAT THE INPUT FOR A CREATE
  185. * RUN (*OP=C* OPTION) WAS GENERATED BY A PREVIOUS
  186. * SOURCE RUN (*OP=S* OPTION). THE AUTOMATIC CREATION
  187. * OF THE SYSTEM, LIBRARY, MSF CATALOG, AND APPLICATION
  188. * USER NAMES IS SUPPRESSED. LEGAL ONLY
  189. * WITH *OP=C* OPTION. CANNOT BE EQUIVALENCED.
  190. * THE *SI* PARAMETER SHOULD NOT BE USED WHEN INITIALLY
  191. * CREATING A NOS 2.2 VALIDATION FILE SINCE SPECIAL
  192. * USER NAMES NEED ADDITIONAL SECURITY IDENTIFIERS
  193. * PRESET BY *MODVAL*.
  194. *
  195. * RP = WHEN SPECIFIED INDICATES THAT PASSWORDS ARE NOT
  196. * REQUIRED. CAN ONLY BE SELECTED WITH THE *OP=C* OPTION
  197. * AND SHOULD BE USED ONLY WHEN THE *INPUT* FILE IS THE
  198. * FILE GENERATED BY A PREVIOUS *OP=S* RUN IN WHICH THE
  199. * OLD USER VALIDATION FILE CONTAINED PASSWORDS OF LENGTH
  200. * LESS THAN THE MINIMUM REQUIRED.
  201. *
  202. * IF NO PARAMETERS ARE SUPPLIED ON THE COMMAND AND
  203. * ORIGIN TYPE IS SYSTEM, THE *K* OPTION IS SELECTED.
  204. * OTHERWISE, DEFAULT FOR *OP* IS *U*.
  205. *
  206. * UNDER *K*, *Z*, AND *L* OPTIONS, THE SYSTEM VALIDATION
  207. * FILE IS MANIPULATED. *K*, *Z*, AND *L* REQUIRE SYSTEM
  208. * ORIGIN TYPE TO RUN. APPLIES TO *L* ONLY WHEN *L* LIST OPTION
  209. * IS NOT SPECIFIED.
  210. SPACE 4,10
  211. *** GENVAL,FM=FAMILY.
  212. *
  213. * CREATE VALIDATION FILE ON A FAMILY THAT DOES NOT CURRENTLY
  214. * HAVE ONE DEFINED. VALID ONLY FROM SYSTEM ORIGIN.
  215. *
  216. * FM = FAMILY, IF NOT SYSTEM DEFAULT.
  217. SPACE 4,10
  218. *** PASSWOR(OLDPW,NEWPW,PT=X,XD=YYMMDD,XT=NNNN)
  219. *
  220. * CHANGE USER PASSWORD *OLDPW* TO *NEWPW*.
  221. *
  222. * *PT* - SPECIFY WHICH PASSWORD TO CHANGE.
  223. * B - BATCH PASSWORD.
  224. * I - INTERACTIVE PASSWORD.
  225. * IB OR BI - BOTH BATCH AND INTERACTIVE PASSWORDS.
  226. * *XD* - SET EXPIRATION DATE TO YYMMDD.
  227. * YY = YEAR
  228. * MM = MONTH
  229. * DD = DAY.
  230. * *XT* - SET EXPIRATION DATE TO (CURRENT DATE + NNNN).
  231. * NNNN - DAYS MUST BE .GE. 0 AND .LE. 4095 (7777B).
  232. * ZERO SETS PASSWORD EXPIRING IMMEDIATELY.
  233. * 4095 OR 7777B OR SPECIAL CHARACTER * SETS
  234. * NON-EXPIRING PASSWORD.
  235. *
  236. * THE *XD* AND *XT* PARAMETERS MAY NOT BE SPECIFIED TOGETHER.
  237. *
  238. * THE OLD AND NEW PASSWORDS MUST BE SPECIFIED TO CHANGE THE
  239. * EXPIRATION DATE.
  240. *
  241. * THE *PT* PARAMETER MAY BE USED TO SPECIFY WHICH PASSWORD
  242. * (INTERACTIVE, BATCH, OR BOTH) TO CHANGE. *PT=IB* MAY NOT BE
  243. * SELECTED IF PASSWORD RANDOMIZATION IS SET. IF *PT=IB* IS
  244. * SELECTED BOTH THE OLD BATCH AND INTERACTIVE PASSWORDS MUST
  245. * MATCH. IF THE *PT* PARAMETER IS NOT SPECIFIED, *PASSWOR*
  246. * WILL CHANGE THE PASSWORD CORRESPONDING TO THE JOB ORIGIN TYPE
  247. * EXCEPT IF *COMSACC* CONSTANT *DEPT* IS SET TO ZERO, IN WHICH
  248. * CASE BOTH PASSWORDS WILL BE CHANGED.
  249. *
  250. * IF PASSWORD RANDOMIZATION IS REQUIRED, THE INTERACTIVE AND
  251. * BATCH PASSWORDS CAN ONLY BE CHANGED FROM A JOB WITH *IAOT*
  252. * ORIGIN TYPE.
  253. *
  254. * USER PREVIOUSLY MUST HAVE EITHER
  255. * 1. LOGGED IN ON A TERMINAL.
  256. * 2. ISSUED A USER COMMAND.
  257. *
  258. * TO PROVIDE A VALIDATED USER NAME TO CHANGE PASSWORD.
  259. * THE NEW PASSWORD ENTERED MUST BE AT LEAST *RPWL*
  260. * CHARACTERS IN LENGTH.
  261. *
  262. * IF THE *PASSWOR* COMMAND IS ENTERED WITHOUT ANY
  263. * PARAMETERS, SECURE ENTRY OF PASSWORDS WILL BE PROCESSED.
  264. * IF PASSWORD RANDOMIZATION IS REQUIRED, THE USER MUST SPECIFY
  265. * AT LEAST TWO CHARACTERS FOR THE NON-RANDOMIZED PORTION OF THE
  266. * NEW PASSWORD. THE SYSTEM WILL GENERATE AND DISPLAY RANDOM
  267. * ALPHANUMERIC CHARACTERS WHICH ARE APPENDED TO THE END OF THE
  268. * USER-SPECIFIED PORTION OF THE NEW PASSWORD AND MUST BE
  269. * ENTERED AS PART OF THE NEW PASSWORD.
  270. SPACE 4,10
  271. *** LIMITS,L=LFN.
  272. *
  273. *
  274. * WRITE VALIDATION PARAMETERS TO *LFN* FILE OR THE DEFAULT
  275. * *OUTPUT* FILE.
  276. SPACE 4,10
  277. *** UPROC (FN=LFN)
  278. * UPROC,LFN.
  279. *
  280. *
  281. * ALLOW THE USER TO ENTER THE USER PROLOGUE FILE NAME *LFN*
  282. * INTO THE VALIDATION FILE. THE USER PROLOGUE FILE WILL BE
  283. * EXECUTED DURING PRIMARY CHARGE PROCESSING.
  284. *
  285. * USER PREVIOUSLY MUST HAVE EITHER
  286. * 1. LOGGED IN ON A TERMINAL.
  287. * 2. ISSUED A USER COMMAND.
  288. *
  289. * TO PROVIDE A VALIDATED USER NAME TO CREATE OR CHANGE USER
  290. * PROLOGUE FILE NAME.
  291. *
  292. * THE USER PROLOGUE FILE NAME WILL BE CLEARED IF NO PARAMETER
  293. * OR A ZERO PARAMETER IS SPECIFIED.
  294. SPACE 4,10
  295. *** CHVAL,DI=DATA,...,DI=DATA.
  296. *
  297. *
  298. * ALLOW THE USER TO REDEFINE CERTAIN VALIDATION DATA.
  299. * *DI* IS THE DATA IDENTIFIER FOR THE VALIDATION DATA TO BE
  300. * CHANGED. *DATA* IS THE NEW VALUE FOR THE INFORMATION.
  301. *
  302. * ALLOWED DATA IDENTIFIERS ARE -
  303. *
  304. * UC USER DEFAULT SERVICE CLASS
  305. SPACE 4,10
  306. *** INPUT DATA.
  307. *
  308. *
  309. * EACH NEW USER NAME ENTRY MUST BEGIN WITH A SLASH
  310. * (/) IN COLUMN 1 AND IS FOLLOWED BY THE USER NAME.
  311. * THE USER NAME CONSISTS OF ONE TO SEVEN ALPHANUMERIC
  312. * CHARACTERS (* ALSO ALLOWED), TERMINATED BY A SEPARATOR.
  313. * ALL DATA FOR A USER NAME ENTRY IS FREE FORMAT THROUGH
  314. * COLUMN 72 (ALL BLANKS IGNORED), HOWEVER,
  315. * A DIRECTIVE CANNOT BE SPLIT BETWEEN
  316. * COMMANDS OR LINES. A DIRECTIVE CONSISTS OF AN IDENTIFIER
  317. * AND A DATA FIELD SEPARATED BY AN *=* (EVEN IF DATA FIELD
  318. * IS NULL). THE USER NAME AND EACH DIRECTIVE MUST BE
  319. * SEPARATED BY A SPECIAL CHARACTER (ANY EXCEPT */*, *=*,
  320. * COLON AND BLANK), OR END-OF-LINE.
  321. * AN ASTERISK (*) CAN BE USED TO SEPARATE ALL DIRECTIVES
  322. * EXCEPT USER NAME, CHARGE NUMBER, AND PROJECT NUMBER.
  323. * ALL DATA RELATIVE TO A USER NAME MUST APPEAR IN THE
  324. * USER NAME RECORD.
  325. *
  326. * EXAMPLE INPUT STREAM -
  327. *
  328. * /USERNAM
  329. * PW=SAFE
  330. * TL=77B
  331. * MT=2
  332. * NF=6
  333. * MS=53B
  334. * AW=CLPF,AW=CCNR
  335. * / -ETC.-
  336. *
  337. * POST-RADICES MAY BE USED TO SPECIFY BASE FOR NUMERIC DATA.
  338. * D - DECIMAL.
  339. * B - OCTAL.
  340. * DEFAULT IS DECIMAL.
  341. *
  342. *
  343. * DATA IDENTIFIERS ARE AS FOLLOWS -
  344. *
  345. * PW = PASSWORD. MANDATORY WITH THE CREATE (*OP=C*) OPTION
  346. * UNLESS THE *RP* PARAMETER IS SELECTED OR *RPWL* = 0.
  347. * WILL SET BOTH BATCH AND INTERACTIVE PASSWORD. THE
  348. * ASSOCIATED PASSWORD EXPIRATION DATES WILL BE SET TO
  349. * THE DEFAULT WHEN CREATING A NEW USER.
  350. * *RPWL* TO 7 CHARACTERS IN LENGTH.
  351. *
  352. * PB = PASSWORD BATCH. ESTABLISHES THE BATCH PASSWORD TO BE
  353. * USED FOR BATCH AND SYSTEM ORIGIN JOBS. BATCH
  354. * PASSWORD EXPIRATION DATE WILL BE SET TO THE
  355. * DEFAULT WHEN CREATING A NEW USER.
  356. * *RPWL* TO 7 CHARACTERS IN LENGTH.
  357. *
  358. * PI = PASSWORD INTERACTIVE. ESTABLISHES THE INTERACTIVE
  359. * PASSWORD TO BE USED FOR INTERACTIVE JOBS. INTERACTIVE
  360. * PASSWORD EXPIRATION DATE WILL BE SET TO THE
  361. * DEFAULT WHEN CREATING A NEW USER.
  362. * *RPWL* TO 7 CHARACTERS IN LENGTH.
  363. *
  364. * EB = ENCRYPTED BATCH PASSWORD.
  365. * OCTAL REPRESENTATION OF PREVIOUSLY ENCRYPTED PASSWORD
  366. * TO BE USED FOR BATCH AND SYSTEM ORIGIN JOBS.
  367. * 14 OCTAL DIGITS. NO RADIX ALLOWED.
  368. *
  369. * EI = ENCRYPTED INTERACTIVE PASSWORD.
  370. * OCTAL REPRESENTATION OF PREVIOUSLY ENCRYPTED PASSWORD
  371. * TO BE USED FOR INTERACTIVE JOBS.
  372. * 14 OCTAL DIGITS. NO RADIX ALLOWED.
  373. *
  374. * XD = EXPIRATION DATE. ESTABLISHES THE PASSWORD EXPIRATION
  375. * DATE FOR BATCH AND INTERACTIVE PASSWORDS.
  376. * 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
  377. * SPECIAL CHARACTER * SETS NON-EXPIRING.
  378. * DEFAULT VALUE IS SITE DEFINED.
  379. *
  380. * XB = BATCH EXPIRATION DATE. ESTABLISHES THE BATCH PASSWORD
  381. * EXPIRATION DATE FOR BATCH AND SYSTEM ORIGIN JOBS.
  382. * 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
  383. * SPECIAL CHARACTER * SETS NON-EXPIRING.
  384. * DEFAULT VALUE IS SITE DEFINED.
  385. *
  386. * XI = INTERACTIVE EXPIRATION DATE. ESTABLISHES THE
  387. * INTERACTIVE PASSWORD EXPIRATION DATE FOR
  388. * INTERACTIVE JOBS.
  389. * 6 NUMERIC CHARACTERS OF THE FORM YYMMDD.
  390. * SPECIAL CHARACTER * SETS NON-EXPIRING.
  391. * DEFAULT VALUE IS SITE DEFINED.
  392. *
  393. * XT = EXPIRATION DATE BY TERM. ADDS THE TERM VALUE TO THE
  394. * CURRENT DATE TO CALCULATE THE BATCH AND INTERACTIVE
  395. * PASSWORD EXPIRATION DATE.
  396. * 1-4 NUMERIC DIGITS.
  397. * VALUES RANGE 0-4095 DECIMAL 0-7777B OCTAL.
  398. * DECIMAL BASE ASSUMED UNLESS POST RADIX *B*
  399. * IS SPECIFIED.
  400. * ZERO SETS PASSWORD IMMEDIATELY EXPIRING.
  401. * 4095, 7777B SETS NON-EXPIRING PASSWORD.
  402. * SPECIAL CHARACTER * SETS NON-EXPIRING.
  403. * DEFAULT VALUE IS SITE DEFINED.
  404. *
  405. * XTB = BATCH EXPIRATION DATE BY TERM. ADDS THE TERM VALUE TO
  406. * THE CURRENT DATE TO CALCULATE THE BATCH PASSWORD
  407. * EXPIRATION DATE.
  408. * SAME PROPERTIES AS *XT*.
  409. * DEFAULT VALUE IS SITE DEFINED.
  410. *
  411. * XTI = INTERACTIVE EXPIRATION DATE BY TERM. ADDS THE TERM
  412. * VALUE TO THE CURRENT DATE TO CALCULATE THE
  413. * INTERACTIVE EXPIRATION DATE.
  414. * SAME PROPERTIES AS *XT*.
  415. * DEFAULT VALUE IS SITE DEFINED.
  416. *
  417. * SAV = SECURITY ACCESS VALIDATION PRIVILEGES. BITS 48-59
  418. * IN WORD *ASVW* ALLOW VALIDATION PRIVILEGES.
  419. * 3-4 ALPHABETIC DIGITS.
  420. * THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
  421. * *ALL* = SET.
  422. * *NUL* = CLEAR.
  423. * OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
  424. * SPECIFIC BITS -
  425. * FIELD BIT FUNCTION
  426. * *CSAP* = 59 - SECURITY ADMINISTRATOR PRIVILEGES.
  427. * *COLD* = 58 - EXECUTE ON-LINE DIAGNOSTICS.
  428. * *CPWX* = 57 - ASSIGN PASSWORD EXPIRATION TERM.
  429. * *CFPX* = 56 - ASSIGN PERMANENT FILE EXPIRATION
  430. * DATE OR TERM.
  431. * *CLJL* = 55 - LOWER JOB ACCESS LEVEL.
  432. * *CLFL* = 54 - LOWER FILE ACCESS LEVEL.
  433. * *CWLF* = 53 - WRITE TO OR EXTEND A LOWER LEVEL
  434. * FILE.
  435. * *CULT* = 52 WRITE UNLABELED MAGNETIC TAPES.
  436. * NO SECURITY ACCESS VALIDATIONS ARE SELECTED BY
  437. * DEFAULT.
  438. *
  439. * SAL = SECURITY ACCESS LEVEL VALIDATION. BITS 36-47 IN
  440. * WORD *ASVW* ALLOW ACCESS LEVEL PRIVILEGES.
  441. * 1-7 ALPHANUMERIC CHARACTERS.
  442. * THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
  443. * *ALL* = SET.
  444. * *NUL* = CLEAR.
  445. * OTHER DATA FIELDS RECOGNIZED WHICH TOGGLE SPECIFIC
  446. * BITS ARE SITE DEFINED MICROS WHICH ARE LOCATED IN
  447. * *COMSMLS*.
  448. * LEVEL 0 SECURITY ACCESS LEVEL (MICRO DEFINED IN
  449. * *COMSMLS*) IS SELECTED BY DEFAULT IF NO
  450. * *SAL* DIRECTIVE IS ENTERED WHEN CREATING A NEW
  451. * USER NAME (THE DEFAULT SELECTION IS CLEARED
  452. * IF AN *SAL* DIRECTIVE IS ENTERED).
  453. *
  454. * SAC = SECURITY ACCESS CATEGORY VALIDATION. BITS 0-31 IN
  455. * WORD *ASVW* ALLOW ACCESS CATEGORY PRIVILEGES.
  456. * 1-7 ALPHANUMERIC CHARACTERS.
  457. * THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
  458. * *ALL* = SET.
  459. * *NUL* = CLEAR.
  460. * OTHER DATA FIELDS RECOGNIZED WHICH TOGGLE SPECIFIC
  461. * BITS ARE SITE DEFINED MICROS WHICH ARE LOCATED IN
  462. * *COMSMLS*.
  463. * NO SECURITY ACCESS CATEGORIES ARE SELECTED BY
  464. * DEFAULT.
  465. *
  466. * UI = USER INDEX. NEXT AVAILABLE INDEX WILL BE ASSIGNED IF
  467. * NOT SPECIFIED. NOT ALLOWED FROM UPDATE OR K-DISPLAY
  468. * OPTIONS. VALUES WILL BE CHECKED FOR DUPLICATION
  469. * ACROSS USER NAMES.
  470. * 1-6 NUMERIC DIGITS + RADIX.
  471. * 1 ENTRY PER USER RECORD.
  472. * MAXIMUM VALUE IS 377777B.
  473. *
  474. * FUI = FORCE USER INDEX. SIMILAR TO *UI*. LEGAL ONLY FROM
  475. * UPDATE OR K-DISPLAY OPTIONS. VALUES WILL NOT BE
  476. * CHECKED FOR DUPLICATION.
  477. * 1-6 NUMERIC DIGITS + RADIX.
  478. * 1 ENTRY PER USER RECORD.
  479. * MAXIMUM VALUE IS 377777B.
  480. *
  481. * PID = PERSONAL IDENTIFICATION.
  482. * 1-20 ALPHANUMERIC CHARACTERS.
  483. * 1 ENTRY PER USER RECORD.
  484. * NULL = NO PERSONAL IDENTIFICATION.
  485. *
  486. * SP = SYSTEM PROLOGUE FILE INDEX. IDENTIFIES THE SYSTEM
  487. * PROLOGUE FILE TO CALL DURING PRIMARY CHARGE PROCESS-
  488. * ING. THE SYSTEM PROLOGUE MAY BE A PROCEDURE OR
  489. * BINARY. THE SYSTEM PROLOGUE FILE NAME IS OBTAINED
  490. * BY APPENDING THE DISPLAY CODE EQUIVALENT OF THE
  491. * SYSTEM PROLOGUE FILE NAME INDEX (*SP*) ONTO THE
  492. * WORD *PROC* AS *PROCXX*.
  493. * 1-2 NUMERIC DIGITS + RADIX.
  494. * DEFAULT VALUE OF 0 = NO SYSTEM PROLOGUE
  495. * REQUIRED.
  496. * MAXIMUM VALUE OF 77B.
  497. * 1 ENTRY PER USER RECORD.
  498. *
  499. * UP = USER PROLOGUE FILE. IDENTIFIES THE DEFAULT USER
  500. * PROLOGUE FILE NAME TO CALL DURING PRIMARY CHARGE
  501. * PROCESSING. THE USER PROLOGUE MAY BE A PROCEDURE
  502. * OR BINARY.
  503. * 1-7 ALPHANUMERIC CHARACTER FILE NAME.
  504. * DEFAULT VALUE OF NULL = NO USER PROLOGUE
  505. * REQUIRED.
  506. * 1 ENTRY PER USER RECORD.
  507. *
  508. * SH = DEFAULT SHELL PROGRAM NAME. IDENTIFIES THE USER
  509. * SCREENING PROGRAM TO BE USED.
  510. * 1-7 ALPHANUMERIC CHARACTER PROGRAM NAME.
  511. * 1 ENTRY PER RECORD.
  512. * NULL = NO DEFAULT PROGRAM TO CALL.
  513. *
  514. * MT = MAXIMUM NUMBER OF MAGNETIC TAPES ALLOWED.
  515. * 1 NUMERIC DIGIT.
  516. * DEFAULT VALUE OF 0.
  517. * MAXIMUM VALUE OF 7 GIVES UNLIMITED MT.
  518. * 1 ENTRY PER USER RECORD.
  519. *
  520. * RP = MAXIMUM NUMBER OF REMOVABLE DISK PACKS.
  521. * 1 NUMERIC DIGIT.
  522. * DEFAULT VALUE OF 0.
  523. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *RP*.
  524. * 1 ENTRY PER USER RECORD.
  525. *
  526. * TL = RANGE INDEX REPRESENTING MAXIMUM CENTRAL PROCESSOR
  527. * TIME. FORMULA FOR ACTUAL VALUE (IN UNITS OF 10B
  528. * SECONDS) IS (INDEX * 100B) + KTLI.
  529. * 1-2 NUMERIC DIGITS + RADIX.
  530. * DEFAULT VALUE OF 0.
  531. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *TL*.
  532. * 1 ENTRY PER USER RECORD.
  533. *
  534. * CM = RANGE INDEX REPRESENTING MAXIMUM CENTRAL MEMORY.
  535. * FORMULA FOR ACTUAL VALUE (IN UNITS OF 100B WORDS) IS
  536. * (INDEX * 40B) + KCMI.
  537. * 1-2 NUMERIC DIGITS + RADIX.
  538. * DEFAULT VALUE OF 15B.
  539. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *CM*.
  540. * 1 ENTRY PER USER RECORD.
  541. *
  542. * DT = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF JOBS THAT
  543. * CAN BE DETACHED. FORMULA FOR ACTUAL VALUE IS
  544. * (INDEX + KDTI).
  545. * 1-2 NUMERIC DIGITS + RADIX.
  546. * DEFAULT VALUE OF 0.
  547. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *DT*.
  548. * 1 ENTRY PER USER RECORD.
  549. *
  550. * MS = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF MASS
  551. * STORAGE PRU-S. FORMULA FOR ACTUAL VALUE IS
  552. * (INDEX * 10000B) + KMSI.
  553. * 1-2 NUMERIC DIGITS + RADIX.
  554. * DEFAULT VALUE OF 1.
  555. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *MS*.
  556. * 1 ENTRY PER USER RECORD.
  557. *
  558. * SC = SECURITY COUNT. THIS COUNT SIGNIFIES THE NUMBER OF
  559. * SECURITY VIOLATIONS THE USER HAS LEFT BEFORE BEING
  560. * DENIED ACCESS TO THE SYSTEM.
  561. * 1 - 2 NUMERIC DIGITS + RADIX.
  562. * 1 ENTRY PER USER RECORD.
  563. * MAXIMUM VALUE OF 77B GIVES
  564. * UNLIMITED VALUE.
  565. *
  566. * FC = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF INDIRECT
  567. * ACCESS PERMANENT FILES. AN EQUIVALENCE TABLE IN *FCI*
  568. * ROUTINE OF *COMCCVI* IS USED TO OBTAIN THE ACTUAL
  569. * VALUE.
  570. * 1 NUMERIC DIGIT.
  571. * DEFAULT OF 0 USES JOB ORIGIN CONTROL.
  572. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *FC*.
  573. * 1 ENTRY PER USER RECORD.
  574. *
  575. * CS = RANGE INDEX REPRESENTING MAXIMUM CUMMULATIVE SIZE FOR
  576. * ALL INDIRECT ACCESS FILES. AN EQUIVALENCE TABLE IN
  577. * *CSI* ROUTINE OF *COMCCVI* IS USED TO OBTAIN THE
  578. * ACTUAL VALUE.
  579. * 1 NUMERIC DIGIT.
  580. * DEFAULT OF 0 USES JOB ORIGIN CONTROL.
  581. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *CS*.
  582. * 1 ENTRY PER USER RECORD.
  583. *
  584. * FS = RANGE INDEX REPRESENTING MAXIMUM FILE SIZE FOR ANY
  585. * INDIVIDUAL INDIRECT ACCESS PERMANENT FILE.
  586. * AN EQUIVALENCE TABLE IN *FSI* ROUTINE OF *COMCCVI* IS
  587. * USED TO OBTAIN THE ACTUAL VALUE.
  588. * 1 NUMERIC DIGIT.
  589. * DEFAULT OF 0 USES JOB ORIGIN CONTROL.
  590. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *FS*.
  591. * 1 ENTRY PER USER RECORD.
  592. *
  593. * PX = TRANSMISSION. TERMINAL FULL OR HALF DUPLEX MODE.
  594. * 4 ALPHANUMERIC CHARACTERS.
  595. * 1 ENTRY PER USER RECORD.
  596. * THE FOLLOWING VALUES ARE AVAILABLE -
  597. * *FULL*.
  598. * *HALF*.
  599. *
  600. * RO = RUBOUT COUNT. NUMBER OF RUBOUT CHARACTERS ASSOCIATED
  601. * WITH USERS TERMINAL. 37B = USE SYSTEM DEFAULT FOR
  602. * TERMINAL TYPE.
  603. * 1-2 NUMERIC DIGITS + RADIX.
  604. * 1 ENTRY PER USER RECORD.
  605. * MAXIMUM VALUE IS 37B.
  606. *
  607. * PA = TERMINAL PARITY.
  608. * 3-4 ALPHANUMERIC DIGITS.
  609. * 1 ENTRY PER USER RECORD.
  610. * THE FOLLOWING VALUES ARE AVAILABLE -
  611. * *EVEN*.
  612. * *ODD*.
  613. *
  614. * TT = TERMINAL TYPE.
  615. * 3-6 ALPHANUMERIC DIGITS.
  616. * 1 ENTRY PER USER RECORD.
  617. * THE FOLLOWING VALUES ARE AVAILABLE -
  618. * *TTY*.
  619. * *713*.
  620. * *COR*.
  621. * *CORAPL*.
  622. * *MEMAPL*.
  623. * *BLKEDT*.
  624. *
  625. * TC = TERMINAL CHARACTER SET.
  626. * 5-6 ALPHABETIC CHARACTERS.
  627. * 1 ENTRY PER USER RECORD.
  628. * THE FOLLOWING VALUES ARE AVAILABLE -
  629. * *STANDARD*.
  630. * *ASCII*.
  631. *
  632. * IS = TERMINAL INITIAL SUBSYSTEM.
  633. * 4-8 ALPHABETIC CHARACTERS.
  634. * 1 ENTRY PER USER RECORD.
  635. * THE FOLLOWING VALUES ARE AVAILABLE -
  636. * *NULL*.
  637. * *BASIC*.
  638. * *FORTRAN*.
  639. * *FTNTS*.
  640. * *EXECUTE*.
  641. * *BATCH*.
  642. * *ACCESS*.
  643. *
  644. * PN = DEFAULT PROJECT NUMBER.
  645. * 1-20 ALPHANUMERIC CHARACTERS.
  646. * 1 ENTRY PER USER RECORD.
  647. * * ALLOWED.
  648. * NULL = NO DEFAULT PROJECT NUMBER.
  649. *
  650. * CN = DEFAULT CHARGE NUMBER.
  651. * 1-10 ALPHANUMERIC CHARACTERS.
  652. * 1 ENTRY PER USER RECORD.
  653. * * ALLOWED.
  654. * NULL = NO DEFAULT CHARGE NUMBER.
  655. *
  656. * DB = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF CONCURRENT
  657. * DEFERRED BATCH JOBS. FORMULA FOR ACTUAL VALUE IS
  658. * (2 ** INDEX).
  659. * EXCEPTION - INDEX OF 0 GIVES VALUE OF 0, NOT 1.
  660. * 1 NUMERIC DIGIT.
  661. * DEFAULT VALUE OF 0.
  662. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *DB*.
  663. * 1 ENTRY PER USER RECORD.
  664. *
  665. * EC = RANGE INDEX REPRESENTING MAXIMUM EXTENDED MEMORY.
  666. * FORMULA FOR ACTUAL VALUE (IN 1000B WORD BLOCKS) IS
  667. * (INDEX * 20B) + KECI.
  668. * 1-2 NUMERIC DIGITS + RADIX.
  669. * DEFAULT VALUE OF 0.
  670. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *EC*.
  671. * 1 ENTRY PER USER RECORD.
  672. *
  673. * SL = RANGE INDEX REPRESENTING THE MAXIMUM SRUS.
  674. * FORMULA FOR ACTUAL VALUE IS ((((INDEX**2) * 10B)
  675. * + KSLI) * 10B).
  676. * 1-2 NUMERIC DIGITS + RADIX.
  677. * DEFAULT VALUE OF 0.
  678. * VALUE OF 73B OR MORE GIVES UNLIMITED *SL*.
  679. * 1 ENTRY PER USER RECORD.
  680. *
  681. * LP = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF LINES THAT
  682. * CAN BE PRINTED FROM DISPOSED PRINT FILE.
  683. * FORMULA FOR ACTUAL VALUE IS (INDEX * 2000B) + KLPI.
  684. * 1-2 NUMERIC DIGITS + RADIX.
  685. * DEFAULT VALUE OF 0.
  686. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *LP*.
  687. * 1 ENTRY PER USER RECORD.
  688. *
  689. * CP = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF CARDS THAT
  690. * CAN BE PUNCHED FROM DISPOSED PUNCH FILE.
  691. * FORMULA FOR ACTUAL VALUE IS (INDEX * 100B) + KCPI.
  692. * 1-2 NUMERIC DIGITS + RADIX.
  693. * DEFAULT VALUE OF 0.
  694. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *CP*.
  695. * 1 ENTRY PER USER RECORD.
  696. *
  697. * PT = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF UNITS THAT
  698. * CAN BE PLOTTED FROM DISPOSED PLOT FILE.
  699. * FORMULA FOR ACTUAL VALUE IS (INDEX * 2000B) + KPTI.
  700. * 1-2 NUMERIC DIGITS + RADIX.
  701. * DEFAULT VALUE OF 0.
  702. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *PT*.
  703. * 1 ENTRY PER USER RECORD.
  704. *
  705. * DS = RANGE INDEX REPRESENTING MAXIMUM FILE SIZE FOR ANY
  706. * INDIVIDUAL DIRECT ACCESS PERMANENT FILE.
  707. * AN EQUIVALENCE TABLE IN *DSI* ROUTINE OF *COMCCVI* IS
  708. * USED TO OBTAIN THE ACTUAL VALUE.
  709. * 1 NUMERIC DIGIT.
  710. * DEFAULT OF 0 USES JOB ORIGIN CONTROL.
  711. * MAXIMUM VALUE OF 7 GIVES UNLIMITED *DS*.
  712. * 1 ENTRY PER USER RECORD.
  713. *
  714. * DF = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF MESSAGE
  715. * REQUESTS THAT MAY BE ISSUED TO THE SYSTEM AND/OR
  716. * JOB DAYFILES. FORMULA FOR ACTUAL VALUE IS
  717. * (INDEX * 100B) + KDFI.
  718. * 1-2 NUMERIC DIGITS + RADIX.
  719. * DEFAULT VALUE OF 34B.
  720. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *DF*.
  721. * 1 ENTRY PER USER RECORD.
  722. *
  723. * CC = RANGE INDEX REPRESENTING MAXIMUM NUMBER OF BATCH
  724. * COMMANDS THAT CAN BE PROCESSED.
  725. * FORMULA FOR ACTUAL VALUE IS (INDEX * 100B) + KCCI.
  726. * 1-2 NUMERIC DIGITS + RADIX.
  727. * DEFAULT VALUE OF 34B.
  728. * MAXIMUM VALUE OF 77B GIVES UNLIMITED *CC*.
  729. * 1 ENTRY PER USER RECORD.
  730. *
  731. * RL = SET RESOURCE LIMITS TO MAXIMUM VALUES. THE
  732. * ONLY VALID VALUE FOR THIS DIRECTIVE IS *ALL*.
  733. * THIS DIRECTIVE CAN BE USED AT ANY TIME DURING
  734. * A CREATION OR UPDATE OF THE USER RECORD. THE
  735. * VALUES SET CAN BE CHANGED BY SUBSEQUENT DIRECTIVES.
  736. * THE FOLLOWING LIMITS ARE SET -
  737. *
  738. * PT - UNITS PLOTTED.
  739. * MT - MAGNETIC TAPES.
  740. * RP - REMOVABLE PACKS.
  741. * DB - DEFERRED BATCH JOBS.
  742. * DT - DETACHED JOBS.
  743. * TL - TIME LIMIT.
  744. * SL - SRU LIMIT.
  745. * CM - CM FIELD LENGTH.
  746. * EC - EXTENDED MEMORY FIELD LENGTH.
  747. * LP - LINES PRINTED.
  748. * CP - CARDS PUNCHED.
  749. * DS - DIRECT ACCESS PERMANENT FILE SIZE.
  750. * FC - PERMANENT FILE COUNT.
  751. * CS - CUMULATIVE INDIRECT ACCESS PERMANENT FILE SIZE.
  752. * FS - INDIRECT ACCESS PERMANENT FILE SIZE.
  753. * DF - DAYFILE MESSAGES.
  754. * CC - COMMANDS.
  755. * MS - MASS STORAGE PRU-S.
  756. *
  757. * AW = ACCESS WORD. BITS IN THE ACCESS WORD *AACW* ALLOW
  758. * PRIVILEGES FOR THE USER.
  759. * 3-4 ALPHABETIC DIGITS.
  760. * THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
  761. * *ALL* = SET.
  762. * *NUL* = CLEAR.
  763. * OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
  764. * SPECIFIC BITS -
  765. * FIELD BIT FUNCTION
  766. * *CPWC* = 0 - ALLOW USER TO CHANGE PASSWORD.
  767. * *CTPC* = 1 - ALLOW PRIVILEGED TERMINAL COMMANDS.
  768. * *CLPF* = 2 - ALLOW WRITES TO DIRECT ACCESS (LARGE)
  769. * PERMANENT FILES.
  770. * *CSPF* = 3 - ALLOW WRITES TO INDIRECT ACCESS(SMALL)
  771. * PERMANENT FILES.
  772. * *CSOJ* = 4 - ALLOW SYSTEM ORIGIN TYPE PRIVILEGES.
  773. * IF SYSTEM IS IN *DEBUG* MODE.
  774. * *CASF* = 5 - ALLOW ACCESS TO SYSTEM FILES (E.G.
  775. * LIBRARY TYPE FILES).
  776. * *CAND* = 6 - ALLOW USER ASSIGNMENT OF NON-
  777. * ALLOCATABLE DEVICES.
  778. * *CCNR* = 7 - ALLOW USE OF SYSTEM WITHOUT ENTRY OF
  779. * VALID CHARGE AND PROJECT NUMBERS.
  780. * *CSRP* = 8 - ALLOW REMOVABLE DEVICE COMMANDS.
  781. * *CSTP* = 9 - ALLOW SPECIAL TRANSACTION PRIVILEGES.
  782. * *CTIM* = 10 - ALLOW NO TERMINAL TIME OUT.
  783. * *CUCP* = 11 - ALLOW USER CP (UCP) PRIVILEGES.
  784. * *CSAP* = 12 - ALLOW SPECIAL ACCOUNTING PRIVILEGES.
  785. * *CBIO* = 13 - ALLOW *BATCHIO* SUBSYSTEM PRIVILEGES.
  786. * *CPRT* = 14 - ALLOW ECS *PROTECT* PRIVILEGES.
  787. * *CPLK* = 15 - ALLOW THE USER TO TRANSFER
  788. * PERMANENT FILES BETWEEN HOSTS.
  789. * *CQLK* = 16 - ALLOW THE USER TO TRANSFER
  790. * QUEUED FILES BETWEEN HOSTS.
  791. * *CUST* = 17 - ALLOW THE USER TO SPECIFY LID-S ON
  792. * THE JOB AND *ROUTE* COMMANDS.
  793. * *CNVE* = 18 - ALLOW ACCESS TO THE NVE SUBSYSTEM.
  794. * *CMNT* = 19 - ALLOW THE USER MAINTENANCE
  795. * PRIVILEGES.
  796. * *CNOP* = 20 - ALLOW NPU OPERATOR PRIVILEGE.
  797. * *CSAF* = 21 - ALLOW ALTERNATE FAMILY ON SECONDARY
  798. * *USER* COMMANDS.
  799. * *CNRD* = 22 - ALLOW THE USER TO SPECIFY A CHARGE
  800. * AND PROJECT NUMBER OTHER THAN THE
  801. * DEFAULT.
  802. * *COPR* = 23 - ALLOW THE USER TO ENTER A PASSWORD
  803. * WITHOUT RANDOMIZATION.
  804. * *CLTD* = 24 - ALLOW USER TO SPECIFY PERMANENT FILE
  805. * RESIDENCE AS *LOCKED TO DISK* (PR=L).
  806. * *COPI* = 25 - OMIT PERSONAL ID ENTRY.
  807. * *CACA* = 26 - ALLOW CONCURRENT ACCESS.
  808. * *CPAM* = 27 - ALLOW THE USER PRIVILEGED ANALYST
  809. * OPERATIONS IF PRIVILEGED ANALYST
  810. * MODE IS ENABLED.
  811. * *CSAU* = 28 - ALLOW ALTERNATE USER NAME ON
  812. * SECONDARY *USER* COMMANDS.
  813. * *CRAU* = 29 - ALLOW ALTERNATE USER NAME ON ROUTED
  814. * INPUT FILE *USER* COMMANDS.
  815. * *CRAF* = 30 - ALLOW ALTERNATE FAMILY ON ROUTED
  816. * INPUT FILE *USER* COMMANDS.
  817. * 31-47 - RESERVED FOR SYSTEM USE.
  818. * 48 - RESERVED FOR INSTALLATION (BIT 48).
  819. * 49 - RESERVED FOR INSTALLATION (BIT 49).
  820. * 50 - RESERVED FOR INSTALLATION (BIT 50).
  821. * 51 - RESERVED FOR INSTALLATION (BIT 51).
  822. * 52 - RESERVED FOR INSTALLATION (BIT 52).
  823. * 53 - RESERVED FOR INSTALLATION (BIT 53).
  824. * 54 - RESERVED FOR INSTALLATION (BIT 54).
  825. * 55 - RESERVED FOR INSTALLATION (BIT 55).
  826. * 56 - RESERVED FOR INSTALLATION (BIT 56).
  827. * 57 - RESERVED FOR INSTALLATION (BIT 57).
  828. * 58 - RESERVED FOR INSTALLATION (BIT 58).
  829. * 59 - RESERVED FOR INSTALLATION (BIT 59).
  830. *
  831. * THE FOLLOWING BITS ARE SET BY DEFAULT -
  832. * *CPWC*
  833. * *CLPF*
  834. * *CSPF*
  835. * *CCNR*
  836. * *CSAF*
  837. * *CNRD*
  838. * *COPR*
  839. * *COPI*
  840. * *CACA*
  841. * *CSAU*
  842. * *CRAU*
  843. * *CRAF*
  844. * THESE BITS ARE ASSUMED TO BE SET BEFORE ANY
  845. * IDENTIFIERS ARE ENTERED. THESE BITS ARE CLEARED
  846. * WHEN THE FIRST *AW* DIRECTIVE IS ENTERED.
  847. *
  848. * AP = APPLICATION PERMISSION. BITS IN THE APPLICATION
  849. * VALIDATION WORD *AAVW* ALLOW USER ACCESS TO
  850. * APPLICATIONS.
  851. * THE FOLLOWING TWO DATA FIELDS SET OR CLEAR ALL BITS -
  852. * *ALL* = SET.
  853. * *NUL* = CLEAR.
  854. * OTHER DATA FIELDS ARE RECOGNIZED WHICH TOGGLE
  855. * SPECIFIC BITS -
  856. * FIELD BIT FUNCTION
  857. * *IAF* 0 - ALLOW USER ACCESS TO *IAF*.
  858. * *RBF* 1 - ALLOW USER ACCESS TO *RBF*.
  859. * *TAF* 2 - ALLOW USER ACCESS TO *TAF*.
  860. * *MCS* 3 - ALLOW USER ACCESS TO *MCS*.
  861. * *TVF* 4 - ALLOW USER ACCESS TO *TVF*.
  862. * *CS* 5 - ALLOW USER ACCESS TO *CS*.
  863. * *CYBIS* 6 - ALLOW USER ACCESS TO *CYBIS*.
  864. * *ITF* 7 - ALLOW USER ACCESS TO *ITF*.
  865. * *TLF* 8 - ALLOW USER ACCESS TO *TLF*.
  866. * *NJF* 9 - ALLOW USER ACCESS TO *NJF*.
  867. * *NETOU* 10 - ALLOW USER ACCESS TO VARIOUS CDCNET
  868. * APPLICATIONS.
  869. * *PSU* 11 - ALLOW USER ACCESS TO *PSU*
  870. * *AP1* 12 - ALLOW LOCAL APPLICATION 1 ACCESS.
  871. * *AP2* 13 - ALLOW LOCAL APPLICATION 2 ACCESS.
  872. * *AP3* 14 - ALLOW LOCAL APPLICATION 3 ACCESS.
  873. * *VEIAF* 15 - ALLOW USER ACCESS TO *VEIAF*.
  874. * *NPF* 16 - ALLOW USER ACCESS TO *NPF*.
  875. * *TCF* 17 - ALLOW USER ACCESS TO *TCF*.
  876. * *AP4* 18 - ALLOW LOCAL APPLICATION 4 ACCESS.
  877. * *AP5* 19 - ALLOW LOCAL APPLICATION 5 ACCESS.
  878. * *AP6* 20 - ALLOW LOCAL APPLICATION 6 ACCESS.
  879. * *ATF* 21 - ALLOW USER ACCESS TO *ATF*.
  880. * NO APPLICATION PERMISSIONS ARE SELECTED BY DEFAULT.
  881. *
  882. * AL = APPLICATION ACCESS LEVEL IS REQUIRED FOR
  883. * APPLICATION TO APPLICATION CONNECTION.
  884. * IT IDENTIFIES THE ACCESS LEVEL WHICH WILL PERMIT
  885. * SYSTEM ORIGIN CPU PROGRAM TO INITIATE A SUBSYSTEM.
  886. * 1-2 NUMERIC DIGITS.
  887. * DEFAULT VALUE IS 0.
  888. * MAXIMUM VALUE IS 17B.
  889. * 1 ENTRY PER RECORD.
  890. *
  891. * SO = SHELL PROGRAM PERMISSIONS OPTION. CERTAIN BITS
  892. * IDENTIFY WHICH TYPE OF PRIVILEGES ARE ALLOWED FOR A
  893. * USER.
  894. * *NUL* PARAMETER CLEARS ALL BITS.
  895. * THE FOLLOWING PARAMETERS WILL TOGGLE SPECIFIC BITS -
  896. * FIELD BIT FUNCTION
  897. * *ATBM* 0 CLEAR SHELL PROGRAM IF SCREENING
  898. * PROGRAM ABORTS.
  899. * *LFID* 1 LOCAL FILE LOAD OF SHELL PROGRAM
  900. * ALLOWED.
  901. * *GLID* 2 GLOBAL LIBRARY LOAD OF SHELL PROGRAM
  902. * ALLOWED.
  903. * *SLID* 3 SYSTEM LIBRARY LOAD OF SHELL PROGRAM
  904. * ALLOWED.
  905. * *TCSM* 4 MONITOR COMMANDS DIRECTLY FROM
  906. * TERMINAL INPUT.
  907. * *BCSM* 5 MONITOR COMMANDS OUTSIDE CCL LOOP.
  908. * *CCLM* 6 MONITOR COMMANDS INSIDE CCL LOOP.
  909. * SHELL PROGRAM PERMISSIONS *SLID* AND *BCSM*
  910. * ARE SELECTED BY DEFAULT IF NO *SO* DIRECTIVE
  911. * IS ENTERED WHEN CREATING A NEW USER NAME
  912. * (THE DEFAULT SELECTION IS CLEARED IF AN *SO*
  913. * DIRECTIVE IS ENTERED).
  914. *
  915. * UC = USER DEFAULT SERVICE CLASS. FORMAT IS *OTSC* WHERE
  916. * *OT* IS THE TWO CHARACTER DISPLAY CODE MNEMONIC FOR
  917. * ORIGIN TYPE AND *SC* IS THE TWO CHARACTER DISPLAY
  918. * CODE MNEMONIC FOR THE USER DEFAULT SERVICE CLASS
  919. * SELECTED FOR THAT ORIGIN TYPE.
  920. * *OT* IS REQUIRED. THE DEFAULT *SC* FOR EACH ORIGIN
  921. * TYPE IS
  922. * ORIGIN SERVICE CLASS
  923. * BC BC
  924. * RB OR EI RB
  925. * IA OR TX TS
  926. * 1 ENTRY FOR EACH ORIGIN TYPE PER USER RECORD.
  927. *
  928. * VM = SERVICE CLASS VALIDATION MASK.
  929. * TWO CHARACTER DISPLAY CODE SERVICE CLASS
  930. * MNEMONIC OR *ALL* OR *NUL*.
  931. * DEFAULT IS DETERMINED BY *UC* DIRECTIVE.
  932. * 1 ENTRY PER USER RECORD.
  933. * SERVICE CLASS VALIDATION FOR BATCH (BC), REMOTE
  934. * BATCH (RB) AND INTERACTIVE (TS) WILL BE SELECTED
  935. * BY DEFAULT IF NO *VM* DIRECTIVE IS ENTERED
  936. * WHEN CREATING A NEW USER NAME. IF A *VM* DIRECTIVE IS
  937. * ENTERED, THE DEFAULT SERVICE CLASS VALIDATIONS ARE SET
  938. * IN ADDITION TO THOSE SPECIFIED BY THE *VM* DIRECTIVE.
  939. *
  940. * DAC = DELETE USER NAME. DELETE THIS USER NAME
  941. * FROM VALIDATION FILE. ALL OTHER DATA IDENTIFIERS ARE
  942. * IGNORED. LEGAL ONLY IN UPDATE OR K-DISPLAY OPTIONS.
  943. * THE USER NAME RUNNING *MODVAL* CANNOT BE DELETED.
  944. * 1 ENTRY PER USER RECORD.
  945. SPACE 4,10
  946. *** DAYFILE ERROR MESSAGES.
  947. *
  948. *
  949. * * CANNOT CHANGE BOTH PASSWORDS AT ONCE.* - *PASSWOR* ONLY. -
  950. * THE OLD BATCH AND INTERACTIVE PASSWORDS WERE NOT THE
  951. * SAME.
  952. *
  953. * * DATA BASE ERROR.* - A CONTROL WORD IN THE VALIDATION FILE
  954. * IS IN ERROR. IF PROBLEM PERSISTS, CONSULT AN ANALYST.
  955. * MESSAGE ISSUED BY *SFS* OVERLAY.
  956. *
  957. * * LEVEL-0 DATA BASE ERROR.* - THE LEVEL-0 BLOCK ON THE
  958. * VALIDATION FILE WAS NOT PRESENT (GUARANTEE THAT THE
  959. * FILE CONTAINS AT LEAST ONE USER NAME) OR IT
  960. * CONTAINED AN INCORRECT CONTROL WORD (CONSULT AN
  961. * ANALYST).
  962. *
  963. * * LEVEL-2 DATA BASE ERROR.* - A STRUCTURAL ERROR WAS
  964. * DETECTED IN A LEVEL-2 BLOCK OF THE VALIDATION FILE.
  965. * CONSULT AN ANALYST.
  966. *
  967. * * SYSTEM ERROR.* - INDICATES AN INTERNAL MALFUNCTION DUE TO
  968. * EITHER SOFTWARE OR HARDWARE. CONSULT AN ANALYST
  969. * IMMEDIATELY.
  970. *
  971. * * ERROR IN CHVAL ARGUMENTS.* - INCORRECT KEYWORD WAS
  972. * SPECIFIED ON COMMAND OR TOO MANY CHARACTERS WERE
  973. * SPECIFIED ON THE *UC* PARAMETER. CORRECT AND RETRY.
  974. *
  975. * * ERROR IN GENVAL ARGUMENTS.* - INCORRECT PARAMETER WAS
  976. * SPECIFIED ON *GENVAL* COMMAND. CORRECT AND RETRY.
  977. *
  978. * * ERROR IN LIMITS ARGUMENTS.* - INCORRECT PARAMETER
  979. * WAS SPECIFIED ON THE *LIMITS* COMMAND.
  980. * CORRECT AND RERUN.
  981. *
  982. * * ERROR IN MODVAL ARGUMENTS.* - INCORRECT COMMAND
  983. * ARGUMENTS. CORRECT AND RERUN.
  984. *
  985. * * ERROR IN PASSWOR ARGUMENTS.* - INCORRECT NUMBER OF
  986. * PARAMETERS OR INCORRECT PARAMETERS WERE SPECIFIED
  987. * ON THE *PASSWOR* COMMAND. CORRECT AND RERUN.
  988. *
  989. * * ERROR IN UPROC ARGUMENTS.* - INCORRECT COMMAND
  990. * ARGUMENTS. CORRECT AND RERUN.
  991. *
  992. * * FILE NAME CONFLICT - LFN.* - SPECIFIED FILE NAME USED
  993. * FOR MORE THAN ONE PURPOSE.
  994. *
  995. * * FM NOT LEGAL FAMILY.* - INCORRECT FAMILY NAME SPECIFIED
  996. * WITH *FM* PARAMETER.
  997. *
  998. * * GENVAL ABORTED.* - CONTROL POINT ERROR FLAG IS SET.
  999. * CONSULT DAYFILE FOR REASON.
  1000. *
  1001. * * MODVAL ABORTED.* - CONTROL POINT ERROR FLAG IS SET.
  1002. * CONSULT DAYFILE LISTING FOR REASON.
  1003. *
  1004. * * DIRECTIVE ERRORS.* - ERRORS WERE ENCOUNTERED ON THE INPUT
  1005. * FILE FOR EITHER CREATE OR UPDATE MODES. CONSULT THE
  1006. * OUTPUT FILE FOR SPECIFIC ERRORS.
  1007. *
  1008. * * INCORRECT COMMAND.* - USER IS NOT PERMITTED TO CHANGE
  1009. * PASSWORD AND MUST ACQUIRE SUCH VALIDATION. CAN ALSO
  1010. * INDICATE THAT NO USER COMMAND HAS BEEN ISSUED
  1011. * PRIOR TO *CHVAL*, *LIMITS*, *PASSWOR* OR
  1012. * *UPROC* COMMANDS.
  1013. *
  1014. * * USER ACCESS NOT VALID.* - WHEN SYSTEM IS IN SECURE
  1015. * MODE, CALLER MUST HAVE SECURITY ADMINISTRATOR
  1016. * PRIVILEGE TO ATTACH SYSTEM VALIDATION FILE FOR
  1017. * *MODVAL* UPDATE, REFORMAT, SOURCE, OR LIST OPTION.
  1018. * *GENVAL* MUST BE CALLED FROM A SYSTEM ORIGIN JOB.
  1019. *
  1020. * * *INPUT* NOT ASSIGNED TO TERMINAL.* - *PASSWOR* ONLY. -
  1021. * THE FILE *INPUT* MUST BE ASSIGNED TO A TERMINAL
  1022. * IF PASSWORD RANDOMIZATION IS REQUIRED.
  1023. *
  1024. * * INCORRECT SERVICE CLASS.* - THE SERVICE CLASS SELECTED
  1025. * FOR THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS
  1026. * NOT VALID FOR THE USER.
  1027. *
  1028. * * UNDEFINED ORIGIN TYPE. - THE ORIGIN TYPE SELECTED FOR
  1029. * THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS NOT
  1030. * A RECOGNIZED ORIGIN TYPE.
  1031. *
  1032. * * UNDEFINED SERVICE CLASS.* - THE SERVICE CLASS SELECTED
  1033. * FOR THE *UC* PARAMETER ON THE *CHVAL* COMMAND IS
  1034. * NOT A RECOGNIZED SERVICE CLASS.
  1035. *
  1036. * * INCORRECT PASSWORD.* - PASSWOR ONLY. - CAN INDICATE ANY
  1037. * OF THE FOLLOWING CONDITIONS:
  1038. * 1. OLD PASSWORD NOT FOUND.
  1039. * 2. THE NEW PASSWORD CONTAINED AN INCORRECT CHARACTER
  1040. * (SECURE ENTRY ONLY).
  1041. * 3. THE NEW PASSWORD WAS GREATER THAN SEVEN CHARACTERS
  1042. * (SECURE ENTRY ONLY).
  1043. *
  1044. * * PASSWORD RANDOMIZATION NOT PERMITTED FROM BATCH.* -
  1045. * *PASSWOR* ONLY.- THE *PASSWOR* COMMAND MAY ONLY BE
  1046. * ENTERED FROM AN INTERACTIVE JOB IF PASSWORD RANDOM-
  1047. * IZATION IS REQUIRED.
  1048. *
  1049. * * PASSWORD TOO LONG.* - *PASSWOR* ONLY. - THE NEW PASSWORD
  1050. * WAS MORE THAN 7 CHARACTERS WITH THE RANDOMIZATION
  1051. * CHARACTERS APPENDED.
  1052. *
  1053. * * PASSWORD TOO SHORT.* - ONE OF THE FOLLOWING CONDITIONS
  1054. * OCCURRED -
  1055. * - THE NEW PASSWORD ENTERED WAS NOT AT LEAST *RPWL*
  1056. * CHARACTERS IN LENGTH.
  1057. * - THE USER HAS PASSWORD RANDOMIZATION REQUIRED AND
  1058. * DID NOT SPECIFY AT LEAST 2 CHARACTERS FOR THE NEW
  1059. * PASSWORD.
  1060. *
  1061. * * SECURE PASSWORD ENTRY REQUIRED.* - NO PARAMETERS MAY BE
  1062. * ENTERED ON THE *PASSWOR* COMMAND IF PASSWORD
  1063. * RANDOMIZATION IS REQUIRED.
  1064. *
  1065. * * VALIDATION FILE BUSY - TRY AGAIN LATER.* - THE
  1066. * VALIDATION FILE COULD NOT BE ATTACHED BY *UPROC*,
  1067. * *CHVAL* OR *PASSWOR*.
  1068. *
  1069. * * VERIFICATION ERROR. PASSWORD NOT CHANGED.* -
  1070. * *PASSWOR* ONLY. - PASSWORD WAS ENTERED INCORRECTLY
  1071. * WHEN VERIFICATION OF THE NEW PASSWORD WAS REQUESTED.
  1072. *
  1073. * * PASSWORD EXPIRATION CHANGE INCORRECT.* - EXPIRATION DATE
  1074. * OR EXPIRATION TERM VALUE IS INCORRECT ON *PASSWOR*
  1075. * COMMAND OR USER IS NOT ALLOWED TO CHANGE PASSWORD
  1076. * EXPIRATION DATE.
  1077. *
  1078. * * SECURITY ADMINISTRATOR EXPIRATION CHANGE INCORRECT.* - A
  1079. * USER WITH SECURITY ADMINISTRATOR PRIVILEGES IS NOT
  1080. * ALLOWED TO CHANGE THE EXPIRATION DATE.
  1081. *
  1082. * * VALINDS READ ERROR.* - A READ OPERATION ON *VALINDS* DID
  1083. * NOT COMPLETE. FILE MAY NOT BE LOCAL AS REQUIRED
  1084. * FOR THE CURRENT OPTION.
  1085. SPACE 4,10
  1086. *** ACCOUNT FILE MESSAGES.
  1087. *
  1088. *
  1089. * *MUPW.* - INDICATES A USER CHANGE OF THE USER-S
  1090. * PASSWORD.
  1091. *
  1092. * *MUPX.* - INDICATES A USER CHANGE OF THE USER-S
  1093. * PASSWORD EXPIRATION DATE.
  1094. *
  1095. * *MVCU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
  1096. * *MVDU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
  1097. * *MVUU, IFAMILY, IUSERNM, MFAMILY, MUSERNM.*
  1098. * ISSUED WHEN A USER NAME IN A FAST-ATTACHED VALIDATION
  1099. * FILE IS CREATED (*MVCU*), DELETED (*MVDU*), OR UPDATED
  1100. * (*MVUU*).
  1101. *
  1102. * IFAMILY FAMILY NAME OF USER ISSUING COMMAND.
  1103. * IUSERNM USER NAME OF USER ISSUING COMMAND.
  1104. * MFAMILY FAMILY NAME OF VALIDATION FILE BEING
  1105. * MODIFIED.
  1106. * MUSERNM USER NAME BEING MODIFIED.
  1107. SPACE 4,10
  1108. *** ERROR MESSAGES TO OUTPUT FILE OR K-DISPLAY.
  1109. *
  1110. * CORRECTIVE ACTION IS GOVERNED BY THE SEVERITY OF THE
  1111. * ERRORS. THE JOB MAY BE RERUN OR THE NEW VALIDATION
  1112. * FILE CORRECTED AT THE USERS DISCRETION.
  1113. *
  1114. * **** CANNOT ALTER XD/XT OF *CSAP*.
  1115. * THE BATCH AND INTERACTIVE PASSWORD EXPIRATION DATES
  1116. * FOR A SECURITY ADMINISTRATOR ARE FORCED TO BE
  1117. * NON-EXPIRING AND CANNOT BE OVERRIDDEN BY AN INPUT
  1118. * DIRECTIVE.
  1119. * THAT USER ENTRY IS DISREGARDED. (FROM
  1120. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1121. *
  1122. * **** CANNOT ALTER SEC. COUNT OF *CSAP*.
  1123. * THE SECURITY COUNT FOR A SECURITY ADMINISTRATOR
  1124. * IS FORCED TO BE UNLIMITED AND CANNOT BE OVERRIDDEN
  1125. * BY AN INPUT DIRECTIVE.
  1126. * THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY, ONLY
  1127. * THAT LINE OF INPUT IS DISREGARDED.)
  1128. *
  1129. * **** CANNOT DELETE *CSAP* PRIVILEGE.
  1130. * THE USER NAME RUNNING *MODVAL* UPDATE CANNOT DELETE
  1131. * ITS OWN SECURITY ADMINISTRATOR PRIVILEGE.
  1132. * THAT USER ENTRY IS DISREGARDED. (FROM
  1133. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1134. *
  1135. * **** CANNOT DELETE USER RUNNING MODVAL.
  1136. * THE USER NAME RUNNING *MODVAL* UPDATE CANNOT
  1137. * DELETE ITS OWN USER NAME FROM THE VALIDATION FILE.
  1138. * THAT USER ENTRY IS DISREGARDED. (FROM
  1139. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1140. *
  1141. * **** ERROR IN USER NAME.
  1142. * INCORRECT DATA WAS ENCOUNTERED WHERE USER NAME
  1143. * WAS EXPECTED.
  1144. * THAT USER ENTRY IS DISREGARDED AND *MODVAL*
  1145. * SKIPS TO THE NEXT USER ENTRY.
  1146. *
  1147. * **** DUPLICATE USER NAME.
  1148. * THAT USER NAME HAS BEEN ENTERED PREVIOUSLY.
  1149. * OCCURS ONLY FROM CREATE RUN.
  1150. * THE FIRST ENTRY IS USED.
  1151. *
  1152. * **** ERROR IN IDENTIFIER.
  1153. * INCORRECT PARAMETER IDENTIFIER ENCOUNTERED.
  1154. * THAT USER ENTRY IS DISREGARDED. (FROM
  1155. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1156. *
  1157. * **** ERROR IN NUMERIC DATA.
  1158. * CAN INDICATE ANY OF THE FOLLOWING CONDITIONS -
  1159. * 1. NUMERIC DATA NOT NUMERIC.
  1160. * 2. DATA EXCEEDS MAXIMUM.
  1161. * 3. NO DATA PRESENT.
  1162. * THAT USER ENTRY IS DISREGARDED. (FROM
  1163. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1164. *
  1165. * **** ERROR IN ALPHANUMERIC DATA.
  1166. * CAN INDICATE -
  1167. * 1. NO DATA PRESENT.
  1168. * 2. DATA FOR *AW* IDENTIFIER UNRECOGNIZED.
  1169. * 3. NUMBER OF CHARACTERS EXCEEDS MAXIMUM ALLOWED.
  1170. * THAT USER ENTRY IS DISREGARDED. (FROM
  1171. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1172. *
  1173. * **** INCORRECT ORIGIN TYPE.
  1174. * AN INCORRECT ORIGIN TYPE WAS SPECIFIED ON THE
  1175. * *UC* DIRECTIVE.
  1176. * THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
  1177. * ONLY THE *UC* DIRECTIVE IS IGNORED.)
  1178. *
  1179. * **** INCORRECT SERVICE CLASS.
  1180. * AN INCORRECT SERVICE CLASS WAS SPECIFIED ON THE
  1181. * *UC* OR *VM* DIRECTIVE.
  1182. * THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
  1183. * ONLY THE DIRECTIVE IS IGNORED.)
  1184. *
  1185. * **** USER NAME NOT FOUND.
  1186. * AN ATTEMPT WAS MADE TO DELETE (OR INQUIRE OR UPDATE
  1187. * FROM K-DISPLAY) A NON-EXISTENT USER NAME.
  1188. * THAT USER ENTRY IS DISREGARDED. (FROM K-DISPLAY,
  1189. * ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1190. *
  1191. * **** USER INDEX PREVIOUSLY DEFINED.
  1192. * NO MORE THAN ONE USER NAME CAN BE ASSIGNED TO ANY
  1193. * USER INDEX WITH THE *UI* KEYWORD.
  1194. * THAT USER ENTRY IS DISREGARDED.
  1195. * (FROM K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1196. *
  1197. * **** NO USER INDICES AVAILABLE.
  1198. * NO MORE USER INDICES ARE AVAILABLE FOR AUTOMATIC
  1199. * ASSIGNMENT. THE *FUI* DIRECTIVE MUST BE USED TO
  1200. * SPECIFY USER INDICES.
  1201. * THAT USER ENTRY IS DISREGARDED. (FROM
  1202. * K-DISPLAY, ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1203. *
  1204. * **** OBSOLETE DIRECTIVE IGNORED.
  1205. * WARNING MESSAGE INDICATING INPUT DIRECTIVE
  1206. * IS NO LONGER MEANINGFUL AND WAS IGNORED.
  1207. * ISSUED FOR *AB* ANSWERBACK INPUT DIRECTIVE,
  1208. * *NF* NUMBER OF LOCAL FILES INPUT DIRECTIVE, AND
  1209. * *OF* NUMBER OF DISPOSED OUTPUT FILES INPUT DIRECTIVE.
  1210. *
  1211. * **** INCORRECT PASSWORD.
  1212. * THE PASSWORD ENCOUNTERED WAS NOT AT LEAST *RPWL*
  1213. * CHARACTERS IN LENGTH.
  1214. * THAT USER ENTRY IS DISREGARDED. (FROM
  1215. * K-DISPLAY ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1216. *
  1217. * **** PASSWORD REQUIRED.
  1218. * A PASSWORD WAS NOT ENCOUNTERED FOR THE USER
  1219. * NAME BEING CREATED.
  1220. * THAT USER ENTRY IS DISREGARDED. (FROM
  1221. * K-DISPLAY ONLY THAT LINE OF INPUT IS DISREGARDED.)
  1222. *
  1223. * **** INCORRECT PASSWORD IGNORED.
  1224. * THE PASSWORD ENCOUNTERED WAS NOT AT LEAST *RPWL*
  1225. * CHARACTERS IN LENGTH.
  1226. * THIS WILL ONLY OCCUR ON AN UPDATE RUN AND THE UPDATE OF THE
  1227. * EXISTING USER NAME IS MADE WITHOUT THE PASSWORD CHANGE.
  1228. *
  1229. * **** UPDATE NOT ALLOWED BY INQUIRE.
  1230. * ENTRY OF UPDATE DIRECTIVES IS REJECTED DURING
  1231. * K-DISPLAY INQUIRE OF A USER NAME.
  1232. * THAT INPUT DIRECTIVE FROM THE K-DISPLAY IS IGNORED.
  1233. *
  1234. * **** PASSWORDS UPDATED.
  1235. * INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
  1236. * OPERATOR HAS ENTERED THE *PW* DIRECTIVE,
  1237. * INDICATING THAT THE BATCH AND THE INTERACTIVE
  1238. * PASSWORDS HAVE BEEN UPDATED.
  1239. *
  1240. * **** BATCH PASSWORD UPDATED.
  1241. * INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
  1242. * OPERATOR HAS ENTERED THE *PB* DIRECTIVE,
  1243. * INDICATING THAT THE BATCH PASSWORD HAS BEEN UPDATED.
  1244. *
  1245. * **** INTERACTIVE PASSWORD UPDATED.
  1246. * INFORMATIVE MESSAGE ISSUED TO K-DISPLAY AFTER AN
  1247. * OPERATOR HAS ENTERED THE *PI* DIRECTIVE,
  1248. * INDICATING THAT THE INTERACTIVE PASSWORD HAS BEEN
  1249. * UPDATED.
  1250. SPACE 4,10
  1251. *** INFORMATIVE MESSAGES.
  1252. *
  1253. *
  1254. * * CREATION COMPLETE.* - SELF EXPLANATORY.
  1255. *
  1256. * * UPDATE COMPLETE.* - SELF EXPLANATORY.
  1257. *
  1258. * * UPROC COMPLETE.* - SELF EXPLANATORY.
  1259. *
  1260. * * REFORMAT COMPLETE.* - SELF EXPLANATORY.
  1261. *
  1262. * * CONVERSION TO SOURCE COMPLETE.* - SELF EXPLANATORY.
  1263. *
  1264. * * INQUIRY COMPLETE.* - SELF EXPLANATORY.
  1265. *
  1266. * * CATALOG COMPLETE.* - SELF EXPLANATORY.
  1267. *
  1268. * * CHECK OUTPUT FOR WARNING MESSAGES.* - NO DIRECTIVE
  1269. * ERRORS WERE ENCOUNTERED, BUT SOME INPUT
  1270. * DIRECTIVES RECEIVED WARNING MESSAGES.
  1271. *
  1272. * * LEVEL-1 INDEX BLOCKS LINKED.* -
  1273. * IF USER FILE CAN BE REFORMATTED TO ELIMINATE BLOCK
  1274. * LINKAGE, SEARCHES WILL BE FASTER -
  1275. * 1. FOR USER NAMES RESIDING IN LINKED BLOCKS.
  1276. * 2. FOR NON-EXISTENT USER NAMES WHICH WOULD HAVE
  1277. * RESIDED IN LINKED BLOCKS.
  1278. *
  1279. * * NNNNNN USER INDICES PURGED.* - ALL PERMANENT FILES
  1280. * FOR NNNNNN USER INDICES WERE PURGED UNDER THE
  1281. * REFORMAT OPTION. SYSTEM ORIGIN ONLY.
  1282. *
  1283. * * CREATING USER * -
  1284. * * UPDATING USER * -
  1285. * NAMED OPERATION IS IN PROGRESS FOR *USER*.
  1286. *
  1287. * * WAITING FOR VALIDATION FILE.* - THE JOB IS IN TIMED/EVENT
  1288. * ROLLOUT AFTER *UPROC*, *PASSWOR* OR *CHVAL* FOUND
  1289. * THE VALIDATION FILE BUSY.
  1290. SPACE 4,10
  1291. *** K-DISPLAY OPERATOR MESSAGES.
  1292. *
  1293. * IN ADDITION TO OUTPUT FILE AND INFORMATIVE MESSAGES
  1294. * THAT NORMALLY OCCUR DURING AN UPDATE RUN, THE
  1295. * FOLLOWING MESSAGES CAN APPEAR UNDER THE K-DISPLAY -
  1296. *
  1297. * **** FORMAT ERROR.
  1298. * ENTRY IS UNRECOGNIZABLE.
  1299. * THAT LINE OF INPUT IS DISREGARDED.
  1300. *
  1301. * **** USER NAME ALREADY EXISTS.
  1302. * AN ATTEMPT WAS MADE TO CREATE AN EXISTING USER NAME.
  1303. * THAT LINE OF INPUT IS DISREGARDED.
  1304. *
  1305. * *INQUIRING USER *
  1306. * * DELETING USER *
  1307. * THE NAMED OPERATION IS IN PROGRESS FOR *USER*.
  1308. *
  1309. * *USER CREATED.*
  1310. * *USER UPDATED.*
  1311. * *USER INQUIRED.*
  1312. * *USER DELETED.*
  1313. * THE NAMED OPERATION HAS BEEN COMPLETED FOR *USER*.
  1314. SPACE 4,10
  1315. ** NOTES.
  1316. *
  1317. *
  1318. * WHILE *MODVAL* HAS THE VALIDATION FILE ATTACHED, *0AV* WILL
  1319. * BE UNABLE TO DECREMENT A USER-S SECURITY COUNT.
  1320. SPACE 4,10
  1321. ** PROGRAMMING CONSIDERATIONS.
  1322. *
  1323. *
  1324. * TO DEFINE NEW OR ALTER EXISTING FIELDS AND/OR DIRECTIVES
  1325. * IN *MODVAL*, THE FOLLOWING ITEMS SHOULD BE REVIEWED -
  1326. *
  1327. * 1. DATA FIELD DEFINITION AND DOCUMENTATION IN *COMSACC*.
  1328. * 2. DIRECTIVE DOCUMENTATION IN *MODVAL*.
  1329. * 3. *TINE* TABLE ENTRY FOR INPUT PROCESSING OF DIRECTIVES.
  1330. * 4. ALTERNATE TABLE OF DATA VALUES IF APPLICABLE
  1331. * (SUCH AS *TPAI*, *TPXI*, ETC.).
  1332. * 5. *TODV* TABLE OF DEFAULT VALUES FOR USER RECORD BLOCK.
  1333. * 6. *TFR* TABLE ENTRY FOR SOURCE, K-DISPLAY, AND
  1334. * *LIMITS* PROCESSING OF DATA FIELD.
  1335. * 7. *TMBS* TABLE ENTRY FOR CONVERSION TO SOURCE.
  1336. * 8. ENTRY IN K-DISPLAY BUFFER AREA.
  1337. * 9. *LIMITS* OUTPUT MESSAGES.
  1338. * 10. INPUT DIRECTIVE PROCESSING ROUTINE (SUCH AS
  1339. * *AAD*, *ACW*, *AND*, ETC.) WITH ASSOCIATED ENTRY
  1340. * IN *TOPS* TABLE.
  1341. * 11. SOURCE CONVERSION ROUTINE (SUCH AS *AOC*, *CON*,
  1342. * *CPS*, ETC.).
  1343. * 12. ANY NEW OUTPUT ERROR MESSAGES (DEFINED AFTER
  1344. * SUBROUTINE *IDE*) AND DOCUMENTATION.
  1345. *
  1346. * IF A NEW PERMISSION BIT OR DIRECTIVE IS BEING DEFINED
  1347. * (SIMILAR TO *AW*, *AP*, ETC.), THE FOLLOWING ITEMS
  1348. * SHOULD ALSO BE CHECKED -
  1349. *
  1350. * 1. TABLE OF BIT DEFINITIONS (SUCH AS *TAWI*, *TRTP*,
  1351. * *TNAV* IN *COMTNAP*, ETC.).
  1352. * 2. TABLE OF *LIMITS* MESSAGE ADDRESSES CORRESPONDING TO
  1353. * BIT DEFINITIONS (SUCH AS *ALP*, *APP*, ETC.).
  1354. * 3. ENTRY IN *TPCW* TABLE FOR *ACW* ROUTINE.
  1355. * 4. ENTRY IN *TPCS* TABLE FOR *CPS* ROUTINE.
  1356. * 5. ENTRY IN *TAPL* TABLE FOR *PLM* ROUTINE.
  1357. TITLE PROGRAM EQUIVALENCES.
  1358. COMMON SPACE 4,10
  1359. ** COMMON DECKS.
  1360.  
  1361.  
  1362. *CALL COMCMAC
  1363. *CALL COMCCMD
  1364. *CALL COMCDCM
  1365. *CALL COMCDCP
  1366. *CALL COMCMTM
  1367. *CALL COMSLFD
  1368. *CALL COMSMLS
  1369. *CALL COMSSFM
  1370. *CALL COMSPFM
  1371. *CALL COMSPRD
  1372. *CALL COMSSFS
  1373. *CALL COMSSSD
  1374. *CALL COMSSSJ
  1375. *CALL COMSTCM
  1376. LIST X
  1377. *CALL COMSACC
  1378. LIST -X
  1379. TITLE MACRO DEFINITIONS
  1380. APLW SPACE 4,10
  1381. ** APLW - ALLOWED PERMISSIONS LIMITS PARAMETER WORD.
  1382. *
  1383. * APLW TBP,TLM,LHR,UBO
  1384. *
  1385. * ENTRY TBP = TABLE OF BIT POSITIONS.
  1386. * TLM = TABLE OF LIMITS MESSAGES.
  1387. * LHR = LIMITS HEADER MESSAGE.
  1388. * UBO = USER BLOCK OFFSET FOR PERMISSION DATA WORD.
  1389.  
  1390.  
  1391. PURGMAC APLW
  1392.  
  1393. APLW MACRO TBP,TLM,LHR,UBO
  1394. VFD 18/TBP-1,18/TLM-1,12/LHR,6/UBO,6/TLM_L
  1395. APLW ENDM
  1396. DTCS SPACE 4,10
  1397. ** DTCS - DEFINE TABLE FOR PERMISSION CONVERSION TO SOURCE.
  1398. *
  1399. * DTCS SA,UBO,TPI,LBP,FBP
  1400. *
  1401. * ENTRY SA = SOURCE ENTRY ADDRESS.
  1402. * UBO = USER BLOCK OFFSET OF VALIDATION WORD.
  1403. * TPI = TABLE OF VALIDATION PERMISSION IDENTIFIERS.
  1404. * LBP = LAST BIT POSITION + 1.
  1405. * FBP = FIRST BIT POSITION.
  1406.  
  1407.  
  1408. PURGMAC DTCS
  1409.  
  1410. DTCS MACRO SA,UBO,TPI,LBP,FBP
  1411. VFD 18/SA,6/UBO,6/0,18/TPI,6/LBP,6/FBP
  1412. DTCS ENDM
  1413. DTPC SPACE 4,15
  1414. ** DTPC - DEFINE TABLE OF PERMISSION CONTROL WORDS.
  1415. *
  1416. * DTPC ID,TPB,NB,SHF,(OPT)
  1417. *
  1418. * ENTRY ID = DIRECTIVE IDENTIFIER.
  1419. * TPB = FWA TABLE OF PERMISSION IDENTIFIERS.
  1420. * NB = NUMBER OF PERMISSION BITS.
  1421. * SHF = SHIFT FOR MASK.
  1422. * OPT = OPTION LIST.
  1423. * ALL = *ID=ALL* DIRECTIVE ALLOWED.
  1424. * NUL = *ID=NUL* DIRECTIVE ALLOWED.
  1425. * SPF = SPACE FILL PERMISSION IDENTIFIER.
  1426.  
  1427.  
  1428. PURGMAC DTPC
  1429.  
  1430. DTPC MACRO ID,TPB,NB,SHF,(OPT)
  1431. LOCAL OP,OPB
  1432. OPB SET 0
  1433. .A IFC NE,$_OPT$$
  1434. .B ECHO ,OP=(OPT)
  1435. IFC EQ,$_OP$ALL$,1
  1436. OPB SET OPB+4
  1437. IFC EQ,$_OP$NUL$,1
  1438. OPB SET OPB+2
  1439. IFC EQ,$_OP$SPF$,1
  1440. OPB SET OPB+1
  1441. .B ENDD
  1442. .A ENDIF
  1443. VFD 18/0L_ID,12/OPB,6/SHF,6/NB,18/TPB
  1444. DTPC ENDM
  1445. DTPS SPACE 4,10
  1446. ** DTPS - DEFINE TABLE OF INPUT PROCESSING SUBROUTINES.
  1447. *
  1448. * DTPS PROC,(OPT)
  1449. *
  1450. * ENTRY PROC = PROCESSOR ADDRESS.
  1451. * OPT = OPTION LIST.
  1452. * ASK = ASTERISK ALLOWED IN IDENTIFIER.
  1453. * DCC = VALIDATE WITH DEFAULT CHARACTER
  1454. * COUNT (10D).
  1455.  
  1456.  
  1457. PURGMAC DTPS
  1458.  
  1459. DTPS MACRO PROC,OPT
  1460. LOCAL OP,OPB
  1461. OPB SET 0
  1462. .A IFC NE,$_OPT$$
  1463. .B ECHO ,OP=(OPT)
  1464. IFC EQ,$_OP$ASK$,1
  1465. OPB SET OPB+4000B
  1466. IFC EQ,$_OP$DCC$,1
  1467. OPB SET OPB+2000B
  1468. .B ENDD
  1469. .A ENDIF
  1470. VFD 12/OPB,30/0,18/PROC
  1471. DTPS ENDM
  1472. TFRW1 SPACE 4,20
  1473. ** TFRW1 - DEFINE WORD 1 OF A *TFR* ENTRY.
  1474. *
  1475. * TFRW1 UBO,SB,NB,UAV,APR,(OPT)
  1476. *
  1477. * ENTRY UBO - USER BLOCK OFFSET.
  1478. * SB - STARTING BIT NUMBER.
  1479. * NB - NUMBER OF BITS IN FIELD.
  1480. * UAV - UNLIMITED ACCESS VALUE.
  1481. * .EQ. ZERO IF NO UNLIMITED ACCESS.
  1482. * APR - ADDRESS OF PROCESSING ROUTINE.
  1483. * OPT - OPTION LIST.
  1484. * CTE = CONTINUATION TABLE ENTRY
  1485. * (MULTIPLE WORD DATA).
  1486. * DCV = CONVERT INDEX TO DECIMAL ACTUAL
  1487. * VALUE VIA CONVERSION PROCESSOR, FOR
  1488. * LIMITS AND EXTRA K-DISPLAY FIELDS.
  1489. * LJD = LEFT JUSTIFY DATA FOR PROCESSING
  1490. * ROUTINE.
  1491. * MWR = MULTIPLE WORD RESULT. *UAV* FIELD
  1492. * CONTAINS NUMBER OF CHARACTERS
  1493. * IN RESULT.
  1494. * OCV = CONVERT INDEX TO OCTAL ACTUAL
  1495. * VALUE VIA CONVERSION PROCESSOR FOR
  1496. * LIMITS AND EXTRA K-DISPLAY FIELDS.
  1497. * RJA = RIGHT JUSTIFY LIMITS FIELD AFTER
  1498. * CONVERSION.
  1499. * USD = PUT *SYSTEM* RATHER THAN *UNLIMITED*
  1500. * IN K-DISPLAY AND LIMITS FIELD.
  1501. * ZSD = ENTER *SYSTEM* IN K-DISPLAY AND
  1502. * LIMITS FIELDS IF ZERO VALUE.
  1503.  
  1504.  
  1505. PURGMAC TFRW1
  1506.  
  1507. TFRW1 MACRO UBO,SB,NB,UAV,APR,OPT
  1508. LOCAL CV,FL,OP
  1509. CV SET 0
  1510. FL SET 0
  1511. .A IFC NE,$_OPT$$
  1512. .B ECHO ,OP=(OPT)
  1513. IFC EQ,$_OP$CTE$,1
  1514. FL SET FL+4000B
  1515. IFC EQ,$_OP$DCV$,1
  1516. CV SET 2
  1517. IFC EQ,$_OP$OCV$,1
  1518. CV SET 1
  1519. IFC EQ,$_OP$RJA$,1
  1520. FL SET FL+2000B
  1521. IFC EQ,$_OP$USD$,1
  1522. FL SET FL+1000B
  1523. IFC EQ,$_OP$ZSD$,1
  1524. FL SET FL+400B
  1525. IFC EQ,$_OP$LJD$,1
  1526. FL SET FL+200B
  1527. IFC EQ,$_OP$MWR$,1
  1528. FL SET FL+100B
  1529. .B ENDD
  1530. .A ENDIF
  1531. VFD 6/UBO,6/SB,6/NB,6/UAV,12/FL,6/CV,18/APR
  1532. TFRW1 ENDM
  1533. TFRW2 SPACE 4,15
  1534. ** TFRW2 - DEFINE WORD 2 OF A *TFR* ENTRY.
  1535. *
  1536. * TFRW2 LMA,KDA,SOA
  1537. *
  1538. * ENTRY LMA = LIMITS MESSAGE ADDRESS IF NONZERO.
  1539. * DATA STORED AT *LMA*+5 (ACTUAL VALUE IF INDEX
  1540. * CONVERSION SPECIFIED). CONTINUATION ENTRY DATA
  1541. * STORED AT *LMA*+4 AND *LMA*+5.
  1542. * KDA = K-DISPLAY ENTRY ADDRESS IF NONZERO.
  1543. * DATA STORED AT *KDA*. CONTINUATION ENTRY DATA
  1544. * STORED AT *KDA*+1. ACTUAL VALUE CONVERTED FROM
  1545. * INDEX STORED AT *KDA*+1.
  1546. * SOA = SOURCE MESSAGE ADDRESS IF NONZERO.
  1547. * DATA STORED AT *SOA*+1. CONTINUATION ENTRY
  1548. * DATA STORED AT *SOA*+2.
  1549.  
  1550.  
  1551. PURGMAC TFRW2
  1552. TFRW2 MACRO LMA,KDA,SOA
  1553. VFD 6/0,18/LMA,18/KDA,18/SOA
  1554. TFRW2 ENDM
  1555. TFRW3 SPACE 4,10
  1556. ** TFRW3 - DEFINE WORD 3 OF A *TFR* ENTRY.
  1557. *
  1558. * TFRW3 CVP,SHF,ABA,HDR
  1559. *
  1560. * ENTRY CVP = ADDRESS OF CONVERSION PROCESSOR TO CONVERT
  1561. * INDEX TO ACTUAL VALUE.
  1562. * SHF = SHIFT TO APPLY TO ACTUAL VALUE AFTER *CVP*.
  1563. * ABA = ALTERNATE BLOCK ADDRESS IF NONZERO.
  1564. * FIELD VALUE IS USED AS INDEX INTO *ABA* TABLE TO
  1565. * GET ACTUAL VALUE.
  1566. * HDR = HEADER MESSAGE ADDRESS IF NONZERO.
  1567.  
  1568.  
  1569. PURGMAC TFRW3
  1570.  
  1571. TFRW3 MACRO CVP,SHF,ABA,HDR
  1572. VFD 6/SHF,18/CVP,18/ABA,18/HDR
  1573. TFRW3 ENDM
  1574. DEFAW SPACE 4,10
  1575. ** DEFAW - DEFINE *LIMITS* MESSAGE FOR A BIT IN
  1576. * ASSOCIATED WORD.
  1577. *
  1578. * DEFAW AN,AD
  1579. *
  1580. * ENTRY AN - ALLOWED PERMISSION/USER TYPE/APPLICATION NAME.
  1581. * AD - ADDRESS OF *LIMITS* MESSAGE.
  1582. *
  1583. * EXIT A *VFD* DEFINED IN THE CORRECT FORMAT.
  1584.  
  1585.  
  1586. PURGMAC DEFAW
  1587.  
  1588. DEFAW MACRO AN,AD
  1589. LOCAL MAN
  1590. MAN MICRO 1,7,$AN$
  1591. VFD 42/0L"MAN",18/AD
  1592. DEFAW ENDM
  1593. SCLASS SPACE 4,15
  1594. ** SCLASS - DEFINE SERVICE CLASS TABLE.
  1595. *
  1596. * SCLASS NM,MN,DF,ST,TX
  1597. *
  1598. * ENTRY *NM* = SERVICE CLASS NAME.
  1599. * *MN* = TWO CHARACTER MNEMONIC.
  1600. * *DF* = DAYFILE MESSAGE CHARACTER.
  1601. * *ST* = SHORT TEXT FOR *QFTLIST*.
  1602. * *TX* = TEXT OF SERVICE CLASS NAME FOR BANNER PAGE.
  1603. *
  1604. * NOTE - THE CALL TO *COMSSCD* MUST FOLLOW THE DEFINITION OF
  1605. * THIS MACRO.
  1606.  
  1607.  
  1608. PURGMAC SCLASS
  1609.  
  1610. SCLASS MACRO NM,MN,DF,ST,TX
  1611. .SCL RMT
  1612. .A IFLT NM,12D
  1613. NM VFD 24/0,24/0,12/MN_MK TX
  1614. .A ELSE
  1615. NM VFD 24/0,24/MN_MK,12/0 TX
  1616. .A ENDIF
  1617. .SCL RMT
  1618. .SCL1 RMT
  1619. .B IFC NE,$NM$SSSC$
  1620. NM VFD 42/0L_MN,6/1R_DF,12/* TX
  1621. .B ELSE
  1622. NM VFD 42/-0,18/* TX
  1623. .B ENDIF
  1624. .SCL1 RMT
  1625. .C IFC NE,$NM$SSSC$
  1626. .SCL2 RMT
  1627. USC_DF DATA C* _TX_ (_MN_)*
  1628. .SCL2 RMT
  1629. .C ENDIF
  1630. .SCL3 RMT
  1631. .D IFC NE,$NM$SSSC$
  1632. NM DEFAW MN,USC_DF
  1633. .D ELSE
  1634. NM DATA -1
  1635. .D ENDIF
  1636. .SCL3 RMT
  1637. SCLASS ENDM
  1638.  
  1639.  
  1640. SCL$ EQU 0 ONLY PROCESS CLASSES WITH JCB-S
  1641. *CALL COMSSCD
  1642. TITLE PROGRAM EQUIVALENCES.
  1643. ** GENERAL EQUATES.
  1644.  
  1645.  
  1646. .APBC EQU ANLC/3
  1647. .APBE EQU ANLC-.APBC ENTRIES/ PARTIAL BLOCK
  1648. APBW EQU .APBE*ANWE USER NAME PARTIAL BLOCK LENGTH
  1649. OV EQU 0 OVERLAY TYPE
  1650. SDM= EQU * SUPPRESS DAYFILE MESSAGE
  1651. SPACE 4,10
  1652. ** EQUATES FOR COMCCVI.
  1653.  
  1654. CCI$ EQU 1 COMMAND CONVERSION
  1655. CMI$ EQU 1 CM FIELD LENGTH CONVERSION
  1656. CPI$ EQU 1 CARDS PUNCHED CONVERSION
  1657. DBI$ EQU 1 DEFERRED BATCH JOB CONVERSION
  1658. DFI$ EQU 1 DAYFILE MESSAGE CONVERSION
  1659. ECI$ EQU 1 EXTENDED MEMORY FIELD LENGTH CONVERSION
  1660. LPI$ EQU 1 LINES PRINTED CONVERSION
  1661. DTI$ EQU 1 DETACHED JOB CONVERSION
  1662. MSI$ EQU 1 MASS STORAGE PRUS CONVERSION
  1663. PTI$ EQU 1 UNITS PLOTTED CONVERSION
  1664. SLI$ EQU 1 SRU LIMIT CONVERSION
  1665. TLI$ EQU 1 TIME LIMIT CONVERSION
  1666. CSI$ EQU 1 CUMULATIVE FILE SPACE CONVERSION
  1667. DSI$ EQU 1 DIRECT ACCESS FILE SIZE CONVERSION
  1668. FSI$ EQU 1 INDIRECT ACCESS FILE SIZE CONVERSION
  1669. FCI$ EQU 1 FILE COUNT CONVERSION
  1670. BLENGTHS SPACE 4,10
  1671. ** BUFFER LENGTHS.
  1672.  
  1673.  
  1674. CBUFL EQU 5 CHARACTER BUFFER LENGTH
  1675. IBUFL EQU 1001B INPUT
  1676. OBUFL EQU 301B OUTPUT
  1677. VBUFL EQU 301B MODVAL
  1678. TITLE MANAGED TABLE AND DIRECT CELL INITIALIZATION.
  1679. DIRECT SPACE 4,10
  1680. ** DIRECT CELLS.
  1681.  
  1682.  
  1683. ORIG EQU DIRC
  1684. IDIRC INITIALIZE DIRECT CELLS
  1685. POINTERS SPACE 4,10
  1686. ** MANAGED TABLE POINTERS.
  1687.  
  1688.  
  1689. ITAB ANWE,ANWE,ARBS,2 INITIALIZE TABLES
  1690.  
  1691. ORG TFBL TABLE OF FULL BLOCK LENGTHS
  1692. CON ABLI
  1693. CON ABLI
  1694. CON ABLB
  1695.  
  1696. ORG TPBL TABLE OF PARTIAL BLOCK LENGTHS
  1697. CON APBW
  1698. CON APBW
  1699. CON ABLB
  1700.  
  1701. ORG CTAB TABLE OF ENTRY WORD COUNTS
  1702. CON C.TAB0
  1703. CON C.TAB1
  1704. CON C.TAB2
  1705. CON C.TAB3
  1706.  
  1707. ORG STAB TABLE OF COMPARE WORD COUNTS FOR SEARCH
  1708. CON AINW
  1709. CON AINW
  1710. CON AINW
  1711. CON 1
  1712.  
  1713. ORG CWL0 CONTROL WORDS
  1714. VFD 12/0,12/0,12/ANWE,12/0,12/3
  1715. VFD 12/1,12/0,12/ANWE,12/0,12/3
  1716. VFD 12/2,12/0,12/ARBS,12/0,12/3
  1717.  
  1718. ORG ML TABLE MEMORY LIMIT
  1719. CON RFL= CURRENT FIELD LENGTH
  1720. ORG F.TEND
  1721. CON RFL=-C.TAB2 INITIAL TABLE LIMIT
  1722.  
  1723. ORG KD K-DISPLAY CONTROL WORD
  1724. CON KIA
  1725.  
  1726. ORG M2 MESSAGE AREA TO BE CLEARED
  1727. CON MSGB
  1728.  
  1729. ORG LP LIST PROCESSOR
  1730. CON LID
  1731. TITLE DATA AREA.
  1732. FETS SPACE 4,10
  1733. ** FILE ENVIRONMENT TABLES.
  1734.  
  1735.  
  1736. ORG OVLA
  1737. I BSS 0
  1738. INPUT FILEC IBUF,IBUFL,(FET=8)
  1739.  
  1740. O BSS 0
  1741. OUTPUT FILEC OBUF,OBUFL,(FET=8),EPR
  1742.  
  1743. N BSS 0
  1744. NEWVAL RFILEB NBUF,VBUFL,(FET=8)
  1745.  
  1746. P BSS 0
  1747. "APFN" RFILEB PBUF,VBUFL,(PFN="APFN")
  1748.  
  1749. S BSS 0
  1750. SOURCE FILEC IBUF,IBUFL,(FET=8)
  1751.  
  1752. U BSS 0
  1753. "AUFN" FILEB NBUF,VBUFL,(PFN="AUFN")
  1754. WORKING SPACE 4,10
  1755. ** WORKING STORAGE.
  1756.  
  1757.  
  1758. AN CON 0,0 USER NAME
  1759. CA BITCON (*) USER NAME SPECIAL CHARACTER
  1760. CK CON 63B SIMULATE *BITCON* FOR + , - , ( AND )
  1761. CS BITCON ( ) CHARACTERS SUPPRESSED ON INPUT
  1762. DB CON 0 DEBUG FLAG
  1763. EF CON 0 ERROR FLAG
  1764. 0 = CONTINUE NORMAL PROCESSING
  1765. ELSE PREVENT FILE ENTRIES
  1766. EL CON 0 SET INDICATES LIST ERRORS ONLY
  1767. EMSF CON 0 DIRECTIVE ERROR FLAG
  1768. GENF CON 0 *GENVAL* FLAG
  1769. PSWF CON 0 *PASSWOR* FLAG
  1770. WMSF CON 0 WARNING MESSAGE FLAG
  1771. LMFG CON 0 *LIMITS* FLAG -
  1772. = -1 = *LIMITS* ENTRY POINT.
  1773. = 0 = NO LIMITS OPTION SELECTED.
  1774. LO CON 0 CATALOG LIST ORDER - 0 = BY USER NAME
  1775. 42 = BY USER INDEX
  1776. OPTION CON 0 OPTIONS FROM COMMAND
  1777. OPWR CON 0 OVERRIDE PASSWORD RANDOMIZATION FLAG
  1778. OF DATA 0 TERMINAL ASSIGNED TO THE OUTPUT FILE
  1779. RAND CON 0 RANDOM ADDRESS OF NEXT EMPTY DATA RECORD
  1780. RAPF CON 0 SYSTEM FILE ATTACHED
  1781. TSTATUS BSSZ 2 TSTATUS REQUEST
  1782. UF CON 0 UPDATE FILE INDICATOR
  1783. UUFG CON 0 USER NAME UPDATE FLAG
  1784. FA CON 0 FORCE ATTACH OF VALIDUS AND VALINDS FLAG
  1785. FN CON -1 ALTERNATE FAMILY NAME
  1786. CVA CON 0 CONVERSION *A* OPTION
  1787. CVC CON 0 CONVERSION *C* OPTION
  1788. CVD CON 0 CONVERSION *D* OPTION
  1789. CVF CON 0 CONVERSION *F* OPTION
  1790. CVG CON 0 CONVERSION *G* OPTION
  1791. CVH CON 0 CONVERSION *H* OPTION
  1792. CVJ CON 0 CONVERSION *J* OPTION
  1793. CVK CON 0 CONVERSION *K* OPTION
  1794. RP CON 0 ALLOW PASSWORDS LESS THEN MINIMUM LENGTH
  1795. SI CON 0 SOURCE INPUT FLAG
  1796. UPFG CON 0 *UPROC* FLAG
  1797. UPFN CON 0 USER PROLOGUE FILE NAME
  1798. CHFG CON 0 *CHVAL* FLAG
  1799. LPPG CON 0 LINES PER PAGE
  1800. TANB SPACE 4,10
  1801. ** TANB - SCRATCH BLOCK FOR USER RECORD ASSEMBLY.
  1802.  
  1803.  
  1804. TANB BSS ARBS
  1805. SPACE 4,10
  1806. ** DAYFILE MESSAGES.
  1807.  
  1808.  
  1809. DMAB DATA C* MODVAL ABORTED.*
  1810. DMCA DATA C* ERROR IN CHVAL ARGUMENTS.*
  1811. DMCC DATA C* CREATION COMPLETE.*
  1812. DMCM DATA C* INCORRECT COMMAND.*
  1813. DMCO DATA C* CHECK OUTPUT FOR WARNING MESSAGES.*
  1814. DMCP DATA C* CANNOT CHANGE BOTH PASSWORDS AT ONCE.*
  1815. DMDE DATA C* DIRECTIVE ERRORS.*
  1816. DMFC DATA C* FILE NAME CONFLICT - XXXXXXX.*
  1817. DMFM DATA C* FM NOT LEGAL FAMILY.*
  1818. DMGA DATA C* ERROR IN GENVAL ARGUMENTS.*
  1819. DMGV DATA C* GENVAL ABORTED.*
  1820. DMIA DATA C* USER ACCESS NOT VALID.*
  1821. DMIC DATA C* INQUIRY COMPLETE.*
  1822. DMIN DATA C/ *INPUT* NOT ASSIGNED TO TERMINAL./
  1823. DMIP DATA C* INCORRECT PASSWORD.*
  1824. DMLA DATA C* ERROR IN LIMITS ARGUMENTS.*
  1825. DMLC DATA C* CATALOG COMPLETE.*
  1826. DML0 DATA C* LEVEL-0 DATA BASE ERROR.*
  1827. DML1 DATA C* LEVEL-1 INDEX BLOCKS LINKED.*
  1828. DML2 DATA C* LEVEL-2 DATA BASE ERROR.*
  1829. DMMA DATA C* ERROR IN MODVAL ARGUMENTS.*
  1830. DMOT DATA C* UNDEFINED ORIGIN TYPE.*
  1831. DMPA DATA C* ERROR IN PASSWOR ARGUMENTS.*
  1832. DMPB DATA C* PASSWORD RANDOMIZATION NOT PERMITTED FROM BATCH.*
  1833. DMTL DATA C* PASSWORD TOO LONG.*
  1834. DMPE DATA C* PASSWORD EXPIRATION CHANGE INCORRECT.*
  1835. DMPS DATA C* PASSWORD TOO SHORT.*
  1836. DMRC DATA C* REFORMAT COMPLETE.*
  1837. DMSA DATA C* SECURITY ADMINISTRATOR XD/XT CHANGE NOT VALID.*
  1838. DMSC DATA C* CONVERSION TO SOURCE COMPLETE.*
  1839. DMSE DATA C* SYSTEM ERROR.*
  1840. DMSP DATA C* SECURE PASSWORD ENTRY REQUIRED.*
  1841. DMUA DATA C* ERROR IN UPROC ARGUMENTS.*
  1842. DMUC DATA C* UPDATE COMPLETE.*
  1843. DMUP DATA C* UPROC COMPLETE.*
  1844. DMUS DATA C* UNDEFINED SERVICE CLASS.*
  1845. DMVB DATA C* VALIDATION FILE BUSY - TRY AGAIN LATER.*
  1846. DMVE DATA C* VERIFICATION ERROR. PASSWORD NOT CHANGED.*
  1847. DMVC DATA C* INCORRECT SERVICE CLASS.*
  1848. DMVR DATA C* "AUFN" READ ERROR.*
  1849. DMWV DATA C* WAITING FOR VALIDATION FILE.*
  1850. DMXP DATA C* ZZZZZZ USER INDICES PURGED.*
  1851. SPACE 4,10
  1852. ** ACCOUNT FILE MESSAGES.
  1853.  
  1854.  
  1855. AMPW DATA C*MUPW.*
  1856. AMPX DATA C*MUPX.*
  1857. TAWI SPACE 4,10
  1858. ** TAWI - TABLE OF ACCESS WORD IDENTIFIERS.
  1859. *
  1860. * EACH ENTRY CORRESPONDS TO A BIT IN THE ACCESS CONTROL WORD
  1861. * WHICH CAN BE TOGGLED BY INPUT DIRECTIVE.
  1862. *
  1863. * FORMAT - 42/ IDENTIFIER, 18/ BIT POSITION
  1864.  
  1865.  
  1866. TAWI BSS 0
  1867. LOC 0
  1868. CON 0LCPWC+* USER PASSWORD CHANGE
  1869. CON 0LCTPC+* TERMINAL PRIVILEGED COMMANDS
  1870. CON 0LCLPF+* WRITE LARGE PERMANENT FILES
  1871. CON 0LCSPF+* WRITE SMALL PERMANENT FILES
  1872. CON 0LCSOJ+* SPECIAL PRIVILEGES UNDER *DEBUG* MODE
  1873. CON 0LCASF+* ACCESS SYSTEM FILES
  1874. CON 0LCAND+* ASSIGN NON-ALLOCATABLE EQUIPMENT
  1875. CON 0LCCNR+* USE SYSTEM WITHOUT CHARGE NUMBER
  1876. CON 0LCSRP+* MOUNT REMOVABLE DEVICES
  1877. CON 0LCSTP+* USE SPECIAL TRANSACTION PRIVILEGES
  1878. CON 0LCTIM+* FOR TERMINAL TIME OUT
  1879. CON 0LCUCP+* USER CONTROL POINT (UCP) PRIVILEGES
  1880. CON 0LCSAP+* SPECIAL ACCOUNTING PRIVILEGES
  1881. CON 0LCBIO+* *BATCHIO* SUBSYSTEM PRIVILEGES
  1882. CON 0LCPRT+* EXTENDED MEMORY *PROTECT* PRIVILEGES
  1883. CON 0LCPLK+* TRANSFER PERMANENT FILES BETWEEN HOSTS
  1884. CON 0LCQLK+* TRANSFER QUEUED FILES BETWEEN HOSTS
  1885. CON 0LCUST+* SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
  1886. CON 0LCNVE+* NVE SUBSYSTEM PRIVILEGES
  1887. CON 0LCMNT+* ALLOW MAINTENANCE PRIVILEGES
  1888. CON 0LCNOP+* NPU OPERATOR PRIVILEGE
  1889. CON 0LCSAF+* ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
  1890. CON 0LCNRD+* USE NON-DEFAULT CHARGE/PROJECT NUMBER
  1891. CON 0LCOPR+* ENTER NON-RANDOMIZED PASSWORD
  1892. CON 0LCLTD+* SPECIFY PF RESIDENCE AS *LOCKED TO DISK*
  1893. CON 0LCOPI+* OMIT PERSONAL IDENTIFICATION ENTRY
  1894. CON 0LCACA+* ALLOW CONCURRENT ACCESS
  1895. CON 0LCPAM+* ALLOW PRIVILEGED ANALYST OPERATIONS
  1896. CON 0LCSAU+* ALLOW SEC. *USER* COMMAND ALTERNATE USER
  1897. CON 0LCRAU+* ALLOW ROUTE WITH *USER* COMMAND ALT. USER
  1898. CON 0LCRAF+* ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
  1899.  
  1900. * DEFINE INSTALLATION PERMISSIONS.
  1901.  
  1902. LOC 48D
  1903. CON -1 RESERVED FOR INSTALLATION (BIT 48)
  1904. CON -1 RESERVED FOR INSTALLATION (BIT 49)
  1905. CON -1 RESERVED FOR INSTALLATION (BIT 50)
  1906. CON -1 RESERVED FOR INSTALLATION (BIT 51)
  1907. CON -1 RESERVED FOR INSTALLATION (BIT 52)
  1908. CON -1 RESERVED FOR INSTALLATION (BIT 53)
  1909. CON -1 RESERVED FOR INSTALLATION (BIT 54)
  1910. CON -1 RESERVED FOR INSTALLATION (BIT 55)
  1911. CON -1 RESERVED FOR INSTALLATION (BIT 56)
  1912. CON -1 RESERVED FOR INSTALLATION (BIT 57)
  1913. CON -1 RESERVED FOR INSTALLATION (BIT 58)
  1914. CON -1 RESERVED FOR INSTALLATION (BIT 59)
  1915. LOC *O
  1916. CON 0 END OF TABLE
  1917.  
  1918. TRTP SPACE 4,10
  1919. ** TRTP - TABLE OF REMOTE TERMINAL ACCESS PERMISSIONS.
  1920. *
  1921. * EACH ENTRY CORRESPONDS TO A BIT IN THE
  1922. * SHELL CONTROL WORD *ASHN* WHICH CAN BE TOGGLED
  1923. * BY AN INPUT DIRECTIVE.
  1924. *
  1925. * FORMAT - 42/IDENTIFIER,18/BIT POSITION
  1926.  
  1927.  
  1928. TRTP BSS 0
  1929. LOC 0
  1930. CON 0LCCLM+* MONITOR COMMANDS INSIDE CCL LOOP
  1931. CON 0LBCSM+* MONITOR COMMANDS OUTSIDE CCL LOOP
  1932. CON 0LTCSM+* MONITOR COMMANDS FROM TERMINAL
  1933. CON 0LSLID+* SYSTEM LIBRARY SHELL PROGRAM
  1934. CON 0LGLID+* GLOBAL LIBRARY SHELL PROGRAM
  1935. CON 0LLFID+* LOCAL LIBRARY SHELL PROGRAM
  1936. CON 0LABTM+* CLEAR SHELL PROGRAM IF ABORT
  1937. TRTPL BSS 0
  1938. LOC *O
  1939. CON 0 END OF TABLE
  1940. TSCV SPACE 4,10
  1941. ** TSCV - TABLE OF SERVICE CLASS VALIDATION BITS.
  1942. *
  1943. * EACH ENTRY DEFINES THE VALIDATION MASK BIT FOR THE
  1944. * CORRESPONDING SERVICE CLASS.
  1945. *
  1946. * FORMAT - 24/ 0, 36/ MASK BIT
  1947.  
  1948.  
  1949. TSCV BSS 0
  1950. LOC 0
  1951. VFD 60/-1 NOT USED
  1952. LIST G
  1953. .SCL HERE
  1954. LIST *
  1955. LOC *O
  1956. CON 0 END OF TABLE
  1957. TSVM SPACE 4,10
  1958. ** TSVM - TABLE OF SERVICE CLASS VALIDATION MASK IDENTIFIERS.
  1959. *
  1960. * EACH ENTRY CORRESPONDS TO A BIT IN THE SERVICE CLASS
  1961. * VALIDATION MASK IN *ASCV* WHICH CAN BE TOGGLED BY AN
  1962. * INPUT DIRECTIVE.
  1963. *
  1964. *T 42/IDENTIFIER, 6/SUFFIX, 12/BIT POSITION
  1965.  
  1966.  
  1967. TSVM BSS 0
  1968. LOC 0
  1969. VFD 42/-0,18/* NOT USED
  1970. LIST G
  1971. .SCL1 HERE
  1972. LIST *
  1973. LOC *O
  1974. TSVML EQU *-TSVM TABLE LENGTH
  1975. CON 0 END OF TABLE
  1976. TOSC SPACE 4,10
  1977. ** TOSC - TABLE OF ORIGIN TYPES WITH DEFINED USER DEFAULT
  1978. * SERVICE CLASSES.
  1979. *
  1980. *T 12/OT,12/DSC,18/0,18/LMA
  1981. * OT ORIGIN TYPE.
  1982. * DSC DEFAULT SERVICE CLASS FOR ORIGIN TYPE.
  1983. * LMA LIMITS MESSAGE ADDRESS.
  1984.  
  1985.  
  1986. TOSC BSS 0
  1987. LOC 0
  1988. CON -1 NOT ALLOWED
  1989. BCOT DEFAW BCBC,UDBC BATCH
  1990. RBOT DEFAW RBRB,USRB REMOTE BATCH
  1991. IAOT DEFAW IATS,USTX INTERACTIVE
  1992. CON -1 RESERVED FOR CDC
  1993. CON -1 RESERVED FOR INSTALLATIONS
  1994. LOC *O
  1995. TOSCL EQU *-TOSC NUMBER OF USER DEFAULT SERVICE CLASSES
  1996. CON 0 END OF TABLE
  1997. TSOT SPACE 4,10
  1998. ** TSOT - TABLE OF OTHER ORIGIN TYPE MNEMONICS SUPPORTED.
  1999. *
  2000. * SEE *TOSC* DESCRIPTION.
  2001.  
  2002.  
  2003. TSOT BSS 0
  2004. LOC 0
  2005. CON -1
  2006. CON -1
  2007. EIOT DEFAW EIRB,USRB REMOTE BATCH
  2008. TXOT DEFAW TXTS,USTX INTERACTIVE
  2009. LOC *O
  2010. CON 0
  2011. TAPV SPACE 4,10
  2012. ** TAPV - TABLE OF SECURITY PRIVILEGE VALIDATION BITS.
  2013. *
  2014. * EACH ENTRY CORRESPONDS TO A BIT IN THE MULTI-LEVEL SECURITY
  2015. * VALIDATION WORD WHICH CAN BE TOGGLED BY AN INPUT DIRECTIVE.
  2016. *
  2017. * FORMAT - 42/IDENTIFIER,18/BIT POSITION.
  2018.  
  2019.  
  2020. TAPV BSS 0
  2021. LOC 52
  2022. TAPVS BSS 0
  2023. CON 0LCULT+* WRITE UNLABELED MAGNETIC TAPES
  2024. CON 0LCWLF+* WRITE TO A LOWER LEVEL FILE
  2025. CON 0LCLFL+* LOWER FILE ACCESS LEVEL
  2026. CON 0LCLJL+* LOWER JOB ACCESS LEVEL
  2027. CON 0LCFPX+* ASSIGN PERMANENT FILE EXPIRATION DATE
  2028. CON 0LCPWX+* ASSIGN USER PASSWORD EXPIRATION DATE
  2029. CON 0LCOLD+* EXECUTE ON-LINE DIAGNOSTICS
  2030. CON 0LCSAP+* SECURITY ADMINISTRATOR PRIVILEGES
  2031. TAPVL BSS 0
  2032. LOC *O
  2033. CON 0 END OF TABLE
  2034. TALB SPACE 4,10
  2035. ** TALB - TABLE OF ACCESS LEVEL BITS.
  2036. *
  2037. *T 42/ AL, 18/ N
  2038. *
  2039. * AL ACCESS LEVEL NAME DEFINED IN *COMSMLS*.
  2040. * N POSITION OF CORRESPONDING BIT IN VALIDATION FILE WORD.
  2041.  
  2042.  
  2043. TALB BSS 0 TABLE OF ACCESS LEVEL BITS
  2044. LOC 36
  2045. VFD 42/0L"ALM0",18/36 ACCESS LEVEL 0
  2046. VFD 42/0L"ALM1",18/37 ACCESS LEVEL 1
  2047. VFD 42/0L"ALM2",18/38 ACCESS LEVEL 2
  2048. VFD 42/0L"ALM3",18/39 ACCESS LEVEL 3
  2049. VFD 42/0L"ALM4",18/40 ACCESS LEVEL 4
  2050. VFD 42/0L"ALM5",18/41 ACCESS LEVEL 5
  2051. VFD 42/0L"ALM6",18/42 ACCESS LEVEL 6
  2052. VFD 42/0L"ALM7",18/43 ACCESS LEVEL 7
  2053. TALBS BSS 0
  2054. LOC *O
  2055. TALBL EQU *-TALB SIZE OF TABLE
  2056. CON 0 END OF ACCESS LEVEL TABLE
  2057. TACC SPACE 4,10
  2058. ** TACC - TABLE OF ACCESS CATEGORY BITS.
  2059. *
  2060. *T 42/ AC, 18/ N
  2061. *
  2062. * AC ACCESS CATEGORY NAME (DEFINED IN *COMSMLS*).
  2063. * N POSITION OF CORRESPONDING BIT IN VALIDATION FILE WORD.
  2064.  
  2065.  
  2066. TACC BSS 0
  2067. LOC 0
  2068. CON 0L"ACM00"+* ACCESS CATEGORY 00
  2069. CON 0L"ACM01"+* ACCESS CATEGORY 01
  2070. CON 0L"ACM02"+* ACCESS CATEGORY 02
  2071. CON 0L"ACM03"+* ACCESS CATEGORY 03
  2072. CON 0L"ACM04"+* ACCESS CATEGORY 04
  2073. CON 0L"ACM05"+* ACCESS CATEGORY 05
  2074. CON 0L"ACM06"+* ACCESS CATEGORY 06
  2075. CON 0L"ACM07"+* ACCESS CATEGORY 07
  2076. CON 0L"ACM08"+* ACCESS CATEGORY 08
  2077. CON 0L"ACM09"+* ACCESS CATEGORY 09
  2078. CON 0L"ACM10"+* ACCESS CATEGORY 10
  2079. CON 0L"ACM11"+* ACCESS CATEGORY 11
  2080. CON 0L"ACM12"+* ACCESS CATEGORY 12
  2081. CON 0L"ACM13"+* ACCESS CATEGORY 13
  2082. CON 0L"ACM14"+* ACCESS CATEGORY 14
  2083. CON 0L"ACM15"+* ACCESS CATEGORY 15
  2084. CON 0L"ACM16"+* ACCESS CATEGORY 16
  2085. CON 0L"ACM17"+* ACCESS CATEGORY 17
  2086. CON 0L"ACM18"+* ACCESS CATEGORY 18
  2087. CON 0L"ACM19"+* ACCESS CATEGORY 19
  2088. CON 0L"ACM20"+* ACCESS CATEGORY 20
  2089. CON 0L"ACM21"+* ACCESS CATEGORY 21
  2090. CON 0L"ACM22"+* ACCESS CATEGORY 22
  2091. CON 0L"ACM23"+* ACCESS CATEGORY 23
  2092. CON 0L"ACM24"+* ACCESS CATEGORY 24
  2093. CON 0L"ACM25"+* ACCESS CATEGORY 25
  2094. CON 0L"ACM26"+* ACCESS CATEGORY 26
  2095. CON 0L"ACM27"+* ACCESS CATEGORY 27
  2096. CON 0L"ACM28"+* ACCESS CATEGORY 28
  2097. CON 0L"ACM29"+* ACCESS CATEGORY 29
  2098. CON 0L"ACM30"+* ACCESS CATEGORY 30
  2099. CON 0L"ACM31"+* ACCESS CATEGORY 31
  2100. TACCS BSS 0
  2101. LOC *O
  2102. TACCL EQU *-TACC SIZE OF TABLE
  2103. CON 0 END OF ACCESS CATEGORY TABLE
  2104. SPACE 4,10
  2105. LIST X
  2106. TNAP$ EQU 1 IGNORE APPLICATION SYNONYM TABLE
  2107. *CALL,COMTNAP
  2108. LIST *
  2109. TPAI SPACE 4,10
  2110. TITLE DATA DEFINITIONS.
  2111. ** TPAI - TABLE OF TERMINAL PARITY IDENTIFIERS.
  2112.  
  2113.  
  2114. TPAI INDEX CON,APAMX+1,( -* )
  2115. INDEX ,APAE+1,( 0LEVEN )
  2116. INDEX ,APAO+1,( 0LODD )
  2117. CON 0
  2118. TPXI SPACE 4,10
  2119. ** TPXI - TABLE OF TERMINAL TRANSMISSION MODES.
  2120.  
  2121.  
  2122. TPXI INDEX CON,APXMX+1,( -* )
  2123. INDEX ,APXH+1,( 0LHALF )
  2124. INDEX ,APXF+1,( 0LFULL )
  2125. CON 0
  2126. TTTI SPACE 4,10
  2127. ** TTTI - TABLE OF TERMINAL TYPES.
  2128.  
  2129.  
  2130. TTTI INDEX CON,ATTMX+1,( -* )
  2131. INDEX ,ATTY+1,( 0LTTY )
  2132. INDEX ,ATT7+1,( 0L713 )
  2133. INDEX ,ATTCO+1,( 0LCOR )
  2134. INDEX ,ATTCA+1,( 0LCORAPL )
  2135. INDEX ,ATTMA+1,( 0LMEMAPL )
  2136. INDEX ,ATTE+1,( 0LBLKEDT )
  2137. CON 0
  2138. TTCI SPACE 4,10
  2139. ** TTCI - TABLE OF TERMINAL CHARACTER SETS.
  2140.  
  2141. TTCI INDEX CON,ATCMX+1,( -* )
  2142. INDEX ,ATCN+1,( 0LNORMAL )
  2143. INDEX ,ATCA+1,( 0LASCII )
  2144. CON 0
  2145. TISI SPACE 4,10
  2146. ** TISI - TABLE OF TERMINAL INITIAL SUBSYSTEMS.
  2147.  
  2148. TISI INDEX CON,AISMX+1,( -* )
  2149. INDEX ,AISNUL+1,( 0LNULL )
  2150. INDEX ,AISBAS+1,( 0LBASIC )
  2151. INDEX ,AISFOR+1,( 0LFORTRAN )
  2152. INDEX ,AISFTN+1,( 0LFTNTS )
  2153. INDEX ,AISEXE+1,( 0LEXECUTE )
  2154. INDEX ,AISBAT+1,( 0LBATCH )
  2155. INDEX ,AISACC+1,( 0LACCESS )
  2156. CON 0
  2157. OPTIONS SPACE 4,10
  2158. **** IN ADDITION TO THE OPTIONS DEFINED IN *COMSSFS*, THE
  2159. * FOLLOWING OPTIONS WILL BE RECOGNIZED -
  2160.  
  2161.  
  2162. ZOPT EQU 6 PASSWORD
  2163. LOPT EQU 7 LIST
  2164.  
  2165. ****
  2166. OPTIONS SPACE 4,10
  2167. ** OPTION BIT POSITIONS.
  2168.  
  2169.  
  2170. OPTMIC DECMIC KOPT
  2171. KOPTB EQU 1S"OPTMIC"
  2172. OPTMIC DECMIC UOPT
  2173. UOPTB EQU 1S"OPTMIC"
  2174. OPTMIC DECMIC ROPT
  2175. ROPTB EQU 1S"OPTMIC"
  2176. OPTMIC DECMIC SOPT
  2177. SOPTB EQU 1S"OPTMIC"
  2178. OPTMIC DECMIC IOPT
  2179. IOPTB EQU 1S"OPTMIC"
  2180. OPTMIC DECMIC ZOPT
  2181. ZOPTB EQU 1S"OPTMIC"
  2182. DEFAULT SPACE 4,10
  2183. **** DEFAULT USER RECORD BLOCK VALUES.
  2184.  
  2185.  
  2186. DALP EQU 0 NUMBER OF LINES PRINTED
  2187. DACP EQU 0 NUMBER OF CARDS PUNCHED
  2188. DAPT EQU 0 NUMBER OF UNITS PLOTTED
  2189. DACC EQU 34B NUMBER OF COMMANDS
  2190. DADF EQU 34B NUMBER OF MSG CALLS
  2191. DASP EQU 0 SYSTEM PROLOGUE FILE INDEX
  2192. DAPAL EQU 0 APPLICATION ACCESS LEVEL
  2193. DASL EQU 0 SRU LIMIT
  2194. DADS EQU 0 DIRECT FILE SIZE
  2195. DAMT EQU 0 NUMBER OF MAGNETIC TAPES
  2196. DARP EQU 0 NUMBER OF REMOVABLE PACKS
  2197. DAMS EQU 1 NUMBER OF MASS STORAGE PRUS
  2198. DADT EQU 0 NUMBER OF DETACHED JOBS
  2199. DADB EQU 0 NUMBER OF DEFERRED BATCH JOBS
  2200. DACM EQU 15B FIELD LENGTH / 100B
  2201. DAEC EQU 0 EXTENDED MEMORY FIELD LENGTH / 100B
  2202. DATL EQU 0 TIME LIMIT
  2203. DAFC EQU 0 FILE COUNT
  2204. DACS EQU 0 CUMULATIVE FILE SIZE
  2205. DAFS EQU 0 INDIRECT FILE SIZE
  2206. DASC EQU 50B SECURITY COUNT
  2207. DAPA EQU 0 PARITY
  2208. DARO EQU AROSY RUBOUTS
  2209. DAPX EQU 0 PLEX
  2210. DATT EQU 0 TERMINAL TYPE
  2211. DATC EQU 0 TERMINAL CHARACTER SET
  2212. DAIS EQU 0 TERMINAL INITIAL SUBSYSTEM
  2213. DALD EQU 1 ACCESS LEVEL VALIDATION (LEVEL 0)
  2214. DACV EQU 0 ACCESS CATEGORY VALIDATION
  2215.  
  2216. DCPWC EQU 1 PASS WORD CONTROL
  2217. DCTPC EQU 0 TERMINAL PRIVILEGED COMMAND SET
  2218. DCLPF EQU 1 WRITE TO LARGE PERMANENT FILES
  2219. DCSPF EQU 1 WRITE TO SHORT PERMANENT FILES
  2220. DCASF EQU 0 ACCESS SYSTEM FILES
  2221. DCSOJ EQU 0 SYSTEM ORIGIN PRIVILEGES IN DEBUG MODE
  2222. DCAND EQU 0 ASSIGN NON-ALLOCATABLE EQUIPMENT
  2223. DCCNR EQU 1 USE SYSTEM WITHOUT USER PROFILE VALIDATION
  2224. DCSRP EQU 0 MOUNT REMOVABLE DEVICES
  2225. DCSTP EQU 0 ALLOW SPECIAL TRANSACTION PRIVILEGES
  2226. DCTIM EQU 0 TIME OUT
  2227. DCUCP EQU 0 USER CONTROL POINT (UCP) PRIVILEGES
  2228. DCSAP EQU 0 ALLOW SPECIAL ACCOUNTING PRIVILEGES
  2229. DCBIO EQU 0 ALLOW *BATCHIO* SUBSYSTEM PRIVILEGES
  2230. DCPRT EQU 0 ALLOW EXTENDED MEMORY *PROTECT* PRIVILEGES
  2231. DCNVE EQU 0 ALLOW NVE SUBSYSTEM PRIVILEGES
  2232. DINAP EQU 0 INSTALLATION APPLICATION PERMISSIONS
  2233. DAPRP EQU 0 APPLICATION RESERVED PERMISSIONS
  2234. DCPLK EQU 0 TRANSFER PERMANENT FILES BETWEEN HOSTS
  2235. DCQLK EQU 0 TRANSFER QUEUED FILES BETWEEN HOSTS
  2236. DCUST EQU 0 SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
  2237. DCMNT EQU 0 ALLOW MAINTENANCE PRIVILEGES
  2238. DCNOP EQU 0 ALLOW NPU OPERATOR PRIVILEGE
  2239. DCSAF EQU 1 ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
  2240. DCNRD EQU 1 USE NON-DEFAULT CHARGE/PROJECT
  2241. DCOPR EQU 1 ENTER NON-RANDOMIZED PASSWORD
  2242. DCLTD EQU 0 MAY SPECIFY PF RESIDENCE *LOCKED TO DISK*
  2243. DCOPI EQU 1 USER CAN OMIT PERSONAL IDENTIFICATION
  2244. DCACA EQU 1 ALLOW CONCURRENT ACCESS
  2245. DCPAM EQU 0 DISALLOW PRIVILEGED ANALYST OPERATIONS
  2246. DCSAU EQU 1 ALLOW SEC. *USER* COMMAND ALTERNATE USER
  2247. DCRAU EQU 1 ALLOW ROUTE WITH *USER* COMMAND ALT. USER
  2248. DCRAF EQU 1 ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
  2249. RESERVED FOR INSTALLATION (BIT 48)
  2250. RESERVED FOR INSTALLATION (BIT 49)
  2251. RESERVED FOR INSTALLATION (BIT 50)
  2252. RESERVED FOR INSTALLATION (BIT 51)
  2253. RESERVED FOR INSTALLATION (BIT 52)
  2254. RESERVED FOR INSTALLATION (BIT 53)
  2255. RESERVED FOR INSTALLATION (BIT 54)
  2256. RESERVED FOR INSTALLATION (BIT 55)
  2257. RESERVED FOR INSTALLATION (BIT 56)
  2258. RESERVED FOR INSTALLATION (BIT 57)
  2259. RESERVED FOR INSTALLATION (BIT 58)
  2260. RESERVED FOR INSTALLATION (BIT 59)
  2261.  
  2262. DABTM EQU 0 CLEAR SHELL PROGRAM IF ABORT
  2263. DLFID EQU 0 SHELL PROGRAM LOCAL FILE
  2264. DGLID EQU 0 SHELL PROGRAM GLOBAL LIBRARY
  2265. DSLID EQU 1 SHELL PROGARM SYSTEM LIBRARY
  2266. DTCSM EQU 0 MONITOR COMMANDS FROM TERMINAL
  2267. DBCSM EQU 1 MONITOR COMMANDS OUTSIDE CCL LOOP
  2268. DCCLM EQU 0 MONITOR COMMANDS INSIDE CCL LOOP
  2269. DCPSA EQU 0 SECURITY ADMINISTRATOR PRIVILEGES
  2270. DCOLD EQU 0 EXECUTE ON-LINE DIAGNOSTICS
  2271. DCPWX EQU 0 ASSIGN USER PASSWORD EXPIRATION DATE
  2272. DCFPX EQU 0 ASSIGN PF PASSWORD/PERMIT EXPIRATION DATE
  2273. DCLJL EQU 0 LOWER JOB ACCESS LEVEL
  2274. DCLFL EQU 0 LOWER FILE ACCESS LEVEL
  2275. DCWLF EQU 0 WRITE TO A LOWER LEVEL FILE
  2276. DCULT EQU 0 WRITE UNLABELED MAGNETIC TAPES
  2277. DTXSC EQU 1RT INTERACTIVE USER DEFAULT SERVICE CLASS
  2278. DRBSC EQU 1RR REMOTE BATCH USER DEFAULT SERVICE CLASS
  2279. DBCSC EQU 1RB BATCH USER DEFAULT SERVICE CLASS
  2280. DSCVM EQU BCMK+RBMK+TSMK SERVICE CLASS VALIDATION MASK
  2281. ****
  2282. TODV SPACE 4,10
  2283. ** TODV - TABLE OF DEFAULT VALUES FOR USER RECORD BLOCK.
  2284.  
  2285.  
  2286. TODV BSSZ ARBS
  2287.  
  2288. ORG TODV+APRN
  2289. VFD 42/0 USER PROLOGUE FILE NAME
  2290. VFD 6/DASP SYSTEM PROLOGUE FILE INDEX
  2291. VFD 6/DAPAL APPLICATION ACCESS LEVEL
  2292. VFD 5/0 RESERVED
  2293. VFD 1/0 ALTERNATE USER PROLOGUE INFO PRESENT
  2294.  
  2295. ORG TODV+ASHN
  2296. VFD 42/0 SHELL PROGRAM NAME
  2297. VFD 11/0 RESERVED
  2298. VFD 1/DABTM CLEAR SHELL PROGRAM IF ABORT
  2299. VFD 1/DLFID LOCAL LOAD OF SHELL PROGRAM
  2300. VFD 1/DGLID GLOBAL LIBRARY SHELL PROGRAM
  2301. VFD 1/DSLID SYSTEM LIBRARY SHELL PROGRAM
  2302. VFD 1/DTCSM MONITOR COMMANDS FROM TERMINAL
  2303. VFD 1/DBCSM MONITOR COMMANDS OUTSIDE CCL LOOP
  2304. VFD 1/DCCLM MONITOR COMMANDS INSIDE CCL LOOP
  2305.  
  2306. ORG TODV+ASVW
  2307. VFD 1/DCPSA SECURITY ADMINISTRATOR PRIVILEGES
  2308. VFD 1/DCOLD EXECUTE ON-LINE DIAGNOSTICS
  2309. VFD 1/DCPWX ASSIGN USER PASSWORD EXPIRATION DATE
  2310. VFD 1/DCFPX ASSIGN PF PASSWORD/PERMIT EXPIRATION DATE
  2311. VFD 1/DCLJL LOWER JOB ACCESS LEVEL
  2312. VFD 1/DCLFL LOWER FILE ACCESS LEVEL
  2313. VFD 1/DCWLF WRITE TO A LOWER LEVEL FILE
  2314. VFD 1/DCULT WRITE UNLABELED MAGNETIC TAPES
  2315. VFD 4/0 RESERVED
  2316. VFD 4/0 RESERVED
  2317. VFD 8/DALD ACCESS LEVEL VALIDATION
  2318. VFD 4/0 RESERVED
  2319. VFD 32/DACV ACCESS CATEGORY VALIDATION
  2320.  
  2321. ORG TODV+AHMT
  2322. VFD 6/0 RESERVED
  2323. VFD 6/DAPT UNITS PLOTTED
  2324. VFD 3/DAMT MAGNETIC TAPES
  2325. VFD 3/DARP REMOVABLE PACKS
  2326. VFD 3/DADB DEFERRED BATCH
  2327. VFD 3/0 RESERVED
  2328. VFD 6/DATL TIME LIMIT
  2329. VFD 6/DASL SRU LIMIT
  2330. VFD 6/DACM CM FIELD LENGTH
  2331. VFD 6/DAEC EXTENDED MEMORY FIELD LENGTH
  2332. VFD 6/DALP LINES PRINTED
  2333. VFD 6/DACP CARDS PUNCHED
  2334.  
  2335. ORG TODV+AHDS
  2336. VFD 3/DADS DIRECT ACCESS FILE SIZE
  2337. VFD 3/DAFC FILE COUNT
  2338. VFD 3/DACS CUMULATIVE FILE SIZE
  2339. VFD 3/DAFS INDIRECT ACCESS FILE SIZE
  2340. VFD 6/DASC SECURITY COUNT
  2341. VFD 18/0 RESERVED
  2342. VFD 6/DADT DETACHED JOBS
  2343. VFD 6/DADF MSG CALLS
  2344. VFD 6/DACC COMMAND STATMENTS
  2345. VFD 6/DAMS MASS STORAGE PRUS
  2346.  
  2347. ORG TODV+AAWC ACCESS CONTROL
  2348. VFD 1/0 RESERVED FOR INSTALLATION (BIT 59)
  2349. VFD 1/0 RESERVED FOR INSTALLATION (BIT 58)
  2350. VFD 1/0 RESERVED FOR INSTALLATION (BIT 57)
  2351. VFD 1/0 RESERVED FOR INSTALLATION (BIT 56)
  2352. VFD 1/0 RESERVED FOR INSTALLATION (BIT 55)
  2353. VFD 1/0 RESERVED FOR INSTALLATION (BIT 54)
  2354. VFD 1/0 RESERVED FOR INSTALLATION (BIT 53)
  2355. VFD 1/0 RESERVED FOR INSTALLATION (BIT 52)
  2356. VFD 1/0 RESERVED FOR INSTALLATION (BIT 51)
  2357. VFD 1/0 RESERVED FOR INSTALLATION (BIT 50)
  2358. VFD 1/0 RESERVED FOR INSTALLATION (BIT 49)
  2359. VFD 1/0 RESERVED FOR INSTALLATION (BIT 48)
  2360. VFD 17/0 RESERVED FOR CDC
  2361. VFD 1/DCRAF ALLOW ROUTE WITH *USER* COMMAND ALT. FAM.
  2362. VFD 1/DCRAU ALLOW ROUTE WITH *USER* COMMAND ALT. USER
  2363. VFD 1/DCSAU ALLOW SEC. *USER* COMMAND ALTERNATE USER
  2364. VFD 1/DCPAM ALLOW PRIVILEGED ANALYST OPERATIONS
  2365. VFD 1/DCACA ALLOW CONCURRENT ACCESS
  2366. VFD 1/DCOPI USER CAN OMIT PERSONAL IDENTIFICATION
  2367. VFD 1/DCLTD MAY SPECIFY PF RESIDENCE *LOCKED TO DISK*
  2368. VFD 1/DCOPR ENTER NON-RANDOMIZED PASSWORD
  2369. VFD 1/DCNRD CHARGE NOT RESTRICTED TO DEFAULT
  2370. VFD 1/DCSAF ALLOW SEC. *USER* COMMAND ALTERNATE FAMILY
  2371. VFD 1/DCNOP ALLOW NPU OPERATOR PRIVILEGE
  2372. VFD 1/DCMNT ALLOW MAINTENANCE PRIVILEGES
  2373. VFD 1/DCNVE NVE SUBSYSTEM ACCESS
  2374.  
  2375. VFD 1/DCUST SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS
  2376. VFD 1/DCQLK TRANSFER QUEUED FILES BETWEEN HOSTS
  2377. VFD 1/DCPLK TRANSFER PERMANENT FILES BETWEEN HOSTS
  2378. VFD 1/DCPRT ECS *PROTECT* PRIVILEGES
  2379. VFD 1/DCBIO *BATCHIO* SUBSYSTEM PRIVILEGES
  2380. VFD 1/DCSAP SPECIAL ACCOUNTING PRIVILEGES
  2381. VFD 1/DCUCP USER CONTROL POINT PRIVILEGES
  2382. VFD 1/DCTIM TERMINAL TIME OUT
  2383. VFD 1/DCSTP SPECIAL TRANSACTION PRIVILEGES
  2384. VFD 1/DCSRP REMOVABLE PACK COMMANDS
  2385. VFD 1/DCCNR PROFILE VALIDATION UNNEEDED
  2386. VFD 1/DCAND ASSIGN NON-ALLOCATABLE EQUIPMENT
  2387. VFD 1/DCASF ACCESS SYSTEM FILES
  2388. VFD 1/DCSOJ SPECIAL PRIVILEGES UNDER DEBUG MODE
  2389. VFD 1/DCSPF SMALL PERMANENT FILES
  2390. VFD 1/DCLPF LARGE PERMANENT FILES
  2391. VFD 1/DCTPC PRIVILEGED COMMANDS
  2392. VFD 1/DCPWC PASSWORD CHANGE
  2393.  
  2394. ORG TODV+ASCV
  2395. VFD 24/0 NOT USED
  2396. VFD 36/DSCVM SERVICE CLASS VALIDATION MASK
  2397.  
  2398. ORG TODV+ATPA
  2399. VFD 1/DAPA PARITY
  2400. VFD 5/DARO RUBOUTS
  2401. VFD 1/DAPX PLEX
  2402. VFD 5/DATT TERMINAL TYPE
  2403. VFD 1/DATC TERMINAL CHARACTER SET
  2404. VFD 5/DAIS INITIAL SUBSYSTEM
  2405. VFD 42/0 CREATION DATE/MODIFICATION DATE
  2406.  
  2407. ORG TODV+ASC1
  2408. VFD 6/0 RESERVED FOR CDC
  2409. VFD 6/DBCSC BATCH USER DEFAULT SERVICE CLASS
  2410. VFD 6/DRBSC REMOTE BATCH USER DEFAULT SERVICE CLASS
  2411. VFD 6/DTXSC INTERACTIVE USER DEFAULT SERVICE CLASS
  2412. VFD 6/0 RESERVED FOR CDC
  2413. VFD 6/0 RESERVED FOR INSTALLATIONS
  2414. VFD 24/0 NOT USED
  2415.  
  2416. ORG TODV+AAVW APPLICATION VALIDATIONS
  2417. VFD 12/0 INITIAL APPLICATION CONTROL
  2418. VFD 12/DINAP INSTALLATION APPLICATION PERMISSIONS
  2419. VFD 12/0 RESERVED FOR CDC
  2420. VFD 24/DAPRP APPLICATION PERMISSIONS
  2421.  
  2422. ORG TODV+APID
  2423. VFD 60/0 PERSONAL IDENTIFICATION PART 1
  2424. VFD 60/0 PERSONAL IDENTIFICATION PART 2
  2425.  
  2426. NOREF .DARBS
  2427. .DARBS MAX AHMT,AHDS,ATPA,AAWC,ASHN,APRN,ASCV,ASC1,AAVW
  2428. ERRNG ARBS-.DARBS
  2429. ORG TODV+ARBS
  2430. TINE SPACE 4,10
  2431. ** TINE - TABLE OF INPUT ENTRIES. ONE WORD ENTRIES -
  2432. *
  2433. *T 18/ I ,18/ M ,6/ U ,6/ S ,6/ F ,6/ P
  2434. *
  2435. * I IDENTIFICATION TAG.
  2436. * M MAXIMUM VALUE.
  2437. * U UPPER BIT OF FIELD.
  2438. * S FIELD SIZE.
  2439. * F FIRST WORD ADDRESS OF FIELD.
  2440. * P PROCESSOR INDEX.
  2441. *
  2442. * ALL ENTRIES IN THIS TABLE PRECEDING THE *RL* ENTRY WILL BE
  2443. * SET TO THE MAXIMUM VALUE BY THE *RL* DIRECTIVE. ALL OTHER
  2444. * ENTRIES SHOULD FOLLOW THE *RL* ENTRY.
  2445.  
  2446.  
  2447. TINE BSS 0
  2448. INENT PT,=77B,53,6,AHPT,PND UNITS PLOTTED
  2449. INENT MT,=7,47,3,AHMT,PND MAGNETIC TAPES
  2450. INENT RP,=7,44,3,AHRP,PND REMOVABLE PACKS
  2451. INENT DB,=7,41,3,AHDB,PND DEFERRED BATCH
  2452. INENT DT,=77B,23,6,AHDT,PND DETACHED JOBS
  2453. INENT TL,=77B,35,6,AHTL,PND TIME LIMIT
  2454. INENT SL,=77B,29,6,AHSL,PND SRU LIMIT
  2455. INENT CM,=77B,23,6,AHCM,PND CM FIELD LENGTH
  2456. INENT EC,=77B,17,6,AHEC,PND ECS FIELD LENGTH
  2457. INENT LP,=77B,11,6,AHLP,PND LINES PRINTED
  2458. INENT CP,=77B,5,6,AHCP,PND CARDS PUNCHED
  2459. INENT DS,=7,59,3,AHDS,PND DIRECT ACCESS FILE SIZE
  2460. INENT FC,=7,56,3,AHFC,PND PERMANENT FILE COUNT
  2461. INENT CS,=7,53,3,AHCS,PND CUMULATIVE FILE SIZE
  2462. INENT FS,=7,50,3,AHFS,PND INDIRECT FILE SIZE
  2463. INENT DF,=77B,17,6,AHDF,PND MSG CALLS
  2464. INENT CC,=77B,11,6,AHCC,PND COMMANDS
  2465. INENT MS,=77B,5,6,AHMS,PND MASS STORAGE PRUS
  2466. INENT RL,=3,0,0,0,PMX MAXIMUM RESOURCE LIMITS
  2467.  
  2468. INENT PW,=7,59,42,APSW,PPW PASSWORD
  2469. INENT XT,APXV,17,18,APSW,PTE EXPIRATION TERM
  2470. INENT XD,=6,17,18,APSW,PED EXPIRATION DATE
  2471. INENT PB,=7,59,42,APSW,PPW BATCH PASSWORD
  2472. INENT PI,=7,59,42,APWI,PPW INTERACTIVE PASSWORD
  2473. INENT EB,=14,59,42,APSW,PEP ENCRYPTED BATCH PW
  2474. INENT EI,=14,59,42,APWI,PEP ENCRYPTED INTERACTIVE PW
  2475. INENT XB,=6,17,18,APSW,PED BATCH PASSWORD EXPIRATION
  2476. INENT XI,=6,17,18,APWI,PED INTERACTIVE PW EXPIRATION
  2477. INENT XTB,APXV,17,18,APSW,PTE BATCH EXPIRATION TERM
  2478. INENT XTI,APXV,17,18,APWI,PTE INTERACTIVE EXPIRATION
  2479. INENT PID,=20,59,60,APID,PIW PERSONAL IDENTIFICATION
  2480. INENT SAL,=7,47,12,ASVW,PPC SECURITY ACCESS LEVELS
  2481. INENT SAV,=4,59,12,ASVW,PAV SECURITY ACCESS PRIVILEGES
  2482. INENT SAC,=7,35,36,ASVW,PPC SECURITY ACCESS CATEGORIES
  2483. INENT AB,0,59,60,0,POB ANSWERBACK CODE
  2484. INENT SP,=77B,17,6,APRN,PND SYSTEM PROLOGUE INDEX
  2485. INENT UP,=7,59,42,APRN,PAD USER PROLOGUE FILE NAME
  2486. INENT AL,=17B,11,6,APRN,PND APPLICATION ACCESS LEVEL
  2487. INENT NF,0,38,3,0,POB LOCAL FILES
  2488. INENT OF,0,20,3,0,POB DISPOSED OUTPUT
  2489. INENT SC,=77B,47,6,AHSC,PND SECURITY COUNT
  2490. INENT PA,TPAI,59,1,ATPA,PEA PARITY
  2491. INENT RO,=37B,58,5,ATRO,PND RUBOUTS
  2492. INENT PX,TPXI,53,1,ATPX,PEA PLEX
  2493. INENT TT,TTTI,52,5,ATTT,PEA TERMINAL TYPE
  2494. INENT TC,TTCI,47,1,ATTC,PEA CHARACTER SET
  2495. INENT IS,TISI,46,5,ATIS,PEA INITIAL SUBSYSTEM
  2496. CUE$ IFEQ CUE$,2
  2497. INENT SH,=7,59,42,ASHN,POB SHELL PROGRAM NAME
  2498. INENT SO,=4,6,7,ASHN,POB SHELL PROGRAM OPTIONS
  2499. CUE$ ELSE
  2500. INENT SH,=7,59,42,ASHN,PAD SHELL PROGRAM NAME
  2501. INENT SO,=4,6,7,ASHN,PPC SHELL PROGRAM OPTIONS
  2502. CUE$ ENDIF
  2503. INENT UC,=4,42,6,ASC1,PDS USER DEFAULT SERVICE CLASS
  2504. INENT VM,=3,35,36,ASCV,PPC VALIDATION MASK
  2505. INENT AW,=4,59,60,AAWC,PPC ACCESS WORD
  2506. INENT AP,=7,ALAB,NNAB,AAVW,PPC APPLICATION PERMISSIONS
  2507. INENT PN,=20,59,60,APJN,PPN PROJECT NUMBER
  2508. INENT CN,=10,59,60,ACGN,PCN CHARGE NUMBER
  2509. FUIW INENT FUI,=377777B,17,18,AUIN,PUI FORCE USER INDEX
  2510. INENT DAC,=7,,,,PDA DELETE USER
  2511. CON 0
  2512.  
  2513. UIIW INENT UI,=377777B,17,18,AUIN,PUI USER INDEX
  2514. APXV CON APXL MAXIMUM TERM VALUE
  2515. TKDE SPACE 4,10
  2516. ** TKDE - TABLE OF K-DISPLAY ENTRIES.
  2517.  
  2518.  
  2519. TKDE VFD 42/0LDROP,18/-2
  2520. VFD 42/0LEND,18/-4
  2521. VFD 42/0LSTOP,18/-5
  2522. VFD 42/1L+,18/-1R+
  2523. VFD 42/1L-,18/-1R-
  2524. VFD 42/1L(,18/-1R(
  2525. VFD 42/1L),18/-1R)
  2526. CON 0
  2527.  
  2528. LITL DATA 10H1LIMITS FO
  2529. USRN DATA 02LR
  2530. FAM DATA 03LFM/
  2531. DATA 10H
  2532. TODT DATA 10H
  2533. TOTM DATA 10H
  2534. DATA 0
  2535. SPACE 4,10
  2536. ** *LIMITS* OUTPUT MESSAGES.
  2537.  
  2538.  
  2539. LMMX DATA C* MAXIMUM NUMBER OF -*
  2540. LMMT DATA 50H MAGNETIC TAPE UNITS THAT MAY BE ASSIGNED........
  2541. DATA 0,0
  2542. LMRP DATA 50H REMOVABLE AUXILIARY DEVICES THAT MAY BE ASSIGNED
  2543. DATA 0,0
  2544. LMTL DATA 50H CPU SECONDS ALLOWED FOR EACH JOB STEP...........
  2545. DATA 0,0
  2546. LMCM DATA 50H CENTRAL MEMORY WORDS ALLOWED/100B...............
  2547. DATA 0,0
  2548. LMEC DATA 50H EXTENDED MEMORY WORDS ALLOWED/1000B.............
  2549. DATA 0,0
  2550. LMDT DATA 50H JOBS THAT CAN BE DETACHED.......................
  2551. DATA 0,0
  2552. LMDB DATA 50H DEFERRED BATCH FILES............................
  2553. DATA 0,0
  2554. LMFC DATA 50H PERMANENT FILES ALLOWED IN YOUR CATALOG.........
  2555. DATA 0,0
  2556. LMCS DATA 50H PRUS AVAILABLE FOR ALL INDIRECT FILES...........
  2557. DATA 0,0
  2558. LMFS DATA 50H PRUS AVAILABLE FOR ANY ONE INDIRECT FILE........
  2559. DATA 0,0
  2560. LMDS DATA 50H PRUS AVAILABLE FOR ANY ONE DIRECT FILE..........
  2561. DATA 0,0
  2562. LMMS DATA 50H PRUS AVAILABLE PER JOB..........................
  2563. DATA 0,0
  2564. LMDF DATA 50H MESSAGES THAT MAY BE ISSUED TO THE DAYFILES.....
  2565. DATA 0,0
  2566. LMCC DATA 50H BATCH COMMANDS THAT MAY BE PROCESSED............
  2567. DATA 0,0
  2568. LMCP DATA 50H CARDS THAT MAY BE PUNCHED PER FILE..............
  2569. DATA 0,0
  2570. LMPT DATA 50H LINES THAT MAY BE PLOTTED PER FILE..............
  2571. DATA 0,0
  2572. LMLP DATA 50H LINES THAT MAY BE PRINTED PER FILE..............
  2573. DATA 0,0
  2574. LMSL DATA 50H SRUS ALLOWED PER JOB............................
  2575. DATA 0,0
  2576. LMAL DATA 50H APPLICATION ACCESS LEVEL........................
  2577. DATA 0,0
  2578. LMCHA DATA C* OTHER CHARACTERISTICS -*
  2579. LMUI DATA 50H USER INDEX......................................
  2580. DATA 0,0
  2581. LMXB DATA 50H BATCH PASSWORD EXPIRATION DATE..................
  2582. DATA 0,0
  2583. LMXI DATA 50H INTERACTIVE PASSWORD EXPIRATION DATE............
  2584. DATA 0,0
  2585. LMCN DATA 50H DEFAULT CHARGE NUMBER ASSIGNED..................
  2586. DATA 0,0
  2587. LMPN DATA 50H DEFAULT PROJECT NUMBER ASSIGNED.................
  2588. DATA 0,0
  2589. LMSP DATA 50H SYSTEM PROLOGUE.................................
  2590. DATA 0,0
  2591. LMUP DATA 50H USER PROLOGUE...................................
  2592. DATA 0,0
  2593. LMSN DATA 50H SHELL PROGRAM THAT IS EXECUTED..................
  2594. DATA 0,0
  2595. LMIS DATA 50H INTERACTIVE SUBSYSTEM...........................
  2596. DATA 0,0
  2597. LMTC DATA 50H INTERACTIVE CHARACTER SET MODE..................
  2598. DATA 0,0
  2599. LMPA DATA 50H TERMINAL PARITY.................................
  2600. DATA 0,0
  2601. LMRO DATA 50H RUBOUT CHARACTERS REQUIRED FOR CARRIAGE RETURN..
  2602. DATA 0,0
  2603. LMPX DATA 50H TRANSMISSION MODE...............................
  2604. DATA 0,0
  2605. LMTT DATA 50H TERMINAL TYPE...................................
  2606. DATA 0,0
  2607.  
  2608. ALLW DATA C* THE FOLLOWING ARE VALID USER PERMISSIONS -*
  2609. ALPS DATA C* CHANGE YOUR PASSWORD*
  2610. ALPT DATA C* USE PRIVILEGED INTERACTIVE COMMANDS*
  2611. ALDA DATA C* CREATE DIRECT ACCESS FILES*
  2612. ALIA DATA C* CREATE INDIRECT ACCESS FILES*
  2613. ALSY DATA C* HAVE SYSTEM ORIGIN PRIVILEGES*
  2614. ALLF DATA C* ACCESS/CREATE LIBRARY FILES*
  2615. ALMT DATA C* ASSIGN MAGNETIC TAPES*
  2616. ALDC DATA C* ACCESS SYSTEM WITHOUT SUPPLYING CHARGE/PROJECT NUMB
  2617. ,ER*
  2618. ALAD DATA C* ACCESS OR CREATE FILES ON AUXILIARY DEVICES*
  2619. ALTF DATA C* ACCESS TRANSACTION FUNCTIONS FOR LIBRARY UPDATES*
  2620. ALTO DATA C* HAVE UNLIMITED TERMINAL CONNECT TIME WITHOUT TIMEOU
  2621. ,T*
  2622. ALCP DATA C* USE SYSTEM CONTROL POINT FACILITY*
  2623. ALAP DATA C* HAVE SPECIAL ACCOUNTING PRIVILEGES*
  2624. ALBP DATA C* USE BATCHIO SUBSYSTEM PRIVILEGES*
  2625. ALPR DATA C* USE THE PROTECT COMMAND*
  2626. ALPF DATA C* TRANSFER PERMANENT FILES BETWEEN HOSTS*
  2627. ALQF DATA C* TRANSFER QUEUED FILES BETWEEN HOSTS*
  2628. ALST DATA C+ SPECIFY LID-S ON JOB AND *ROUTE* COMMANDS+
  2629. ALNV DATA C* USE THE NVE SUBSYSTEM*
  2630. ALRT DATA C* ALLOW MAINTENANCE PRIVILEGES*
  2631. ALNO DATA C* ALLOW NPU OPERATOR PRIVILEGE*
  2632. ALSF DATA C* ALLOW ALTERNATE FAMILY ON SECONDARY USER COMMAND*
  2633. ALCN DATA C* CHARGE NOT RESTRICTED TO DEFAULT*
  2634. ALNP DATA C* DEFINE NON-RANDOMIZED LOGIN PASSWORD*
  2635. ALLT DATA C/ ALLOW *LOCKED TO DISK* FILE RESIDENCE./
  2636. ALPI DATA C* ACCESS SYSTEM WITHOUT SUPPLYING PERSONAL ID*
  2637. ALCI DATA C* ALLOWED MULTIPLE CONCURRENT LOGINS*
  2638. ALAM DATA C* ALLOW PRIVILEGED ANALYST OPERATIONS*
  2639. ALSU DATA C* ALLOW ALTERNATE USER NAME ON SECONDARY USER COMMAND
  2640. ,*
  2641. ALRU DATA C* ALLOW ALTERNATE USER NAME ON ROUTED INPUT FILE USER
  2642. , COMMAND*
  2643. ALRF DATA C* ALLOW ALTERNATE FAMILY ON ROUTED INPUT FILE USER CO
  2644. ,MMAND*
  2645.  
  2646. RESERVED FOR INSTALLATION (BIT 48)
  2647. RESERVED FOR INSTALLATION (BIT 49)
  2648. RESERVED FOR INSTALLATION (BIT 50)
  2649. RESERVED FOR INSTALLATION (BIT 51)
  2650. RESERVED FOR INSTALLATION (BIT 52)
  2651. RESERVED FOR INSTALLATION (BIT 53)
  2652. RESERVED FOR INSTALLATION (BIT 54)
  2653. RESERVED FOR INSTALLATION (BIT 55)
  2654. RESERVED FOR INSTALLATION (BIT 56)
  2655. RESERVED FOR INSTALLATION (BIT 57)
  2656. RESERVED FOR INSTALLATION (BIT 58)
  2657. RESERVED FOR INSTALLATION (BIT 59)
  2658.  
  2659. APPH DATA C* THE FOLLOWING ARE VALID APPLICATIONS -*
  2660. AIAF DATA C* INTERACTIVE FACILITY (IAF)*
  2661. ARBF DATA C* REMOTE BATCH FACILITY (RBF)*
  2662. ATAF DATA C* TRANSACTION FACILITY (TAF)*
  2663. AMCS DATA C* MESSAGE CONTROL SYSTEM (MCS)*
  2664. ATVF DATA C* TERMINAL VERIFICATION FACILITY (TVF)*
  2665. ACS DATA C* COMMUNICATIONS SUPERVISOR (CS)*
  2666. APLA DATA C* CYBIS TUTORIAL APPLICATION (CYBIS)*
  2667. AITF DATA C* INTERACTIVE TRANSFER FACILITY (ITF)*
  2668. ATLF DATA C* TIELINE FACILITY (TLF)*
  2669. ANJF DATA C* NETWORK JOB ENTRY FACILITY (NJF)*
  2670. ANOU DATA C* CDCNET NETWORK OPERATOR UTILITY (NETOU)*
  2671. APSU DATA C* PRINTER SUPPORT UTILITY (PSU)*
  2672. TAP1 DATA C* LOCAL APPLICATION 1 ("AP1")*
  2673. TAP2 DATA C* LOCAL APPLICATION 2 ("AP2")*
  2674. TAP3 DATA C* LOCAL APPLICATION 3 ("AP3")*
  2675. AVIF DATA C* NOS/VE INTERACTIVE FACILITY (VEIAF)*
  2676. ANPF DATA C* NETWORK PASSTHRU FACILITY (NPF)*
  2677. ATCF DATA C* TERMINAL CLUSTER FACILITY (TCF)*
  2678. TAP4 DATA C* LOCAL APPLICATION 4 ("AP4")*
  2679. TAP5 DATA C* LOCAL APPLICATION 5 ("AP5")*
  2680. TAP6 DATA C* LOCAL APPLICATION 6 ("AP6")*
  2681. AATF DATA C* AUTOMATIC TAPE FACILITY (ATF)*
  2682.  
  2683. RMFP DATA C* THE FOLLOWING ARE VALID SHELL PERMISSIONS -*
  2684. RMFB DATA C* CLEAR SHELL PROCESSING IF SCREENING PROGRAM ABORT*
  2685. RTLF DATA C* LOCAL FILE LOAD OF SHELL PROGRAM*
  2686. RTGL DATA C* GLOBAL LIBRARY LOAD OF SHELL PROGRAM*
  2687. RTSL DATA C* SYSTEM LIBRARY LOAD OF SHELL PROGRAM*
  2688. RTTC DATA C* PROCESS COMMANDS FROM TERMINAL INPUT*
  2689. RTBC DATA C* PROCESS COMMANDS OUTSIDE CCL PROCEDURE*
  2690. RTCC DATA C* PROCESS COMMANDS INSIDE CCL PROCEDURE*
  2691. AAPP DATA C* THE FOLLOWING ARE VALID SECURITY PERMISSIONS -*
  2692. APLT DATA C* WRITE UNLABELED MAGNETIC TAPES*
  2693. APLF DATA C* WRITE TO OR EXTEND A LOWER LEVEL FILE*
  2694. APFL DATA C* LOWER (DOWNGRADE) FILE ACCESS LEVEL*
  2695. APJL DATA C* LOWER (DOWNGRADE) JOB ACCESS LEVEL*
  2696. APFP DATA C* ASSIGN PERMANENT FILE EXPIRATION DATE OR TERM*
  2697. APED DATA C* ASSIGN USER PASSWORD EXPIRATION DATE OR TERM*
  2698. APLD DATA C* EXECUTE ON-LINE DIAGNOSTICS*
  2699. APAP DATA C* PERMITTED SECURITY ADMINISTRATOR PRIVILEGES*
  2700. ALVA DATA C* THE FOLLOWING ARE VALID SECURITY ACCESS LEVELS -*
  2701. ALVB DATA C* ACCESS LEVEL "ALM0"*
  2702. ALVC DATA C* ACCESS LEVEL "ALM1"*
  2703. ALVD DATA C* ACCESS LEVEL "ALM2"*
  2704. ALVE DATA C* ACCESS LEVEL "ALM3"*
  2705. ALVF DATA C* ACCESS LEVEL "ALM4"*
  2706. ALVG DATA C* ACCESS LEVEL "ALM5"*
  2707. ALVH DATA C* ACCESS LEVEL "ALM6"*
  2708. ALVI DATA C* ACCESS LEVEL "ALM7"*
  2709. VCAT DATA C* THE FOLLOWING ARE VALID SECURITY ACCESS CATEGORIES -*
  2710. AC00 DATA C* ACCESS CATEGORY "ACM00"*
  2711. AC01 DATA C* ACCESS CATEGORY "ACM01"*
  2712. AC02 DATA C* ACCESS CATEGORY "ACM02"*
  2713. AC03 DATA C* ACCESS CATEGORY "ACM03"*
  2714. AC04 DATA C* ACCESS CATEGORY "ACM04"*
  2715. AC05 DATA C* ACCESS CATEGORY "ACM05"*
  2716. AC06 DATA C* ACCESS CATEGORY "ACM06"*
  2717. AC07 DATA C* ACCESS CATEGORY "ACM07"*
  2718. AC08 DATA C* ACCESS CATEGORY "ACM08"*
  2719. AC09 DATA C* ACCESS CATEGORY "ACM09"*
  2720. AC10 DATA C* ACCESS CATEGORY "ACM10"*
  2721. AC11 DATA C* ACCESS CATEGORY "ACM11"*
  2722. AC12 DATA C* ACCESS CATEGORY "ACM12"*
  2723. AC13 DATA C* ACCESS CATEGORY "ACM13"*
  2724. AC14 DATA C* ACCESS CATEGORY "ACM14"*
  2725. AC15 DATA C* ACCESS CATEGORY "ACM15"*
  2726. AC16 DATA C* ACCESS CATEGORY "ACM16"*
  2727. AC17 DATA C* ACCESS CATEGORY "ACM17"*
  2728. AC18 DATA C* ACCESS CATEGORY "ACM18"*
  2729. AC19 DATA C* ACCESS CATEGORY "ACM19"*
  2730. AC20 DATA C* ACCESS CATEGORY "ACM20"*
  2731. AC21 DATA C* ACCESS CATEGORY "ACM21"*
  2732. AC22 DATA C* ACCESS CATEGORY "ACM22"*
  2733. AC23 DATA C* ACCESS CATEGORY "ACM23"*
  2734. AC24 DATA C* ACCESS CATEGORY "ACM24"*
  2735. AC25 DATA C* ACCESS CATEGORY "ACM25"*
  2736. AC26 DATA C* ACCESS CATEGORY "ACM26"*
  2737. AC27 DATA C* ACCESS CATEGORY "ACM27"*
  2738. AC28 DATA C* ACCESS CATEGORY "ACM28"*
  2739. AC29 DATA C* ACCESS CATEGORY "ACM29"*
  2740. AC30 DATA C* ACCESS CATEGORY "ACM30"*
  2741. AC31 DATA C* ACCESS CATEGORY "ACM31"*
  2742. USVM DATA C* THE FOLLOWING ARE ALLOWED SERVICE CLASSES -*
  2743. LIST G
  2744. .SCL2 HERE
  2745. LIST *
  2746. USUD DATA C* THE USER DEFAULT SERVICE CLASS*
  2747. UDBC DATA 50H FOR BATCH ORIGIN IS.............................
  2748. DATA 0,0
  2749. USRB DATA 50H FOR REMOTE BATCH ORIGIN IS......................
  2750. DATA 0,0
  2751. USTX DATA 50H FOR INTERACTIVE ORIGIN IS.......................
  2752. DATA 0,0
  2753. TFR SPACE 4,10
  2754. ** TFR - TABLE TO FORMAT RECORD FOR SOURCE, K-DISPLAY, AND
  2755. * LIMITS PROCESSING.
  2756.  
  2757.  
  2758. TFR BSS 0
  2759. TFEB TFRW1 APSW,18,42,14,AOC,(LJD,MWR) BATCH PASSWORD
  2760. TFRW2 0,0,TMEB
  2761. TFRW3
  2762. TFEI TFRW1 APWI,18,42,14,AOC,(LJD,MWR) INTERACTIVE PASSWORD
  2763. TFRW2 0,0,TMEI
  2764. TFRW3
  2765. TFXB TFRW1 APXB,0,18,0,DAT BATCH EXPIRATION
  2766. TFRW2 LMXB,DSXB,TMXB
  2767. TFRW3
  2768. TFXI TFRW1 APXI,0,18,0,DAT INTERACTIVE EXPIRATION
  2769. TFRW2 LMXI,DSXI,TMXI
  2770. TFRW3
  2771. TFSC TFRW1 AHSC,42,6,77B,CON SECURITY COUNT
  2772. TFRW2 0,DSSE,TMSC
  2773. TFRW3
  2774. TFMT TFRW1 AHMT,45,3,7,CDD MAGNETIC TAPES
  2775. TFRW2 LMMT,DSMT,TMMT
  2776. TFRW3 ,,,LMMX
  2777. TFRP TFRW1 AHRP,42,3,7,CDD REMOVABLE PACKS
  2778. TFRW2 LMRP,DSRP,TMRP
  2779. TFRW3
  2780. TFTL TFRW1 AHTL,30,6,77B,CON,(DCV) TIME LIMIT
  2781. TFRW2 LMTL,DSTL,TMTL
  2782. TFRW3 TLI,3
  2783. TFCM TFRW1 AHCM,18,6,77B,CON,(OCV) CENTRAL MEMORY
  2784. TFRW2 LMCM,DSCM,TMCM
  2785. TFRW3 CMI
  2786. TFEC TFRW1 AHEC,12,6,77B,CON,(OCV) EXTENDED CORE STORAGE
  2787. TFRW2 LMEC,DSEC,TMEC
  2788. TFRW3 ECI
  2789. TFDT TFRW1 AHDT,18,6,77B,CON,(DCV) DETACHED JOBS
  2790. TFRW2 LMDT,DSDT,TMDT
  2791. TFRW3 DTI
  2792. TFDB TFRW1 AHDB,39,3,7,CDD,(DCV) DEFERRED BATCH
  2793. TFRW2 LMDB,DSDB,TMDB
  2794. TFRW3 DBI
  2795. TFFC TFRW1 AHFC,54,3,7,CDD,(DCV,ZSD) NUMBER OF LOCAL FILES
  2796. TFRW2 LMFC,DSFC,TMFC
  2797. TFRW3 FCI
  2798. TFFS TFRW1 AHFS,48,3,7,CDD,(DCV,ZSD) INDIRECT FILE SECTORS
  2799. TFRW2 LMFS,DSFS,TMFS
  2800. TFRW3 FSI
  2801. TFDS TFRW1 AHDS,57,3,7,CDD,(DCV,ZSD) DIRECT FILE SECTORS
  2802. TFRW2 LMDS,DSDS,TMDS
  2803. TFRW3 DSI
  2804. TFCS TFRW1 AHCS,51,3,7,CDD,(DCV,ZSD) CUMULATIVE SECTORS
  2805. TFRW2 LMCS,DSCS,TMCS
  2806. TFRW3 CSI
  2807. TFMS TFRW1 AHMS,0,6,77B,CON,(DCV) MASS STORAGE
  2808. TFRW2 LMMS,DSMS,TMMS
  2809. TFRW3 MSI
  2810. TFDF TFRW1 AHDF,12,6,77B,CON,(DCV) DAYFILE MESSAGES
  2811. TFRW2 LMDF,DSDF,TMDF
  2812. TFRW3 DFI
  2813. TFCC TFRW1 AHCC,6,6,77B,CON,(DCV) COMMANDS
  2814. TFRW2 LMCC,DSCC,TMCC
  2815. TFRW3 CCI
  2816. TFCP TFRW1 AHCP,0,6,77B,CON,(DCV) CARDS PUNCHED
  2817. TFRW2 LMCP,DSCP,TMCP
  2818. TFRW3 CPI
  2819. TFPT TFRW1 AHMT,48,6,77B,CON,(DCV) PLOTTED LINES
  2820. TFRW2 LMPT,DSPT,TMPT
  2821. TFRW3 PTI
  2822. TFLP TFRW1 AHLP,6,6,77B,CON,(DCV) LINES PRINTED
  2823. TFRW2 LMLP,DSLP,TMLP
  2824. TFRW3 LPI
  2825. TFSL TFRW1 AHSL,24,6,73B,CON,(DCV)
  2826. TFRW2 LMSL,DSSL,TMSL
  2827. TFRW3 SLI,3
  2828. TFUI TFRW1 AUIN,0,18,0,CON USER INDEX
  2829. TFRW2 LMUI,DSUI,TMUI
  2830. TFRW3 ,,,LMCHA
  2831. TFDC TFRW1 ACGN,0,60,0,SFN,(LJD,RJA) DEFAULT CHARGE
  2832. TFRW2 LMCN,DSCN,TMCN
  2833. TFRW3
  2834. TFDP1 TFRW1 APJN,0,60,0,SFN,(LJD,RJA) DEFAULT PROJECT (1)
  2835. TFRW2 LMPN,DSPN,TMPN
  2836. TFRW3
  2837. TFDP2 TFRW1 APJ1,0,60,0,SFN,(CTE,LJD,RJA) DEFAULT PROJECT (2)
  2838. TFRW2
  2839. TFRW3
  2840. TFUD1 TFRW1 APID,0,60,0,SFN,(LJD) PERSONAL ID (1)
  2841. TFRW2 0,DSUD,TMUD
  2842. TFRW3
  2843. TFUD2 TFRW1 API2,0,60,0,SFN,(CTE,LJD) PERSONAL ID (2)
  2844. TFRW2
  2845. TFRW3
  2846. TFSP TFRW1 APRN,12,6,0,CON SYSTEM PROLOGUE INDEX
  2847. TFRW2 LMSP,DSSP,TMSP
  2848. TFRW3
  2849. TFUP TFRW1 APRN,18,42,0,SFN,(LJD,RJA) USER PROLOGUE FILE
  2850. TFRW2 LMUP,DSUP,TMUP
  2851. TFRW3
  2852. TFAL TFRW1 APRN,6,6,17B,CON APPLICATION LEVEL
  2853. TFRW2 LMAL,DSPL,TMAL
  2854. TFRW3
  2855. TFSH TFRW1 ASHN,18,42,0,SFN,(LJD,RJA) SHELL PROGRAM NAME
  2856. TFRW2 LMSN,DSSN,TMSH
  2857. TFRW3
  2858. TFSO TFRW1 ASHN,0,7,0,CON SHELL PROGRAM OPTIONS
  2859. TFRW2 0,DSSH,0
  2860. TFRW3
  2861. TFIS TFRW1 ATIS,42,5,0,SFN,(LJD,RJA) INITIAL SUBSYSTEM
  2862. TFRW2 LMIS,DSIS,TMIS
  2863. TFRW3 ,,TISI
  2864. TFTC TFRW1 ATTC,47,1,0,SFN,(LJD,RJA) CHARACTER SET
  2865. TFRW2 LMTC,DSTC,TMTC
  2866. TFRW3 ,,TTCI
  2867. TFPA TFRW1 ATPA,59,1,0,SFN,(LJD,RJA) TERMINAL PARITY
  2868. TFRW2 LMPA,DSPA,TMPA
  2869. TFRW3 ,,TPAI
  2870. TFRO TFRW1 ATRO,54,5,AROSY,CDD,(USD) RUBOUT CHARACTERS
  2871. TFRW2 LMRO,DSRO,TMRO
  2872. TFRW3
  2873. TFPX TFRW1 ATPX,53,1,0,SFN,(LJD,RJA) TRANSMISSION MODE
  2874. TFRW2 LMPX,DSPX,TMPX
  2875. TFRW3 ,,TPXI
  2876. TFTT TFRW1 ATTT,48,5,0,SFN,(LJD,RJA) TERMINAL TYPE
  2877. TFRW2 LMTT,DSTT,TMTT
  2878. TFRW3 ,,TTTI
  2879. TFAV TFRW1 ASAV,48,12,0,CON SECURITY PRIVILEGES
  2880. TFRW2 0,DSAV,9
  2881. TFRW3
  2882. TFLV TFRW1 ASVW,36,12,0,CON ACCESS LEVELS
  2883. TFRW2 0,DSLV,0
  2884. TFRW3
  2885. TFAC TFRW1 ASAC,0,36,12,AOC,(LJD,MWR) ACCESS CATEGORIES
  2886. TFRW2 0,DSAC,0
  2887. TFRW3
  2888. TFVM TFRW1 ASCV,0,36,0,CON SERVICE CLASS MASK
  2889. TFRW2 0,DSVM,0
  2890. TFRW3
  2891. TFUC TFRW1 ASC1,24,30,0,CSC DEFAULT SERVICE CLASS
  2892. TFRW2 0,DSUC,TMUC
  2893. TFRW3
  2894. TFWC TFRW1 AAWC,0,60,20,AOC,(LJD,MWR) ACCESS WORD
  2895. TFRW2 0,DSAW,0
  2896. TFRW3
  2897. CON 0 END OF TABLE
  2898. ALP SPACE 4,10
  2899. ** TABLE OF ALLOWED PERMISSIONS.
  2900. *
  2901. * NOTE -
  2902. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TAWI*.
  2903.  
  2904. ALP BSS 0
  2905. DEFAW CPWC,ALPS
  2906. DEFAW CTPC,ALPT
  2907. DEFAW CLPF,ALDA
  2908. DEFAW CSPF,ALIA
  2909. DEFAW CSOJ,ALSY
  2910. DEFAW CASF,ALLF
  2911. DEFAW CAND,ALMT
  2912. DEFAW CCNR,ALDC
  2913. DEFAW CSRP,ALAD
  2914. DEFAW CSTP,ALTF
  2915. DEFAW CTIM,ALTO
  2916. DEFAW CUCP,ALCP
  2917. DEFAW CSAP,ALAP
  2918. DEFAW CBIO,ALBP
  2919. DEFAW CPRT,ALPR
  2920. DEFAW CPLK,ALPF
  2921. DEFAW CQLK,ALQF
  2922. DEFAW CUST,ALST
  2923. DEFAW CNVE,ALNV
  2924. DEFAW CMNT,ALRT
  2925. DEFAW CNOP,ALNO
  2926. DEFAW CSAF,ALSF
  2927. DEFAW CNRD,ALCN
  2928. DEFAW COPR,ALNP
  2929. DEFAW CLTD,ALLT
  2930. DEFAW COPI,ALPI
  2931. DEFAW CACA,ALCI
  2932. DEFAW CPAM,ALAM
  2933. DEFAW CSAU,ALSU
  2934. DEFAW CRAU,ALRU
  2935. DEFAW CRAF,ALRF
  2936.  
  2937. * DEFINE INSTALLATION PERMISSIONS.
  2938.  
  2939. CON -1 RESERVED FOR INSTALLATION (BIT 48)
  2940. CON -1 RESERVED FOR INSTALLATION (BIT 49)
  2941. CON -1 RESERVED FOR INSTALLATION (BIT 50)
  2942. CON -1 RESERVED FOR INSTALLATION (BIT 51)
  2943. CON -1 RESERVED FOR INSTALLATION (BIT 52)
  2944. CON -1 RESERVED FOR INSTALLATION (BIT 53)
  2945. CON -1 RESERVED FOR INSTALLATION (BIT 54)
  2946. CON -1 RESERVED FOR INSTALLATION (BIT 55)
  2947. CON -1 RESERVED FOR INSTALLATION (BIT 56)
  2948. CON -1 RESERVED FOR INSTALLATION (BIT 57)
  2949. CON -1 RESERVED FOR INSTALLATION (BIT 58)
  2950. CON -1 RESERVED FOR INSTALLATION (BIT 59)
  2951. DATA 0 END OF TABLE
  2952. ALPL EQU 60D FORCE LENGTH FOR *APLW* MACRO
  2953. SPACE 4,10
  2954. ** TABLE OF REMOTE TERMINAL ACCESS PERMISSIONS.
  2955. *
  2956. * NOTE -
  2957. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TRTP*.
  2958.  
  2959.  
  2960. ASP BSS 0
  2961. DEFAW CCLM,RTCC
  2962. DEFAW BCSM,RTBC
  2963. DEFAW TCSM,RTTC
  2964. DEFAW SLID,RTSL
  2965. DEFAW GLID,RTGL
  2966. DEFAW LFID,RTLF
  2967. DEFAW ABTM,RMFB
  2968. ASPL EQU *-ASP TABLE LENGTH
  2969. DATA 0 END OF TABLE
  2970. APP SPACE 4,10
  2971. ** TABLE OF APPLICATION GRANTED.
  2972. *
  2973. * NOTE -
  2974. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TNAV*.
  2975.  
  2976. APP BSS 0
  2977. DEFAW IAF,AIAF
  2978. DEFAW RBF,ARBF
  2979. DEFAW TAF,ATAF
  2980. DEFAW MCS,AMCS
  2981. DEFAW TVF,ATVF
  2982. DEFAW CS,ACS
  2983. DEFAW CYBIS,APLA
  2984. DEFAW ITF,AITF
  2985. DEFAW TLF,ATLF
  2986. DEFAW NJF,ANJF
  2987. DEFAW NETOU,ANOU
  2988. DEFAW PSU,APSU
  2989. DEFAW "AP1",TAP1
  2990. DEFAW "AP2",TAP2
  2991. DEFAW "AP3",TAP3
  2992. DEFAW VEIAF,AVIF
  2993. DEFAW NPF,ANPF
  2994. DEFAW TCF,ATCF
  2995. DEFAW "AP4",TAP4
  2996. DEFAW "AP5",TAP5
  2997. DEFAW "AP6",TAP6
  2998. DEFAW ATF,AATF
  2999. APPL EQU *-APP TABLE LENGTH
  3000. DATA 0 END OF TABLE
  3001. ERRNZ APPL-TNAVL TABLE LENGTHS DO NOT AGREE
  3002. SCL SPACE 4,10
  3003. ** TABLE OF SERVICE CLASS TYPES.
  3004. *
  3005. * NOTE -
  3006. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TSVM*.
  3007.  
  3008. SCL BSS 0
  3009. LOC 0
  3010. DATA -1 NOT USED
  3011. LIST G
  3012. .SCL3 HERE
  3013. LIST *
  3014. LOC *O
  3015. SCLL EQU *-SCL TABLE LENGTH
  3016. DATA 0 END OF TABLE
  3017. APV SPACE 4,10
  3018. ** TABLE OF SECURITY PRIVILEGE VALIDATION BITS.
  3019. *
  3020. * NOTE -
  3021. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TAPV*
  3022.  
  3023. APV BSS 0
  3024. DEFAW CULT,APLT
  3025. DEFAW CWLF,APLF
  3026. DEFAW CLFL,APFL
  3027. DEFAW CLJL,APJL
  3028. DEFAW CFPX,APFP
  3029. DEFAW CPWX,APED
  3030. DEFAW COLD,APLD
  3031. DEFAW CSAP,APAP
  3032. APVL EQU *-APV TABLE LENGTH
  3033. CON 0 END OF TABLE
  3034. ALV SPACE 4,10
  3035. ** TABLE OF SECURITY ACCESS LEVEL VALIDATIONS.
  3036. *
  3037. * NOTE -
  3038. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TALV*.
  3039.  
  3040.  
  3041. ALV BSS 0
  3042. DEFAW "ALM0",ALVB
  3043. DEFAW "ALM1",ALVC
  3044. DEFAW "ALM2",ALVD
  3045. DEFAW "ALM3",ALVE
  3046. DEFAW "ALM4",ALVF
  3047. DEFAW "ALM5",ALVG
  3048. DEFAW "ALM6",ALVH
  3049. DEFAW "ALM7",ALVI
  3050. ALVL EQU *-ALV TABLE LENGTH
  3051. CON 0 END OF TABLE
  3052. CAT SPACE 4,10
  3053. ** TABLE OF ACCESS CATEGORY VALIDATIONS.
  3054. *
  3055. * NOTE -
  3056. * THIS TABLE IS DEPENDENT ON THE ORDER OF *TACC*.
  3057.  
  3058.  
  3059. CAT BSS 0
  3060. DEFAW "ACM00",AC00
  3061. DEFAW "ACM01",AC01
  3062. DEFAW "ACM02",AC02
  3063. DEFAW "ACM03",AC03
  3064. DEFAW "ACM04",AC04
  3065. DEFAW "ACM05",AC05
  3066. DEFAW "ACM06",AC06
  3067. DEFAW "ACM07",AC07
  3068. DEFAW "ACM08",AC08
  3069. DEFAW "ACM09",AC09
  3070. DEFAW "ACM10",AC10
  3071. DEFAW "ACM11",AC11
  3072. DEFAW "ACM12",AC12
  3073. DEFAW "ACM13",AC13
  3074. DEFAW "ACM14",AC14
  3075. DEFAW "ACM15",AC15
  3076. DEFAW "ACM16",AC16
  3077. DEFAW "ACM17",AC17
  3078. DEFAW "ACM18",AC18
  3079. DEFAW "ACM19",AC19
  3080. DEFAW "ACM20",AC20
  3081. DEFAW "ACM21",AC21
  3082. DEFAW "ACM22",AC22
  3083. DEFAW "ACM23",AC23
  3084. DEFAW "ACM24",AC24
  3085. DEFAW "ACM25",AC25
  3086. DEFAW "ACM26",AC26
  3087. DEFAW "ACM27",AC27
  3088. DEFAW "ACM28",AC28
  3089. DEFAW "ACM29",AC29
  3090. DEFAW "ACM30",AC30
  3091. DEFAW "ACM31",AC31
  3092. CATL EQU *-CAT TABLE LENGTH
  3093. CON 0 END OF TABLE
  3094. TMBS SPACE 4,10
  3095. ** TMBS - TABLE FOR MAP BACK TO SOURCE.
  3096.  
  3097.  
  3098. TMBS BSS 0
  3099. DIS ,*/USERNUM ,*
  3100. TMUI DIS ,* UI = ,*
  3101. TMMT DIS ,* MT = ,*
  3102. TMRP DIS ,* RP = ,*
  3103. TMTL DIS ,* TL = ,*
  3104. TMCM DIS ,* CM = ,*
  3105. TMDB DIS ,* DB = ,*
  3106. TMFC DIS ,* FC = ,*
  3107. TMCS DIS ,* CS = ,*
  3108. TMFS DIS ,* FS = ,*
  3109. TMPA DIS ,* PA = ,*
  3110. TMRO DIS ,* RO = ,*
  3111. TMPX DIS ,* PX = ,*
  3112. TMTT DIS ,* TT = ,*
  3113. TMTC DIS ,* TC = ,*
  3114. TMIS DIS ,* IS = ,*
  3115. TMMS DIS ,* MS = ,*
  3116. TMDF DIS ,* DF = ,*
  3117. TMCC DIS ,* CC = ,*
  3118. TMCP DIS ,* CP = ,*
  3119. TMLP DIS ,* LP = ,*
  3120. TMPT DIS ,* PT = ,*
  3121. TMEC DIS ,* EC = ,*
  3122. TMSL DIS ,* SL = ,*
  3123. TMCN DIS ,* CN = ,*
  3124. TMPN DIS ,* PN = ,*
  3125. TMUD DIS ,* PID = ,*
  3126. TMDS DIS ,* DS = ,*
  3127. TMSC DIS ,* SC = ,*
  3128. TMDT DIS ,* DT = ,*
  3129. TMSP DIS ,* SP = ,*
  3130. TMUP DIS ,* UP = ,*
  3131. TMSH DIS ,* SH = ,*
  3132. TMAL DIS ,* AL = ,*
  3133. TMEB DIS ,* EB = ,*
  3134. TMXB DIS ,* XB = ,*
  3135. TMEI DIS ,* EI = ,*
  3136. TMXI DIS ,* XI = ,*
  3137. TMBSL EQU *-TMBS TABLE LENGTH
  3138. TMUC DIS ,* UC = ,*
  3139. TMAW DIS ,* AW = NUL ,*
  3140. TMAP DIS ,* AP = NUL ,*
  3141. TMSO DIS ,* SO = NUL ,*
  3142. TMLV DIS ,* SAL = NUL ,*
  3143. TMAV DIS ,* SAV = NUL ,*
  3144. TMAC DIS ,* SAC = NUL ,*
  3145. TMVM DIS ,* VM = NUL ,*
  3146. TITLE MAIN ROUTINES.
  3147. MOD SPACE 4,10
  3148. ** MOD - PROCESS NORMAL CALL.
  3149.  
  3150.  
  3151. MOD SA3 OPTION CHECK COMMAND OPTIONS
  3152. SA4 OP
  3153. ZR X3,MOD2 IF ALL OPTIONS PROCESSED
  3154. SB2 X4+
  3155. + LX3 -1
  3156. SB2 B2+B1
  3157. PL X3,* IF OPTION NOT REQUESTED
  3158. SX6 X3 CLEAR OPTION PROCESSED
  3159. SA2 B2+TOFP SET PROCESSOR
  3160. SA6 A3
  3161. SX7 B2
  3162. SB7 X2
  3163. SA7 A4 SET CURRENT OPTION
  3164. BX7 X7-X7 CLEAR MANAGED TABLE INFORMATION
  3165. SB2 RA3+1-L.TAB0
  3166. SA7 L.TAB0
  3167. MOD0 SA7 A7+B1
  3168. SB2 B2-B1
  3169. NZ B2,MOD0 IF MORE WORDS TO CLEAR
  3170. SX3 X2-OVLA CHECK TABLE ENTRY
  3171. SX2 DMSE * SYSTEM ERROR.*
  3172. NG B7,ABT IF INCORRECT PROCESSOR ADDRESS
  3173. JP B7 EXECUTE PROCESSOR
  3174.  
  3175. MOD1 RJ SUI SAVE ASSIGNED USER INDICES
  3176. MOD2 SA3 EMSF CHECK ERROR FLAG
  3177. SX2 DMDE * DIRECTIVE ERRORS.*
  3178. ZR X3,MOD3 IF NO ERRORS
  3179. SA1 DB CHECK DEBUG FLAG
  3180. ZR X1,ABT IF NOT SET
  3181. BX6 X2 SET MESSAGE
  3182. SA6 MODA
  3183. MOD3 SA3 RAPF CHECK SYSTEM FILE ATTACHED
  3184. ZR X3,MOD4 IF NOT ATTACHED
  3185. RETURN U
  3186. RECALL N
  3187. RETURN P
  3188. MOD4 SA1 GENF
  3189. ZR X1,MOD4.1 IF NOT *GENVAL*
  3190. RETURN P
  3191. RETURN U
  3192. MOD4.1 SA1 MODA
  3193. ZR X1,MOD5 IF NO MESSAGE
  3194. MESSAGE X1,3 ISSUE COMPLETION MESSAGE
  3195. SA3 EMSF
  3196. NZ X3,MOD5 IF DIRECTIVE ERRORS
  3197. SA1 WMSF
  3198. ZR X1,MOD5 IF NO WARNING MESSAGES
  3199. MESSAGE DMCO,3 * CHECK OUTPUT FOR WARNING MESSAGES.*
  3200. MOD5 RJ COB CHECK OUTPUT BUFFER
  3201. RJ CAF CHECK ALTERNATE FAMILY
  3202. ENDRUN
  3203.  
  3204.  
  3205. MODA CON DMUC ADDRESS OF COMPLETION MESSAGE
  3206. TOFP SPACE 4,10
  3207. ** TOFP - TABLE OF FUNCTION PROCESSORS.
  3208.  
  3209.  
  3210. TOFP INDEX CON,LOPT+1,( * )
  3211. INDEX ,KOPT,( PUD ) K-DISPLAY
  3212. INDEX ,COPT,( PID ) CREATE
  3213. INDEX ,UOPT,( PUD ) UPDATE
  3214. INDEX ,ROPT,( PRF ) REFORMAT
  3215. INDEX ,SOPT,( PCS ) CHANGE TO SOURCE
  3216. INDEX ,IOPT,( PIO ) INQUIRE
  3217. INDEX ,ZOPT,( PUD ) UPDATE (WITH COMMAND DIRECTIVES)
  3218. INDEX ,LOPT,( PLO ) LIST
  3219. EJECT
  3220. CHV SPACE 4,10
  3221. ** CHV - CHANGE VALIDATION.
  3222.  
  3223.  
  3224. CHV RECALL P
  3225. RECALL N
  3226. SA1 P SWITCH FETS
  3227. BX6 X1
  3228. SX0 A1
  3229. SA6 N
  3230. SX1 AN SET PRIMARY BLOCK
  3231. FUNC SPBT
  3232. SX2 DMSE * SYSTEM ERROR.*
  3233. NZ X6,ABT IF ERROR
  3234. BX6 X4
  3235. NZ X4,ABT IF NOT FOUND
  3236. SA6 RDBA ENTRY FOUND FLAG
  3237. RJ RDB SET DATA BLOCK
  3238. NZ X1,ABT IF NO DATA BLOCK
  3239.  
  3240. * PROCESS COMMAND PARAMETERS.
  3241.  
  3242. CHV1 SA3 CHVA GET TABLE INDEX
  3243. SB4 X3
  3244. SB7 TCPVL SET TABLE LIMIT
  3245. CHV2 EQ B4,B7,CHV3 IF END OF PARAMETERS
  3246. SA5 TCPV+B4
  3247. SA1 A5+1
  3248. SB4 B4+TCPVE INCREMENT TABLE INDEX
  3249. ZR X5,CHV2 IF NOT SELECTED
  3250. SX6 B4 SAVE TABLE INDEX
  3251. SA6 A3
  3252. SB7 X1
  3253. RJ ICE EXECUTE PROCESSOR
  3254. EQ CHV1 PROCESS NEXT PARAMETER
  3255.  
  3256. CHV3 SX7 B1+
  3257. SA7 UUFG FLAG USER NAME UPDATE
  3258. RJ FFA
  3259. EQ PUD2 COMPLETE CHANGE
  3260.  
  3261. CHVA CON 0 TABLE INDEX
  3262. TCPV SPACE 4,10
  3263. ** TCPV - TABLE OF COMMAND PARAMETER VALUES.
  3264. *
  3265. * EACH ENTRY IS TWO WORDS IN LENGTH. FORMAT -
  3266. * 60/ VALUE ENTERED FOR DIRECTIVE
  3267. * 60/ PROCESSOR ADDRESS
  3268.  
  3269.  
  3270. TCPV BSS 0
  3271. CHVB CON 0 *UC* PARAMETER
  3272. CON ADS ASSEMBLE *UC* PARAMETER
  3273. TCPVE EQU *-TCPV ENTRY LENGTH
  3274. TCPVL EQU *-TCPV TABLE LENGTH
  3275. PSW SPACE 4,10
  3276. ** PSW - CHANGE PASSWORD.
  3277.  
  3278.  
  3279. PSW RECALL P
  3280. RECALL N
  3281. SA1 P SWITCH FETS
  3282. BX6 X1
  3283. SX0 A1
  3284. SA6 N
  3285. SX1 AN SET PRIMARY BLOCK
  3286. FUNC SPBT
  3287. SX2 DMSE * SYSTEM ERROR.*
  3288. NZ X6,ABT IF ERROR
  3289. BX6 X4
  3290. NZ X4,ABT IF NO HIT
  3291. SA6 RDBA ENTRY FOUND FLAG
  3292. RJ RDB SET DATA BLOCK
  3293. NZ X1,ABT IF NO DATA BLOCK
  3294. SA1 OLDPW
  3295. MX0 42
  3296. SX2 X1
  3297. NZ X2,PSW1 IF NO PASSWORD CHANGE
  3298. SA3 PWIX GET PASSWORD INDEX INTO DATA BLOCK
  3299. SA4 NEWPW
  3300. NZ X3,PSW0 IF CHANGING ONLY ONE PASSWORD
  3301. SA3 TANB+APWI CHECK OLD PASSWORDS
  3302. SA2 TANB+APSW
  3303. BX3 X3-X2
  3304. BX3 X0*X3
  3305. SX2 DMCP * CANNOT CHANGE BOTH PASSWORDS AT ONCE.*
  3306. NZ X3,ABT IF OLD PASSWORDS NOT IDENTICAL
  3307. SA3 TANB+APWI CHANGE INTERACTIVE PASSWORD
  3308. BX7 -X0*X3
  3309. BX7 X7+X4
  3310. SA7 A3+
  3311. SX3 APSW CHANGE BATCH PASSWORD
  3312. PSW0 SA3 TANB+X3
  3313. BX7 -X0*X3
  3314. BX3 X0*X3
  3315. BX3 X1-X3
  3316. BX7 X7+X4
  3317. SX2 DMIP * INCORRECT PASSWORD.*
  3318. SA7 A3 SWITCH PASSWORDS
  3319. NZ X3,ABT IF OLD PASSWORD INCORRECT
  3320. MESSAGE AMPW,5,R PASSWORD CHANGE MESSAGE TO ACCOUNT FILE
  3321. PSW1 SA1 XDATE
  3322. BX6 X1
  3323. SA4 TANB+ASVW
  3324. PL X1,PSW2 IF EXPIRATION DATE SPECIFIED
  3325. NG X4,PSW4 IF SECURITY ADMINISTRATOR
  3326. SA2 PD
  3327. SX1 APXT-7777B
  3328. SX6 B0+
  3329. ZR X1,PSW3 IF NON-EXPIRING DEFAULT EXPIRATION TERM
  3330. SX1 APXT DEFAULT EXPIRATION TERM
  3331. RJ ADT ADD EXPIRATION TERM TO CURRENT DATE
  3332. EQ PSW3 ENTER NEW EXPIRATION DATE
  3333.  
  3334. PSW2 SX2 DMSA * SEC ADMIN XD/XT CHANGE NOT VALID.*
  3335. NG X4,ABT IF SECURITY ADMINISTRATOR
  3336. SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
  3337. LX4 59-57
  3338. PL X4,ABT IF EXPIRATION DATE CHANGE NOT ALLOWED
  3339. PSW3 SA3 PWIX GET PASSWORD INDEX INTO DATA BLOCK
  3340. NZ X3,PSW3.1 IF ONLY CHANGING ONE EXPIRATION DATE
  3341. SA3 TANB+APXI CHANGE INTERACTIVE EXPIRATION DATE
  3342. BX3 X0*X3
  3343. BX7 X3+X6 ENTER NEW EXPIRATION DATE
  3344. SA7 A3
  3345. SX3 APXB SET TO CHANGE BATCH EXPIRATION DATE
  3346. PSW3.1 SA3 TANB+X3
  3347. BX3 X0*X3
  3348. BX7 X3+X6 ENTER NEW EXPIRATION DATE
  3349. SA7 A3
  3350. SA1 XDATE
  3351. NG X1,PSW4 IF EXPIRATION DATE NOT SPECIFIED
  3352. MESSAGE AMPX,5,R EXPIRATION DATE CHANGE MESSAGE
  3353. PSW4 SX7 B1+ INDICATE NO SERVICE CLASS VALIDATION
  3354. SA7 CHFG
  3355. SA7 UUFG FLAG USER NAME UPDATE
  3356. RJ FFA FINISH USER UPDATE
  3357. EQ PUD2 COMPLETE CHANGE
  3358.  
  3359.  
  3360. OLDPW CON 1 OLD PASSWORD (ENCRYPTED)
  3361. NEWPW CON 1 NEW PASSWORD (ENCRYPTED)
  3362. XDATE CON -1 EXPIRATION DATE (PACKED)
  3363. PWIX CON APSW PASSWORD INDEX INTO DATA BLOCK
  3364. UPR EJECT
  3365. UPR SPACE 4,10
  3366. ** UPR - PROCESS USER PROLOGUE FILE NAME.
  3367.  
  3368.  
  3369. UPR RECALL P
  3370. RECALL N
  3371. SA1 P SWITCH FETS
  3372. BX6 X1
  3373. SX0 A1
  3374. SA6 N
  3375. SX1 AN SET PRIMARY BLOCK
  3376. FUNC SPBT
  3377. SX2 DMSE * SYSTEM ERROR.*
  3378. NZ X6,ABT IF ERROR
  3379. BX6 X4
  3380. NZ X4,ABT IF NO HIT
  3381. SA6 RDBA ENTRY FOUND FLAG
  3382. RJ RDB SET DATA BLOCK
  3383. NZ X1,ABT IF NO DATA BLOCK
  3384. SA1 UPFN GET USER PROLOGUE FILE NAME
  3385. SA3 TANB+APRN
  3386. MX0 42
  3387. BX6 X0*X1
  3388. BX3 -X0*X3
  3389. BX7 X3+X6 MERGE *UP* AND *SP*
  3390. SA7 A3
  3391. MX0 -6
  3392. UPR1 LX6 6 CHECK FILE NAME FOR INCORRECT CHARACTER
  3393. BX3 -X0*X6
  3394. ZR X3,UPR2 IF FILE NAME CHECK COMPLETE
  3395. SX3 X3-1R+
  3396. NG X3,UPR1 IF VALID CHARACTER
  3397. SX2 DMMA * ERROR IN MODVAL ARGUMENTS.*
  3398. EQ ABT ABORT
  3399.  
  3400. UPR2 SX7 B1+ INDICATE NO SERVICE CLASS VALIDATION
  3401. SA7 CHFG
  3402. SA7 UUFG FLAG USER NAME UPDATE
  3403. RJ FFA FINISH USER UPDATE
  3404. EQ PUD2 COMPLETE CHANGE
  3405. TITLE PROCESS COMMAND OPTIONS.
  3406. PID SPACE 4,15
  3407. ** PID - PROCESS INPUT DATA FOR CREATE. (OP = C).
  3408. *
  3409. * EXIT 1. TO MAIN ROUTINE IF NO OVERFLOW.
  3410. * 2. TO UPDATE PROCESSOR IF TABLE OVERFLOW.
  3411. *
  3412. * USES X - 0, 1, 2, 5, 6, 7.
  3413. * A - 1, 2, 6, 7.
  3414. *
  3415. * CALLS DIP, WDB.
  3416. *
  3417. * MACROS FUNC, SETFS.
  3418.  
  3419.  
  3420. PID BSS 0 ENTRY
  3421. SX6 B1+ SET CREATE MODE FOR WRITE
  3422. SA6 CZ
  3423. SA6 FFAD INDICATE CREATION RUN
  3424. RJ DIP DIRECTIVE INPUT PROCESSOR
  3425. RJ WDB WRITE UNFILLED DATA BLOCK
  3426. SX5 N BUILD VALIDUS FILE DIRECTORIES
  3427. SA1 RAND
  3428. BX0 X1
  3429. LX0 60-24
  3430. FUNC BLDT
  3431. SETFS N,0
  3432. SA2 TV CHECK FOR TABLE OVERFLOW
  3433. SX6 DMCC * CREATION COMPLETE.*
  3434. SA6 MODA
  3435. ZR X2,MOD1 IF NONE
  3436. MX7 0 CLEAR OVERFLOW
  3437. SA7 A2
  3438. SA7 CZ CLEAR CREATE MODE FOR WRITE
  3439. EQ PUD1 ENTER UPDATE MODE
  3440. PUD SPACE 4,20
  3441. ** PUD - PROCESS UPDATE DATA. (OP = U, K, OR Z).
  3442. *
  3443. * EXIT TO MAIN ROUTINE FOR NEXT OPTION.
  3444. * NOTE - IF MANY USER NAMES ARE CREATED IN THIS MODE,
  3445. * LEVEL-1 LINKAGE CAN BE EXTENSIVE AND THEREFORE
  3446. * MAKE THIS RUN AND EVERY OTHER SEARCH OF THE
  3447. * FILE MODIFIED VERY INEFFICIENT. THIS MODE CAN
  3448. * BE ENTERED FROM A *CREATE* RUN IF TABLE
  3449. * OVERFLOW OCCURS IN WHICH CASE EXTENSIVE LEVEL-1
  3450. * LINKAGE IS QUITE LIKELY.
  3451. * * ANY FILE WHERE LEVEL-1 LINKAGE HAS OCCURED
  3452. * SHOULD BE REFORMATTED TO ATTEMPT REMOVAL OF THE
  3453. * LINKAGE. *
  3454. *
  3455. * USES X - 0, 1, 2, 5, 6, 7.
  3456. * A - 1, 2, 6, 7.
  3457. * B - 2.
  3458. *
  3459. * CALLS DIP, SUI.
  3460. *
  3461. * MACROS FUNC, NORERUN, RECALL.
  3462.  
  3463.  
  3464. PUD BSS 0 ENTRY
  3465. RECALL P
  3466. RECALL N
  3467. SA1 N SET FILES FOR UPDATE OPTION
  3468. SA2 P
  3469. BX6 X1
  3470. LX7 X2
  3471. SA6 PUDA
  3472. SA7 A1+
  3473. SA2 OP CHECK OPTION
  3474. ZR X2,PUD1 IF K-DISPLAY
  3475. NORERUN PREVENT JOB RERUN
  3476. PUD1 SX6 B1+ SET UPDATE INDICATORS
  3477. SA6 UF
  3478. SA6 ABTA
  3479. RJ DIP DIRECTIVE INPUT PROCESSOR
  3480. PUD2 SX5 N UPDATE VALIDUS DIRECTORY
  3481. SA1 RAND
  3482. SB2 60-24
  3483. LX6 X1,B2
  3484. SX0 X5
  3485. FUNC UDDT
  3486. RJ SUI SAVE USER INDICES
  3487. SA1 OP
  3488. NZ X1,PUD3 IF NOT K-DISPLAY
  3489. ERRNZ KOPT CODE DEPENDS ON VALUE OF K-DISPLAY OPTION
  3490. CONSOLE X1 CLEAR K-DISPLAY
  3491. PUD3 RECALL N
  3492. SA1 PUDA RESTORE FET NAMES
  3493. ZR X1,MOD EXIT IF NO SWAP MADE
  3494. BX6 X1
  3495. SA6 N
  3496. EQ MOD EXIT TO MAIN ROUTINE
  3497.  
  3498.  
  3499. PUDA CON 0 *N* FILE NAME HOLD
  3500. PRF SPACE 4,10
  3501. ** PRF - PROCESS REFORMAT. (OP = R).
  3502. *
  3503. * EXIT TO MAIN ROUTINE FOR NEXT OPTION.
  3504. *
  3505. * USES X - 0, 1, 2, 3, 5, 6, 7.
  3506. * A - 0, 1, 2, 3, 6, 7.
  3507. * B - 2, 5, 7.
  3508. *
  3509. * CALLS CDD, CLN, COD, FFA, GNB, PCE, SNM, SUI, WDB.
  3510. *
  3511. * MACROS EVICT, FUNC, MESSAGE, READ, READO,
  3512. * REWIND, SETFS, SETUI, WRITEC, WRITER.
  3513.  
  3514.  
  3515. PRF BSS 0 ENTRY
  3516. SX6 DMRC * REFORMAT COMPLETE.*
  3517. SA6 MODA SET COMPLETION MESSAGE
  3518. EVICT N INITIALIZE NEW FILE
  3519. SX0 9 RESERVE 1ST LEVEL 0 PLUS 8 SECTORS
  3520. PRF1 WRITER N,R
  3521. SX0 X0-1
  3522. NZ X0,PRF1 IF MORE SECTORS TO RESERVE
  3523. SETFS N,0
  3524. SX6 B1 SET INITIAL CALL
  3525. MX7 0 CLEAR UPDATE MODE
  3526. SA7 UF
  3527. SA7 TAUI+TAUIL-1 CLEAR AVAILABLE USER INDICES
  3528. SB7 TAUIL-1
  3529. PRF2 SA7 A7-B1
  3530. SB7 B7-B1
  3531. NZ B7,PRF2 IF NOT ALL CLEAR
  3532. SX7 PNET SET PARAMETERS FOR *GNB*
  3533. SA7 GNBA
  3534. PRF3 RJ GNB GET NEXT USER BLOCK
  3535. ZR X6,PRF4 IF END OF USER ENTRIES
  3536. SX6 -B1 FLAG REFORMAT
  3537. SA6 UUFG
  3538. RJ FFA FINISH USER NAME
  3539. BX6 X6-X6 NOT INITIAL CALL
  3540. EQ PRF3 LOOP FOR NEXT USER NAME
  3541.  
  3542. PRF4 RJ WDB DUMP REMAINING DATA RECORDS
  3543. SA0 B1 RESET BLOCK ADDRESSES
  3544. SX7 B1+
  3545. MX6 0
  3546. SA7 CZ SET CREATE FLAG FOR WRITE
  3547. SA6 L.TAB0 CLEAR TABLE 0
  3548. SA6 RA0+1 CLEAR LEVEL-0 LINK
  3549. SX5 N
  3550. FUNC RBAT
  3551. SA0 B0+ SORT TABLE
  3552. FUNC STBT
  3553. SA1 RAND WRITE LEVEL-0 DIRECTORY
  3554. SB2 60-24
  3555. SX5 N
  3556. LX0 X1,B2
  3557. FUNC WTBT
  3558.  
  3559. * PURGE DELETED USER INDICES.
  3560.  
  3561. SA1 OT CHECK ORIGIN TYPE
  3562. NZ X1,MOD IF NOT SYSTEM ORIGIN
  3563. REWIND U
  3564. READ U
  3565. PRF5 SA1 PRFC CHECK INDEX
  3566. SX1 X1-AUIMX+1
  3567. PL X1,PRF7 IF NONE LEFT
  3568. SA2 PRFB SHIFT COUNT
  3569. SA1 PRFA DELETED INDICES
  3570. NZ X2,PRF6 IF PERTINENT DATA PRESENT
  3571. SX7 60 RESET SHIFT COUNT
  3572. SA7 A2+
  3573. READO U UI,S FROM FILE
  3574. SA2 PRFD WORD INDEX
  3575. SA1 X2+TAUI UI,S USED AFTER REFORMAT
  3576. SX7 X2+1
  3577. BX1 -X1*X6 UI,S TO BE PURGED
  3578. SA7 A2
  3579. PRF6 LX6 X1,B1
  3580. SA2 PRFC UI
  3581. SA3 A2-B1 SHIFT COUNT
  3582. SA6 A3-B1 NEW UI,S FOR PURGE
  3583. SX7 X3-1 UPDATE SHIFT COUNT
  3584. SX6 X2+B1 UPDATE CURRENT UI
  3585. SA7 A3
  3586. SA6 A2
  3587. PL X1,PRF5 IF NO PURGE
  3588. SETUI X6
  3589. SX1 B1 CHECK LINE COUNT
  3590. RJ CLN
  3591. SA1 PRFC DUMP UI TO OUTPUT
  3592. RJ COD
  3593. SA1 PRFE+1
  3594. MX0 -36
  3595. BX6 -X0*X6
  3596. BX1 X0*X1
  3597. BX6 X1+X6
  3598. SA6 A1
  3599. WRITEC O,A1-B1
  3600. RJ PCE PURGE CATALOG ENTRIES
  3601. SA1 PRFF
  3602. SX6 X1+B1
  3603. SA6 A1
  3604. EQ PRF5 LOOP
  3605.  
  3606. PRF7 SA1 PRFF CHECK USER INDICES PURGED
  3607. ZR X1,MOD IF NO USER INDICES PURGED
  3608. RJ CDD CONVERT COUNT TO DISPLAY
  3609. SB2 1RZ
  3610. SB5 DMXP
  3611. BX1 X4
  3612. RJ SNM ENTER VALUE IN MESSAGE
  3613. MESSAGE DMXP,3,R * NNNNNN USER INDICES PURGED.*
  3614. SX1 3
  3615. RJ CLN
  3616. WRITEC O,(=1L )
  3617. WRITEC O,(=1L )
  3618. WRITEC O,DMXP * NNNNNN USER INDICES PURGED.*
  3619. SETUI SYUI
  3620. RJ SUI SAVE NEW USER INDICES
  3621. EQ MOD EXIT TO MAIN ROUTINE
  3622.  
  3623.  
  3624. PRFA CON 0 DELETED USER INDICES (FOR PURGE)
  3625. PRFB CON 0 SHIFT COUNT
  3626. PRFC CON 0 LAST USER INDEX
  3627. PRFD CON 0 *TAUI* INDEX
  3628.  
  3629. PRFE DIS ,* USER INDEX *
  3630. DIS ,*B PURGED.*
  3631. PRFF CON 0 COUNT OF USER INDICES PURGED
  3632. PCS SPACE 4,10
  3633. ** PCS - PROCESS CHANGE TO SOURCE. (OP = S).
  3634. *
  3635. * EXIT TO MAIN ROUTINE FOR NEXT OPTION.
  3636. *
  3637. * USES X - 1, 6, 7.
  3638. * A - 1, 6, 7.
  3639. *
  3640. * CALLS CDS, CSD, CPS, GNB, SRD.
  3641. *
  3642. * MACROS SETFS, WRITER, WRITEW.
  3643.  
  3644.  
  3645. PCS BSS 0 ENTRY
  3646. SX6 B1 SET INITIAL CALL
  3647. MX7 0 CLEAR UPDATE MODE
  3648. SA7 UF
  3649. SX7 PNAT SET PARAMETERS FOR *GNB*
  3650. MX1 1
  3651. BX7 X7+X1
  3652. SA7 GNBA
  3653. PCS1 RJ GNB GET NEXT USER BLOCK
  3654. ZR X6,PCS2 IF END OF USER ENTRIES
  3655. RJ SRD SET RECORD DATA
  3656. SA1 TMXB+1
  3657. RJ CDS GET BATCH PASSWORD EXPIRATION
  3658. SA1 TMXI+1
  3659. RJ CDS GET INTERACTIVE PASSWORD EXPIRATION DATE
  3660. WRITEW S,TMBS,TMBSL
  3661. RJ CSD CONVERT SERVICE CLASS DIRECTIVES
  3662. RJ CPS CONVERT PERMISSIONS TO SOURCE
  3663. BX6 X6-X6 NOT INITIAL CALL
  3664. EQ PCS1 LOOP FOR NEXT BLOCK
  3665.  
  3666. PCS2 WRITER S
  3667. SETFS S,0
  3668. SX6 DMSC * CONVERSION TO SOURCE COMPLETE.*
  3669. SA6 MODA
  3670. EQ MOD EXIT TO MAIN ROUTINE
  3671. PIO SPACE 4,10
  3672. ** PIO - PROCESS LIMITS.
  3673. *
  3674. * EXIT TO *ABT* IF ERROR.
  3675. *
  3676. * USES X - 0, 1, 2, 6.
  3677. * A - 1, 2, 6.
  3678. *
  3679. * CALLS PLM, RDB, SRD.
  3680. *
  3681. * MACROS FUNC, RECALL.
  3682.  
  3683.  
  3684. PIO BSS 0 ENTRY
  3685. RECALL P
  3686. RECALL N
  3687. SA1 P SWITCH FETS
  3688. BX6 X1
  3689. SX0 A1
  3690. SA6 N
  3691. SA2 SSJ=+UIDS SET USER NAME
  3692. MX6 42
  3693. BX6 X6*X2
  3694. SX1 AN
  3695. SA6 X1
  3696. FUNC SPBT FIND FILE ENTRY
  3697. NZ X6,ABT IF ERROR
  3698. SX2 DMSE * SYSTEM ERROR.*
  3699. BX6 X4
  3700. NZ X4,ABT IF NO HIT
  3701. SA6 RDBA ENTRY FOUND FLAG
  3702. RJ RDB READ DATA BLOCK
  3703. NZ X1,ABT IF ERROR
  3704. RJ SRD WRITE USER LIMIT DATA TO OUTPUT
  3705. SA1 TANB+ACCD
  3706. LX6 X1
  3707. SA6 TANB+1
  3708. RJ PLM PRINT *LIMITS* MESSAGES
  3709. SX6 DMIC * INQUIRY COMPLETE.*
  3710. SA6 MODA
  3711. EQ MOD2 EXIT PROGRAM
  3712. PLO SPACE 4,10
  3713. ** PLO - PROCESS LIST OPTION. (OP = L).
  3714. *
  3715. * EXIT TO MAIN ROUTINE.
  3716. *
  3717. * USES A - ALL.
  3718. * B - 2.
  3719. * X - ALL.
  3720. *
  3721. * CALLS GNB, WCE.
  3722. *
  3723. * MACROS ADDWRD, FUNC, READ, READW, RENAME,
  3724. * RETURN, REWIND, WRITER, WRITEW.
  3725.  
  3726.  
  3727. PLO BSS 0 ENTRY
  3728. SX6 B1+ SET INITIAL CALL
  3729. SX7 PNAT SET PARAMETERS FOR *GNB*
  3730. MX1 1
  3731. BX7 X7+X1
  3732. SA7 GNBA
  3733. PLO1 RJ GNB GET NEXT USER BLOCK
  3734. ZR X6,PLO6 IF END OF USER ENTRIES
  3735. SA2 LO SET CATALOG INFORMATION IN TABLE
  3736. SA1 TANB
  3737. SB2 X2
  3738. LX1 X1,B2 SET ORDER OF LIST
  3739. ADDWRD TAB3,X1
  3740. SA1 TANB+ACCD
  3741. ADDWRD TAB3,X1
  3742. SA1 TV CHECK OVERFLOW
  3743. SX6 B0+
  3744. ZR X1,PLO1 IF NO OVERFLOW
  3745. SA6 A1
  3746. BX6 X1
  3747. PLO6 SA6 PLOA
  3748. REWIND N
  3749. READ N
  3750. SA0 TAB3 SORT TABLE
  3751. FUNC STBT
  3752.  
  3753. * MERGE TABLE TO FILE.
  3754.  
  3755. SX0 B0+ CLEAR CURRENT ENTRY
  3756. PLO7 READW N,TANB,C.TAB3
  3757. PLO8 SA2 F.TAB3 COMPARE ENTRIES
  3758. SA3 L.TAB3
  3759. SA4 TANB
  3760. IX3 X0-X3 (X3) = +, END-OF-TABLE
  3761. IX2 X2+X0
  3762. SA5 X2
  3763. NZ X1,PLO12 IF EOR ON FILE
  3764. PL X3,PLO11 IF END OF TABLE
  3765. NG X4,PLO9 IF NEGATIVE FILE ENTRY
  3766. PL X5,PLO10 IF SAME SIGN
  3767. EQ PLO11 WRITE FILE ENTRY
  3768.  
  3769. PLO9 PL X5,PLO12 IF OPPOSITE SIGNS
  3770. PLO10 IX6 X5-X4
  3771. NG X6,PLO12 IF FILE ENTRY .GT. TABLE ENTRY
  3772. PLO11 WRITEW S,A4,C.TAB3 WRITE FILE ENTRY
  3773. EQ PLO7 CONTINUE MERGE
  3774.  
  3775. PLO12 PL X3,PLO13 IF END OF MERGE
  3776. SA0 X1 SAVE EOR STATUS
  3777. WRITEW S,X2,C.TAB3 WRITE TABLE ENTRY
  3778. SX1 A0 RESTORE EOR STATUS
  3779. SX0 X0+C.TAB3
  3780. EQ PLO8 CONTINUE MERGE
  3781.  
  3782. PLO13 WRITER S,R
  3783. SA5 S
  3784. RENAME A5,N SWITCH FILES
  3785. BX6 X5 RESTORE FILE NAME
  3786. SA6 A5
  3787. SA1 PLOA CHECK OVERFLOW
  3788. SX6 B0+ CLEAR TABLE
  3789. SA6 L.TAB3
  3790. NZ X1,PLO1 IF OVERFLOW, GET NEXT ENTRY
  3791. REWIND N
  3792. READ N
  3793. PLO14 READW N,TANB,C.TAB3 GET NEXT ENTRY
  3794. NZ X1,PLO15 IF EOR
  3795. SA2 LO RESTORE USER AND USER INDEX
  3796. SA1 TANB
  3797. BX2 -X2
  3798. SB2 X2+60
  3799. LX6 X1,B2
  3800. SA6 A1
  3801. RJ WCE WRITE CATALOG ENTRY
  3802. EQ PLO14 LOOP
  3803.  
  3804. PLO15 SX6 DMLC * CATALOG COMPLETE.*
  3805. SA6 MODA
  3806. RETURN N
  3807. EQ MOD2 RETURN
  3808.  
  3809.  
  3810. PLOA CON 0 OVERFLOW FLAG
  3811. TITLE DIRECTIVE PROCESSORS.
  3812. AAD SPACE 4,10
  3813. ** AAD - ASSEMBLE ALPHANUMERIC DATA.
  3814. *
  3815. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  3816. * PARAMETERS FROM *TINE* TABLE.
  3817. * (X5) = (CBUF) = ASSEMBLED DATA.
  3818. *
  3819. * EXIT (X6) = DATA TO BE STORED IN *TANB*.
  3820. * (B3) = 0.
  3821. *
  3822. * USES A - 3.
  3823. * B - 2, 3.
  3824. * X - 3, 6.
  3825.  
  3826.  
  3827. AAD SUBR ENTRY/EXIT
  3828. SA3 DF RIGHT JUSTIFY DATA FIELD
  3829. LX3 1
  3830. SB2 X3
  3831. SB3 B2+B2
  3832. SB2 B2+B3
  3833. LX6 X5,B2
  3834. SB3 B0
  3835. EQ AADX RETURN
  3836. AAN SPACE 4,15
  3837. ** AAN - ASSEMBLE USER NAME.
  3838. *
  3839. * ENTRY STRING BUFFER FILLED.
  3840. *
  3841. * EXIT (X1) .NE. 0, IF ENTRY TERMINATION.
  3842. * (X6) = USER NAME, IF NONZERO.
  3843. * (B3) = 0.
  3844. * (AN) = LEFT JUSTIFIED USER NAME.
  3845. *
  3846. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  3847. *
  3848. * USES X - 1, 2, 4, 6.
  3849. * A - 1, 2, 6.
  3850. * B - 3, 5.
  3851. *
  3852. * CALLS ACI.
  3853.  
  3854.  
  3855. AAN SUBR ENTRY/EXIT
  3856. SA2 CS ASSEMBLE CHARACTERS
  3857. SA1 CA ACCEPT -*- IN NUMBER
  3858. BX6 X2 SUPPRESSION MASK
  3859. RJ ACI ASSEMBLE CHARACTERS
  3860. SA1 ET SET ENTRY TERMINATION
  3861. ZR B6,AAN1 IF ERROR
  3862. SB5 B5-1R=
  3863. SA2 CBUF GET DATA
  3864. BX6 X2
  3865. SB3 B0
  3866. ZR X2,AAN1 IF NULL USER NAME
  3867. ZR B5,AAN1 IF INCORRECT SEPARATOR
  3868. SA6 AN STORE
  3869. SX4 X4-AINC-1
  3870. NG X4,AANX IF SEVEN CHARACTERS OR LESS
  3871. AAN1 SB3 ERAN **** ERROR IN USER NAME.
  3872. EQ AANX RETURN
  3873. AAV SPACE 4,20
  3874. ** AAV - ASSEMBLE SECURITY VALIDATION PRIVILEGES.
  3875. *
  3876. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  3877. * PARAMETERS FROM *TINE* TABLE.
  3878. * (X5) = (CBUF) = ASSEMBLED DATA.
  3879. *
  3880. * EXIT (B3) .LT. 0.
  3881. *
  3882. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  3883. *
  3884. * USES A - 1, 2, 6, 7.
  3885. * B - 3.
  3886. * X - 0, 1, 2, 6, 7.
  3887. *
  3888. * CALLS ACW, CUN.
  3889.  
  3890.  
  3891. AAV SUBR ENTRY/EXIT
  3892. SA1 DF+3 VALIDATION FILE WORD
  3893. SA2 X1+TANB VALIDATION FILE ENTRY
  3894. BX7 X2
  3895. SA7 AAVA SAVE CURRENT FILE ENTRY
  3896. RJ ACW ASSEMBLE CONTROL WORD
  3897. GT B3,AAVX IF ERROR
  3898. SA1 AAVA
  3899. NG X7,AAV1 IF *CSAP* BIT SET
  3900. PL X1,AAVX IF *CSAP* BIT NOT SET
  3901. RJ CUN CHECK USER NAMES
  3902. NZ X1,AAVX IF USER NAMES DO NOT MATCH
  3903. SB3 ERSP **** CANNOT DELETE *CSAP* PRIVILEGE.
  3904. SA1 AAVA
  3905. BX6 X1
  3906. SA2 DF+3 VALIDATION FILE WORD
  3907. SA6 X2+TANB RETURN OLD PRIVILEGES
  3908. EQ AAVX RETURN
  3909.  
  3910. * SET NON-EXPIRING PASSWORD AND UNLIMITED SECURITY COUNT
  3911. * FOR SECURITY ADMINISTRATOR.
  3912.  
  3913. AAV1 MX0 42
  3914. SA1 APXB+TANB BATCH EXPIRATION DATE
  3915. BX7 X0*X1
  3916. SA7 A1 SET BATCH EXPIRATION DATE
  3917. SA1 APXI+TANB INTERACTIVE EXPIRATION DATE
  3918. BX7 X0*X1
  3919. SA7 A1 SET INTERACTIVE EXPIRATION DATE
  3920. SA1 AHDS+TANB SET UNLIMITED SECURITY COUNT
  3921. MX0 6
  3922. LX0 47-59
  3923. BX6 -X0*X1
  3924. BX6 X0+X1
  3925. SA6 A1
  3926. EQ AAVX RETURN
  3927.  
  3928.  
  3929. AAVA CON 0 OLD VALIDATION PRIVILEGES
  3930. ACN SPACE 4,15
  3931. ** ACN - ASSEMBLE CHARGE NUMBER.
  3932. *
  3933. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I* PARAMETERS
  3934. * FROM *TINE* TABLE.
  3935. * (X5) = (CBUF) = ASSEMBLED DATA.
  3936. *
  3937. * EXIT (B3) .LT. 0.
  3938. *
  3939. * USES X - 6.
  3940. * A - 6.
  3941. * B - 3.
  3942.  
  3943.  
  3944. ACN SUBR ENTRY/EXIT
  3945. BX6 X5 MOVE ASSEMBLED DATA
  3946. SA6 TANB+ACGN
  3947. SB3 -B1
  3948. EQ ACNX RETURN
  3949. ACW SPACE 4,15
  3950. ** ACW - ASSEMBLE PERMISSION CONTROL WORD.
  3951. *
  3952. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  3953. * PARAMETERS FROM *TINE* TABLE.
  3954. * (X5) = (CBUF) = ASSEMBLED DATA.
  3955. * (PCDW) = PERMISSION CONTROL FOR DEFAULT USE.
  3956. *
  3957. * EXIT (X7) = NEW PERMISSION CONTROL WORD.
  3958. * (B3) .LT. 0 IF NO ERROR.
  3959. * = ERROR MESSAGE ADDRESS IF ERROR.
  3960. *
  3961. * USES X - 1, 2, 3, 4, 7.
  3962. * A - 0, 1, 2, 3, 4, 7.
  3963. * B - 2, 3, 4.
  3964. *
  3965. * CALLS CDP, SFN, SPB, STB.
  3966.  
  3967.  
  3968. ACW SUBR ENTRY/EXIT
  3969. SA1 DF+4 SEARCH FOR DIRECTIVE IDENTIFIER
  3970. SB2 TPCW
  3971. MX2 18
  3972. RJ STB SEARCH TABLE
  3973. SX2 DMSE * SYSTEM ERROR.*
  3974. ZR X3,ABT IF DIRECTIVE IDENTIFIER NOT FOUND
  3975. SB3 ERAD * ERROR IN ALPHANUMERIC DATA.*
  3976. ZR X5,ACWX IF NO PARAMETER VALUE
  3977. SA0 A3 SAVE TABLE ENTRY ADDRESS
  3978. SB4 X3 FWA TABLE PERMISSION IDENTIFIERS
  3979. LX3 59-30
  3980. BX1 X5
  3981. PL X3,ACW1 IF NOT BLANK-FILLED TABLE
  3982. RJ SFN SPACE FILL NAME
  3983. BX1 X6
  3984. ACW1 SA2 DF+3 VALIDATION FILE WORD
  3985. SA4 X2+TANB VALIDATION FILE ENTRY
  3986. SA2 =3LALL
  3987. SA3 A0
  3988. BX2 X2-X5
  3989. NZ X2,ACW3 IF NOT *ALL*
  3990. LX3 59-32
  3991. PL X3,ACW7 IF *ALL* NOT ALLOWED
  3992. RJ CDP CLEAR DEFAULT PERMISSION BITS
  3993. SB3 -B1 SET NO ERROR
  3994. ACW2 SA1 B4 SET ALL DEFINED PERMISSION BITS
  3995. SB4 B4+B1
  3996. ZR X1,ACW7 IF END OF TABLE
  3997. MX2 42
  3998. BX7 X2*X1
  3999. BX7 X2-X7
  4000. ZR X7,ACW2 IF BIT NOT USED
  4001. MX2 -6
  4002. BX1 -X2*X1
  4003. SB2 X1 SET PERMISSION BIT
  4004. SX2 B1
  4005. LX2 B2
  4006. BX4 X4+X2
  4007. EQ ACW2 CONTINUE SETTING DEFINED BITS
  4008.  
  4009. ACW3 SX2 A0-TPCW-PCAP
  4010. NZ X2,ACW3.0 IF NOT *AAVW* UPDATE
  4011. SA2 =3LIAF
  4012. BX2 X2-X5
  4013. NZ X2,ACW3.0 IF NOT *IAF*
  4014. SA2 CVJ
  4015. ZR X2,ACW6 IF *J* CONVERSION NOT SPECIFIED
  4016. RJ SPB SET *IAF* PERMISSION BIT
  4017. SA1 =7HVEIAF
  4018. EQ ACW6 SET *VEIAF* PERMISSION BIT
  4019.  
  4020. ACW3.0 SX2 A0-TPCW-PCAW
  4021. NZ X2,ACW3.1 IF NOT *AACW* UPDATE
  4022. SA2 =4LCSAF
  4023. BX2 X2-X5
  4024. NZ X2,ACW3.1 IF NOT *CSAF*
  4025. SA2 CVK
  4026. ZR X2,ACW6 IF *K* CONVERSION NOT SPECIFIED
  4027. RJ SPB SET *CSAF* PERMISSION BIT
  4028. SA1 =4LCRAF
  4029. EQ ACW6 SET *CRAF* PERMISSION BIT
  4030.  
  4031. ACW3.1 SA2 =3LNUL
  4032. BX2 X2-X5
  4033. NZ X2,ACW6 IF NOT *NUL*
  4034. LX3 59-31
  4035. PL X3,ACW7 IF *NUL* NOT ALLOWED
  4036. RJ CDP CLEAR DEFAULT PERMISSION BITS
  4037. SB3 -B1 SET NO ERROR
  4038. SX1 A0-TPCW-PCAW
  4039. NZ X1,ACW7 IF NOT *AACW* UPDATE
  4040. SA1 CVC
  4041. ZR X1,ACW4 IF *C* CONVERSION NOT SPECIFIED
  4042. SA1 =4LCNRD
  4043. RJ SPB SET PERMISSION BIT
  4044. PL B3,ACW7 IF ERROR
  4045. ACW4 SA1 CVD
  4046. ZR X1,ACW5 IF *D* CONVERSION NOT SPECIFIED
  4047. SA1 =4LCOPR
  4048. RJ SPB SET PERMISSION BIT
  4049. PL B3,ACW7 IF ERROR
  4050. ACW5 SA1 CVF
  4051. ZR X1,ACW5.1 IF *F* CONVERSION NOT SPECIFIED
  4052. SA1 =4LCSAF
  4053. RJ SPB SET PERMISSION BIT
  4054. PL B3,ACW7 IF ERROR
  4055. SA1 CVK
  4056. ZR X1,ACW5.1 IF *K* CONVERSION NOT SPECIFIED
  4057. SA1 =4LCRAF
  4058. RJ SPB SET PERMISSION BIT
  4059. PL B3,ACW7 IF ERROR
  4060. ACW5.1 SA1 CVG
  4061. ZR X1,ACW5.2 IF *G* CONVERSION NOT SPECIFIED
  4062. SA1 =4LCOPI
  4063. RJ SPB SET PERMISSION BIT
  4064. PL B3,ACW7 IF ERROR
  4065. ACW5.2 SA1 CVH
  4066. ZR X1,ACW5.3 IF *H* CONVERSION NOT SPECIFIED
  4067. SA1 =4LCACA
  4068. RJ SPB SET PERMISSION BIT
  4069. PL B3,ACW7 IF ERROR
  4070. ACW5.3 SA1 CVK
  4071. ZR X1,ACW7 IF *K* CONVERSION NOT SPECIFIED
  4072. SA1 =4LCSAU
  4073. RJ SPB SET PERMISSION BIT
  4074. PL B3,ACW7 IF ERROR
  4075. SA1 =4LCRAU
  4076. ACW6 RJ SPB SET PERMISSION BIT
  4077. ACW7 BX7 X4 WRITE PERMISSION CONTROL WORD
  4078. SA7 A4
  4079. EQ ACWX RETURN
  4080. PCDW SPACE 4,10
  4081. ** PCDW - PERMISSION BIT WORD TO CONTROL USE OF DEFAULT.
  4082. *
  4083. * BITS APPLY TO PERMISSION CONTROL DIRECTIVES DEFINED
  4084. * BY POSITION IN *TPCW* (BIT 0 = TABLE ENTRY 0,
  4085. * BIT 1 = TABLE ENTRY 1, ETC.). BIT CLEAR IMPLIES
  4086. * FIRST OCCURANCE OF DIRECTIVE WILL CLEAR DEFAULT
  4087. * SELECTION. BIT SET IMPLIES DIRECTIVE SHOULD TOGGLE
  4088. * SPECIFIED BIT ONLY.
  4089.  
  4090.  
  4091. PCDM EQU 0 PERMISSION CONTROL DEFAULT MASK
  4092.  
  4093. PCDW CON PCDM PERMISSION CONTROL DEFAULT WORD
  4094. TPCW SPACE 4,15
  4095. ** TPCW - TABLE OF PERMISSION CONTROL WORDS.
  4096. *
  4097. *T 18/ID,12/OPT,6/SHF,6/NB,18/TPB
  4098. * ID DIRECTIVE IDENTIFIER.
  4099. * OPT OPTIONS = 9/0, 1/ALL, 1/NUL, 1/SPF.
  4100. * ALL = SET IF *ID=ALL* DIRECTIVE ALLOWED.
  4101. * NUL = SET IF *ID=NUL* DIRECTIVE ALLOWED.
  4102. * SPF = SET IF SPACE FILL NEEDED FOR PERMISSION
  4103. * IDENTIFIER.
  4104. * SHF SHIFT FOR MASK.
  4105. * NB NUMBER OF PERMISSION BITS.
  4106. * TPB FWA TABLE OF PERMISSION IDENTIFIERS.
  4107.  
  4108.  
  4109. TPCW BSS 0
  4110. LOC 0
  4111. PCAW DTPC AW,TAWI,60D,0,(ALL,NUL) ACCESS WORD
  4112. PCAP DTPC AP,TNAV,NNAB,ALAB+1,(ALL,NUL,SPF) APPLICATIONS
  4113. DTPC SO,TRTP,TRTPL,TRTPL,(NUL) SHELL PROGRAM
  4114. DTPC SAV,TAPV,TAPVL-TAPVS,0,(ALL,NUL) SECURITY CONTROL
  4115. DTPC SAL,TALB,TALBL,TALBS,(ALL,NUL) ACCESS LEVEL
  4116. DTPC SAC,TACC,TACCL,TACCS,(ALL,NUL) ACCESS CATEGORIES
  4117. DTPC VM,TSVM,TSVML,TSVML,(ALL,NUL) SERVICE CLASS
  4118. LOC *O
  4119. TPCWL EQU *-TPCW TABLE LENGTH
  4120. CON 0 END OF TABLE
  4121. ADS SPACE 4,15
  4122. ** ADS - ASSEMBLE USER DEFAULT SERVICE CLASS.
  4123. *
  4124. * ENTRY (CBUF) = ASSEMBED CHARACTERS FOR INPUT DIRECTIVE.
  4125. * (CHVB) = DATA IF *CHVAL* COMMAND.
  4126. *
  4127. * EXIT USER DEFAULT SERVICE CLASS IN *TANB* ALTERED.
  4128. * (B3) .LT. 0.
  4129. *
  4130. * ERROR (B3) = ERROR MESSAGE ADDRESS, IF PROCESSING
  4131. * INPUT DIRECTIVE.
  4132. * IF *CHVAL* COMMAND, EXIT TO *ABT* WITH (X2) = ERROR
  4133. * MESSAGE ADDRESS.
  4134. *
  4135. * USES X - 0, 1, 2, 3, 4, 5, 6.
  4136. * A - 1, 2, 4, 5, 6.
  4137. * B - 2, 3, 4, 5.
  4138. *
  4139. * CALLS STB.
  4140.  
  4141.  
  4142. ADS SUBR ENTRY/EXIT
  4143. SB3 CBUF SET ADDRESS OF DATA
  4144. SA1 CHFG
  4145. ZR X1,ADS1 IF NOT *CHVAL* COMMAND
  4146. SB3 CHVB SET ADDRESS OF DATA
  4147. MX0 -36
  4148. SA1 B3+ CHECK NUMBER OF CHARACTERS
  4149. BX3 -X0*X1
  4150. SX2 DMCA * ERROR IN CHVAL ARGUMENTS.*
  4151. NZ X3,ABT IF TOO MANY CHARACTERS
  4152. ADS1 SA1 B3 CHECK FOR VALID ORIGIN TYPE
  4153. MX2 12
  4154. SB2 TOSC
  4155. BX1 X2*X1
  4156. RJ STB SEARCH FOR VALID ORIGIN TYPE
  4157. SB4 A3-TOSC SET ORIGIN TYPE INDEX
  4158. NZ X3,ADS2 IF FOUND
  4159. SB2 TSOT
  4160. RJ STB SEARCH FOR VALID ORIGIN TYPE
  4161. SB4 A3-TSOT SET ORIGIN TYPE INDEX
  4162. NZ X3,ADS2 IF FOUND
  4163. SX2 DMOT * UNDEFINED ORIGIN TYPE.*
  4164. SA1 CHFG
  4165. NZ X1,ABT IF *CHVAL* COMMAND
  4166. SB3 EROT **** INCORRECT ORIGIN TYPE.
  4167. EQ ADSX RETURN
  4168.  
  4169. ADS2 SB4 B4+B4 CALCULATE SHIFT FOR ORIGIN TYPE
  4170. SB2 B4+B4
  4171. SB4 B4+B2
  4172. SA1 B3 CHECK FOR VALID SERVICE CLASS
  4173. LX1 12
  4174. BX1 X2*X1
  4175. NZ X1,ADS3 IF SERVICE CLASS SPECIFIED
  4176. LX3 12
  4177. BX1 X2*X3 USE DEFAULT SERVICE CLASS FOR ORIGIN
  4178. ADS3 SB2 TSVM
  4179. RJ STB SEARCH FOR VALID SERVICE CLASS
  4180. NZ X3,ADS4 IF FOUND
  4181. SX2 DMUS * UNDEFINED SERVICE CLASS.*
  4182. SA1 CHFG
  4183. NZ X1,ABT IF *CHVAL* COMMAND
  4184. SB3 ERSC **** INCORRECT SERVICE CLASS.
  4185. EQ ADSX RETURN
  4186.  
  4187. ADS4 SA4 TANB+ASCV GET VALIDATION WORD
  4188. SA1 CHFG
  4189. ZR X1,ADS5 IF NOT *CHVAL* COMMAND
  4190. SB5 A3-TSVM CHECK IF USER VALIDATED
  4191. SA5 TSCV+B5
  4192. BX1 X4*X5
  4193. SX2 DMVC * INCORRECT SERVICE CLASS.*
  4194. ZR X1,ABT IF NOT VALIDATED
  4195. ADS5 MX0 6 SET NEW USER DEFAULT
  4196. SA4 TANB+ASC1
  4197. LX3 -18
  4198. BX3 X0*X3 GET SUFFIX FOR SERVICE CLASS
  4199. LX4 B4
  4200. SB4 -B4 RESET SHIFT COUNT
  4201. SB4 B4+60
  4202. BX4 -X0*X4
  4203. BX6 X4+X3
  4204. LX6 B4
  4205. SA6 A4
  4206. SB3 -B1 SET NO ERROR, DATA ALREADY SET IN FIELD
  4207. EQ ADSX RETURN
  4208. AEA SPACE 4,15
  4209. ** AEA - ASSEMBLE EQUIVALENCED ARGUMENTS.
  4210. *
  4211. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4212. * PARAMETERS FROM *TINE* TABLE.
  4213. * (X5) = (CBUF) = ASSEMBLED DATA.
  4214. *
  4215. * EXIT (B3) = 0.
  4216. *
  4217. * USES A - 1, 2.
  4218. * B - 2, 3.
  4219. * X - 1, 2, 6.
  4220. *
  4221. * CALLS STB.
  4222.  
  4223.  
  4224. AEA SUBR ENTRY/ EXIT
  4225. SA1 DF
  4226. BX1 -X1
  4227. SB2 X1+B1
  4228. MX2 60
  4229. BX1 X5
  4230. RJ STB SEARCH FOR IDENTIFIER
  4231. SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
  4232. ZR X3,AEAX IF NOT FOUND
  4233. SA2 DF SET EQUIVALENCED VALUE
  4234. SX6 A3-B1
  4235. IX6 X2+X6
  4236. SB3 B0 SET DATA FIELD
  4237. EQ AEAX RETURN
  4238. AEP SPACE 4,15
  4239. ** AEP - ASSEMBLE ENCRYPTED PASSWORD.
  4240. *
  4241. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4242. * PARAMETERS FROM *TINE* TABLE.
  4243. * (X5) = (CBUF) = ASSEMBLED DATA.
  4244. * (X1) = 0 IF EXACT CHARACTER COUNT ASSEMBLED.
  4245. *
  4246. * EXIT (X6) = DATA TO BE STORED IN *TANB*.
  4247. * (B3) = 0.
  4248. *
  4249. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4250. *
  4251. * USES A - 5.
  4252. * B - 3, 4.
  4253. * X - 0, 2, 3, 5, 6.
  4254.  
  4255.  
  4256. AEP SUBR ENTRY/EXIT
  4257. SB4 10
  4258. SB3 ERND **** ERROR IN NUMERIC DATA.
  4259. NZ X1,AEPX IF NOT EXACT CHARACTER COUNT
  4260. MX0 -6
  4261. BX6 X6-X6
  4262. AEP1 LX5 6
  4263. BX2 -X0*X5
  4264. SX3 X2-1R0
  4265. NG X3,AEPX IF ALPHA CHARACTER
  4266. SX2 X2-1R8
  4267. PL X2,AEPX IF NOT OCTAL DIGIT
  4268. LX6 3
  4269. BX6 X6+X3
  4270. SB4 B4-B1
  4271. NZ B4,AEP1 IF MORE CHARACTERS TO PROCESS
  4272. SA5 A5+B1 GET SECOND WORD TO BE PROCESSED
  4273. SB4 4
  4274. SX2 A5-CBUF-1
  4275. ZR X2,AEP1 IF SECOND WORD TO BE PROCESSED
  4276. SB3 B0
  4277. EQ AEPX RETURN
  4278. AMX SPACE 4,15
  4279. ** AMX - ASSEMBLE MAXIMUM RESOURCE LIMITS.
  4280. *
  4281. * ENTRY (X5) = (CBUF) = ASSEMBLED DATA.
  4282. *
  4283. * EXIT ALL RESOURCE LIMITS SET TO MAXIMUM VALUES.
  4284. * (B3) = -1, IF NO ERROR.
  4285. * (B3) = ERROR MESSAGE ADDRESS IF *ALL* NOT SPECIFIED.
  4286. *
  4287. * USES X - 0, 1, 2, 5, 6, 7.
  4288. * A - 1, 5, 6, 7.
  4289. * B - 3.
  4290. *
  4291. * MACROS FUNC.
  4292.  
  4293.  
  4294. AMX SUBR ENTRY/EXIT
  4295. SA1 =3LALL
  4296. BX2 X5-X1
  4297. SA5 TINE-1 INITIALIZE TABLE SEARCH
  4298. SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
  4299. NZ X2,AMXX IF *ALL* NOT ENTERED
  4300. SB3 -1
  4301. AMX1 SA5 A5+B1 GET NEXT TABLE ENTRY
  4302. MX0 18
  4303. SA1 =2LRL
  4304. BX2 X0*X5
  4305. BX2 X1-X2
  4306. ZR X2,AMXX IF END OF ENTRIES TO PROCESS
  4307. LX5 36
  4308. BX6 -X0*X5 ADDRESS OF MAXIMUM VALUE
  4309. SA2 X6
  4310. BX6 X2 MAXIMUM VALUE
  4311. MX0 -6
  4312. LX5 6
  4313. BX7 -X0*X5 UPPER BIT OF FIELD
  4314. SA7 DF+1
  4315. LX5 6
  4316. BX7 -X0*X5 SIZE OF FIELD
  4317. SA7 A7+B1
  4318. LX5 6
  4319. BX7 -X0*X5 FIRST WORD ADDRESS OF FIELD
  4320. SA7 A7+B1
  4321. SX3 TANB
  4322. FUNC SDFT SET DATA IN FIELD
  4323. EQ AMX1 CHECK NEXT ENTRY
  4324. AND SPACE 4,20
  4325. ** AND - ASSEMBLE NUMERIC DATA.
  4326. *
  4327. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4328. * PARAMETERS FROM *TINE* TABLE.
  4329. * (X5) = (CBUF) = ASSEMBLED DATA.
  4330. *
  4331. * EXIT (X6) = DATA TO BE STORED IN *TANB*.
  4332. * (B3) = 0.
  4333. *
  4334. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4335. *
  4336. * USES A - 1.
  4337. * B - 3, 7.
  4338. * X - 1.
  4339. *
  4340. * CALLS DXB.
  4341.  
  4342.  
  4343. AND SUBR ENTRY/EXIT
  4344. SB7 B1 BASE DECIMAL
  4345. RJ DXB CONVERT DIGITS
  4346. NZ X4,AND1 IF ERROR IN ASSEMBLY
  4347. SA1 DF GET MAXIMUM VALUE
  4348. SB3 B0
  4349. ZR X1,ANDX IF INFINITE
  4350. IX1 X1-X6
  4351. PL X1,ANDX IF WITHIN MAXIMUM
  4352. AND1 SB3 ERND **** ERROR IN NUMERIC DATA.
  4353. EQ ANDX RETURN
  4354. API SPACE 4,15
  4355. ** API - ASSEMBLE PERSONAL IDENTIFICATION.
  4356. *
  4357. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4358. * PARAMETERS FROM *TINE* TABLE.
  4359. * (A5) = CBUF.
  4360. * (X5) = (CBUF) = ASSEMBLED DATA.
  4361. *
  4362. * EXIT (B3) .LT. 0.
  4363. *
  4364. * USES A - 1, 6.
  4365. * B - 3.
  4366. * X - 1, 6.
  4367.  
  4368.  
  4369. API SUBR ENTRY/EXIT
  4370. BX6 X5
  4371. SA6 TANB+APID
  4372. SA1 A5+B1
  4373. SB3 -B1
  4374. BX6 X1
  4375. SA6 TANB+API2
  4376. EQ APIX RETURN
  4377. APN SPACE 4,15
  4378. ** APN - ASSEMBLE PROJECT NUMBER.
  4379. *
  4380. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4381. * PARAMETERS FROM *TINE* TABLE.
  4382. * (X5) = (CBUF) = ASSEMBLED DATA.
  4383. *
  4384. * EXIT (B3) .LT. 0.
  4385. *
  4386. * USES A - 1, 6.
  4387. * B - 3.
  4388. * X - 1, 6.
  4389.  
  4390.  
  4391. APN SUBR ENTRY/EXIT
  4392. BX6 X5
  4393. SA6 TANB+APJN
  4394. SA1 A5+B1
  4395. SB3 -B1
  4396. BX6 X1
  4397. SA6 TANB+APJ1
  4398. EQ APNX RETURN
  4399. APW SPACE 4,15
  4400. ** APW - ASSEMBLE PASS WORD.
  4401. *
  4402. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4403. * PARAMETERS FROM *TINE* TABLE.
  4404. * (X5) = (CBUF) = ASSEMBLED DATA.
  4405. *
  4406. * EXIT (B3) .LT. 0.
  4407. *
  4408. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4409. *
  4410. * USES A - 1, 2, 3, 4, 6, 7.
  4411. * B - 3.
  4412. * X - ALL.
  4413. *
  4414. * CALLS ADT, EPW, VPW.
  4415.  
  4416.  
  4417. APW5 SA1 OP
  4418. NZ X1,APWX IF NOT K-DISPLAY
  4419. SA1 DF+4
  4420. SB3 ERPU **** PASSWORDS UPDATED.
  4421. ZR X1,APWX IF BOTH PASSWORDS UPDATED
  4422. LX1 12
  4423. SX2 X1-2RPB
  4424. SB3 ERBU **** BATCH PASSWORD UPDATED.
  4425. ZR X2,APWX IF ONLY BATCH PASSWORD UPDATED
  4426. SB3 ERIU **** INTERACTIVE PASSWORD UPDATED.
  4427.  
  4428. APW SUBR ENTRY/ EXIT
  4429. BX7 X5
  4430. RJ VPW VERIFY PASSWORD
  4431. ZR B2,APW1 IF PASSWORD IS OF REQUIRED LENGTH
  4432. SA1 RDBA CHECK IF OLD USER NAME
  4433. SB3 ERIP **** INCORRECT PASSWORD.
  4434. NZ X1,APWX IF NEW USER NAME
  4435. SB3 ERPI **** INCORRECT PASSWORD IGNORED.
  4436. EQ APWX RETURN
  4437.  
  4438. * ENCRYPT PASSWORD.
  4439.  
  4440. APW1 RJ EPW ENCRYPT PASSWORD
  4441. BX5 X6
  4442.  
  4443. * SAVE ENCRYPTED PASSWORD. SET EXPIRATION DATE TO
  4444. * DEFAULT WHEN CREATING PASSWORD FOR A NEW USER.
  4445.  
  4446. APW2 SA3 DF+3 GET PREVIOUS VALUE
  4447. SA4 X3+TANB
  4448. SX2 B0+
  4449. SX1 APXT-7777B DEFAULT PASSWORD EXPIRATION TERM
  4450. ZR X1,APW3 IF NON-EXPIRING DEFAULT EXPIRATION TERM
  4451. SA3 ASVW+TANB SECURITY VALIDATION WORD
  4452. NG X3,APW3 IF SECURITY ADMINISTRATOR
  4453. SA2 PD GET PACKED DATE
  4454. SX1 APXT DEFAULT PASSWORD EXPIRATION TERM
  4455. ZR X1,APW3 IF NO DEFAULT EXPIRATION TERM
  4456. RJ ADT ADD TERM TO DATE
  4457. APW3 BX6 X5+X2 COMBINE PASSWORD WITH EXPIRATION DATE
  4458. SA6 A4+
  4459. APW4 SA1 DF+4 FUNCTION IDENTIFIER
  4460. SA2 =2LPW
  4461. IX7 X1-X2
  4462. SB3 -B1
  4463. NZ X7,APW5 IF NOT *PW* FUNCTION IDENTIFIER
  4464. SA7 A1+ CLEAR FUNCTION IDENTIFIER
  4465. SX7 APWI
  4466. SA7 DF+3 SET ADDRESS
  4467. EQ APW2 PROCESS INTERACTIVE PASSWORD
  4468. AED SPACE 4,10
  4469. ** AED - ASSEMBLE EXPIRATION DATE.
  4470. *
  4471. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4472. * (PARAMETERS FROM *TINE* TABLE).
  4473. * (X5) = (CBUF) = ASSEMBLED DATA.
  4474. * (X1) = 0 IF EXACT CHARACTER COUNT ASSEMBLED.
  4475. *
  4476. * EXIT (B3) .LT. 0.
  4477. *
  4478. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4479. *
  4480. * USES X - 1, 2, 3, 6, 7.
  4481. * A - 1, 2, 3, 6, 7.
  4482. * B - 3.
  4483. *
  4484. * CALLS VDT.
  4485. *
  4486. * MACROS FUNC.
  4487.  
  4488.  
  4489. AED SUBR ENTRY / EXIT
  4490. BX2 X2-X2
  4491. SA3 =1L* CHECK FOR NONEXPIRING PASSWORD
  4492. IX6 X3-X5
  4493. ZR X6,AED1 IF NONEXPIRING PASSWORD
  4494. SB3 ERND **** ERROR IN NUMERIC DATA.
  4495. NZ X1,AEDX IF NOT EXACT CHARACTER COUNT
  4496. BX1 X5
  4497. RJ VDT DATE TIME CHECK
  4498. SB3 ERND **** ERROR IN NUMERIC DATA.
  4499. NG X6,AEDX IF ERROR IN CONVERSION
  4500. SA2 TANB+ASVW SECURITY VALIDATION WORD
  4501. SB3 ERXD **** CANNOT ALTER XD/XT OF *CSAP*
  4502. NG X2,AEDX IF SECURITY ADMINISTRATOR
  4503. AED1 SA6 AEDA SAVE EXPIRATION DATE
  4504. SX3 TANB
  4505. FUNC SDFT SET DATA IN FIELD
  4506. SA1 DF+4 FUNCTION IDENTIFIER
  4507. SA2 =2LXD
  4508. IX6 X1-X2
  4509. SB3 -B1
  4510. NZ X6,AEDX IF NOT *XD* IDENTIFIER
  4511. SA6 A1 CLEAR IDENTIFIER
  4512. SX7 APWI
  4513. SA7 DF+3 ADDRESS FOR INTERACTIVE PASSWORD
  4514. SA1 AEDA
  4515. BX6 X1
  4516. EQ AED1 ALSO SET INTERACTIVE PASSWORD EXPIRATION
  4517.  
  4518.  
  4519. AEDA CON 0 EXPIRATION DATE
  4520. ASC SPACE 4,15
  4521. ** ASC - ASSEMBLE SECURITY COUNT.
  4522. *
  4523. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4524. * PARAMETERS FROM *TINE* TABLE.
  4525. * (X5) = (CBUF) = ASSEMBLED DATA.
  4526. *
  4527. * EXIT (X6) = DATA TO BE STORED IN TABLE.
  4528. * (B3) = 0.
  4529. *
  4530. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4531. *
  4532. * CALLS AND.
  4533.  
  4534. ASC SUBR ENTRY/EXIT
  4535. RJ AND ASSEMBLE NUMERIC DATA
  4536. GT B0,B3,ASCX IF ERROR
  4537. SA1 ASVW+TANB
  4538. PL X1,ASCX IF NOT SECURITY ADMINISTRATOR
  4539. SB3 ERCS **** CANNOT ALTER SEC. COUNT OF *CSAP*.
  4540. EQ ASCX RETURN
  4541. ATE SPACE 4,10
  4542. ** ATE - ASSEMBLE EXPIRATION TERM.
  4543. *
  4544. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4545. * PARAMETERS FROM *TINE* TABLE.
  4546. * (X5) = (CBUF) = ASSEMBLED DATA.
  4547. *
  4548. * EXIT (B3) .LT. 0.
  4549. *
  4550. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4551. *
  4552. * USES X - 1, 2, 3, 6, 7.
  4553. * A - 1, 2, 6, 7.
  4554. * B - 3, 7.
  4555. *
  4556. * CALLS ADT, DXB.
  4557. *
  4558. * MACROS FUNC.
  4559.  
  4560.  
  4561.  
  4562. ATE3 SB3 ERAD **** ERROR IN NUMERIC DATA.
  4563.  
  4564. ATE SUBR ENTRY/EXIT
  4565. SA1 =1L*
  4566. IX6 X1-X5
  4567. ZR X6,ATE1 IF NON-EXPIRING PASSWORD
  4568. SB7 B1 SET DECIMAL BASE
  4569. RJ DXB DISPLAY TO BINARY CONVERSION
  4570. NZ X4,ATE3 IF ERROR IN CONVERSION
  4571. SA2 DF MAXIMUM VALUE ALLOWED
  4572. IX2 X2-X6
  4573. BX1 X6
  4574. NG X2,ATE3 IF VALUE OUT OF RANGE
  4575. SX6 X6-7777B
  4576. ZR X6,ATE1 IF NON-EXPIRING PASSWORD
  4577. SA2 TANB+ASVW SECURITY VALIDATION PRIVILEGES
  4578. SB3 ERXD **** CANNOT ALTER XD/XT OF *CSAP*
  4579. NG X2,ATEX IF SECURITY ADMINISTRATOR
  4580. SA2 PD GET PACKED DATE
  4581. BX6 X2
  4582. ZR X1,ATE1 IF IMMEDIATELY EXPIRING PASSWORD
  4583. RJ ADT ADD TERM VALUE TO PACKED DATE
  4584. ATE1 SX3 TANB SET DATA FIELD
  4585. SA6 ATEA SAVE EXPIRATION DATE
  4586. FUNC SDFT SET DATA IN FIELD
  4587. SA1 DF+4 FUNCTION IDENTIFIER
  4588. SA2 =2LXT
  4589. IX6 X1-X2
  4590. SB3 -B1
  4591. NZ X6,ATEX IF NOT *XT* IDENTIFIER
  4592. SA6 A1+ CLEAR IDENTIFIER
  4593. SX7 APWI
  4594. SA7 DF+3 INTERACTIVE PASSWORD ADDRESS
  4595. SA2 ATEA GET EXPIRATION DATE
  4596. BX6 X2
  4597. EQ ATE1 ALSO SET INTERACTIVE PASSWORD EXPIRATION
  4598.  
  4599.  
  4600. ATEA CON 0 EXPIRATION DATE
  4601. AUX SPACE 4,15
  4602. ** AUX - ASSEMBLE USER INDEX.
  4603. *
  4604. * EXIT (B3) = 0.
  4605. * (X6) = DATA TO BE STORED IN *TANB*.
  4606. *
  4607. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4608. *
  4609. * USES A - 2, 3.
  4610. * B - 3.
  4611. * X - 0, 2, 3.
  4612. *
  4613. * CALLS AND, CUI.
  4614.  
  4615.  
  4616. AUX1 SB3 ERND **** ERROR IN NUMERIC DATA.
  4617.  
  4618. AUX SUBR ENTRY/EXIT
  4619. RJ AND ASSEMBLE NUMERIC DATA
  4620. GT B3,AUXX IF ERROR
  4621. ZR X6,AUX1 IF USER INDEX ZERO
  4622. SA2 DF+4
  4623. SA3 =2LUI
  4624. BX3 X2-X3
  4625. NZ X3,AUXX IF NOT *UI* DIRECTIVE
  4626. SA3 SI
  4627. NZ X3,AUXX IF *SI* SELECTED
  4628. SX0 B1 CHECK FOR DUPLICATE USER INDEX
  4629. RJ CUI
  4630. PL X7,AUXX IF NOT DUPLICATE
  4631. SB3 ERUI **** DUPLICATE USER INDEX
  4632. EQ AUXX RETURN
  4633. CUI SPACE 4,20
  4634. ** CUI - CHECK USER INDEX.
  4635. *
  4636. * ENTRY (X6) = USER INDEX.
  4637. * (TAUI) = ASSIGNED USER INDICES.
  4638. * (X0) = 0, IF USER INDEX TO BE SET IN TAUI.
  4639. * (X0) .NE. 0, IF USER INDEX TO BE CHECKED FOR
  4640. * DUPLICATION.
  4641. *
  4642. * EXIT (X7) .LT. 0, IF DUPLICATE USER INDEX FOUND FOR
  4643. * CHECK USER INDEX REQUEST.
  4644. *
  4645. * USES X - 0, 1, 2, 3, 7.
  4646. * A - 1, 7.
  4647. * B - 2, 7.
  4648.  
  4649.  
  4650. CUI SUBR ENTRY/ EXIT
  4651. SX7 X6-AUIMX
  4652. PL X7,CUIX IF SPECIAL USER INDEX (SYSTEM/LIBRARY)
  4653. SX1 60 FIND UI BIT
  4654. SX2 X6-1
  4655. IX2 X2/X1 (X2) = WORD
  4656. SX1 60
  4657. BX3 X2
  4658. IX1 X1*X3
  4659. IX3 X6-X1
  4660. SB2 X3-1 (B2) = SHIFT COUNT
  4661. SA1 X2+TAUI
  4662. LX7 X1,B2
  4663. NZ X0,CUIX IF USER INDEX NOT TO BE SET
  4664. MX0 1 SET USER INDEX IN TAUI
  4665. SB7 -60
  4666. BX1 X0+X7
  4667. SB2 B2+B7
  4668. AX7 X1,B2
  4669. SA7 A1+
  4670. EQ CUIX RETURN
  4671. DAN SPACE 4,15
  4672. ** DAN - DELETE USER NAME.
  4673. *
  4674. * ENTRY (DF - DF+4) = *M*, *U*, *S*, *F*, *I*
  4675. * PARAMETERS FROM *TINE* TABLE.
  4676. * (X5) = (CBUF) = ASSEMBLED DATA.
  4677. *
  4678. * EXIT (B3) .LT. 0.
  4679. *
  4680. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  4681. *
  4682. * USES A - 1, 3, 6, 7.
  4683. * B - 3.
  4684. * X - 0, 1, 2, 3, 6, 7.
  4685. *
  4686. * CALLS CUN.
  4687. *
  4688. * MACROS MESSAGE, SEARCH.
  4689.  
  4690.  
  4691. DAN1 RJ CUN CHECK USER NAMES
  4692. SB3 ERDU **** CANNOT DELETE USER RUNNING MODVAL.
  4693. ZR X1,DANX IF USER NAMES MATCH
  4694. SA3 OP CHECK OPTION
  4695. SA1 EF
  4696. NZ X3,DAN2 IF NOT K-DISPLAY
  4697. NZ X1,DAN2 IF ERROR FLAG SET
  4698. SA1 =10H DELETING
  4699. BX7 X1
  4700. SA7 MSGA
  4701. MESSAGE A7,1
  4702. DAN2 SX6 B1 SET DELETE FLAG
  4703. SB3 -B1
  4704. SA6 DANA
  4705.  
  4706. DAN SUBR ENTRY / EXIT
  4707. SA1 OP CHECK OPTION
  4708. SX2 DMSE * SYSTEM ERROR.*
  4709. SX1 X1-COPT
  4710. ZR X1,ABT IF CREATE
  4711. SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
  4712. SA1 AN
  4713. BX2 X5-X1
  4714. NZ X2,DANX IF INCORRECT USER NAME
  4715. MX0 42
  4716. SEARCH TAB1,X1,M
  4717. NZ X2,DAN1 IF MATCH
  4718. SA1 =10H NAME
  4719. MX7 0
  4720. BX6 X1
  4721. SA7 DANA
  4722. SA6 ERNF+2
  4723. SB3 ERNF **** USER NAME NOT FOUND.
  4724. EQ DANX RETURN
  4725.  
  4726.  
  4727. DANA CON 0
  4728. DIP SPACE 4,15
  4729. ** DIP - DIRECTIVE INPUT PROCESSOR.
  4730. *
  4731. * EXIT IF END OF INPUT DIRECTIVES OR OVERFLOW.
  4732. *
  4733. * USES X - ALL.
  4734. * A - 1, 2, 3, 5, 6, 7.
  4735. * B - 3, 6, 7.
  4736. *
  4737. * CALLS AAN, ACI, CUN, CPR, FFA, IDE, PAG, RDB, SFN, SRD.
  4738. *
  4739. * MACROS FUNC, MESSAGE, MOVE, SEARCH.
  4740.  
  4741.  
  4742. DIP SUBR ENTRY/ EXIT
  4743. SA1 ET CHECK ENTRY TERMINATION
  4744. NZ X1,DIP10 IF SET (CREATE PERFORMED)
  4745.  
  4746. * FIND NEXT -/-.
  4747.  
  4748. DIP1 SA1 KIA SET INITIAL SCREENS
  4749. SX7 MSGA CLEAR MESSAGE LINE AFTER INPUT
  4750. SA7 M1
  4751. SX7 INPA SET KEYBOARD INPUT LINE
  4752. SA7 IL
  4753. MX0 24
  4754. BX6 X0*X1
  4755. SX5 DSA
  4756. BX6 X5+X6
  4757. SA6 A1
  4758. SA2 CS SUPPRESS BLANKS
  4759. MX1 0
  4760. BX6 X2
  4761. RJ ACI ASSEMBLE CHARACTERS
  4762. SB3 ERAN **** ERROR IN USER NAME.
  4763. ZR B6,DIP10 IF ENTRY TERMINATION
  4764. SA1 OP CHECK OPTION
  4765. NZ X1,DIP5 IF NOT K-DISPLAY
  4766. DIP2 SX7 B0 CLEAR COMMAND FLAGS
  4767. MX0 42
  4768. SA7 DIPC
  4769. SA7 DIPD
  4770. SA7 ET
  4771. SA7 EF
  4772. SA7 DANA
  4773. ZR X4,DIP1 IF NO CHARACTERS ASSEMBLED
  4774. SA1 CBUF
  4775. BX6 X1
  4776.  
  4777. * FIND NEXT COMMAND FROM K-DISPLAY.
  4778.  
  4779. SA1 DIPB-1 COMMAND TABLE
  4780. DIP3 SA1 A1+B1
  4781. BX2 X1*X0
  4782. ZR X1,DIP4 IF END OF TABLE
  4783. BX2 X2-X6
  4784. NZ X2,DIP3 IF NO MATCH
  4785. SX7 B1 SET FLAG
  4786. SA7 X1
  4787. EQ DIP10 PROCESS USER NAME
  4788.  
  4789. DIP4 SA1 =0LEND CHECK FOR K-DISPLAY TERMINATION COMMANDS
  4790. SA2 =0LSTOP
  4791. BX1 X1-X6
  4792. BX2 X2-X6
  4793. ZR X1,DIPX IF *END*
  4794. ZR X2,DIPX IF *STOP*
  4795. SB3 ERFE **** FORMAT ERROR.
  4796. DIP5 RJ IDE INPUT DATA ERROR
  4797. EQ DIP1 SEARCH FOR -/-
  4798.  
  4799. * CLEAN UP CURRENT USER ENTRY.
  4800.  
  4801. DIP6 SA2 OP CHECK FOR K-DISPLAY INHIBITORS
  4802. NZ X2,DIP21 IF NOT K-DISPLAY
  4803. SB6 B7+5
  4804. PL B6,DIP7 IF NOT PAGING COMMAND
  4805. SX3 -B7
  4806. RJ PAG
  4807. EQ DIP22 PROCESS NEXT DIRECTIVE
  4808.  
  4809. DIP7 SX6 2
  4810. SB7 B7+4
  4811. SA6 ET
  4812. NG B7,DIPX IF *STOP*
  4813. SA1 EF INQUIRE ONLY FLAG
  4814. SX6 B7
  4815. BX6 X1+X6
  4816. SA6 EF INHIBIT USER UPDATE IF *DROP*
  4817. ZR B7,DIP8 IF NOT *DROP*
  4818. SA1 =10HINQUIRING
  4819. BX6 X1
  4820. SA6 MSGA
  4821. EQ DIP9 FINISH FORMER USER NAME
  4822.  
  4823. DIP8 SA5 APSW+TANB CHECK BATCH PASSWORD
  4824. RJ CPR
  4825. NZ B3,DIP8.1 IF REQUIRED AND NOT ENTERED
  4826. SA5 APWI+TANB CHECK INTERACTIVE PASSWORD
  4827. RJ CPR
  4828. ZR B3,DIP9 IF ENTERED
  4829. DIP8.1 RJ IDE PROCESS ERROR
  4830. SA1 OP
  4831. ZR X1,DIP22 IF K-DISPLAY
  4832. DIP9 RJ FFA FINISH FORMER USER ENTRY
  4833. SA1 TV
  4834. NZ X1,DIPX IF OVERFLOW
  4835. SA1 MSGA+1 SET COMPLETED MESSAGE
  4836. SA2 A1-B1
  4837. BX6 X1
  4838. SA1 DIPF
  4839. SA6 A2
  4840. BX7 X1-X2
  4841. SA7 A6+1
  4842. DIP10 SA2 ET
  4843. NG X2,DIPX IF EOF
  4844. SX2 X2-2
  4845. ZR X2,DIP1 IF K-DISPLAY *END* OR *DROP*
  4846. SX6 B0+ CLEAR FILE POINTERS
  4847. SA6 ET ENTRY TERMINATION
  4848. SA6 AN USER NAME
  4849. SA6 M1 RETAIN K-DISPLAY STATUS MESSAGE
  4850. RJ AAN ASSEMBLE USER NAME
  4851. GT B3,DIP20 IF ERROR
  4852. NZ X1,DIP20 IF ENTRY TERMINATION
  4853. SA6 DIPA+1 SET NAME IN MESSAGES
  4854. BX1 X6
  4855. RJ SFN
  4856. SA6 DSAN
  4857. SA1 =10H CREATING PRESET MESSAGE
  4858. BX6 X1
  4859. SA6 DIPA
  4860. R= X6,PCDM CLEAR DEFAULT PERMISSION BITS IF SPECIFIED
  4861. SX7 B1+ INDICATE NEW USER
  4862. SA6 PCDW
  4863.  
  4864. * PRESET USER NAME ENTRY.
  4865.  
  4866. MOVE ARBS,TODV,TANB SET DEFAULT VALUES
  4867. SA2 UF CHECK MODE
  4868. ZR X2,DIP17 IF NOT UPDATE
  4869. SX1 AN SET PRIMARY BLOCK
  4870. SX0 N
  4871. FUNC SPBT
  4872. NZ X6,ABT IF ERROR, AND (X2) = MESSAGE
  4873. BX6 X4 SET ENTRY FOUND FLAG
  4874. SA6 RDBA
  4875. ZR X4,DIP13 IF EXACT HIT
  4876. SA1 OP CHECK K DISPLAY COMMANDS
  4877. SA2 DIPD *U* K-OPTION
  4878. NZ X1,DIP12 IF NOT K-DISPLAY
  4879. SA1 EF *I* K-OPTION
  4880. SA3 DANA *D* K-OPTION
  4881. BX2 X1+X2
  4882. BX2 X2+X3
  4883. ZR X2,DIP12 IF NOT UPDATE ONLY
  4884. SB3 ERNF **** USER NAME NOT FOUND.
  4885. DIP11 SA1 AN PROCESS *U* OR *C* K-COMMAND ERROR
  4886. RJ SFN
  4887. LX6 -6
  4888. SA6 B3+2
  4889. RJ IDE
  4890. MX4 0
  4891. EQ DIP2 FIND NEXT COMMAND
  4892.  
  4893. DIP12 SA5 RAND CHECK AVAILABLE ROOM IN CHAINED BLOCK
  4894. ZR X5,DIP19 IF NONE
  4895. EQ DIP15 READ BLOCK
  4896.  
  4897. * READ LEVEL-2 BLOCK TO TABLE.
  4898.  
  4899. DIP13 SA1 OP
  4900. SA2 DIPC *C* K-OPTION
  4901. NZ X1,DIP14 IF NOT K-DISPLAY
  4902. SB3 ERFD **** USER NAME ALREADY EXISTS.
  4903. NZ X2,DIP11 IF CREATE ONLY
  4904. DIP14 SA2 OP CHECK OPTION
  4905. SB3 ERDA **** DUPLICATE USER NAME.
  4906. SX2 X2-COPT
  4907. ZR X2,DIP21 IF CREATE
  4908. DIP15 RJ RDB READ LEVEL-2 BLOCK
  4909. SA2 =10H UPDATING
  4910. NZ X1,DIP19 IF NOT EXACT HIT
  4911. SX6 B1+ SET USER NAME UPDATE FLAG
  4912. SA6 UUFG
  4913. SA1 EF CHECK ERROR FLAG FOR INQUIRE
  4914. ZR X1,DIP16 IF NOT INQUIRE
  4915. SA2 =10HINQUIRING
  4916. DIP16 BX6 X2
  4917. SA1 DANA CHECK FOR *D* K-OPTION
  4918. SX7 B1+B1
  4919. SA6 DIPA
  4920. MX6 TPCWL PREVENT CLEARING OF PERMISSION BITS
  4921. LX6 TPCWL
  4922. SA6 PCDW
  4923. ZR X1,DIP19 IF NOT PRESENT
  4924. RJ CUN CHECK USER NAME
  4925. SB3 ERDU **** CANNOT DELETE USER RUNNING MODVAL.
  4926. ZR X1,DIP5 IF SAME USER
  4927. SA7 ET SET K-DISPLAY ENTRY TERMINATION
  4928. SA1 =10H DELETING SET STATUS MESSAGE
  4929. BX6 X1
  4930. SA6 DIPA
  4931. MOVE 2,DIPA,MSGA
  4932. EQ DIP9 DELETE USER NAME
  4933.  
  4934. * CHECK DUPLICATE USER NAME.
  4935.  
  4936. DIP17 SA1 AN
  4937. MX0 42
  4938. SEARCH TAB1,X1,M
  4939. NZ X2,DIP18 IF MATCH
  4940. SEARCH TAB2,X6,M SEARCH FOR DUPLICATE USER IN LEVEL-2
  4941. ZR X2,DIP19 IF NO MATCH
  4942. DIP18 SB3 ERDA **** DUPLICATE USER NAME.
  4943. RJ IDE
  4944. DIP19 MESSAGE DIPA,1 SET MESSAGES
  4945. MOVE 2,DIPA,MSGA
  4946. SA1 KIA SET DISPLAY CONTROL WORD
  4947. MX0 24
  4948. BX6 X0*X1
  4949. SX5 DSB SET PAGE ONE LEFT
  4950. BX6 X5+X6
  4951. SX5 DSG SET PAGE ONE RIGHT
  4952. LX5 18
  4953. BX6 X5+X6
  4954. SA6 A1+
  4955. SX6 INPB SET KEYBOARD INPUT LINE
  4956. SA6 IL
  4957. SA1 PAGA RESET PAGE TABLE HEADER
  4958. LX1 30
  4959. MX0 42
  4960. BX1 X0*X1
  4961. SX6 B1
  4962. BX1 X1+X6 SET PAGE ONE LEFT
  4963. LX1 30
  4964. BX1 X0*X1
  4965. BX6 X1+X6 SET PAGE ONE RIGHT
  4966. SA6 A1
  4967. EQ DIP22 PROCESS CODE IDENTIFIERS
  4968.  
  4969. DIP20 SA1 OP
  4970. ZR X1,DIP5 IF K-DISPLAY
  4971. DIP21 RJ IDE INPUT DATA ERROR
  4972. SA1 ET
  4973. NZ X1,DIP8 IF ENTRY TERMINATION
  4974.  
  4975. * PROCESS CODE IDENTIFIERS.
  4976.  
  4977. DIP22 SA1 OP CHECK OPTION
  4978. NZ X1,DIP23 IF NOT K-DISPLAY
  4979. RJ SRD SET RECORD DISPLAY FOR K-DISPLAY
  4980. DIP23 SX0 I SCAN FOR CODE IDENTIFIER
  4981. SA1 CK ALLOW K-DISPLAY PAGING CHARACTERS
  4982. SX3 TKDE
  4983. SX6 TINE
  4984. FUNC SCIT
  4985. NZ X1,DIP24 IF NO ERROR IN IDENTIFIER
  4986. SB3 ERID **** ERROR IN IDENTIFIER.
  4987. NZ B5,DIP25 IF SEPARATOR NOT *=*
  4988. MX1 0
  4989. BX6 X6-X6
  4990. RJ ACI SKIP OVER PARAMETER
  4991. SB3 ERID **** ERROR IN IDENTIFIER.
  4992. SX1 B0+
  4993. EQ DIP25 DISPLAY ERROR
  4994.  
  4995. DIP24 ZR B6,DIP8 IF ENTRY TERMINATION
  4996. NG B7,DIP6 IF K-DISPLAY COMMAND ENTERED
  4997. DIP25 SA3 OP
  4998. NZ X3,DIP26 IF NOT K-DISPLAY
  4999. SA2 EF
  5000. ZR X2,DIP26 IF NOT INQUIRE OPTION
  5001. SB3 ERIQ **** UPDATE NOT ALLOWED BY INQUIRE.
  5002. EQ DIP21 DISPLAY ERROR MESSAGE
  5003.  
  5004. DIP26 ZR X1,DIP21 IF ERROR IN IDENTIFIER
  5005. RJ PDD PROCESS DIRECTIVE DATA
  5006. GT B3,DIP21 IF ERROR
  5007. SA1 ET CHECK FOR ENTRY TERMINATION
  5008. ZR X1,DIP22 IF NONE
  5009. EQ DIP8 CLEAN UP USER NAME
  5010.  
  5011.  
  5012. DIPA DIS ,* CREATING USER.*
  5013. DIPB CON 0LI+EF K-DIPLAY OPTION TABLE
  5014. CON 0LC+DIPC
  5015. CON 0LU+DIPD
  5016. CON 0LDEL+DANA
  5017. CON 0
  5018. DIPC CON 0 K-CREATE ONLY FLAG
  5019. DIPD CON 0 K-UPDATE ONLY FLAG
  5020. DIPF CON 4RING &4RED. CONSTANT
  5021. IDE SPACE 4,10
  5022. ** IDE - INPUT DATA ERROR.
  5023. *
  5024. * ENTRY (B3) = ERROR MESSAGE ADDRESS.
  5025. *
  5026. * EXIT ERROR MESSAGE WRITTEN.
  5027. *
  5028. * USES X - 1, 2, 3, 5, 6, 7.
  5029. * A - 1, 2, 3, 6, 7.
  5030. * B - 2.
  5031. *
  5032. * CALLS CLN.
  5033. *
  5034. * MACROS MOVE, WRITEC, WRITEH, WRITES, WRITEW.
  5035.  
  5036.  
  5037. IDE4 SA2 KIA GET K-DISPLAY STATUS WORD
  5038. SX6 MSGA
  5039. SX3 X2-DSA
  5040. ZR X3,IDE5 IF INITIAL SCREEN
  5041. SA2 PAGA GET MESSAGE AREA FROM PAGE TABLE
  5042. LX2 30
  5043. SB2 X2
  5044. SA2 A2+B2 CURRENT LEFT PAGE
  5045. AX2 18
  5046. SX6 X2+ MESSAGE AREA
  5047. SA6 M2
  5048. IDE5 MOVE 4,X5,X6
  5049.  
  5050. IDE SUBR ENTRY/ EXIT
  5051. SA2 OP CHECK OPTION
  5052. SX5 B3+B1
  5053. SA1 B3 SET ERROR FLAG
  5054. ZR X2,IDE4 IF K-DISPLAY
  5055. SA3 EF UPDATE ERROR FLAG
  5056. SA2 EMSF
  5057. BX6 X1+X3
  5058. BX7 X1+X2
  5059. SA6 A3
  5060. SA7 A2
  5061. NZ X1,IDE1 IF ERROR FLAG SET
  5062. SX6 B1+ SET WARNING MESSAGE FLAG
  5063. SA6 WMSF
  5064. IDE1 SA3 EL CHECK ERROR LIST FLAG
  5065. SX1 3
  5066. ZR X3,IDE2 IF DIRECTIVES LISTED
  5067. SX1 4
  5068. IDE2 RJ CLN CHECK LINE AVAILABLE
  5069. SA1 EL CHECK ERROR LIST FLAG
  5070. ZR X1,IDE3 IF DIRECTIVES LISTED
  5071. SA1 SB LIST ERRONEOUS DIRECTIVE
  5072. SA3 SM GET BUFFER LENGTH
  5073. IX3 X3-X1
  5074. WRITES O,X1-1,X3+1
  5075. IDE3 WRITEH O,X5,4 WRITE ERROR MESSAGE
  5076. WRITEW O,(=10H USER ),1
  5077. WRITEC O,AN,1 WRITE USER NAME
  5078. WRITEH O,(=1H ),1
  5079. EQ IDEX RETURN
  5080.  
  5081.  
  5082. * ERROR MESSAGES TO OUTPUT FILE OR K-DISPLAY.
  5083.  
  5084. ERAN CON 1
  5085. DIS 4, **** ERROR IN USER NAME.
  5086. ERDA CON 1
  5087. DIS 4, **** DUPLICATE USER NAME.
  5088. ERFD CON 1
  5089. DIS 4, **** USER NAME ALREADY EXISTS.
  5090. ERFE CON 1
  5091. DIS 4, **** FORMAT ERROR.
  5092. ERID CON 1
  5093. DIS 4, **** ERROR IN IDENTIFIER.
  5094. ERIQ CON 0
  5095. DIS 4, **** UPDATE NOT ALLOWED BY INQUIRE.
  5096. ERND CON 1
  5097. DIS 4, **** ERROR IN NUMERIC DATA.
  5098. ERNF CON 1
  5099. DIS 4, **** USER NAME NOT FOUND.
  5100. ERAD CON 1
  5101. DIS 4, **** ERROR IN ALPHANUMERIC DATA.
  5102. ERUI CON 1
  5103. DIS 4, **** USER INDEX PREVIOUSLY DEFINED.
  5104. ERUN CON 1
  5105. DIS 4, **** NO USER INDICES AVAILABLE.
  5106. ERIP CON 1
  5107. DIS 4, **** INCORRECT PASSWORD.
  5108. ERPI CON 0
  5109. DIS 4, **** INCORRECT PASSWORD IGNORED.
  5110. ERPR CON 1
  5111. DIS 4, **** PASSWORD REQUIRED.
  5112. EROD CON 0
  5113. CUE$ IFEQ CUE$,2
  5114. DIS 4, **** DIRECTIVE IGNORED.
  5115. CUE$ ELSE
  5116. DIS 4, **** OBSOLETE DIRECTIVE IGNORED.
  5117. CUE$ ENDIF
  5118. ERDU CON 1
  5119. DIS 4, **** CANNOT DELETE USER RUNNING MODVAL.
  5120. ERSP CON 1
  5121. DIS 4, **** CANNOT DELETE *CSAP* PRIVILEGE.
  5122. ERXD CON 1
  5123. DIS 4, **** CANNOT ALTER XD/XT OF *CSAP*.
  5124. EROT CON 0
  5125. DIS 4, **** INCORRECT ORIGIN TYPE.
  5126. ERSC CON 0
  5127. DIS 4, **** INCORRECT SERVICE CLASS.
  5128. ERPU CON 0
  5129. DIS 4, **** PASSWORDS UPDATED.
  5130. ERBU CON 0
  5131. DIS 4, **** BATCH PASSWORD UPDATED.
  5132. ERIU CON 0
  5133. DIS 4, **** INTERACTIVE PASSWORD UPDATED.
  5134. ERCS CON 0
  5135. DIS 4, **** CANNOT ALTER SEC. COUNT OF *CSAP*.
  5136. OBS SPACE 4,10
  5137. ** OBS - PROCESS OBSOLETE DIRECTIVE.
  5138. *
  5139. * RETURNS ERROR STATUS TO ISSUE INFORMATIVE DIAGNOSTIC
  5140. * MESSAGE FOR OBSOLETE DIRECTIVE.
  5141. *
  5142. * EXIT (B3) = ERROR MESSAGE ADDRESS.
  5143.  
  5144.  
  5145. OBS SUBR ENTRY/EXIT
  5146. CUE$ IFEQ CUE$,2
  5147. SB3 EROD **** DIRECTIVE IGNORED.
  5148. CUE$ ELSE
  5149. SB3 EROD **** OBSOLETE DIRECTIVE IGNORED.
  5150. CUE$ ENDIF
  5151. EQ OBSX RETURN
  5152. PAG SPACE 4,10
  5153. ** PAG - PAGE K-DISPLAY.
  5154. *
  5155. * ENTRY (X3) = RIGHT JUSTIFIED PAGING CHARACTER.
  5156. *
  5157. * EXIT FWA OF NEXT DISPLAY SET IN *KIA*.
  5158. * (IL) = KEYBOARD INPUT DISPLAY LINE OF CURRENT PAGE.
  5159. *
  5160. * USES X - 1, 2, 3, 4, 6.
  5161. * A - 1, 2, 6.
  5162. * B - 2.
  5163. *
  5164. * CALLS PGD.
  5165. *
  5166. * MACROS PAGT.
  5167.  
  5168.  
  5169. PAG SUBR ENTRY/EXIT
  5170. SA1 KIA
  5171. SX2 X1-DSA
  5172. ZR X2,PAGX IF INITIAL DISPLAY
  5173. SX2 PAGA SET ENTRY CONDITIONS FOR *PGD*
  5174. BX4 X4-X4
  5175. LX3 54
  5176. SX1 KIA
  5177. RJ PGD PAGE DISPLAY
  5178. SA2 PAGA UPDATE INPUT LINE
  5179. AX2 30
  5180. SB2 X2
  5181. SA2 A2+B2 CURRENT PAGE ENTRY
  5182. AX2 36
  5183. SX6 X2+
  5184. SA6 IL
  5185. EQ PAGX RETURN
  5186.  
  5187.  
  5188. PAGA PAGT DSB,MSGB,INPB LEFT SCREEN PAGE 1
  5189. PAGT DSC,MSGC,INPC LEFT SCREEN PAGE 2
  5190. PAGT DSD,MSGD,INPD LEFT SCREEN PAGE 3
  5191. PAGT DSE,MSGE,INPE LEFT SCREEN PAGE 4
  5192. PAGT DSF,MSGF,INPF LEFT SCREEN PAGE 5
  5193. PAGT
  5194. PAGT DSG RIGHT SCREEN PAGE 1
  5195. PAGT DSH RIGHT SCREEN PAGE 2
  5196. PAGT DSJ RIGHT SCREEN PAGE 3
  5197. PAGT *
  5198.  
  5199. PGD HERE REMOTE BLOCK FROM *COMCDCP*
  5200.  
  5201. PDD SPACE 4,15
  5202. ** PDD - PROCESS DIRECTIVE DATA.
  5203. *
  5204. * ENTRY (B7) = PROCESSING ROUTINE INDEX INTO *TOPS*.
  5205. *
  5206. * EXIT (B3) = 0.
  5207. *
  5208. * ERROR (B3) = ERROR MESSAGE ADDRESS.
  5209. *
  5210. * USES A - 0, 1, 2, 3, 5.
  5211. * B - 3, 5, 7.
  5212. * X - 1, 2, 3, 5.
  5213. *
  5214. * CALLS ACI, ICE.
  5215. *
  5216. * MACROS FUNC.
  5217.  
  5218.  
  5219. PDD SUBR ENTRY/EXIT
  5220. SA0 TOPS+B7 SET TABLE ENTRY ADDRESS
  5221. SA3 A0
  5222. BX1 X1-X1
  5223. PL X3,PDD1 IF NO SPECIAL CHARACTERS
  5224. SA1 CA ALLOW ASTERISK IN DATA
  5225. PDD1 SA2 CS SUPPRESS BLANKS
  5226. BX6 X2
  5227. RJ ACI ASSEMBLE DATA
  5228. SB3 ERAD **** ERROR IN ALPHANUMERIC DATA.
  5229. ZR B6,PDDX IF EOF OR NEW USER NAME
  5230. SB5 B5-1R=
  5231. ZR B5,PDDX IF INCORRECT SEPARATOR
  5232. SA3 A0 GET *TOPS* ENTRY
  5233. SB7 X3 PROCESSOR ADDRESS
  5234. SX1 10 CHECK FOR MAXIMUM OF 10 CHARACTERS
  5235. LX3 59-58
  5236. NG X3,PDD2 IF DEFAULT CHARACTER COUNT
  5237. SA1 DF ALLOW ONLY *M* CHARACTERS
  5238. ZR X1,PDD3 IF UNLIMITED CHARACTER COUNT
  5239. PDD2 IX1 X1-X4
  5240. NG X1,PDDX IF INCORRECT CHARACTER COUNT
  5241. PDD3 SA5 CBUF GET ASSEMBLED CHARACTERS
  5242. RJ ICE EXECUTE PROCESSOR
  5243. NZ B3,PDDX IF ERROR OR DATA ALREADY SET
  5244. SX3 TANB SET DATA IN FIELD
  5245. FUNC SDFT
  5246. SB3 B0 NO ERROR
  5247. EQ PDDX RETURN
  5248. TOPS SPACE 4,10
  5249. ** TOPS - TABLE OF PROCESSING SUBROUTINES FOR INPUT DATA.
  5250. *
  5251. *T 1/A,1/D,40/0,18/PROC
  5252. * A SET IF ASTERISK ALLOWED IN IDENTIFIER.
  5253. * D SET IF VALIDATE WITH DEFAULT CHARACTER COUNT (10D).
  5254. * PROC INPUT DATA PROCESSING ROUTINE ADDRESS.
  5255.  
  5256.  
  5257. TOPS BSS 0
  5258. LOC 0
  5259. PMX DTPS AMX ASSEMBLE MAXIMUM RESOURCE LIMITS
  5260. PPW DTPS APW ASSEMBLE PASSWORD
  5261. PEP DTPS AEP ASSEMBLE ENCRYPTED PASSWORD
  5262. PAD DTPS AAD ASSEMBLE ALPHANUMERIC DATA
  5263. POB DTPS OBS PROCESS OBSOLETE DIRECTIVE
  5264. PND DTPS AND,(DCC) ASSEMBLE NUMERIC DATA
  5265. PUI DTPS AUX,(DCC) ASSEMBLE USER INDEX
  5266. PPC DTPS ACW ASSEMBLE PERMISSION CONTROL
  5267. PDA DTPS DAN,(ASK) DELETE USER NAME
  5268. PEA DTPS AEA,(DCC) ASSEMBLE EQUIVALENCED ARGUMENTS
  5269. PCN DTPS ACN,(ASK) ASSEMBLE CHARGE NUMBER
  5270. PPN DTPS APN,(ASK) ASSEMBLE PROJECT NUMBER
  5271. PDS DTPS ADS ASSEMBLE USER DEFAULT SERVICE CLASS
  5272. PTE DTPS ATE,(ASK,DCC) ASSEMBLE EXPIRATION TERM
  5273. PED DTPS AED,(ASK) ASSEMBLE EXPIRATION DATE
  5274. PAV DTPS AAV ASSEMBLE ACCESS PRIVILEGES
  5275. PSC DTPS ASC ASSEMBLE SECURITY COUNT
  5276. PIW DTPS API ASSEMBLE PERSONAL IDENTIFICATION
  5277. LOC *O
  5278. TITLE VALIDATION FILE MANIPULATION.
  5279. FFA SPACE 4,15
  5280. ** FFA - FINISH FORMER USER NAME.
  5281. *
  5282. * ENTRY USER NAME BLOCK ENTERED.
  5283. * (TANB) = DATA BLOCK INFORMATION.
  5284. * (UUFG) .LT. 0, IF REFORMAT OPTION.
  5285. * .EQ. 0, IF USER NAME CREATE OR DELETE.
  5286. * .GT. 0, IF USER NAME UPDATE.
  5287. *
  5288. * EXIT NO ACTION IS TAKEN IF ERRORS EXIST. OTHERWISE -
  5289. * LEVEL-2 ENTRY MADE IN FILE.
  5290. * RANDOM INDEX SET IN LEVEL-1 ENTRY (TAB1).
  5291. * TAB2 RESET.
  5292. *
  5293. * USES X - ALL.
  5294. * A - 1, 2, 3, 4, 5, 6, 7.
  5295. * B - 2, 3.
  5296. *
  5297. * CALLS AUI, CUI, IAM, IDE, WDB.
  5298. *
  5299. * MACROS ALLOC, MOVE, SEARCH.
  5300.  
  5301.  
  5302. FFA9 SA2 UF CHECK MODE
  5303. SX6 B0+
  5304. SA6 RA2
  5305. ZR X2,FFA10 IF NOT UPDATE
  5306. SA6 L.TAB1 CLEAR TABLES
  5307. SA6 L.TAB2
  5308. SA6 FFAB
  5309. FFA10 RJ IAM ISSUE ACCOUNT FILE MESSAGE
  5310. BX6 X6-X6 CLEAR KEY LOCATIONS
  5311. BX7 X7-X7
  5312. SA6 CW CONTROL WORD AREA
  5313. SA6 A6+B1
  5314. SA7 A6+B1
  5315. SA6 DANA DELETE FLAG
  5316. SA7 EF ERROR FLAG
  5317. SA6 RA2+1 LEVEL-2 LINKAGE
  5318. SA7 DIPC K-CREATE ONLY FLAG
  5319. SA6 A7+1 K-UPDATE ONLY FLAG
  5320. SA6 UUFG USER NAME UPDATE FLAG
  5321.  
  5322. FFA SUBR ENTRY/EXIT
  5323. SA3 EF CHECK INPUT ERRORS
  5324. NZ X3,FFA9 IF ERRORS
  5325. CUE$ IFEQ CUE$,2
  5326.  
  5327. * ENSURE THAT THE CORRECT SHELL PROGRAM NAME AND THE CORRECT
  5328. * SHELL OPTIONS ARE SET FOR THE CD2000 USER ENVIRONMENT.
  5329.  
  5330. SA1 AN GET USER NAME
  5331. MX0 42
  5332. BX1 X0*X1
  5333. SA2 =6LCDCCHS
  5334. BX5 X1-X2
  5335. NZ X5,FFA11 IF USER NAME IS NOT *CDCCHS*
  5336. SA1 FFAE
  5337. EQ FFA13 SET *RMSHELL* AS SHELL PROGRAM NAME
  5338.  
  5339. FFA11 SA1 TANB+AUIN GET USER INDEX
  5340. MX0 -18
  5341. BX5 -X0*X1
  5342. SX1 X5-AUIMX
  5343. PL X1,FFA12 IF USER INDEX ABOVE *AUIMX*
  5344. SA1 FFAF
  5345. EQ FFA13 SET *CDSHELL* AS SHELL PROGRAM NAME
  5346.  
  5347. FFA12 SA1 FFAG SET NULL SHELL PROGRAM NAME
  5348. FFA13 BX6 X1 SET SHELL PROGRAM NAME AND OPTIONS
  5349. SA6 TANB+ASHN
  5350. CUE$ ENDIF
  5351. SA1 TANB+ACCN
  5352. MX0 -18
  5353. BX5 -X0*X1
  5354. SX1 X5-AUIMX
  5355. NG X1,FFA0 IF USER INDEX NOT ABOVE *AUIMX*
  5356. SA1 FFAC SET ALL SERVICE CLASS VALIDATION FLAGS
  5357. BX6 X1
  5358. SA6 TANB+ASCV
  5359. EQ FFA0.5 CHECK FOR DELETES
  5360.  
  5361. * ENSURE THAT THE VALIDATION BITS FOR THE USER DEFAULT SERVICE
  5362. * CLASSES ARE SET IN THE VALIDATION MASK.
  5363.  
  5364. FFA0 SA3 CHFG
  5365. SA1 TANB+ASCV
  5366. NZ X3,FFA0.3 IF NO CHECK TO BE MADE
  5367. SA5 TANB+ASC1 GET SERVICE CLASS VALIDATION WORDS
  5368. LX5 11-59
  5369. SA3 TOSC-1
  5370. MX0 6 SEARCH TABLE FOR SERVICE CLASS ENTRY
  5371. LX0 18
  5372. FFA0.1 SB7 B0 INITIALIZE TABLE INDEX
  5373. SA3 A3+B1
  5374. LX5 6
  5375. SB3 X3
  5376. ZR X3,FFA0.3 IF END OF TABLE
  5377. NG B3,FFA0.1 IF ORIGIN TYPE NOT ALLOWED
  5378. FFA0.2 SA2 TSVM+B7
  5379. ZR X2,FFA0.1 IF END OF TABLE
  5380. SA4 TSCV+B7 GET MASK BIT
  5381. SB7 B7+B1 INCREMENT TABLE INDEX
  5382. BX3 X2-X5
  5383. BX3 X0*X3
  5384. NZ X3,FFA0.2 IF NO MATCH
  5385. BX1 X4+X1 SET BIT IN VALIDATION MASK
  5386. EQ FFA0.1 PROCESS NEXT USER DEFAULT
  5387.  
  5388. FFA0.3 SA2 UUFG
  5389. NZ X2,FFA0.4 IF NOT NEW USER NAME
  5390. SA3 TANB+AHDT CHECK IF *DI* SERVICE CLASS SHOULD BE SET
  5391. MX0 -6
  5392. LX3 -18
  5393. BX4 -X0*X3
  5394. ZR X4,FFA0.4 IF NO DETACHED JOBS ALLOWED
  5395. SX2 DIMK SET *DI* SERVICE CLASS VALID
  5396. BX1 X1+X2
  5397. FFA0.4 BX7 X1 UPDATE VALIDATION MASK
  5398. SA7 A1+
  5399.  
  5400. * PROCESS DELETES.
  5401.  
  5402. FFA0.5 SA1 AN CHECK BLOCK IN LEVEL-2 TABLE
  5403. MX0 42
  5404. SEARCH TAB2,X1,M
  5405. SA1 F.TAB2 SAVE RELATIVE POSITION IN TABLE
  5406. BX5 X2
  5407. IX7 X7-X1
  5408. SA3 DANA CHECK DELETED USER NAME
  5409. SA7 FFAA
  5410. ZR X3,FFA2 IF NO DELETE
  5411. ZR X2,FFA1 IF NO MATCH
  5412. MX6 0 CLEAR LEVEL-2 ENTRY
  5413. BX7 X2 SAVE USER NAME IN PASSWORD AREA
  5414. SA6 A2
  5415. SA7 A2+B1
  5416. SA1 AN
  5417. MX0 42
  5418. SEARCH TAB1,X1,M
  5419. FFA1 BX1 X2
  5420. SX2 DMSE * SYSTEM ERROR.*
  5421. MX6 0
  5422. ZR X1,ABT IF NO MATCH
  5423. SA6 X7+
  5424. EQ FFA8 COMPLETE DELETE
  5425.  
  5426. * SET DATA BLOCK IN LEVEL-2 TABLE.
  5427.  
  5428. FFA2 SA4 OP CHECK OPTION
  5429. SX4 X4-ROPT
  5430. SA1 TANB+AUIN SET USER NAME AND USER INDEX
  5431. ZR X4,FFA3 IF REFORMAT
  5432. SA3 AN
  5433. MX0 42
  5434. BX1 -X0*X1
  5435. BX3 X0*X3
  5436. IX6 X1+X3
  5437. SA3 TANB+ACMD SET LAST MOD DATE
  5438. SA4 PD
  5439. BX3 X0*X3
  5440. BX7 X3+X4
  5441. SA7 A3
  5442. SA6 A1
  5443. NZ X1,FFA3 IF USER INDEX ALREADY ASSIGNED
  5444. RJ AUI
  5445. NG X0,FFA4 IF USER INDEX ASSIGNED
  5446. RJ IDE
  5447. EQ FFA10 RETURN
  5448.  
  5449. FFA3 BX0 X0-X0 SET USER INDEX
  5450. SX6 X1
  5451. RJ CUI
  5452. FFA4 NZ X5,FFA6 IF MATCH
  5453. SA2 L.TAB2
  5454. SX2 X2-ABLB
  5455. NG X2,FFA5 IF BLOCK NOT FULL
  5456. BX6 X6-X6
  5457. SA6 A2 CLEAR TABLE
  5458. FFA5 ALLOC TAB2,C.TAB2
  5459. FFA6 SA3 FFAA SET UPDATED BLOCK
  5460. SA1 F.TAB2
  5461. IX3 X3+X1
  5462. MOVE ARBS,TANB,X3
  5463.  
  5464. * SET USER NAME.
  5465.  
  5466. SA1 AN SET FOR LEVEL-1 UPDATE
  5467. SX2 DMSE * SYSTEM ERROR.*
  5468. SA3 FFAB-1
  5469. SB3 ARBB
  5470. SB2 B0+
  5471. BX6 X1
  5472. FFA7 SB2 B2+B1
  5473. SA3 A3+B1
  5474. GT B2,B3,ABT IF TABLE OVERFLOWED
  5475. NZ X3,FFA7 IF ENTRY USED
  5476. SA6 A3+
  5477. EQ B2,B3,FFA8 IF TABLE FULL
  5478. SA1 UF CHECK MODE
  5479. ZR X1,FFA10 IF NOT UPDATE
  5480. FFA8 RJ WDB WRITE DATA BLOCK
  5481. EQ FFA10 RETURN
  5482.  
  5483.  
  5484. FFAA CON 0 HOLD TAB2 ENTRY
  5485. FFAB BSSZ ARBB+1 HOLD USER NAMES FOR RANDOM ADDRESS
  5486. FFAC VFD 36/0,12/A2MK,12/A1MK VALIDATION MASK FOR *ALL*
  5487. FFAD CON 0 CREATION RUN FLAG
  5488. CUE$ IFEQ CUE$,2
  5489. FFAE VFD 42/0LRMSHELL,11/0,7/13B
  5490. FFAF VFD 42/0LCDSHELL,11/0,7/13B
  5491. FFAG VFD 42/0,11/0,7/12B
  5492. CUE$ ENDIF
  5493. GAE SPACE 4,15
  5494. ** GAE - GET USER ENTRY.
  5495. *
  5496. * ENTRY (X4) = USER TO BE SEARCHED FOR.
  5497. * (A0) = ADDRESS TO START SEARCH.
  5498. * (GAEA) = ENTRY COUNT.
  5499. *
  5500. * EXIT IF ENTRY FOUND.
  5501. * TO *ABT* IF NOT.
  5502. *
  5503. * USES X - 1, 2, 3, 5, 6.
  5504. * A - 1, 3, 5, 6.
  5505. * B - 3, 4, 5, 7.
  5506.  
  5507.  
  5508. GAE3 SA3 B3+B7 MOVE LOOP
  5509. BX6 X3
  5510. SA6 TANB+B7
  5511. SB7 B7+1
  5512. LT B7,B4,GAE3 IF NOT ALL MOVED
  5513.  
  5514. GAE SUBR ENTRY/ EXIT
  5515. SA1 GAEA GET ENTRY COUNT
  5516. ZR X1,GAE2 IF NO ENTRIES
  5517. SX2 ARBS WORDS/ ENTRY
  5518. SB3 A0 FWA
  5519. SB4 X2 INCREMENT
  5520. IX2 X2*X1 WORDS IN BLOCK
  5521. SB7 B0
  5522. SB5 X2+B3 LIMIT
  5523. MX1 42 MASK
  5524. SA5 B3 FIRST WORD
  5525. GAE1 BX5 X1*X5
  5526. BX6 X5-X4
  5527. ZR X6,GAE3 IF HIT
  5528. SB3 B3+B4
  5529. SA5 B3
  5530. LT B3,B5,GAE1 IF MORE TO SEARCH
  5531. GAE2 SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
  5532. EQ ABT
  5533.  
  5534.  
  5535. GAEA BSS 1 ENTRY COUNT
  5536. GNB SPACE 4,15
  5537. ** GNB - GET NEXT DATA BLOCK.
  5538. *
  5539. * ENTRY (X6) = 1 IF INITIAL CALL.
  5540. * (X6) = 0 IF NOT INITIAL CALL.
  5541. * (GNBA) = LEVEL-1 BLOCK FUNCTION IN BITS 0-17 AND
  5542. * BIT 59 SET IF TO CLEAR LEVEL-1 TABLE.
  5543. *
  5544. * EXIT (X6) = 0 IF END OF USER ENTRIES.
  5545. * (TANB) = LEVEL-2 DATA BLOCK USER ENTRY.
  5546. *
  5547. * USES X - 0, 1, 2, 3, 5, 6, 7.
  5548. * A - 0, 1, 2, 6, 7.
  5549. * B - 4.
  5550. *
  5551. * MACROS FUNC, MESSAGE, READ, READW, RECALL.
  5552.  
  5553.  
  5554. GNB5 SA1 AN CHECK USER NAME
  5555. SA2 TANB+AUIN
  5556. MX0 42
  5557. BX3 X0*X2
  5558. BX1 X1-X3
  5559. SX6 X2
  5560. NZ X1,GNB3 IF NO MATCH
  5561. ZR X6,GNB4 IF NO USER INDEX
  5562.  
  5563. GNB SUBR ENTRY/EXIT
  5564. ZR X6,GNB2 IF NOT INITIAL CALL
  5565. SA6 RA0+1 SET INITIAL LEVEL-0 RANDOM ADDRESS
  5566. GNB1 SX0 P
  5567. SA0 B0+
  5568. FUNC PNAT PICK NEXT LEVEL-0 BLOCK
  5569. ZR X6,GNBX IF END OF USER ENTRIES
  5570. LX6 X3
  5571. BX7 X7-X7
  5572. SA1 GNBA
  5573. SA6 RA1+1
  5574. PL X1,GNB2 IF NOT TO CLEAR LEVEL-1 TABLE
  5575. SA7 L.TAB1 CLEAR LEVEL-1 TABLE
  5576. GNB2 RECALL P
  5577. SA1 P+1
  5578. SX6 X1
  5579. SA6 A1+B1
  5580. SA6 A6+B1
  5581. SA0 B1
  5582. SX0 P
  5583. SX5 N
  5584. SA1 GNBA GET LEVEL-1 BLOCK FUNCTION
  5585. FUNC X1
  5586. ZR X6,GNB1 IF END OF BLOCK
  5587. RECALL P
  5588. SA2 A3-B1 SET LEVEL-2 ENTRY USER NAME
  5589. BX6 X2
  5590. SA6 AN
  5591. SX6 B1+ SET LEVEL-2 RANDOM ADDRESS
  5592. LX6 29
  5593. BX6 X3+X6
  5594. SA6 P+6
  5595. READ P
  5596. READW P,CW,1
  5597. FUNC CCWT CRACK CONTROL WORD
  5598. SB4 B4-2
  5599. NZ B4,GNB4 IF LEVEL NUMBER WRONG
  5600. READW P,TANB,B2-B1
  5601. GNB3 READW P,TANB,ARBS
  5602. ZR X1,GNB5 IF TRANSFER COMPLETE
  5603. GNB4 MESSAGE DML2,3 * LEVEL-2 DATA BASE ERROR.*
  5604. EQ GNB2 LOOP FOR NEXT BLOCK
  5605.  
  5606.  
  5607. GNBA CON 0 LEVEL-1 BLOCK FUNCTION AND CLEAR FLAG
  5608. RDB SPACE 4,15
  5609. ** RDB - READ DATA BLOCK.
  5610. *
  5611. * ENTRY (X5) = RANDOM ADDRESS OF DATA BLOCK.
  5612. * (RDBA) .NE. 0, IF NOT EXACT HIT.
  5613. *
  5614. * EXIT DATA BLOCK READ.
  5615. * USER ENTRY SET IN *TANB* IF EXACT HIT.
  5616. * (X1) .NE. 0, IF NOT EXACT HIT.
  5617. * (X2) = ERROR MESSAGE.
  5618. *
  5619. * USES A - ALL.
  5620. * B - 4.
  5621. * X - 1, 2, 3, 4, 5, 6, 7.
  5622. *
  5623. * CALLS GAE.
  5624. *
  5625. * MACROS ALLOC, FUNC, READ, READO, READW, RECALL.
  5626.  
  5627.  
  5628. RDB SUBR ENTRY/ EXIT
  5629. RECALL P
  5630. RECALL N
  5631. SX7 B1 READ LEVEL-2 BLOCK
  5632. LX7 29
  5633. BX6 X7+X5
  5634. BX7 X5
  5635. SA6 N+6
  5636. SA7 RA2
  5637. MX6 0
  5638. SA6 A7+B1
  5639. READ N
  5640. READO N GET CONTROL WORD
  5641. SA6 CW
  5642. FUNC CCWT
  5643. SB4 B4-B1 CHECK LEVEL NUMBER
  5644. SX6 B5
  5645. SA6 GAEA
  5646. SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
  5647. NE B1,B4,ABT IF NOT 2
  5648. ALLOC TAB2,B3
  5649. READO N
  5650. READO N
  5651. SA2 F.TAB2
  5652. READW N,X2,B3 GET BLOCK
  5653. SX2 DML2 * LEVEL-2 DATA BASE ERROR.*
  5654. NZ X1,ABT IF TRANSFER INCOMPLETE
  5655. SA4 AN
  5656. SA1 N+2 CHECK WORDS LEFT IN BUFFER
  5657. SA3 F.TAB2
  5658. SA5 A1+B1
  5659. SA0 X3
  5660. BX1 X1-X5
  5661. NZ X1,ABT IF WORD COUNT NOT EXACT
  5662.  
  5663. * SET DATA BLOCK.
  5664.  
  5665. SA1 RDBA CHECK HIT
  5666. NZ X1,RDBX IF NOT EXACT
  5667. RJ GAE GET USER ENTRY
  5668. MX1 0 SET STATUS
  5669. EQ RDBX RETURN
  5670.  
  5671.  
  5672. RDBA CON 1 BLOCK FOUND FLAG
  5673. WDB SPACE 4,15
  5674. ** WDB - WRITE DATA BLOCK.
  5675. *
  5676. * ENTRY (TAB2) = USER ENTRIES IN LEVEL-2 BLOCK.
  5677. * (FFAB) = USER NAMES IN LEVEL-2 BLOCK.
  5678. *
  5679. * EXIT LEVEL-2 BLOCK WRITTEN TO FILE.
  5680. * *TAB2*, *FFAB*, *RAND*, *RA2*, UPDATED APPROPRIATELY.
  5681. *
  5682. * USES X - 0, 1, 4, 5, 6, 7.
  5683. * A - 0, 1, 4, 5, 6, 7.
  5684. * B - 5, 7.
  5685. *
  5686. * MACROS ALLOC, FUNC, MESSAGE, SEARCH.
  5687.  
  5688.  
  5689. WDBBE EQU ARBB*ARBS DATA WORDS IN FULL LEVEL-2 BLOCK
  5690.  
  5691. WDB8 MX6 0 CLEAR USER ENTRY
  5692. SA6 A4
  5693. SA6 FFAB CLEAR LEVEL-1 USER NAME
  5694. WDB9 SX6 B0+ CLEAR RANDOM ADDRESS POINTER
  5695. SA6 RA2+1
  5696.  
  5697. WDB SUBR ENTRY/ EXIT
  5698. SA1 L.TAB2 SET FULL BLOCK FLAG
  5699. SX6 X1-WDBBE
  5700. SA6 WDBB
  5701. MX0 0 WRITE LEVEL-2 BLOCK
  5702. R= A0,TAB2
  5703. SX5 N
  5704. FUNC WTBT
  5705.  
  5706. * UPDATE LEVEL-1.
  5707.  
  5708. SA4 FFAB INITIALIZE SEARCH
  5709. WDB1 MX0 42
  5710. ZR X4,WDB4 IF NO USER NAME
  5711. SEARCH TAB1,X4,M
  5712. MX6 0
  5713. SA4 A4
  5714. SA6 A4
  5715. BX6 X4
  5716. SA1 UF CHECK MODE
  5717. SA6 WDBA
  5718. ZR X1,WDB2 IF NOT UPDATE
  5719. NZ X2,WDB8 IF ENTRY ALREADY EXISTS EXIT
  5720. WDB2 SA1 F.TAB1 PRESERVE RELATIVE ADDRESS
  5721. IX7 X7-X1
  5722. SB7 X7
  5723. SB5 A4
  5724. NZ X2,WDB3 IF ENTRY ALREADY EXISTS
  5725. ALLOC TAB1,C.TAB1
  5726. WDB3 SA1 F.TAB1
  5727. SA4 WDBA
  5728. SA5 RA2+1
  5729. BX6 X4
  5730. LX7 X5
  5731. SA6 B7+X1
  5732. SA7 A6+B1
  5733. SA4 B5+1
  5734. EQ WDB1 LOOP FOR NEXT USER
  5735.  
  5736. WDB4 SA1 WDBB SET CURRENT AVAILABLE DATA RECORD
  5737. SA4 RA2+1
  5738. MX6 0
  5739. ZR X1,WDB5 IF FULL
  5740. BX6 X4
  5741. WDB5 SA1 DANA CHECK DELETE
  5742. NZ X1,WDB6 IF DELETE
  5743. SA6 RAND
  5744. WDB6 SA1 UF CHECK MODE
  5745. ZR X1,WDBX IF NOT UPDATE
  5746. SA0 TAB1 TABLE NUMBER
  5747. FUNC STBT SORT TABLE
  5748. SA1 L.TAB1 CHECK INDEX BLOCK LINKAGE
  5749. SX1 X1-ABLI-1
  5750. NG X1,WDB7 IF NO LINKAGE
  5751. SA1 DML1 * LEVEL-1 INDEX BLOCKS LINKED.*
  5752. ZR X1,WDB7 IF ALREADY DISPLAYED
  5753. MESSAGE A1,3,R ISSUE MESSAGE
  5754. SX6 B0+
  5755. SA6 DML1
  5756. WDB7 R= A0,TAB1 WRITE TABLE
  5757. MX0 0
  5758. SX5 N
  5759. FUNC WTBT
  5760. EQ WDB9 CLEAR RANDOM ADDRESS AND EXIT
  5761.  
  5762.  
  5763. WDBA BSS 1 USER TO UPDATE
  5764.  
  5765. WDBB CON 0 AVAILABLE DATA BLOCK FLAG
  5766. TITLE SOURCE CONVERSION SUBROUTINES.
  5767. ADP SPACE 4,10
  5768. ** ADP - ADD PARENS.
  5769. *
  5770. * ENTRY (X6) = 6 CHARACTERS, RIGHT-JUSTIFIED, TO BE
  5771. * ENCLOSED BY PARENS.
  5772. *
  5773. * EXIT (X7) = 6 CHARACTERS ENCLOSED BY PARENS.
  5774. *
  5775. * USES X - 1, 2, 7.
  5776. * A - 1.
  5777.  
  5778.  
  5779. ADP SUBR ENTRY/EXIT
  5780. BX2 X6
  5781. LX2 24
  5782. MX1 36
  5783. BX2 X1*X2 ISOLATE UPPER 6 CHARACTERS
  5784. SA1 =4R) (
  5785. BX7 X1+X2 ADD PARENS
  5786. LX7 42 REPOSITION CHARACTERS
  5787. EQ ADPX RETURN
  5788. AOC SPACE 4,10
  5789. ** AOC - ALTERNATE OCTAL CONVERSION.
  5790. *
  5791. * ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
  5792. * (X1) = DATA FIELD RIGHT JUSTIFIED.
  5793. *
  5794. * EXIT (X6) = FIRST WORD OF CONVERTED NUMBER.
  5795. * (X7) = SECOND WORD OF CONVERTED NUMBER.
  5796. *
  5797. * USES A - 2, 4.
  5798. * B - 2, 3.
  5799. * X - 1, 2, 4, 7.
  5800. *
  5801. * CALLS WOD.
  5802.  
  5803.  
  5804. AOC SUBR ENTRY/EXIT
  5805. RJ WOD
  5806. SA4 A0 GET WORD 1 OF ENTRY
  5807. LX4 59-30
  5808. PL X4,AOCX IF NOT MULTIPLE WORD RESULT
  5809. LX4 24-59+30
  5810. MX2 -6
  5811. BX2 -X2*X4 GET NUMBER OF CHARACTERS IN MULTIPLE WORD
  5812. MX1 1
  5813. SB2 X2-10
  5814. SB2 B2+B2
  5815. SB3 B2+B2
  5816. SB2 B3+B2
  5817. SB2 B2-B1
  5818. AX1 B2
  5819. BX7 X1*X7 MASK OFF UNUSED CHARACTERS
  5820. SA2 =10H
  5821. BX2 -X1*X2 BLANK FILL REMAINDER OF WORD
  5822. BX7 X7+X2
  5823. EQ AOCX RETURN
  5824.  
  5825. APC SPACE 4,10
  5826. ** APC - APPLICATION PERMISSIONS CONVERSION FOR DISPLAY.
  5827. *
  5828. * ENTRY (TANB+AAVW) = APPLICATION PERMISSION WORD.
  5829. *
  5830. * EXIT APPLICATION PERMISSION PAGE OF K-DISPLAY SET.
  5831. *
  5832. * USES X - 2, 3, 4, 5, 6, 7.
  5833. * A - 3, 4, 5, 6.
  5834. * B - 3, 4, 5, 7.
  5835.  
  5836.  
  5837. APC SUBR ENTRY/EXIT
  5838. SA4 TANB+AAVW GET APPLICATION PERMISSIONS
  5839. SB3 59
  5840. SA5 TNAV-1 APPLICATION BIT POSITIONS AND NAMES
  5841. SB7 DSAP+1 INITIALIZE K-DISPLAY POINTER
  5842. MX2 -12
  5843. MX7 42
  5844. APC1 SA5 A5+B1
  5845. ZR X5,APCX IF END OF APPLICATION TABLE
  5846. BX3 -X2*X5
  5847. NG X5,APC1 IF SPARE APPLICATION BIT
  5848. SB5 X3 ACCESS BIT NUMBER
  5849. SB4 B3-B5
  5850. LX3 X4,B4 POSITION ACCESS BIT
  5851. BX6 X7*X5 APPLICATION NAME
  5852. SB4 =10HOFF
  5853. PL X3,APC2 IF APPLICATION NOT PERMITTED
  5854. SB4 =10HON
  5855. APC2 SA6 B7+B1 SET APPLICATION NAME
  5856. SA3 B4
  5857. BX6 X3 SET ON/OFF STATUS
  5858. SA6 B7
  5859. SB7 B7+3
  5860. EQ APC1 PROCESS NEXT APPLICATION
  5861. CAV SPACE 4,15
  5862. ** CAV - CALCULATE ACTUAL VALUE.
  5863. *
  5864. * ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
  5865. * (X1) = INDEX VALUE TO BE CONVERTED TO ACTUAL VALUE.
  5866. *
  5867. * EXIT (X3) = 0 IF NO ACTUAL VALUE CONVERSION REQUIRED.
  5868. * ACTUAL VALUE STORED IN LIMITS MESSAGE.
  5869. * ACTUAL VALUE IN PARENS STORED AT K-DISPLAY ADDRESS +1.
  5870. *
  5871. * USES A - 2, 4, 5, 6, 7.
  5872. * B - 3, 4, 7.
  5873. * X - ALL.
  5874. *
  5875. * CALLS ADP, CDD, COD, ICE, INDEX CONVERSION PROCESSORS.
  5876.  
  5877.  
  5878. CAV SUBR ENTRY/EXIT
  5879. SA4 A0 GET 1ST WORD OF ENTRY
  5880. MX0 -6
  5881. LX4 -18
  5882. BX3 -X0*X4
  5883. ZR X3,CAVX IF NO ACTUAL VALUE CONVERSION
  5884. SA2 A0+2 GET 3RD WORD OF ENTRY
  5885. AX2 36
  5886. SB7 X2 PROCESSOR ADDRESS
  5887. AX2 18
  5888. SB4 X2 SHIFT VALUE
  5889. SB3 X3
  5890. LX4 59-32+18-60
  5891. RJ ICE CALCULATE ACTUAL VALUE
  5892. SA2 =10H
  5893. BX6 X2
  5894. LX7 X2
  5895. PL X4,CAV1 IF NOT ZERO SYSTEM DEFAULT CASE
  5896. ZR X1,CAV4 IF SYSTEM DEFAULT VALUE
  5897. CAV1 NG X1,CAV4 IF UNLIMITED
  5898. LX1 B4
  5899. EQ B3,B1,CAV2 IF OCTAL CONVERSION
  5900. RJ CDD CONVERT ACTUAL VALUE TO DECIMAL DISPLAY
  5901. EQ CAV3 ADD PARENS
  5902.  
  5903. CAV2 RJ CON CONVERT ACTUAL VALUE TO OCTAL DISPLAY
  5904. CAV3 RJ ADP ADD PARENS
  5905. SA5 A0+B1
  5906. AX5 36
  5907. ZR X5,CAV4 IF NO LIMITS MESSAGE
  5908. SA6 X5+5 ENTER ACTUAL VALUE IN LIMITS MESSAGE
  5909. CAV4 SA5 A0+B1
  5910. AX5 18
  5911. SX5 X5+
  5912. ZR X5,CAVX IF NO K-DISPLAY FIELD
  5913. SA7 X5+1
  5914. EQ CAVX RETURN
  5915. CDS SPACE 4,15
  5916. ** CDS - CONVERT DATE TO SOURCE.
  5917. *
  5918. * ENTRY (A1) = ADDRESS OF DATE.
  5919. * (X1) = DATE IN FORM * YY/MM/DD.*.
  5920. *
  5921. * EXIT DATE STORED IN FORM *YYMMDD*.
  5922. * DATE RESET TO * IF NONEXPIRING.
  5923. *
  5924. * USES X - 1, 2, 3, 6, 7.
  5925. * A - 2, 3, 7.
  5926. * B - 2.
  5927.  
  5928.  
  5929. CDS SUBR ENTRY/EXIT
  5930. SA2 =10H *
  5931. SA3 =10H
  5932. BX7 X1-X3
  5933. ZR X7,CDS2 IF NONEXPIRING PASSWORD
  5934. MX6 -12
  5935. SB2 B1+B1
  5936. BX7 X7-X7
  5937. CDS1 LX1 18
  5938. BX2 -X6*X1
  5939. BX7 X7+X2
  5940. LX7 12
  5941. SB2 B2-B1
  5942. PL B2,CDS1 IF MORE DATE TO EXTRACT
  5943. SX2 2R
  5944. BX7 X7+X2
  5945. LX7 12
  5946. CDS2 BX7 X7+X2
  5947. SA7 A1
  5948. EQ CDSX RETURN
  5949. CON SPACE 4,10
  5950. ** CON - CONVERT OCTAL NUMBER TO DISPLAY.
  5951. *
  5952. * ENTRY (X1) = OCTAL NUMBER.
  5953. *
  5954. * EXIT (X6) = OCTAL NUMBER IN DISPLAY CODE WITH POST RADIX B.
  5955. *
  5956. * CALLS COD, ISB.
  5957.  
  5958.  
  5959. CON SUBR ENTRY/EXIT
  5960. RJ COD CONVERT OCTAL TO DISPLAY
  5961. RJ ISB INSERT B RADIX
  5962. EQ CONX RETURN
  5963. CPS SPACE 4,15
  5964. ** CPS - CONVERT PERMISSIONS TO SOURCE.
  5965. *
  5966. * EXIT PERMISSION BITS CONVERTED AND WRITTEN TO SOURCE.
  5967. *
  5968. * USES A - 0, 2, 4, 5, 6, 7.
  5969. * B - 2.
  5970. * X - 1, 2, 3, 4, 5, 6, 7.
  5971. *
  5972. * CALLS SFN, STB.
  5973. *
  5974. * MACROS WRITEC.
  5975.  
  5976.  
  5977. CPS SUBR ENTRY/EXIT
  5978. SA0 TPCS-1
  5979. CPS1 SA0 A0+B1 GET NEXT PERMISSION WORD
  5980. SA1 A0
  5981. SA2 =3HNUL
  5982. ZR X1,CPSX IF END OF TABLE
  5983. LX7 X1
  5984. BX6 X2
  5985. LX1 18
  5986. SA7 CPSA
  5987. SA6 X1+B1
  5988. WRITEC S,A6-B1 INITIALIZE IDENTIFIER VALUE
  5989. CPS2 SA5 CPSA GET PERMISSION WORD PARAMETERS
  5990. MX2 6
  5991. LX2 6
  5992. BX1 X2*X5 NEXT BIT POSITION
  5993. SX6 B1
  5994. IX7 X5+X6
  5995. LX5 -6
  5996. BX3 X2*X5 LAST BIT POSITION + 1
  5997. IX3 X1-X3
  5998. PL X3,CPS1 IF NO MORE BITS TO PROCESS
  5999. LX5 -30
  6000. BX4 X2*X5 VALIDATION WORD OFFSET
  6001. SA4 TANB+X4
  6002. SA7 A5
  6003. SB2 X1
  6004. LX6 B2
  6005. BX6 X6*X4
  6006. ZR X6,CPS2 IF BIT NOT SET
  6007. LX5 24
  6008. SB2 X5 TABLE OF PERMISSION IDENTIFIERS
  6009. RJ STB
  6010. ZR X3,CPS2 IF BIT NOT DEFINED
  6011. MX6 42
  6012. BX1 X6*X3
  6013. RJ SFN SPACE FILL IDENTIFIER
  6014. LX5 -30
  6015. SA6 X5+B1
  6016. WRITEC S,A6-B1 WRITE IDENTIFIER
  6017. EQ CPS2 CONTINUE PERMISSION BIT CONVERSION
  6018.  
  6019.  
  6020. CPSA CON 0 PERMISSION WORD PARAMETERS
  6021. TPCS SPACE 4,10
  6022. ** TPCS - TABLE OF PERMISSION BITS CONVERSION TO SOURCE.
  6023. *
  6024. *T 18/SA,6/UBO,6/0,18/TPI,6/LBP,6/FBP
  6025. * SA SOURCE ENTRY ADDRESS.
  6026. * UBO USER BLOCK OFFSET OF VALIDATION WORD.
  6027. * TPI TABLE OF VALIDATION PERMISSION IDENTIFIERS.
  6028. * LBP LAST BIT POSITION + 1.
  6029. * FBP FIRST BIT POSITION.
  6030.  
  6031.  
  6032. TPCS BSS 0
  6033. DTCS TMAW,AAWC,TAWI,60D,0 ACCESS WORD
  6034. DTCS TMAP,AAVW,TNAV,NNAB+AFAB,AFAB APPLICATIONS
  6035. DTCS TMSO,ASHN,TRTP,TRTPL,0 SHELL PROGRAM
  6036. DTCS TMAV,ASVW,TAPV,TAPVL,TAPVS SECURITY VALIDATION
  6037. DTCS TMLV,ASVW,TALB,TALBS,TALBS-TALBL ACCESS LEVEL
  6038. DTCS TMAC,ASVW,TACC,TACCL,0 ACCESS CATEGORY
  6039. DTCS TMVM,ASCV,TSVM,TSVML,0 SERVICE CLASS
  6040. CON 0 END OF TABLE
  6041. CSC SPACE 4,15
  6042. ** CSC - CONVERT USER DEFAULT SERVICE CLASSES.
  6043. *
  6044. * ENTRY (A0) = ADDRESS OF *TFR* ENTRY FIRST WORD.
  6045. * (X1) = DATA FIELD RIGHT JUSTIFIED.
  6046. *
  6047. * EXIT (X6) = SERVICE CLASS IDENTIFIERS.
  6048. *
  6049. * USES B - 2, 3.
  6050. * X - ALL.
  6051. *
  6052. * CALLS STB.
  6053.  
  6054.  
  6055. CSC SUBR ENTRY/EXIT
  6056. SB2 TSVM
  6057. SB3 48
  6058. LX5 X1
  6059. BX7 X7-X7
  6060. LX5 -12
  6061. MX2 6
  6062. LX2 18
  6063. CSC1 BX1 X2*X5 EXTRACT SERVICE CLASS CHARACTER
  6064. MX4 -12
  6065. SX0 2R
  6066. ZR X1,CSC2 IF NO VALUE DEFINED
  6067. RJ STB LOCATE SERVICE CLASS CHARACTER IN TABLE
  6068. ZR X3,CSC2 IF NO MATCH
  6069. LX3 12 GET 2 CHARACTER SERVICE CLASS IDENTIFIER
  6070. BX0 -X4*X3
  6071. CSC2 LX0 B3
  6072. BX7 X7+X0
  6073. SB3 B3-12
  6074. LX5 6
  6075. PL B3,CSC1 IF MORE ENTRIES TO PROCESS
  6076. BX6 X7
  6077. EQ CSCX RETURN
  6078. CSD SPACE 4,15
  6079. ** CSD - CONVERT USER DEFAULT SERVICE CLASSES TO SOURCE.
  6080. *
  6081. * ENTRY (TMUC+1) = SERVICE CLASS IDENTIFIERS.
  6082. * (LMFG) = 0 IF NOT PROCESSING LIMITS.
  6083. *
  6084. * EXIT USER DEFAULT SERVICE CLASSES WRITTEN TO SOURCE
  6085. * FILE OR LIMITS OUTPUT.
  6086. *
  6087. * USES A - 1, 5, 6.
  6088. * X - 0, 1, 5, 6, 7.
  6089. *
  6090. * CALLS SFN.
  6091. *
  6092. * MACROS WRITEC.
  6093.  
  6094.  
  6095. CSD SUBR ENTRY/EXIT
  6096. SA1 TMUC+1 GET CONVERTED DEFAULT SERVICE CLASSES
  6097. BX0 X1
  6098. SA5 TOSC
  6099. CSD1 SA5 A5+B1
  6100. MX7 12
  6101. BX6 X7*X0
  6102. LX0 12
  6103. ZR X5,CSDX IF END OF TABLE
  6104. SX1 X5+
  6105. NG X1,CSD1 IF RESERVED ENTRY
  6106. SA1 LMFG
  6107. NZ X1,CSD2 IF PROCESSING LIMITS
  6108. BX7 X7*X5 GET ORIGIN TYPE
  6109. LX6 -12
  6110. BX1 X7+X6
  6111. RJ SFN SPACE FILL IDENTIFIER
  6112. SA6 TMUC+1
  6113. WRITEC S,A6-B1 WRITE DIRECTIVE TO SOURCE
  6114. EQ CSD1 PROCESS NEXT IDENTIFIER
  6115.  
  6116. CSD2 SX1 1R
  6117. BX6 X6+X1
  6118. LX6 -6
  6119. SA6 X5+5
  6120. WRITEC O,X5 WRITE LIMITS MESSAGE
  6121. EQ CSD1 PROCESS NEXT IDENTIFIER
  6122. DAT SPACE 4,10
  6123. ** DAT - CONVERT PACKED DATE TO DISPLAY.
  6124. *
  6125. * ENTRY (X1) = DATA FIELD RIGHT JUSTIFIED.
  6126. *
  6127. * EXIT (X6) = CONVERTED DATE IN FORM * YY/MM/DD.*.
  6128. *
  6129. * USES A - 2.
  6130. * X - 2, 6.
  6131. *
  6132. * MACROS EDATE.
  6133.  
  6134.  
  6135. DAT SUBR ENTRY/EXIT
  6136. SA2 =10H
  6137. BX6 X2
  6138. ZR X1,DATX IF NO EXPIRATION DATE
  6139. EDATE X1 UNPACK DATE INTO DISPLAY
  6140. EQ DATX RETURN
  6141. ISB SPACE 4,10
  6142. ** ISB - INSERT B (RADIX).
  6143. *
  6144. * ENTRY (X6) = RIGHT JUSTIFIED DISPLAY CODE FOR OCTAL NUMBER.
  6145. *
  6146. * EXIT (X6) = RIGHT JUSTIFIED DISPLAY CODE FOR OCTAL NUMBER
  6147. * WITH RADIX INSERTED ON RIGHT.
  6148. *
  6149. * USES X - 0, 1, 6.
  6150.  
  6151.  
  6152. ISB SUBR ENTRY/EXIT
  6153. MX0 54
  6154. LX6 6
  6155. SX1 1RB
  6156. BX6 X0*X6
  6157. BX6 X1+X6
  6158. EQ ISBX RETURN
  6159. MRJ SPACE 4,15
  6160. ** MRJ - MULTIPLE WORD RIGHT JUSTIFY.
  6161. *
  6162. * ENTRY (A2) = ADDRESS WHERE 2ND WORD IS STORED
  6163. * IN LIMITS MESSAGE.
  6164. * (X2) = 1ST WORD, RIGHT JUSTIFIED, BLANK FILLED.
  6165. * (X6) = 2ND WORD, RIGHT JUSTIFIED, BLANK FILLED.
  6166. *
  6167. * EXIT 1ST AND 2ND WORDS STORED IN LIMITS MESSAGE
  6168. * AFTER MULTIPLE WORD RIGHT JUSTIFICATION PROCESSED.
  6169. *
  6170. * USES A - 4, 6, 7.
  6171. * B - 2, 3, 4.
  6172. * X - 0, 2, 3, 4, 6, 7.
  6173.  
  6174.  
  6175. MRJ2 BX7 X2 STORE 1ST WORD
  6176. SA7 A2
  6177.  
  6178. MRJ SUBR ENTRY/EXIT
  6179. SA4 =10H
  6180. SB2 B0
  6181. BX3 X6-X4
  6182. ZR X3,MRJ2 IF NO VALUE IN 2ND WORD
  6183. BX7 X2
  6184. SA7 A2-B1
  6185. MX0 6
  6186. BX7 X0*X3
  6187. NZ X7,MRJX IF BOTH WORDS FULL
  6188. MRJ1 LX0 -6
  6189. BX7 X0*X3
  6190. SB2 B2+6
  6191. ZR X7,MRJ1 IF BLANK CHARACTER
  6192. SB3 60
  6193. MX0 1
  6194. SB4 B2-B1
  6195. AX0 B4
  6196. SB3 B3-B2
  6197. LX2 B3
  6198. BX7 X0*X2
  6199. BX6 -X0*X6
  6200. BX7 X7+X6
  6201. SA7 A2 STORE 2ND WORD
  6202. BX6 -X0*X2
  6203. BX4 X0*X4
  6204. BX6 X6+X4
  6205. SA6 A2-B1 STORE FIRST WORD
  6206. EQ MRJX RETURN
  6207. PLM SPACE 4,15
  6208. ** PLM - PRINT *LIMITS* MESSAGES.
  6209. *
  6210. * EXIT ALL *LIMITS* MESSAGES ISSUED.
  6211. *
  6212. * USES A - ALL.
  6213. * B - 2, 3.
  6214. * X - ALL.
  6215. *
  6216. * CALLS CSD, SFN.
  6217. *
  6218. * MACROS CLOCK, DATE, GETJO, GETPFP, TSTATUS, WRITEC.
  6219.  
  6220.  
  6221. PLM8 WRITEC O,(=C* *),B1 WRITE BLANK LINE
  6222. WRITEC X2,USUD WRITE HEADER
  6223. RJ CSD CONVERT USER DEFAULT SERVICE CLASSES
  6224.  
  6225. PLM SUBR ENTRY/EXIT
  6226. SA2 DSAN GET USER NAME
  6227. MX7 -54
  6228. AX2 6
  6229. SA1 USRN
  6230. BX7 -X7*X2
  6231. BX7 X1+X7
  6232. SA7 A1
  6233. DATE TODT REQUEST DATE
  6234. CLOCK TOTM REQUEST TIME
  6235. GETJO TSTATUS GET JOB ORIGIN
  6236. SA1 TSTATUS
  6237. SX1 X1-TXOT
  6238. NZ X1,PLM1 IF NOT *TXOT*
  6239. TSTATUS TSTATUS
  6240. SA3 TSTATUS
  6241. SA2 =0LNAMIAF
  6242. MX1 36
  6243. BX3 X1*X3
  6244. BX6 X3-X2
  6245. NZ X6,PLM1 IF NOT NETWORK TERMINAL
  6246. SA6 TFPA+1 CLEAR NON-NETWORK TERMINAL LIMITS MESSAGES
  6247. SA6 TFRO+1
  6248. SA6 TFPX+1
  6249. SA6 TFTT+1
  6250. PLM1 GETPFP PLMA REQUEST FAMILY NAME
  6251. SA1 PLMA
  6252. BX6 X6-X6 CLEAR POINTERS
  6253. SA6 A1+B1
  6254. SA6 A6+B1
  6255. RJ SFN SPACE FILL NAME
  6256. SA2 FAM
  6257. LX6 59-17
  6258. MX3 -42
  6259. BX6 -X3*X6
  6260. BX6 X2+X6
  6261. SA0 TFR TABLE TO FORMAT RECORDS
  6262. SA6 A2
  6263. SA5 OF
  6264. BX0 X0-X0
  6265. ZR X5,PLM3.1 IF OUTPUT TO TERMINAL
  6266. PLM2 SA1 A0 GET WORD 1 OF ENTRY
  6267. SA2 A0+B1 GET WORD 2 OF ENTRY
  6268. ZR X1,PLM6 IF END OF TABLE
  6269. SA1 A2+B1 GET WORD 3 OF ENTRY
  6270. AX2 36
  6271. BX0 X2
  6272. SA0 A1+B1 ADVANCE TABLE ENTRY
  6273. SX5 X1
  6274. BX2 X0+X5
  6275. ZR X2,PLM2 IF NO LIMITS OR HEADER MESSAGE
  6276. SA2 OF
  6277. ZR X2,PLM4 IF OUTPUT TO TERMINAL
  6278. SX7 B1+
  6279. ZR X5,PLM3 IF NO HEADER
  6280. SX7 B1+B1
  6281. ZR X0,PLM3 IF NO LIMITS MESSAGE
  6282. SX7 X7+B1
  6283. PLM3 SA2 PLMB
  6284. IX6 X2-X7
  6285. SA6 A2
  6286. PL X6,PLM4 IF ENOUGH ROOM ON PAGE
  6287. SA3 LPPG
  6288. SX6 X3-2
  6289. IX6 X6-X7
  6290. SA6 A2
  6291. PLM3.1 WRITEC O,LITL WRITE PAGE HEADER
  6292. WRITEC X2,(=C* *),B1 WRITE BLANK LINE
  6293. PLM4 ZR X5,PLM5 IF NO HEADER MESSAGE
  6294. WRITEC O,(=C* *),B1 WRITE BLANK LINE
  6295. WRITEC X2,X5 WRITE HEADER
  6296. PLM5 ZR X0,PLM2 IF NO LIMITS MESSAGE
  6297. WRITEC O,X0 ISSUE LIMITS MESSAGE
  6298. EQ PLM2 PROCESS NEXT ENTRY
  6299.  
  6300. * WRITE ALLOWED PERMISSIONS LIMIT MESSAGES.
  6301.  
  6302. PLM6 SA2 PLMC GET *TAPL* INDEX
  6303. SA1 TAPL+X2 GET ALLOWED PERMISSIONS LIMITS PARAMETERS
  6304. ZR X1,PLM8 IF END OF TABLE
  6305. SX6 X2+B1
  6306. SA6 A2
  6307. MX2 -6
  6308. BX3 -X2*X1 NUMBER OF PERMISSION BITS
  6309. AX1 6
  6310. BX4 -X2*X1 USER BLOCK OFFSET
  6311. SA4 TANB+X4 GET PERMISSION BITS FROM USER BLOCK
  6312. AX1 6
  6313. SB2 X3-1
  6314. MX6 1
  6315. AX6 B2
  6316. MX5 -12
  6317. BX5 -X5*X1 LIMITS HEADER ADDRESS
  6318. AX1 30
  6319. SA1 X1+B1 GET FIRST BIT POSITION
  6320. SB3 59
  6321. SB2 X1+B2
  6322. SB2 B3-B2
  6323. LX1 X4,B2
  6324. BX0 X4
  6325. BX6 X6*X1
  6326. NZ X6,PLM6.1 IF ANY PERMISSIONS GRANTED
  6327. PL X6,PLM6 IF NO PERMISSIONS GRANTED
  6328. PLM6.1 WRITEC O,(=C* *),B1 WRITE BLANK LINE
  6329. WRITEC X2,X5 WRITE HEADER MESSAGE
  6330. SA1 PLMC GET *TAPL* INDEX
  6331. SA1 TAPL-1+X1 GET *TAPL* ENTRY
  6332. AX1 24
  6333. SA5 X1 FWA-1 TABLE OF LIMITS MESSAGE ADDRESSES
  6334. AX1 18
  6335. SA0 X1 FWA-1 TABLE OF BIT NAMES AND POSITIONS
  6336. PLM7 SA5 A5+B1
  6337. SA0 A0+B1
  6338. ZR X5,PLM6 IF END OF MESSAGE TABLE
  6339. NG X5,PLM7 IF PERMISSION NOT ALLOWED
  6340. SA3 A0
  6341. MX4 -12
  6342. BX4 -X4*X3
  6343. SB2 X4
  6344. SB3 59
  6345. SB2 B3-B2
  6346. LX4 X0,B2
  6347. PL X4,PLM7 IF PERMISSION NOT GRANTED
  6348. WRITEC O,X5 WRITE PERMISSION MESSAGE
  6349. EQ PLM7 CONTINUE PROCESSING MESSAGES
  6350.  
  6351.  
  6352. PLMA CON 0 FAMILY NAME
  6353. PLMB CON 0 PAGE LINE COUNTER
  6354. PLMC CON 0 *TAPL* INDEX
  6355. TAPL SPACE 4,10
  6356. ** TAPL - TABLE OF ALLOWED PERMISSIONS LIMITS PARAMETERS.
  6357. *
  6358. *T 18/TBP,18/TLM,12/LHR,6/UBO,6/NPB
  6359. * TBP FWA-1 TABLE OF BIT POSITIONS.
  6360. * TLM FWA-1 TABLE OF LIMITS MESSAGE ADDRESSES.
  6361. * LHR LIMITS HEADER MESSAGE ADDRESS.
  6362. * UBO USER BLOCK OFFSET FOR PERMISSION DATA WORD.
  6363. * NPB NUMBER OF PERMISSION BITS.
  6364.  
  6365.  
  6366. TAPL BSS 0
  6367. APLW TAWI,ALP,ALLW,AAWC ACCESS WORD
  6368. APLW TNAV,APP,APPH,AAVW APPLICATIONS
  6369. APLW TRTP,ASP,RMFP,ASHN *RDF* PERMISSIONS
  6370. APLW TAPV,APV,AAPP,ASVW SECURITY VALIDATIONS
  6371. APLW TACC,CAT,VCAT,ASAC ACCESS CATEGORIES
  6372. APLW TALB,ALV,ALVA,ASVW ACCESS LEVELS
  6373. APLW TSVM,SCL,USVM,ASCV USER SERVICE CLASS
  6374. CON 0 END OF TABLE
  6375. STB SPACE 4,15
  6376. ** STB - SEARCH TABLE.
  6377. *
  6378. * ENTRY (X1) = VALUE TO COMPARE.
  6379. * (X2) = MASK.
  6380. * (B2) = TABLE ADDRESS.
  6381. *
  6382. * EXIT (X3) = TABLE ENTRY ON MATCH.
  6383. * = 0 IF NO MATCH.
  6384. * (A3) = ADDRESS OF MATCHING TABLE ENTRY.
  6385. *
  6386. * USES X - 3, 6.
  6387. * A - 3.
  6388.  
  6389.  
  6390. STB SUBR
  6391. SA3 B2-1
  6392. STB1 SA3 A3+1
  6393. BX6 X3-X1
  6394. BX6 X2*X6
  6395. ZR X3,STBX IF END OF TABLE
  6396. NZ X6,STB1 IF NOT YET MATCH
  6397. EQ STBX RETURN
  6398. SRD SPACE 4,25
  6399. ** SRD - SET RECORD DISPLAYS.
  6400. *
  6401. * ENTRY *TANB* SET TO PROPER USER BLOCK.
  6402. *
  6403. * EXIT K-DISPLAY PROPERLY FORMATTED.
  6404. * S-OPTION PROPERLY FORMATTED.
  6405. * VALUES ENTERED IN LIMITS MESSAGES.
  6406. *
  6407. * USES A - ALL.
  6408. * B - 2, 3, 4, 5, 7.
  6409. * X - ALL.
  6410. *
  6411. * CALLS APC, CAV, ICE, MRJ, SFN,
  6412. * DISPLAY CONVERSION PROCESSORS.
  6413. *
  6414. * MACROS EDATE.
  6415.  
  6416.  
  6417. SRD16 RJ APC DISPLAY APPLICATION PERMISSIONS
  6418.  
  6419. SRD SUBR ENTRY/EXIT
  6420. SA1 TANB+ACCD SET CREATION DATE
  6421. AX1 18
  6422. SX1 X1
  6423. EDATE X1 UNPACK AND CONVERT DATE
  6424. SA1 TANB+ACMD SET LAST MODIFICATION DATE
  6425. SA6 DSAC1
  6426. SX1 X1+
  6427. EDATE X1 UNPACK AND CONVERT DATE
  6428. SA6 DSAU
  6429. SA1 AN SET USER NAME
  6430. SX6 1R/
  6431. BX1 X1+X6
  6432. LX1 -6
  6433. RJ SFN
  6434. SA6 TMBS
  6435. SX1 1R &1R/
  6436. LX1 -6
  6437. BX6 X1-X6
  6438. SA6 DSAN
  6439. SA6 DSAN1
  6440. SA6 DSAN2
  6441. SA6 DSAN3
  6442. SA6 DSAN4
  6443. SA0 TFR-3 TABLE TO FORMAT RECORD
  6444. SRD1 SA0 A0+3
  6445. SA4 A0+ GET WORD 1 OF ENTRY
  6446. ZR X4,SRD16 IF END OF TABLE
  6447. SB7 X4 PROCESSOR ADDRESS
  6448. LX4 6
  6449. MX2 -6
  6450. BX1 -X2*X4 USER BLOCK OFFSET
  6451. LX4 6
  6452. BX3 -X2*X4 STARTING BIT NUMBER
  6453. LX4 6
  6454. BX2 -X2*X4 NUMBER OF BITS IN FIELD
  6455. SA1 TANB+X1 GET DATA WORD
  6456. MX6 1
  6457. SB4 X2
  6458. SB2 B4-B1
  6459. AX6 B2
  6460. SB2 60
  6461. SB3 X3+B4
  6462. SB2 B2-B3
  6463. LX1 B2
  6464. BX2 X6*X1
  6465. LX1 X2,B4
  6466. BX7 X1
  6467. LX4 59-31-18
  6468. PL X4,SRD2 IF DATA TO BE PASSED RIGHT JUSTIFIED
  6469. BX1 X2 PASS DATA LEFT JUSTIFIED
  6470. SRD2 SA3 A0+2 GET WORD 3 OF ENTRY
  6471. LX3 -18
  6472. SB3 X3 ALTERNATE BLOCK ADDRESS
  6473. ZR B3,SRD3 IF NO ALTERNATE BLOCK
  6474. SB3 B3+B1
  6475. SA1 X7+B3
  6476. BX7 X1
  6477. SRD3 SA7 SRDA SAVE DATA FIELD
  6478. RJ ICE EXECUTE DISPLAY FORMAT PROCESSOR
  6479. SA4 A0 GET WORD 1 OF ENTRY
  6480. LX4 0-35
  6481. SX0 B1
  6482. BX0 X0*X4
  6483. SB5 X0 CONTINUATION WORD FLAG
  6484. SB2 B5+B5
  6485. SB2 B2+B5
  6486. SB3 A0+B1
  6487. SA5 B3-B2 GET WORD 2 OF ENTRY
  6488. SA3 A0 GET MULTIPLE WORD RESULT FLAG
  6489. SX2 X5
  6490. LX3 59-30
  6491. AX5 18
  6492. LX4 24-0+35
  6493. SA1 SRDA GET DATA VALUE
  6494. MX0 -6
  6495. ZR X2,SRD4 IF NO SOURCE ADDRESS
  6496. SB2 B1+B5
  6497. SA6 X2+B2
  6498. PL X3,SRD4 IF NOT MULTIPLE WORD RESULT
  6499. SA7 A6+B1
  6500. SRD4 NG X3,SRD7 IF MULTIPLE WORD RESULT
  6501. BX2 -X0*X4 UNLIMITED VALUE
  6502. LX4 59-33-24
  6503. LX0 X4,B1
  6504. ZR X2,SRD5 IF NO UNLIMITED VALUE
  6505. IX2 X1-X2
  6506. NG X2,SRD5 IF NOT UNLIMITED
  6507. SA2 =9AUNLIMITED
  6508. BX6 X2
  6509. NG X4,SRD6 IF *SYSTEM* DEFAULT TO BE DISPLAYED
  6510. SRD5 PL X0,SRD7 IF NOT ZERO SYSTEM DEFAULT
  6511. NZ X1,SRD7 IF NOT ZERO DATA VALUE
  6512. SRD6 SA2 =10HSYSTEM
  6513. BX6 X2
  6514. SX4 B1 RIGHT JUSTIFY FOR LIMITS
  6515. SRD7 SB2 X5
  6516. AX5 18
  6517. ZR B2,SRD10 IF NO K-DISPLAY FIELD
  6518. BX0 X3
  6519. LX0 -1
  6520. SA6 B2+B5
  6521. NG X0,SRD9 IF ALREADY LEFT JUSTIFIED
  6522. SA1 =10H
  6523. BX1 X1-X6
  6524. MX0 -6
  6525. ZR X1,SRD9 IF BLANK WORD
  6526. SA6 SRDB
  6527. SRD8 LX6 6 LEFT JUSTIFY FIELD
  6528. BX2 -X0*X6
  6529. SX2 X2-1R
  6530. ZR X2,SRD8 IF BLANK CHARACTER
  6531. LX6 -6
  6532. SA6 B2+B5
  6533. SA2 SRDB
  6534. BX6 X2
  6535. SRD9 PL X3,SRD10 IF NOT MULTIPLE WORD RESULT
  6536. SA7 A6+1
  6537. SRD10 ZR X5,SRD15 IF NO LIMITS MESSAGE
  6538. SA2 X5+5 GET MULTIPLE ENTRY 1ST WORD
  6539. LX4 59-34-59+33
  6540. SA6 A2 STORE LIMITS VALUE
  6541. PL X3,SRD11 IF NOT MULTIPLE WORD RESULT
  6542. SA6 A2-B1
  6543. SA7 A2
  6544. BX2 X6
  6545. LX6 X7
  6546. SRD11 PL X4,SRD15 IF NO RIGHT JUSTIFY FOR LIMITS FIELD
  6547. SA1 =10H
  6548. BX1 X1-X6
  6549. ZR X1,SRD13 IF BLANK WORD
  6550. MX0 -6
  6551. SRD12 BX7 -X0*X6 RIGHT JUSTIFY BLANK FILLED DATA
  6552. SX7 X7-1R
  6553. LX6 -6
  6554. ZR X7,SRD12 IF BLANK
  6555. LX6 6
  6556. SA6 A2 STORE RIGHT JUSTIFIED LIMITS VALUE
  6557. SRD13 NG X3,SRD14 IF MULTIPLE WORD RESULT
  6558. ZR B5,SRD15 IF NOT CONTINUATION ENTRY
  6559. SRD14 RJ MRJ RIGHT JUSTIFY MULTIPLE WORD
  6560. SRD15 SA1 SRDA GET DATA VALUE
  6561. RJ CAV CALCULATE ACTUAL VALUE
  6562. NZ X3,SRD1 IF ACTUAL VALUE CALCULATED
  6563. SA1 SRDA
  6564. NZ X1,SRD1 IF DATA VALUE PRESENT
  6565. SA1 A0+B1 CLEAR LIMITS MESSAGE
  6566. MX6 18
  6567. LX6 -6
  6568. BX6 -X6*X1
  6569. SA6 A1+
  6570. EQ SRD1 CONTINUE RECORD FORMATTING
  6571.  
  6572.  
  6573. SRDA CON 0 DATA FIELD
  6574. SRDB CON 0 K-DISPLAY DATA FIELD BEFORE LEFT JUSTIFY
  6575. TITLE MISCELLANEOUS ROUTINES.
  6576. ABT SPACE 4,10
  6577. ** ABT - ABORT EXIT.
  6578.  
  6579.  
  6580. ABM BSS 0 ENTRY
  6581. MESSAGE CCDR,0,R ISSUE COMMAND TO DAYFILE
  6582. EQ ABT ABORT
  6583.  
  6584. ABE BSS 0 ENTRY
  6585. SX2 DMGV * GENVAL ABORTED.*
  6586. SA1 GENF
  6587. NZ X1,ABT IF *GENVAL*
  6588. SX2 DMAB * MODVAL ABORTED.*
  6589. SA1 PSWF
  6590. ZR X1,ABT IF NOT *PASSWOR*
  6591. SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
  6592. SA1 TSTB+1
  6593. AX1 54-0
  6594. ZR X1,ABT IF NOT NETWORK TERMINAL
  6595. WRITEC O,TRMB RESET CURSOR POSITIONING
  6596. SX2 DMPA RESET ERROR MESSAGE
  6597. * EQ ABT ABORT
  6598.  
  6599. ABT BSS 0 ENTRY
  6600. MESSAGE X2,3 ISSUE ERROR MESSAGE
  6601. RJ COB CHECK OUTPUT BUFFER
  6602. SA1 ABTA
  6603. ZR X1,ABT1 IF UPDATE NOT PERFORMED
  6604. RJ SUI SET AVAILABLE USER INDICES
  6605. ABT1 SA3 RAPF CHECK SYSTEM FILE ATTACHED
  6606. ZR X3,ABT2 IF NOT ATTACHED
  6607. RETURN U
  6608. RECALL N
  6609. RETURN P
  6610. ABT2 SA1 GENF
  6611. ZR X1,ABT3 IF NOT *GENVAL*
  6612. RETURN P
  6613. RETURN U
  6614. ABT3 RJ CAF CHECK ALTERNATE FAMILY
  6615. ABORT
  6616.  
  6617.  
  6618. ABTA CON 0 SET IF UPDATE PERFORMED
  6619. ABTB RPVBLK ABE *REPRIEVE* BLOCK
  6620. ACI SPACE 4,20
  6621. ** ACI - ASSEMBLE CHARACTERS INTERFACE.
  6622. *
  6623. * ENTRY (X1) = BIT STRING OF CHARACTERS TO PERMIT.
  6624. * (X6) = BIT STRING OF CHARACTER TO SUPPRESS.
  6625. *
  6626. * EXIT (CBUF - CBUF+CBUFL) = LEFT JUSTIFIED
  6627. * ASSEMBLED CHARACTERS.
  6628. * (X4) = NUMBER OF CHARACTERS.
  6629. * (B5) = SEPARATOR ( 0 IF END-OF-LINE).
  6630. * (B6) = 0 IF ENTRY TERMINATION.
  6631. * (B6) .NE. 0 IF ASSEMBLY COMPLETE.
  6632. * (ET) = -1 IF EOF.
  6633. * (ET) = 1 IF */* ENTRY TERMINATION.
  6634. *
  6635. * USES X - 0, 1, 2, 4, 6, 7.
  6636. * A - 1, 2, 6, 7.
  6637. * B - 2, 4.
  6638. *
  6639. * MACROS FUNC.
  6640.  
  6641.  
  6642. ACI SUBR ENTRY/EXIT
  6643. SA6 ACIC SAVE BIT STRING TO SUPPRESS
  6644. BX7 X1
  6645. SX6 B0
  6646. SA7 ACIB SAVE BIT STRING TO PERMIT
  6647. SA6 ACIA CLEAR CHARACTER COUNT
  6648. SA6 ACID CLEAR CHARACTER BUFFER INDEX
  6649. SB2 CBUFL-1
  6650. ACI1 SA6 CBUF+B2 CLEAR CHARACTER BUFFER
  6651. SB2 B2-1
  6652. PL B2,ACI1 IF CLEAR NOT COMPLETE
  6653. ACI2 SX0 I INPUT FET ADDRESS
  6654. SA2 ACIC CHARACTERS TO BE SUPPRESSED
  6655. SA1 ACIB CHARACTERS TO BE ALLOWED
  6656. BX6 X2
  6657. FUNC ASCT ASSEMBLE CHARACTERS
  6658. SA2 ACID
  6659. SA6 CBUF+X2 STORE ASSEMBLED CHARACTERS
  6660. SA1 ACIA
  6661. SB4 X4-10
  6662. IX4 X1+X4 INCREMENT CHARACTER COUNT
  6663. NG B4,ACIX IF SEPARATOR ENCOUNTERED
  6664. BX7 X4
  6665. SA7 A1
  6666. SX7 X2-CBUFL-1
  6667. PL X7,ACI2 IF BUFFER FULL
  6668. SX7 X2+B1
  6669. SA7 A2 INCREMENT CHARACTER BUFFER INDEX
  6670. EQ ACI2 ASSEMBLE MORE CHARACTERS
  6671.  
  6672.  
  6673. ACIA BSS 1 CHARACTER COUNT
  6674. ACIB BSS 1 BIT STRING OF CHARACTERS TO PERMIT
  6675. ACIC BSS 1 BIT STRING OF CHARACTERS TO SUPPRESS
  6676. ACID BSS 1 CHARACTER BUFFER INDEX
  6677. ADT SPACE 4,10
  6678. ** ADT - ADD TERM TO CURRENT DATE.
  6679. *
  6680. * ENTRY (X1) = TERM VALUE.
  6681. *
  6682. * EXIT (X2) = (X6) = NEW PACKED DATE.
  6683. *
  6684. * USES A - 2, 7.
  6685. * X - 2, 6, 7.
  6686. *
  6687. * MACROS SYSTEM.
  6688.  
  6689.  
  6690. ADT SUBR ENTRY/EXIT
  6691. BX7 X1 SET UP *CPM* PARAMETER WORD
  6692. SA7 ADTA
  6693. SYSTEM CPM,R,A7,121B*100B ADD TERM TO CURRENT DATE
  6694. SA2 A7 GET NEW PACKED DATE
  6695. BX6 X2
  6696. EQ ADTX RETURN
  6697.  
  6698.  
  6699. ADTA BSS 1 *CPM* PARAMETERS
  6700. AUI SPACE 4,15
  6701. ** AUI - ASSIGN USER INDEX.
  6702. *
  6703. *
  6704. * ENTRY NO USER INDEX IN *TANB* BLOCK.
  6705. *
  6706. * EXIT (X0) .LT. 0, IF USER INDEX SET.
  6707. * (X0) .GE. 0, IF USER INDEX NOT SET.
  6708. * (B3) = MESSAGE, IF USER INDEX NOT SET.
  6709. *
  6710. * USES X - 0, 1, 6, 7.
  6711. * A - 1, 6, 7.
  6712. * B - 2, 3, 4, 5.
  6713.  
  6714.  
  6715. AUI4 MX0 1 SET UI USED
  6716. SB5 B5+B2
  6717. BX1 X0+X1
  6718. SB4 B4-B2
  6719. LX6 X1,B4
  6720. SX7 B5+B1
  6721. SA6 A1
  6722. SA1 TANB+AUIN SET INDEX IN RECORD BLOCK
  6723. MX0 42
  6724. BX1 X0*X1
  6725. BX7 X1+X7
  6726. SA7 A1
  6727.  
  6728. AUI SUBR ENTRY/ EXIT
  6729. SB3 AUIMX-1
  6730. SA1 TAUI-1
  6731. SB5 B0
  6732. SB4 60 CONSTANT 60
  6733. AUI1 SA1 A1+B1
  6734. SB2 B0
  6735. GE B5,B3,AUI3 IF ALL ASSIGNED
  6736. AUI2 PL X1,AUI4 IF UI FREE
  6737. LX1 1
  6738. SB2 B2+B1
  6739. LT B2,B4,AUI2 IF MORE TO CHECK
  6740. SB5 B5+B4
  6741. EQ AUI1 LOOP FOR NEXT WORD
  6742.  
  6743. AUI3 SX0 B0+ SET ERROR
  6744. SB3 ERUN **** NO USER INDICES AVAILABLE.
  6745. EQ AUIX RETURN
  6746. CDP SPACE 4,15
  6747. ** CDP - CLEAR DEFAULT PERMISSION BITS.
  6748. *
  6749. * ENTRY (A0) = ADDRESS OF *TPCW* ENTRY.
  6750. * (X4) = PERMISSION CONTROL WORD.
  6751. *
  6752. * EXIT (X4) = NEW PERMISSION CONTROL WORD.
  6753. * DEFAULT BITS CLEARED IN PERMISSION CONTROL WORD.
  6754. * PERMISSION CONTROL DEFAULT MASK BIT SET.
  6755. *
  6756. * USES X - 0, 1, 2, 3, 4, 6.
  6757. * A - 1, 6.
  6758. * B - 2, 3.
  6759.  
  6760.  
  6761. CDP SUBR ENTRY/EXIT
  6762. SA1 A0
  6763. MX2 -6
  6764. LX1 -18
  6765. BX3 -X2*X1 NUMBER OF PERMISSION BITS
  6766. LX1 -6
  6767. BX2 -X2*X1 SHIFT FOR MASK
  6768. SB2 X3-1 MASK BITS
  6769. SB3 X2 MASK SHIFT
  6770. MX0 1
  6771. AX0 B2
  6772. LX0 B3
  6773. BX4 -X0*X4 CLEAR DEFAULT PERMISSIONS
  6774. SB2 A0-TPCW PREVENT ADDITIONAL CLEAR OF DEFAULT BITS
  6775. SA1 PCDW
  6776. SX2 B1
  6777. LX2 B2
  6778. BX6 X1+X2
  6779. SA6 A1
  6780. EQ CDPX RETURN
  6781. CEP SPACE 4,10
  6782. ** CEP - CLEAR ERROR PROCESSING.
  6783. *
  6784. * ENTRY (A1) = FET ADDRESS.
  6785. *
  6786. * USES X - 0, 2, 6.
  6787. * A - 2, 6.
  6788.  
  6789.  
  6790. CEP SUBR ENTRY/EXIT
  6791. SA2 A1+B1 CLEAR ERROR PROCESSING BIT
  6792. SX0 B1
  6793. LX0 44
  6794. BX6 -X0*X2
  6795. SA6 A2
  6796. EQ CEPX RETURN
  6797. CER SPACE 4,20
  6798. ** CER - CHECK FOR ERROR.
  6799. *
  6800. * ENTRY (A1) = FET ADDRESS.
  6801. * (X1) = FIRST WORD OF FET.
  6802. * (B4) = RETURN ADDRESS. CONTROL IS RETURNED HERE
  6803. * IF THE FILE IS FOUND BUSY.
  6804. *
  6805. * EXIT TO (B4) AFTER WAITING FOR FILE TO BECOME AVAILABLE.
  6806. * TO *ABE* IF ONE OF THE FOLLOWING CONDITIONS -
  6807. * 1. AN ERROR OTHER THAN FILE BUSY WAS ENCOUNTERED.
  6808. * 2. AN ERROR IS PRESENT AND *CER* WAS NOT CALLED FROM
  6809. * *PRESET*.
  6810. * TO *ABT* IF AN INTERACTIVE JOB HAS MADE TEN
  6811. * UNSUCCESSFUL ATTEMPTS TO ATTACH THE VALIDATION FILE.
  6812. *
  6813. * USES X - 0, 1, 2, 6.
  6814. * A - 2, 6.
  6815. *
  6816. * MACROS MESSAGE, ROLLOUT.
  6817.  
  6818.  
  6819. CER SUBR ENTRY/EXIT
  6820. MX0 -4 CHECK FOR ERROR
  6821. AX1 10
  6822. BX0 -X0*X1
  6823. ZR X0,CERX IF NO ERROR
  6824. SX0 X0-/ERRMSG/FBS
  6825. NZ X0,ABE IF NOT *FILE BUSY* RETURN FROM *PFM*
  6826. SA2 CERA
  6827. NZ X2,ABE IF NOT PRESET CALL
  6828. SX1 A1-U
  6829. ZR X1,CER3 IF *VALINDS* REQUEST
  6830. SA2 CERC
  6831. SX6 X2-1
  6832. ZR X6,CER2 IF RETRY COUNT EXCEEDED
  6833. SA6 A2+
  6834. MESSAGE DMWV,2,R * WAITING FOR VALIDATION FILE.*
  6835. ROLLOUT CERD ROLLOUT FOR 5 SECONDS
  6836. MESSAGE (=C**),2,R
  6837. JP B4 RETURN CONTROL
  6838.  
  6839. CER2 SA2 OT
  6840. SX2 X2-IAOT
  6841. NZ X2,CER3 IF NOT INTERACTIVE JOB
  6842. SX2 DMVB * VALIDATION FILE BUSY.*
  6843. EQ ABT ABORT
  6844.  
  6845. CER3 ROLLOUT CERB
  6846. JP B4 RETRY
  6847.  
  6848.  
  6849. CERA CON 0 PRESET CALL FLAG
  6850. CERB CON 0 FAST ATTACH FILE BUSY TIMED/EVENT ROLLOUT
  6851. CERC CON 10 RETRY COUNT
  6852. CERD CON 5 PARAMETER WORD FOR TIMED ROLLOUT
  6853. CLN SPACE 4,15
  6854. ** CLN - CHECK LINE NUMBER.
  6855. *
  6856. *
  6857. * ENTRY (X1) = AVAILABLE LINES REQUESTED. UPPER 30 BITS
  6858. * CONTAIN LINES USED IF LESS.
  6859. *
  6860. * EXIT NEW PAGE GENERATED IF NECESSARY.
  6861. *
  6862. * USES X - 1, 2, 6, 7.
  6863. * A - 1, 2, 6.
  6864. *
  6865. * CALLS CDD.
  6866. *
  6867. * MACROS CLOCK, DATE, WRITEC, WRITEH, WRITEW.
  6868.  
  6869.  
  6870. CLN4 SA6 LC SET NEW LINE COUNT
  6871.  
  6872. CLN SUBR ENTRY/EXIT
  6873. SA2 LC
  6874. IX6 X2-X1
  6875. PL X6,CLN4 IF ENOUGH ROOM ON PAGE
  6876. BX7 X1
  6877. AX7 30
  6878. ZR X7,CLN1 IF LINES USED = LINES REQUESTED
  6879. SX1 X1
  6880. IX6 X2-X7
  6881. IX2 X2-X1
  6882. PL X2,CLN4 IF ENOUGH ROOM ON PAGE
  6883. BX1 X7
  6884. CLN1 BX6 -X1 SAVE LINES USED COMPLEMENTED
  6885. SA6 CLNB
  6886. DATE DATE
  6887. CLOCK TIME
  6888. SA1 PN GET PAGE NUMBER
  6889. SX6 X1+B1 INCREMENT
  6890. SA6 A1
  6891. RJ CDD CONVERT
  6892. LX6 6*4
  6893. SA6 PAGE
  6894. WRITEW O,CLNA,1
  6895. WRITEW O,CCDR,8 WRITE COMMAND IN HEADER LINE
  6896. WRITEH O,DATE,6
  6897. SA1 OP CHECK OPTION
  6898. SX1 X1-LOPT
  6899. NZ X1,CLN2 IF NOT LIST
  6900. WRITEC O,SUBT1
  6901. WRITEC O,SUBT2
  6902. WRITEC O,(=1L )
  6903. SA1 CLNB
  6904. SA2 LPPG GET LINES PER PAGE
  6905. IX6 X1+X2
  6906. SX6 X6-5
  6907. EQ CLN3 CHECK OUTPUT FILE TYPE
  6908.  
  6909. CLN2 SA1 CLNB SET LINES REMAINING ON PAGE
  6910. SA2 LPPG GET LINES PER PAGE
  6911. IX6 X1+X2
  6912. SX6 X6-2
  6913. CLN3 SA1 OF CHECK OUTPUT FILE TYPE
  6914. NZ X1,CLN4 IF NOT A TERMINAL FILE
  6915. MX6 1
  6916. BX6 -X6
  6917. EQ CLN4 RETURN
  6918.  
  6919.  
  6920. CLNA CON 1H1 CARRIAGE CONTROL
  6921. CLNB CON 0 LINES USED COMPLEMENT
  6922.  
  6923. LC CON 0 LINE COUNT
  6924. PN CON 1 PAGE NUMBER
  6925.  
  6926. DATE DATA 1H HEADER
  6927. TIME DATA 1H
  6928. CON 0APAGE
  6929. PAGE DATA 1H
  6930. CON 0
  6931. CON 1L
  6932. SUBT1 DIS ,* USER USER CREATION LAST MOD*
  6933. SUBT2 DIS ,* NAME INDEX DATE DATE*
  6934. COB SPACE 4,15
  6935. ** COB - CHECK OUTPUT BUFFER.
  6936. *
  6937. * EXIT OUTPUT BUFFER FLUSHED IF NECESSARY AND *SSST* STATUS
  6938. * REMOVED FROM OUTPUT FILE.
  6939. *
  6940. * USES X - 1, 2.
  6941. * A - 1, 2.
  6942. *
  6943. * MACROS SETFS, STATUS, WRITER.
  6944.  
  6945.  
  6946. COB SUBR ENTRY/ EXIT
  6947. SA1 CLN CHECK IF SUBROUTINE *CLN* EVER CALLED
  6948. SA2 PLM CHECK IF SUBROUTINE *PLM* EVER CALLED
  6949. BX2 X1+X2
  6950. ZR X2,COBX IF NO OUTPUT WRITTEN
  6951. WRITER O,R FLUSH OUTPUT
  6952. SA1 OF
  6953. ZR X1,COBX IF TERMINAL FILE
  6954. STATUS O,P
  6955. SA2 O+5 GET FNT
  6956. MX1 -6
  6957. BX2 -X1*X2 GET FILE STATUS
  6958. SX1 X2-SSST
  6959. NZ X1,COBX IF PRIOR OUTPUT ID
  6960. SETFS O,0 CLEAR FILE STATUS
  6961. EQ COBX RETURN
  6962. CPR SPACE 4,20
  6963. ** CPR - CHECK PASSWORD REQUIREMENT.
  6964. *
  6965. * ENTRY (X5) = PASSWORD WORD FROM USER BLOCK.
  6966. * (A5) = ADDRESS OF PASSWORD WORD.
  6967. *
  6968. * EXIT (B3) = ERROR MESSAGE ADDRESS, IF PASSWORD REQUIRED
  6969. * BUT NOT ENTERED.
  6970. * (B3) = 0, IF ENTERED OR NOT REQUIRED.
  6971. *
  6972. * IF NO PASSWORD IS ENTERED, AND NONE IS REQUIRED, THE
  6973. * ENCRYPTED NULL PASSWORD AND THE DEFAULT EXPIRATION DATE
  6974. * WILL BE SET.
  6975. *
  6976. * USES X - 0, 1, 5, 6, 7.
  6977. * A - 1, 7.
  6978. * B - 2, 3.
  6979. *
  6980. * CALLS ADT, EPW.
  6981.  
  6982.  
  6983. CPR3 SB3 ERPR **** PASSWORD REQUIRED.
  6984.  
  6985. CPR SUBR ENTRY/EXIT
  6986. SB3 B0+ SET NO ERROR
  6987. MX0 42
  6988. BX6 X0*X5
  6989. NZ X6,CPRX IF PASSWORD ENTERED
  6990. BX6 -X0*X5
  6991. NZ X6,CPR1 IF EXPIRATION DATE ENTERED
  6992. SX1 APXT-7777B
  6993. ZR X1,CPR1 IF DEFAULT IS NON-EXPIRING
  6994. SX1 APXT SET DEFAULT EXPIRATION TERM
  6995. RJ ADT
  6996. CPR1 BX3 X6 SAVE EXPIRATION DATE
  6997. BX5 X5-X5 SET NULL PASSWORD
  6998. RJ EPW
  6999. BX7 X3+X6 COMBINE PASSWORD AND EXPIRATION DATE
  7000. SA1 RP
  7001. NZ X1,CPR2 IF NO PASSWORD REQUIRED
  7002. SB2 RPWL
  7003. ZR B2,CPR2 IF MINIMUM REQUIRED LENGTH = 0
  7004. SA1 RDBA
  7005. NZ X1,CPR3 IF NEW USER
  7006. CPR2 SA7 A5 SET PASSWORD AND EXPIRATION DATE
  7007. EQ CPRX RETURN
  7008. CSM SPACE 4,15
  7009. ** CSM - CHECK SECURITY MODE.
  7010. *
  7011. * EXIT (X1) = 0, IF USER IS VALID.
  7012. * (X1) .NE. 0 IF USER IS NOT VALID. IN A SECURED
  7013. * SYSTEM, SECURITY ADMINISTRATOR PRIVILEGES
  7014. * ARE REQUIRED.
  7015. *
  7016. * USES X - 1, 2.
  7017. * A - 1, 2.
  7018. *
  7019. * MACROS GETSSM, GETUSV.
  7020.  
  7021.  
  7022. CSM SUBR ENTRY/EXIT
  7023. GETSSM CSMA GET SECURITY MODE
  7024. SA1 CSMA
  7025. ZR X1,CSMX IF NOT A SECURE SYSTEM
  7026. GETUSV CSMB GET VALIDATION WORD *JSCW*
  7027. SA2 CSMB
  7028. SX1 B0+
  7029. NG X2,CSMX IF SECURITY ADMINISTRATOR
  7030. SX1 B1+
  7031. EQ CSMX RETURN
  7032.  
  7033. CSMA CON 0 SECURITY MODE
  7034. CSMB CON 0 VALIDATION WORD *JSCW*
  7035. CUN SPACE 4,10
  7036. ** CUN - COMPARE USER NAMES.
  7037. *
  7038. * *CUN* COMPARES THE CURRENT JOB USER NAME WITH THE
  7039. * USER NAME TO BE CHANGED.
  7040. *
  7041. * ENTRY *TANB* BLOCK SET.
  7042. *
  7043. * EXIT (X1) = 0 IF USER NAMES MATCH.
  7044. *
  7045. * USES X - 0, 1, 2.
  7046. * A - 1, 2.
  7047.  
  7048.  
  7049. CUN SUBR ENTRY/EXIT
  7050. SA1 SSJ=+UIDS GET USER NAME FOR JOB
  7051. SA2 TANB+ACCN GET USER NAME BEING ALTERED
  7052. MX0 42
  7053. BX1 X1-X2
  7054. BX1 X0*X1 COMPARE USER NAMES
  7055. EQ CUNX RETURN
  7056. EPW SPACE 4,10
  7057. ** EPW - ENCRYPT PASSWORD.
  7058. *
  7059. * ENTRY (X5) = PASSWORD LEFT JUSTIFIED, BINARY ZERO FILLED.
  7060. *
  7061. * EXIT (X6) = ENCRYPTED PASSWORD IN BITS 59-18.
  7062. *
  7063. * USES X - 1, 6.
  7064. * A - 1, 6.
  7065. *
  7066. * MACROS SYSTEM.
  7067.  
  7068.  
  7069. EPW SUBR ENTRY/EXIT
  7070. BX6 X5 SAVE PASSWORD
  7071. SA6 EPWA
  7072. SYSTEM CPM,R,EPWA,122B*100B
  7073. SA1 EPWA GET ENCRYPTED PASSWORD
  7074. BX6 X1
  7075. EQ EPWX RETURN
  7076.  
  7077.  
  7078. EPWA CON 0 *CPM* PARAMETER BLOCK
  7079. IAM SPACE 4,20
  7080. ** IAM - ISSUE ACCOUNT FILE MESSAGE.
  7081. *
  7082. * ENTRY (DANA) .NE. 0, IF USER NAME DELETE.
  7083. * (UUFG) .LT. 0, IF REFORMAT OPTION.
  7084. * .EQ. 0, IF USER NAME CREATE OR DELETE.
  7085. * .GT. 0, IF USER NAME UPDATE.
  7086. *
  7087. * EXIT ACCOUNT MESSAGE ISSUED IF FAST-ATTACHED MODE.
  7088. *
  7089. * USES X - 0, 1, 2, 6.
  7090. * A - 1, 2, 6.
  7091. * B - 2, 5.
  7092. *
  7093. * CALLS SNM.
  7094. *
  7095. * MACROS MESSAGE, MOVE.
  7096.  
  7097.  
  7098. IAM3 MESSAGE IAMD,5,R ISSUE MESSAGE TO ACCOUNT FILE
  7099.  
  7100. IAM SUBR ENTRY/EXIT
  7101. SA1 RAPF
  7102. ZR X1,IAMX IF LOCAL VALIDATION FILE
  7103. SA2 UUFG
  7104. NG X2,IAMX IF REFORMAT OPTION
  7105. SA1 EF
  7106. NZ X1,IAMX IF ERRORS
  7107. SA2 TANB+ACCN GET MODIFIED USER NAME
  7108. BX6 X2
  7109. SA6 IAMA+2
  7110. SA1 DANA GET MODIFICATION TYPE
  7111. SX6 B0+
  7112. NZ X1,IAM1 IF DELETE
  7113. SA1 UUFG
  7114. SX6 X6+1
  7115. NZ X1,IAM1 IF UPDATE
  7116. SX6 X6+1
  7117. IAM1 SA1 X6+IAMB SET MODIFICATION TYPE
  7118. BX6 X1
  7119. SA6 IAMA+4
  7120. MOVE IAMEL,IAME,IAMD SET MESSAGE FIELDS
  7121. SX0 4
  7122. IAM2 NG X0,IAM3 IF ALL FIELDS SET
  7123. SA1 X0+IAMC GET REPLACEMENT CHARACTER
  7124. SB2 X1
  7125. SA1 X0+IAMA GET FIELD
  7126. MX6 42
  7127. BX1 X6*X1
  7128. SB5 IAMD
  7129. RJ SNM SET NAME IN MESSAGE
  7130. SX0 X0-1
  7131. EQ IAM2 CHECK NEXT FIELD
  7132.  
  7133. IAMA BSS 0 MESSAGE FIELD VALUES
  7134. CON 0 MODIFIED FAMILY NAME
  7135. BSS 1 ISSUING FAMILY NAME
  7136. BSS 1 MODIFIED USER NAME
  7137. BSS 1 ISSUING USER NAME
  7138. BSS 1 MODIFICATION TYPE
  7139.  
  7140. IAMB BSS 0 MESSAGE IDENTIFIERS
  7141. DATA 4LMVDU USER NAME DELETE
  7142. DATA 4LMVUU USER NAME UPDATE
  7143. DATA 4LMVCU USER NAME CREATE
  7144.  
  7145. IAMC BSS 0 REPLACEMENT CHARACTERS
  7146. CON 1R+ MODIFIED FAMILY NAME
  7147. CON 1R- ISSUING FAMILY NAME
  7148. CON 1R= MODIFIED USER NAME
  7149. CON 1R/ ISSUING USER NAME
  7150. CON 1R$ MODIFICATION TYPE
  7151.  
  7152. IAMD DATA C*$$$$, -------, ///////, +++++++, =======.*
  7153. IAME DATA C*$$$$, -------, ///////, +++++++, =======.*
  7154. IAMEL EQU *-IAME LENGTH OF MESSAGE
  7155. ICE SPACE 4,10
  7156. ** ICE - INDEXED CODE EXECUTION.
  7157. *
  7158. * ENTRY (B7) = SUBROUTINE ADDRESS.
  7159. *
  7160. * EXIT TO SUBROUTINE WITH RETURN ADDRESS SET.
  7161. *
  7162. * USES A - 2, 7.
  7163. * X - 2, 7.
  7164.  
  7165.  
  7166. ICE SUBR ENTRY/ EXIT
  7167. SA2 ICEX SET RETURN ADDRESS
  7168. BX7 X2
  7169. SA7 B7
  7170. JP B7+1 JUMP TO SUBROUTINE
  7171. LID SPACE 4,15
  7172. ** LID - LIST INPUT DIRECTIVES.
  7173. *
  7174. * ENTRY FRESH DATA IN STRING BUFFER.
  7175. *
  7176. * EXIT NEW INPUT LINE WRITTEN TO OUTPUT.
  7177. *
  7178. * USES X - 1, 2, 3, 7.
  7179. * A - 1, 2, 3, 7.
  7180. *
  7181. * CALLS CLN.
  7182. *
  7183. * MACROS WRITES.
  7184.  
  7185.  
  7186. LID1 SX7 X1-1 COUNT INFORMATION SKIPPED
  7187. SA7 A1+
  7188.  
  7189. LID SUBR ENTRY/ EXIT
  7190. SA3 OP CHECK OPTION
  7191. ZR X3,LIDX IF K-DISPLAY
  7192. SA1 LIDA SKIP PRIVILEGED INFORMATION
  7193. SA2 EL CHECK LIST OPTION
  7194. NZ X1,LID1 IF PRIVILEGED INFORMATION
  7195. NZ X2,LIDX IF DIRECTIVES NOT LISTED
  7196. SX1 B1 CHECK FOR HEADER
  7197. SX2 5
  7198. LX1 30
  7199. BX1 X1+X2
  7200. RJ CLN
  7201. SA1 SB SET STRING BUFFER ADDRESS
  7202. SA3 SM GET BUFFER LENGTH
  7203. IX3 X3-X1
  7204. WRITES O,X1-1,X3+1
  7205. EQ LIDX RETURN
  7206.  
  7207.  
  7208. LIDA CON 0 PRIVILEGED INFORMATION FLAG
  7209. PCE SPACE 4,15
  7210. ** PCE - PURGE CATALOG ENTRIES.
  7211. *
  7212. * ENTRY USER INDEX SET.
  7213. *
  7214. * EXIT ALL CATALOG ENTRIES FOR SPECIFIC USER INDEX PURGED.
  7215. *
  7216. * USES X - 0, 1, 6.
  7217. * A - 1, 6.
  7218. *
  7219. * CALLS CEP, CER, CLN, SEP.
  7220. *
  7221. * MACROS CATLIST, PURGE, READW, WRITEC.
  7222.  
  7223.  
  7224. PCE3 SA1 I
  7225. LX1 -10
  7226. BX6 X6-X6
  7227. PL X1,PCE1 IF NOT END OF INFORMATION
  7228. SA1 I
  7229. SA6 A1+CFCN CLEAR CATLIST CONTINUATION DATA ADDRESS
  7230. RJ CEP CLEAR ERROR PROCESSING
  7231. SA1 S
  7232. RJ CEP CLEAR ERROR PROCESSING
  7233.  
  7234. PCE SUBR ENTRY/ EXIT
  7235. SA1 I
  7236. RJ SEP SET ERROR PROCESSING
  7237. SA1 S
  7238. RJ SEP SET ERROR PROCESSING
  7239. PCE1 CATLIST I,,,,,,IP
  7240. SA1 I
  7241. RJ CER CHECK ERROR
  7242. PCE2 READW I,KBUF,NWCE
  7243. NG X1,PCE3 IF NO MORE FILES
  7244. SA1 KBUF+FCFN
  7245. MX0 42
  7246. SX6 B1
  7247. BX1 X0*X1 GET FILE NAME
  7248. BX6 X1+X6 SET BIT ZERO FOR PURGE CALL
  7249. SA6 S
  7250. BX6 X1
  7251. SA6 PCEA+1
  7252. PURGE S,,,,,IP
  7253. SA1 S
  7254. RJ CER CHECK ERROR
  7255. SX1 B1
  7256. RJ CLN CHECK LINE NUMBER
  7257. WRITEC O,PCEA DUMP FILE NAME TO OUTPUT
  7258. EQ PCE2 LOOP
  7259.  
  7260.  
  7261. PCEA DATA C* PURGE XXXXXXX*
  7262. SEP SPACE 4,10
  7263. ** SEP - SET ERROR PROCESSING.
  7264. *
  7265. * ENTRY (A1) = FET ADDRESS.
  7266. *
  7267. * USES X - 0, 2, 6.
  7268. * A - 2, 6.
  7269.  
  7270.  
  7271. SEP SUBR ENTRY/EXIT
  7272. SA2 A1+B1 SET ERROR PROCESSING BIT
  7273. SX0 B1
  7274. LX0 44
  7275. BX6 -X0*X2
  7276. BX6 X0+X6
  7277. SA6 A2
  7278. EQ SEPX RETURN
  7279. SUI SPACE 4,10
  7280. ** SUI - SAVE AVAILABLE USER INDEX TABLE.
  7281. *
  7282. * EXIT USER INDICES WRITTEN TO VALINDS.
  7283. *
  7284. * MACROS REWIND, SETFS, WRITER, WRITEW.
  7285.  
  7286.  
  7287. SUI SUBR ENTRY/ EXIT
  7288. REWIND U,R
  7289. WRITEW U,TAUI,TAUIL
  7290. WRITER U
  7291. SETFS U,0 CLEAR FILE STATUS
  7292. EQ SUIX RETURN
  7293. SPB SPACE 4,15
  7294. ** SPB - SET PERMISSION BIT IN PERMISSION CONTROL WORD.
  7295. *
  7296. * ENTRY (A0) = ADDRESS OF *TPCW* ENTRY.
  7297. * (X1) = PERMISSION IDENTIFIER.
  7298. * (X4) = PERMISSION CONTROL WORD.
  7299. *
  7300. * EXIT (X4) = NEW PERMISSION CONTROL WORD.
  7301. * (B3) .LT. 0 IF NO ERROR.
  7302. * = ERROR MESSAGE ADDRESS IF ERROR.
  7303. *
  7304. * USES X - 1, 2, 3, 4.
  7305. * A - 1, 3.
  7306. * B - 2, 3, 4.
  7307. *
  7308. * CALLS CDP, STB.
  7309.  
  7310.  
  7311. SPB SUBR ENTRY/EXIT
  7312. SA3 A0
  7313. MX2 42
  7314. SB2 X3
  7315. RJ STB SEARCH TABLE
  7316. SB3 ERAD * ERROR IN ALPHANUMERIC DATA.*
  7317. ZR X3,SPBX IF PERMISSION IDENTIFIER NOT FOUND
  7318. MX2 -6
  7319. BX3 -X2*X3
  7320. SB4 X3 PERMISSION BIT NUMBER
  7321. SB2 A0-TPCW CHECK IF DEFAULTS TO BE CLEARED
  7322. SA1 PCDW
  7323. AX1 B2
  7324. LX1 59-0
  7325. NG X1,SPB1 IF DEFAULT BITS NOT TO BE CLEARED
  7326. RJ CDP CLEAR DEFAULT PERMISSION BITS
  7327. SPB1 SX1 B1 SET/TOGGLE PERMISSION BIT
  7328. LX1 B4
  7329. BX4 X4-X1
  7330. SB3 -1 SET NO ERROR
  7331. EQ SPBX RETURN
  7332. CAF SPACE 4,15
  7333. ** CAF - CHECK ALTERNATE FAMILY.
  7334. *
  7335. * EXIT (X6) .NE. 0, IF FAMILY NAME CHANGE NOT ALLOWED.
  7336. * FAMILY SET TO (FN), IF (FN) .NE. -1 AND JOB IS FROM
  7337. * SYSTEM ORIGIN.
  7338. *
  7339. * ERROR TO *ABT* IF INCORRECT FAMILY.
  7340. *
  7341. * USES X - 1, 2, 6.
  7342. * A - 1, 2, 6.
  7343. *
  7344. * MACROS ENFAM.
  7345.  
  7346.  
  7347. CAF SUBR ENTRY/EXIT
  7348. SA1 FN
  7349. MX6 59
  7350. BX6 X1-X6
  7351. ZR X6,CAFX IF FAMILY NOT SPECIFIED
  7352. SA1 OT CHECK FAMILY CHANGE ALLOWED
  7353. SX6 X1-SYOT
  7354. NZ X6,CAFX IF NOT SYSTEM ORIGIN
  7355. ENFAM FN
  7356. SA1 FN
  7357. MX6 -18
  7358. BX6 X6*X1 CLEAR STATUS
  7359. LX1 59-11
  7360. SX2 DMFM * FM NOT LEGAL FAMILY.*
  7361. PL X1,CAF1 IF FAMILY CHANGED
  7362. MX6 59
  7363. SA6 A1
  7364. EQ ABT ABORT
  7365.  
  7366. CAF1 SA6 A1 SET OLD FAMILY NAME
  7367. BX6 X6-X6
  7368. EQ CAFX RETURN
  7369. TOV SPACE 4,15
  7370. ** TOV - TABLE OVERFLOW PROCESSOR.
  7371. *
  7372. * ENTRY FROM *ATS* ONLY.
  7373. * (B6) = EXIT ADDRESS IN *COMCMTP* TO CONTINUE
  7374. * PROCESSING.
  7375. *
  7376. * EXIT TO (B6).
  7377. * FIELD LENGTH INCREASED BY *FLIN* WORDS.
  7378. * (TV) .NE. 0, IF FIELD LENGTH LIMIT REACHED.
  7379. *
  7380. * USES X - 3, 4, 6.
  7381. * A - 3, 4, 6.
  7382. *
  7383. * MACROS MEMORY.
  7384.  
  7385.  
  7386. TOV BSS 0 ENTRY
  7387. SA4 FLM MAXIMUM FIELD LENGTH
  7388. SA3 ML CURRENT FIELD LENGTH
  7389. SX3 X3+FLIN
  7390. IX4 X3-X4 LIMIT FIELD LENGTH
  7391. NG X4,TOV1 IF ADEQUATE FIELD LENGTH
  7392. SX6 B1 INDICATE OVERFLOW
  7393. SA6 TV
  7394. TOV1 MEMORY CM,TOVB,R,X3
  7395. SA3 TOVB GET FIELD LENGTH ASSIGNED
  7396. AX3 30
  7397. BX6 X3
  7398. SA6 ML SET NEW FIELD LENGTH
  7399. SX6 X6-C.TAB2
  7400. SA6 F.TEND ADJUST TABLE LENGTH
  7401. JP B6 EXIT
  7402.  
  7403.  
  7404. TOVB CON 0 FIELD LENGTH STATUS RETURN
  7405. VPW SPACE 4,15
  7406. ** VPW - VERIFY PASSWORD.
  7407. *
  7408. * ENTRY (X7) = PASSWORD, LEFT JUSTIFIED.
  7409. *
  7410. * EXIT (B2) = 0 IF PASSWORD AT LEAST REQUIRED LENGTH.
  7411. * = -1 IF PASSWORD NOT AT LEAST MINIMUM
  7412. * REQUIRED LENGTH.
  7413. *
  7414. * USES X - 0, 1, 3, 4.
  7415. * A - 3.
  7416. * B - 2, 3.
  7417.  
  7418.  
  7419. VPW SUBR ENTRY/EXIT
  7420. SB2 B0+
  7421. SA3 RP CHECK IF PASSWORD REQUIRED
  7422. SX1 RPWL-1 CHECK REQUIRED PASSWORD LENGTH
  7423. NZ X3,VPWX IF NO PASSWORD REQUIRED
  7424. NG X1,VPWX IF NO PASSWORD REQUIRED
  7425. SX4 6
  7426. IX3 X1*X4
  7427. MX0 1
  7428. SB3 X3-1 BUILD MASK
  7429. AX0 B3
  7430. BX1 -X0*X7 CHECK PASSWORD
  7431. NZ X1,VPWX IF PASSWORD AT LEAST REQUIRED LENGTH
  7432. SB2 -B1
  7433. EQ VPWX RETURN
  7434. WCE SPACE 4,10
  7435. ** WCE - WRITE CATALOG ENTRY TO OUTPUT.
  7436. *
  7437. * ENTRY (TANB) = 42/USER NAME ,18/USER INDEX.
  7438. * (TANB+1) = 24/ ,18/CREATION DATE ,18/LAST MOD DATE.
  7439. *
  7440. * EXIT CATALOG INFORMATION WRITTEN TO OUTPUT FILE.
  7441. *
  7442. * USES X - 0, 1, 2, 6.
  7443. * A - 1, 2, 6.
  7444. *
  7445. * CALLS CLN, COD, SFN.
  7446. *
  7447. * MACROS EDATE, WRITEC.
  7448.  
  7449.  
  7450. WCE SUBR ENTRY/EXIT
  7451. SA2 TANB SET USER NAME
  7452. MX0 42
  7453. BX1 X0*X2
  7454. BX0 -X0*X2
  7455. RJ SFN SET USER NAME
  7456. LX6 -6
  7457. SA6 WCEA
  7458. BX1 X0 SET USER INDEX
  7459. RJ COD
  7460. LX6 6*2
  7461. SA1 TANB+1 SET CREATION DATE
  7462. AX1 18
  7463. SA6 WCEB
  7464. SX1 X1+
  7465. EDATE X1
  7466. SA6 WCEC
  7467. SA1 TANB+1 SET LAST MODIFICATION DATE
  7468. SX1 X1
  7469. EDATE X1
  7470. SA6 WCED
  7471. SX1 1
  7472. RJ CLN
  7473. WRITEC O,WCEA
  7474. EQ WCEX RETURN
  7475.  
  7476.  
  7477. WCEA CON 1H
  7478. WCEB CON 1H
  7479. WCEC CON 1H
  7480. WCED CON 1H
  7481. CON 0
  7482. COMMON SPACE 4,10
  7483. ** COMMON DECKS.
  7484.  
  7485.  
  7486. *CALL COMCOVL
  7487. *CALL COMCPFM
  7488. *CALL COMCCDD
  7489. *CALL COMCCIO
  7490. *CALL COMCCOD
  7491. *CALL COMCCPM
  7492. *CALL COMCDXB
  7493. *CALL COMCEDT
  7494. LIST X
  7495. *CALL COMCCVI
  7496. LIST -X
  7497. *CALL COMCLFM
  7498. *CALL COMCMTP
  7499. *CALL COMCMVE
  7500. *CALL COMCRDO
  7501. *CALL COMCRDS
  7502. *CALL COMCRDW
  7503. *CALL COMCSFN
  7504. *CALL COMCSYS
  7505. *CALL COMCWOD
  7506. *CALL COMCSTF
  7507. *CALL COMCWTC
  7508. *CALL COMCWTH
  7509. *CALL COMCWTS
  7510. *CALL COMCWTW
  7511. *CALL COMCRDC
  7512. *CALL COMCSNM
  7513. *CALL COMCVDT
  7514. TITLE K-DISPLAY AREA.
  7515. INITIAL SPACE 4,10
  7516. ** DISPLAY AREA DATA.
  7517.  
  7518.  
  7519. KIA VFD 6/4B,18/KBUF,18/0,18/DSA CONTROL WORD
  7520.  
  7521. KBUF BSSZ 8 KEYBOARD BUFFER
  7522. KTIT DATA C*MODVAL.* K-DISPLAY TITLE
  7523.  
  7524. NOREF K
  7525.  
  7526. DSA VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7527. KDL 1,T,( MODVAL)
  7528. KDL 5,,("APFN")
  7529. KDL 18,,(CRE)
  7530. KDL 21,,(ATED )
  7531. DSCD EQU *-1
  7532. KDL 41,,(UPD)
  7533. KDL 44,H,(ATED )
  7534. DSMD EQU *-1
  7535. KDL 1,K,(INPUT DIRECTIVES ARE THE SAME AS BATCH INPUT DIRECTIVES.)
  7536. KDL 1,H,(THE FOLLOWING DIRECTIVES ARE ALSO PROVIDED -)
  7537. KDL 1,H,( DIRECTIVE DESCRIPTION)
  7538. KDL 1,K,( C,UN CREATE OPTION. THIS DISPLAY ONLY.)
  7539. KDL 1,K,( DEL,UN DELETE OPTION. THIS DISPLAY ONLY.)
  7540. KDL 1,K,( I,UN INQUIRE OPTION. THIS DISPLAY ONLY.)
  7541. KDL 1,K,( U,UN UPDATE OPTION. THIS DISPLAY ONLY.)
  7542. KDL 6,K,(/UN TERMINATE INPUT FOR PRESENT USER NAME IF ANY,)
  7543. KDL 18,H,(UPDATE "APFN" FILE. INITIATE ACTION ON *UN*.)
  7544. KDL 1,H,(UN = 1-7 CHARACTER USER NAME.)
  7545. KDL 1,H,(K.END FROM THIS DISPLAY ENDS THE MODVAL RUN.)
  7546. MSGA EQU *+1
  7547. KDL 1,M,( )
  7548. INPA EQU *+1
  7549. KDL 1,I,( )
  7550. CON 0
  7551. PAGE1 SPACE 4,10
  7552. DSB VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7553. KDL 1,T,(USER )
  7554. DSAN EQU *-1
  7555. KDL 54,T,(PAGE 1 OF 5)
  7556. KDL 3,,(CRE)
  7557. KDL 6,,(ATED )
  7558. DSAC1 EQU *-1
  7559. KDL 40,,(UPD)
  7560. KDL 43,H,(ATED )
  7561. DSAU EQU *-1
  7562. KDL 2,H,( CONTENTS DESCRIPTION)
  7563. DSUI EQU *+1
  7564. KDL 2,K,( UI = USER INDEX (1-377777B).)
  7565. DSPL EQU *+1
  7566. KDL 2,K,( AL = 00B APPLICATION ACCESS LEVEL (1-17B).)
  7567. DSMT EQU *+1
  7568. KDL 2,K,( MT = MAGNETIC TAPES (0-7).)
  7569. DSRP EQU *+1
  7570. KDL 2,H,( RP = REMOVABLE PACKS (0-7).)
  7571. KDL 2,H,( CONTENTS VALUE DESCRIPTION)
  7572. DSCM EQU *+1
  7573. KDL 2,K,( CM = 00B ( 0000B) CENTRAL MEMORY FL (0-77B).)
  7574. DSEC EQU *+1
  7575. KDL 2,K,( EC = 00B ( 0000B) EXTENDED MEMORY FL (0-77B).)
  7576. DSLP EQU *+1
  7577. KDL 2,K,( LP = 00B ( 00000) LINES PRINTED (0-77B).)
  7578. DSMS EQU *+1
  7579. KDL 2,K,( MS = 00B (000000) MASS STORAGE PRUS (0-77B).)
  7580. DSSL EQU *+1
  7581. KDL 2,K,( SL = 00B ( 00000) SRU LIMIT (0-77B).)
  7582. DSTL EQU *+1
  7583. KDL 2,K,( TL = 00B ( 00000) TIME LIMIT (0-77B).)
  7584. MSGB EQU *+1
  7585. KDL 1,M,( )
  7586. INPB EQU *+1
  7587. KDL 1,I,( )
  7588. CON 0 END OF DISPLAY
  7589. PAGE2 SPACE 4,10
  7590. DSC VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7591. KDL 1,T,(USER )
  7592. DSAN1 EQU *-1
  7593. KDL 54,T,(PAGE 2 OF 5)
  7594. KDL 2,H,( CONTENTS VALUE DESCRIPTION)
  7595. DSCP EQU *+1
  7596. KDL 2,K,( CP = 00B ( 0000) CARDS PUNCHED (0-77B).)
  7597. DSPT EQU *+1
  7598. KDL 2,K,( PT = 00B ( 00000) UNITS PLOTTED (0-77B).)
  7599. DSCC EQU *+1
  7600. KDL 2,K,( CC = 00B ( 0000) COMMANDS (0-77B).)
  7601. DSDF EQU *+1
  7602. KDL 2,K,( DF = 00B ( 0000) DAYFILE MESSAGES (0-77B).)
  7603. DSDB EQU *+1
  7604. KDL 2,K,( DB = 0 ( 00) DEFERRED BATCH (0-7).)
  7605. DSDT EQU *+1
  7606. KDL 2,H,( DT = 00B ( 00000) DETACHED JOBS (0-77B).)
  7607. DSCS EQU *+1
  7608. KDL 2,K,( CS = 0 ( 00000) INDIRECT ACCESS FILE SPACE (0-7
  7609. ,).)
  7610. DSDS EQU *+1
  7611. KDL 2,K,( DS = 0 ( 00000) DIRECT ACCESS FILE SIZE (0-7).
  7612. DSFC EQU *+1
  7613. KDL 2,K,( FC = 0 ( 00) PERMANENT FILE COUNT (0-7).)
  7614. DSFS EQU *+1
  7615. KDL 2,K,( FS = 0 ( 00) INDIRECT ACCESS FILE SIZE (0-7)
  7616. ,.)
  7617. DSAW EQU *+1
  7618. KDL 2,K,( AW = ACCESS WORD (4 CHARACTERS).)
  7619. DSCN EQU *+1
  7620. KDL 2,K,( CN = CHARGE NUMBER (1-10 CHARACTERS)
  7621. ,.)
  7622. DSPN EQU *+1
  7623. KDL 2,K,( PN = PROJECT NUMBER (1-20 CHARACTERS
  7624. ,).)
  7625. DSUD EQU *+1
  7626. KDL 2,K,( PID = PERSONAL ID (0-20 CHARACTERS.).
  7627. ,)
  7628. MSGC EQU *+1
  7629. KDL 1,M,( )
  7630. INPC EQU *+1
  7631. KDL 1,I,( )
  7632. CON 0
  7633. PAGE3 SPACE 4,10
  7634. DSD VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7635. KDL 1,T,(USER )
  7636. DSAN2 EQU *-1
  7637. KDL 54,T,(PAGE 3 OF 5)
  7638. KDL 2,H,( CONTENTS DESCRIPTION)
  7639. DSSN EQU *+1
  7640. KDL 2,K,( SH = SHELL PROGRAM NAME (1-7 CHARACTERS).)
  7641. DSSH EQU *+1
  7642. KDL 2,K,( SO = SHELL PROGRAM OPTIONS (4 CHARACTERS).)
  7643. DSSP EQU *+1
  7644. KDL 2,K,( SP = SYSTEM PROLOGUE FILE INDEX (1-77B).)
  7645. DSUP EQU *+1
  7646. KDL 2,H,( UP = USER PROLOGUE FILE NAME (1-7 CHARACTERS).
  7647. ,)
  7648. DSUC EQU *+1
  7649. KDL 2,K,( UC = DEFAULT SERVICE CLASS FOR ORIGIN TYPES)
  7650. KDL 2,K,( BC,RB,IA (2 OR 4 CHARACTERS).)
  7651. DSVM EQU *+1
  7652. KDL 2,H,( VM = VALIDATION MASK (2 CHARACTERS).)
  7653. DSIS EQU *+1
  7654. KDL 2,K,( IS = INITIAL SUBSYSTEM (4-8 CHARACTERS).)
  7655. DSPA EQU *+1
  7656. KDL 2,K,( PA = TERMINAL PARITY (EVEN OR ODD).)
  7657. DSPX EQU *+1
  7658. KDL 2,K,( PX = TRANSMISSION (FULL OR HALF).)
  7659. DSRO EQU *+1
  7660. KDL 2,K,( RO = RUBOUTS (0-31).)
  7661. DSTC EQU *+1
  7662. KDL 2,K,( TC = CHARACTER SET (ASCII OR NORMAL).)
  7663. DSTT EQU *+1
  7664. KDL 2,K,( TT = TERMINAL TYPE (3-7 CHARACTERS).)
  7665. MSGD EQU *+1
  7666. KDL 1,M,( )
  7667. INPD EQU *+1
  7668. KDL 1,I,( )
  7669. CON 0 END OF DISPLAY
  7670. PAGE4 SPACE 4,10
  7671. DSE VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7672. KDL 1,T,(USER )
  7673. DSAN4 EQU *-1
  7674. KDL 54,T,(PAGE 4 OF 5)
  7675. KDL 2,H,( CONTENTS DESCRIPTION)
  7676. KDL 2,K,( PASSWORDS MUST BE "OPWL"-7 CHAR.)
  7677. DSXB EQU *+1
  7678. KDL 2,K,(XB = BATCH PASSWORD EXPIRATION DATE (YYMMDD).
  7679. ,)
  7680. DSXI EQU *+1
  7681. KDL 2,K,(XI = INTERACTIVE PASSWORD EXPIRATION DATE)
  7682. KDL 2,H,( (YYMMDD).)
  7683. DSLV EQU *+1
  7684. KDL 2,K,(SAL = SECURITY ACCESS LEVELS (1-7 CHAR).)
  7685. DSAV EQU *+1
  7686. KDL 2,K,(SAV = SECURITY ACCESS PRIVILEGES (4 CHAR).)
  7687. DSAC EQU *+1
  7688. KDL 2,,(SAC = )
  7689. KDL 23,K,(SECURITY ACCESS CATEGORIES (1-7 CHAR).)
  7690. DSSE EQU *+1
  7691. KDL 2,K,(SC = SECURITY COUNT (0-77B).)
  7692. MSGE EQU *+1
  7693. KDL 1,M,( )
  7694. INPE EQU *+1
  7695. KDL 1,I,( )
  7696. CON 0 END OF DISPLAY
  7697. PAGE5 SPACE 4,10
  7698. DSF VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7699. KDL 1,T,(USER )
  7700. DSAN3 EQU *-1
  7701. KDL 54,T,(PAGE 5 OF 5)
  7702. KDL 1,H,( STATUS APPLICATION STATUS APPLICATION)
  7703. DSAP EQU *
  7704. RNNA SET TNAVL+1 ROUNDED APPLICATION COUNT
  7705. DUP RNNA/2,1
  7706. KDL 1,K,( )
  7707. MSGF EQU *+1
  7708. KDL 1,M,( )
  7709. INPF EQU *+1
  7710. KDL 1,I,( )
  7711. CON 0 END OF DISPLAY
  7712. PAGE1R SPACE 4,10
  7713. DSG VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7714. KDL 1,T,(K DISPLAY COMMANDS)
  7715. KDL 54,T,(PAGE 1 OF 3)
  7716. KDL 7,K,(DROP TERMINATE INPUT FOR ACTIVE USER.)
  7717. KDL 7,K,(END COMPLETE UPDATE OR INQUIRE OF ACTIVE USER. FROM)
  7718. KDL 7,K,( INITIAL DISPLAY, END RUN.)
  7719. KDL 7,H,(STOP TERMINATE INPUT FOR ACTIVE USER, IF ANY. END RUN.)
  7720. KDL 7,K,(/UN TERMINATE INPUT FOR PRESENT USER NAME AND UPDATE)
  7721. KDL 7,K,( "APFN" FILE. INITIATE ACTION ON *UN*.)
  7722. KDL 7,K,(+ PAGE LEFT DISPLAY FORWARD.)
  7723. KDL 7,K,(- PAGE LEFT DISPLAY BACKWARD.)
  7724. CHAR 1R[,1R(
  7725. CHAR 1R],1R)
  7726. CODE O
  7727. KDL 7,K,([ PAGE RIGHT DISPLAY FORWARD.)
  7728. KDL 7,H,(] PAGE RIGHT DISPLAY BACKWARD.)
  7729. CODE *
  7730. KDL 1,H,(PARAMETER INPUT)
  7731. KDL 1,K,( DATA ENTRY FORMAT IS OF THE FORM MT=XX,CM=XX,TL=XX, ETC.)
  7732. KDL 1,K,( ALL NUMERIC FIELDS ARE ASSUMED TO BE DECIMAL UNLESS A)
  7733. KDL 1,K,( POSTRADIX IS SPECIFIED. FOR EXAMPLE - 4000B)
  7734. CON 0 END OF DISPLAY
  7735. PAGE2R SPACE 4,10
  7736. DSH VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7737. KDL 1,T,(MODVAL IDENTIFIERS)
  7738. KDL 54,T,(PAGE 2 OF 3)
  7739. KDL 1,H,(AW - ACCESS WORD (LEFT FROM BIT 0))
  7740. KDL 4,K,(CPWC,CTPC,CLPF,CSPF,CSOJ,CASF,CAND)
  7741. KDL 4,K,(CCNR,CSRP,CSTP,CTIM,CUCP,CSAP,CBIO)
  7742. KDL 4,K,(CPRT,CPLK,CQLK,CUST,CNVE,CMNT,CNOP)
  7743. KDL 4,K,(CSAF,CNRD,COPR,CLTD,COPI,CACA,CPAM)
  7744. KDL 4,K,(CSAU,CRAU,CRAF)
  7745. KDL 1,H,(SO - REMOTE TERMINAL PROGRAM (LEFT FROM BIT 0))
  7746. KDL 1,H,( CCLM,BCSM,TCSM,SLID,GLID,LFID,ABTM)
  7747. KDL 1,H,(UC - SERVICE CLASS (LEFT FROM BIT 1))
  7748. KDL 1,H,( SY,BC,RB,TS,DI,NS,SS,MA,CT,I0,I1,I2,I3)
  7749. KDL 1,H,(SAL - SECURITY ACCESS LEVEL (LEFT FROM BIT 0))
  7750. KDL 1,K,( "ALM0","ALM1","ALM2","ALM3")
  7751. KDL 1,K,( "ALM4","ALM5","ALM6","ALM7")
  7752. CON 0 END OF DISPLAY
  7753. PAGE3R SPACE 4,10
  7754. DSJ VFD 10/0,1/0,1/0,1/0,5/0,18/KTIT,24/0 BUFFER CONTROL WORD
  7755. KDL 1,T,(MODVAL IDENTIFIERS)
  7756. KDL 54,T,(PAGE 3 OF 3)
  7757. KDL 1,H,(SAV - SECURITY PRIVILEGE (RIGHT FROM BIT 59))
  7758. KDL 1,H,( CSAP,COLD,CPWX,CFPX,CLJL,CLFL,CWLF,CULT)
  7759. KDL 1,H,(SAC - SECURITY ACCESS CATEGORY (LEFT FROM BIT 0))
  7760. KDL 1,K,( "ACM00","ACM01","ACM02","ACM03","ACM04","ACM05","ACM06")
  7761. KDL 1,K,( "ACM07","ACM08","ACM09","ACM10","ACM11","ACM12","ACM13")
  7762. KDL 1,K,( "ACM14","ACM15","ACM16","ACM17","ACM18","ACM19","ACM20")
  7763. KDL 1,K,( "ACM21","ACM22","ACM23","ACM24","ACM25","ACM26","ACM27")
  7764. KDL 1,K,( "ACM28","ACM29","ACM30","ACM31")
  7765. CON 0 END OF DISPLAY
  7766. TITLE DATA AREA.
  7767. TAUI SPACE 4,10
  7768. ** TAUI - TABLE OF AVAILABLE USER INDICES.
  7769.  
  7770.  
  7771. TAUIL EQU AUIMX/60+1
  7772. TAUI BSSZ TAUIL
  7773. ACW SPACE 4,10
  7774. ** SSJ - TABLE OF USER ACCESS PARAMETERS.
  7775.  
  7776.  
  7777. SSJ= BSSZ SSJL
  7778. BUFFERS SPACE 4,10
  7779. ** BUFFER ASSIGNMENTS.
  7780.  
  7781.  
  7782. USE BUFFERS
  7783.  
  7784. D1 SET *
  7785. TITLE PRESET ROUTINES.
  7786. PRS SPACE 4,10
  7787. ** PRS - PRESET.
  7788.  
  7789.  
  7790. ** PRESET CODE NOT OVERLAID BY *CIO* BUFFERS.
  7791.  
  7792.  
  7793. PRS33 REWIND U CHECK VALIDATION FILES
  7794. REWIND P
  7795. READ U
  7796. READ P
  7797. READW U,TAUI,TAUIL
  7798. SA3 OPTION
  7799. SX6 ROPTB+UOPTB
  7800. SX2 DMVR * VALINDS READ ERROR.*
  7801. BX6 X6*X3
  7802. ZR X6,PRS34 IF NOT *R* OR *U* OPTION
  7803. NZ X1,ABT IF READ ERROR ON *VALINDS*
  7804. PRS34 READO P SET AVAILABLE DATA BLOCK
  7805. MX0 12
  7806. BX5 X0*X6
  7807. READO X2
  7808. SX2 DML0 * LEVEL-0 DATA BASE ERROR.*
  7809. NZ X1,ABT IF TRANSFER NOT COMPLETE
  7810. NZ X5,ABT IF LEVEL NUMBER WRONG
  7811. SA6 RAND
  7812. AX6 18 SET K-DISPLAY CREATION DATE
  7813. EDATE X6
  7814. SA6 DSCD
  7815. SA1 RAND SET K-DISPLAY MODIFICATION DATE
  7816. SX1 X1
  7817. EDATE X1
  7818. SA6 DSMD
  7819. SA1 RAND SET PRU OF AVAILABLE DATA BLOCK
  7820. SB2 60-24
  7821. AX6 X1,B2
  7822. SA6 A1
  7823. REWIND P
  7824. PRS35 OVERLAY PRSA,100B,S
  7825. GETPFP IAMA GET MODIFIED FAMILY NAME
  7826. SA2 IAMA MODIFIED FAMILY NAME
  7827. SA1 SSJ=+UIDS GET ISSUING USER NAME
  7828. BX7 X1
  7829. BX6 X2
  7830. SA1 OT CHECK ORIGIN TYPE
  7831. SX1 X1-SYOT
  7832. SA7 IAMA+3
  7833. NZ X1,PRS36 IF NOT SYSTEM ORIGIN
  7834. SA2 FN CHECK ALTERNATE FAMILY
  7835. SB2 X2+1
  7836. ZR B2,PRS36 IF NO ALTERNATE FAMILY
  7837. BX6 X2
  7838. PRS36 SA6 IAMA+1
  7839. SA1 UPFG CHECK USER PROLOGUE FILE NAME FLAG
  7840. NZ X1,UPR IF USER PROLOGUE FILE NAME ENTERED
  7841. SA1 CHFG
  7842. NZ X1,CHV IF USER VALIDATION CHANGE
  7843. SA1 AN CHECK PASSWORD CHANGE
  7844. NZ X1,PSW IF CHANGE PASSWORD
  7845. EQ MOD EXIT TO MAIN LOOP
  7846.  
  7847.  
  7848. PRSA CON 0LSFS
  7849.  
  7850.  
  7851. D SET *
  7852.  
  7853. ** PRESET CODE AND DATA OVERLAID BY *VALIDUS* AND *VALINDS*
  7854. * *CIO* BUFFERS.
  7855.  
  7856.  
  7857. CHVAL SB1 1 ENTRY
  7858. SX6 B1
  7859. SX7 B0
  7860. SA6 CHFG SET *CHVAL* FLAG
  7861. SA6 UF SET UPDATE MODE
  7862. SA7 OP SUPPRESS NORMAL OPTIONS
  7863. SA1 SSJ=+UIDS CHECK FOR USER NAME
  7864. SX2 DMCM * INCORRECT COMMAND.*
  7865. MX0 42
  7866. BX1 X0*X1
  7867. ZR X1,ABM IF NO USER
  7868. BX7 X1
  7869. SA7 AN
  7870. EQ MODVAL MERGE INTO *MODVAL* FLOW
  7871.  
  7872. LIMITS SB1 1 ENTRY
  7873. SX7 -B1
  7874. LX6 -6
  7875. SA7 LMFG
  7876. SA1 SSJ=+UIDS CHECK USER NAME
  7877. SX2 DMCM * INCORRECT COMMAND.*
  7878. MX0 42
  7879. BX1 X0*X1
  7880. ZR X1,ABM IF NO USER
  7881. EQ MODVAL
  7882.  
  7883. PASSWOR SB1 1 ENTRY
  7884. SA4 TARG FWA ARGUMENT TABLE
  7885. SB6 TKPR FWA KEYWORD/POSITION TABLE
  7886. SA5 CCDR FWA COMMAND BUFFER
  7887. SB2 B0 NO PARAMETERS TO SKIP
  7888. RJ RSP REMOVE SECURE PARAMETERS
  7889. SX6 B1
  7890. SX7 B0
  7891. SA6 LIDA *PASSWOR* FLAG, NO OUTPUT
  7892. SA7 OP SUPPRESS NORMAL OPTIONS
  7893. SA6 UF SET UPDATE MODE
  7894. SA6 PSWF SET *PASSWOR* FLAG
  7895. EQ MODVAL MERGE INTO *MODVAL* FLOW
  7896.  
  7897. UPROC SB1 1 ENTRY
  7898. SX6 B1
  7899. SA6 UPFG SET *UPROC* FLAG
  7900. SA6 UF SET UPDATE MODE
  7901. SX6 B0
  7902. SA6 OP SUPPRESS NORMAL OPTIONS
  7903. SA1 SSJ=+UIDS CHECK USER NAME
  7904. SX2 DMCM * INCORRECT COMMAND.*
  7905. MX0 42
  7906. BX1 X0*X1
  7907. ZR X1,ABM IF N0 USER
  7908. BX7 X1
  7909. SA7 AN
  7910. EQ MODVAL MERGE INTO *MODVAL* FLOW
  7911.  
  7912. GENVAL SB1 1 ENTRY
  7913. SX7 1RC SET CREATE OPTION
  7914. LX7 -6
  7915. SA7 PRSB
  7916. SA7 GENF SET *GENVAL* FLAG
  7917. * EQ MODVAL MERGE INTO *MODVAL* FLOW
  7918.  
  7919. MODVAL SB1 1 ENTRY
  7920. REPRIEVE ABTB,SET,237B SET *REPRIEVE* PROCESSING
  7921. MESSAGE CCDR,0,R ISSUE COMMAND TO DAYFILE
  7922. MX6 30 SET VALIDATED FL RETURN
  7923. SX7 TOV SET TABLE OVERFLOW PROCESSOR ADDRESS
  7924. SA6 FLM
  7925. SA7 TO
  7926. MEMORY CM,A6,R,,NA
  7927. SA1 FLM POSITION MAXIMUM FIELD LENGTH
  7928. LX1 30
  7929. SX6 X1-FLIN
  7930. SA6 FLM
  7931. GETPP PRSF,LPPG,PRSF INITIALIZE PAGE PARAMETERS
  7932. PDATE PD SET DATE
  7933. SA1 PD
  7934. AX1 18
  7935. BX6 X1
  7936. SA2 TODV+ATPA TERMINAL PROCESSING DEFAULTS
  7937. BX7 X2+X1
  7938. SA6 A1 (PD) = MODIFICATION DATE
  7939. LX6 18
  7940. BX7 X7+X6
  7941. SA7 TODV+ACCD DEFAULT CREATION/MODIFICATION DATES
  7942. SA1 CCDR SPACE FILL COMMAND
  7943. SB3 8
  7944. PRS MX0 54
  7945. LX6 X1
  7946. BX5 -X0*X1
  7947. SB3 B3-B1
  7948. NZ X5,PRS1 IF NO FILL NEEDED
  7949. RJ SFN
  7950. PRS1 SA6 A1
  7951. SA1 A1+B1
  7952. NZ B3,PRS IF NOT COMPLETE
  7953. MX6 0
  7954. SA6 A6+B1
  7955. SA1 JOPR SET ORIGIN TYPE
  7956. SX0 7777B
  7957. LX1 -24
  7958. BX7 X0*X1
  7959. SA7 OT
  7960. SA3 LIDA CHECK ENTRY
  7961. SA4 ACTR
  7962. SB4 X4
  7963. ZR X3,PRS4 IF NOT *PASSWOR*
  7964. MX0 42
  7965. SA1 SSJ=+UIDS SET USER NAME
  7966. SX2 DMCM * INCORRECT COMMAND.*
  7967. BX1 X0*X1
  7968. ZR X1,ABT IF NO USER
  7969. BX6 X1
  7970. SA6 AN
  7971. SA3 SSJ=+AACS CHECK USER ALLOWED TO CHANGE PASSWORD
  7972. LX3 59-0
  7973. PL X3,ABT IF NO PERMISSION
  7974. SA1 O SET POINTER FOR TERMINAL INTERACTION
  7975. SA3 ARGR OLD PASSWORD
  7976. BX2 X0*X1
  7977. SX1 A1
  7978. BX6 X1+X2
  7979. SA6 A3
  7980. SA1 SSJ=+AACS GET PASSWORD RANDOMIZATION REQUIRED BIT
  7981. MX6 -1
  7982. AX1 23
  7983. BX6 -X6*X1
  7984. SA6 OPWR
  7985. SX1 X7-IAOT
  7986. SX7 DEPT CHECK IF CHANGING BOTH PASSWORDS
  7987. NZ X1,PRS1.0 IF NOT INTERACTIVE ORIGIN
  7988. ZR X7,PRS1.1 IF CHANGING BOTH PASSWORDS
  7989. SX7 APWI SET INDEX TO CHANGE INTERACTIVE PASSWORD
  7990. EQ PRS1.1 PROCESS PARAMETERS
  7991.  
  7992. PRS1.0 SX2 DMPB * RANDOMIZATION NOT PERMITTED FROM BATCH.*
  7993. ZR X6,ABT IF PASSWORD RANDOMIZATION REQUIRED
  7994. ZR X7,PRS1.1 IF CHANGING BOTH PASSWORDS
  7995. SX7 APSW SET INDEX TO CHANGE BATCH PASSWORD
  7996. PRS1.1 SA7 PWIX
  7997. ZR B4,PRS3 IF SECURE ENTRY
  7998. SX2 DMSP * SECURE PASSWORD ENTRY REQUIRED.*
  7999. ZR X6,ABT IF PASSWORD RANDOMIZATION REQUIRED
  8000. EQ B4,B1,PRS2 IF INCORRECT ARGUMENT COUNT
  8001. SA1 A3+B1
  8002. BX7 X0*X3
  8003. SA7 OPW SAVE OLD PASSWORD
  8004. SX5 X3-1R=
  8005. SX3 X3-2
  8006. BX6 X0*X1
  8007. IX5 X5*X3
  8008. SA6 NPW SAVE NEW PASSWORD
  8009. SX4 X1-1R=
  8010. SX1 X1-2
  8011. IX4 X4*X1
  8012. IX4 X4*X5
  8013. ZR X4,PRS2 IF INCORRECT SEPARATOR FOR PASSWORDS
  8014. SB5 TARG *PASSWOR* ARGUMENT TABLE
  8015. SA4 ARGR+2 FIRST KEYWORD POSITION
  8016. SB4 B4-2 REMAINING PARAMETER COUNT
  8017. RJ ARG PROCESS OPTIONAL PARAMETERS
  8018. ZR X1,PRS3.1 IF NO ARGUMENT ERROR
  8019. PRS2 SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
  8020. EQ ABT ABORT
  8021.  
  8022. PRS3 RJ ESP ENTER SECURE PARAMETERS
  8023. SA1 NPW COMPARE NEW AND VERIFICATION PASSWORDS
  8024. SX2 DMVE * VERIFICATION ERROR.*
  8025. SA3 A1+B1
  8026. ERRNG NPW-VERPW+1 CODE REQUIRES CONTIGUOUS WORDS
  8027. BX1 X1-X3
  8028. NZ X1,ABT IF VERIFICATION ERROR
  8029. PRS3.1 SA1 XD GET EXPIRATION DATE
  8030. SA5 XT GET EXPIRATION TERM
  8031. ZR X1,PRS3.3 IF EXPIRATION DATE NOT SPECIFIED
  8032. NZ X5,PRS2 IF EXPIRATION TERM ALSO SPECIFIED
  8033. BX2 X2-X2
  8034. RJ VDT VALIDATE AND CONVERT DATE
  8035. NG X6,PRS3.2 IF INCORRECT DATE
  8036. NG X1,PRS3.2 IF DATE ALREADY EXPIRED
  8037. SX1 APXL
  8038. SX2 X1-7777B
  8039. ZR X2,PRS3.6 IF LIMIT IS INFINITE
  8040. BX3 X6
  8041. RJ ADT CALCULATE LIMIT
  8042. IX7 X6-X3
  8043. BX6 X3
  8044. PL X7,PRS3.6 IF DATE NOT PAST LIMIT
  8045. PRS3.2 SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
  8046. EQ ABT ABORT
  8047.  
  8048. PRS3.3 SX6 -1
  8049. ZR X5,PRS3.6 IF NO EXPIRATION TERM SPECIFIED
  8050. SA1 =1L*
  8051. IX6 X1-X5
  8052. SB7 B1
  8053. NZ X6,PRS3.4 IF ASTERISK NOT SPECIFIED FOR TERM
  8054. SX6 APXL SET MAXIMUM VALUE
  8055. BX1 X6
  8056. EQ PRS3.5 PROCESS MAXIMUM VALUE
  8057.  
  8058. PRS3.4 RJ DXB CONVERT TERM VALUE
  8059. NZ X4,PRS3.2 IF CONVERSION ERROR
  8060. SX2 APXL MAXIMUM TERM ALLOWED
  8061. IX1 X2-X6
  8062. NG X1,PRS3.2 IF VALUE OUT OF RANGE
  8063. BX1 X6
  8064. PRS3.5 SX6 X6-7777B
  8065. ZR X6,PRS3.6 IF NON-EXPIRING PASSWORD
  8066. SA2 PD
  8067. BX6 X2
  8068. ZR X1,PRS3.6 IF IMMEDIATELY EXPIRING PASSWORD
  8069. RJ ADT ADD TERM VALUE TO PACKED DATE
  8070. PRS3.6 SA6 XDATE
  8071. SA5 OPW
  8072. SA4 NPW
  8073. SA1 OPWR
  8074. NZ X1,PRS3.7 IF PASSWORD RANDOMIZATION NOT REQUIRED
  8075. RJ RPW RANDOMIZE PASSWORD
  8076. SA5 OPW
  8077. SA4 NPW
  8078. PRS3.7 RJ EPW ENCRYPT OLD PASSWORD
  8079. SA6 OLDPW
  8080. BX5 X4
  8081. MX0 -6
  8082. PRS3.8 LX4 6 CHECK NEW PASSWORD FOR ASTERISKS
  8083. BX3 -X0*X4
  8084. ZR X3,PRS3.9 IF PASSWORD CHECK COMPLETE
  8085. SX3 X3-1R*
  8086. NZ X3,PRS3.8 IF VALID CHARACTER
  8087. SX2 DMIP * INCORRECT PASSWORD.*
  8088. EQ ABT ABORT
  8089.  
  8090. PRS3.9 LX7 X5
  8091. RJ VPW VERIFY NEW PASSWORD
  8092. SX2 DMPS * PASSWORD TOO SHORT.*
  8093. NZ B2,ABT IF NEW PASSWORD NOT REQUIRED LENGTH
  8094. RJ EPW ENCRYPT NEW PASSWORD
  8095. SA6 NEWPW
  8096. SA1 PT
  8097. ZR X1,PRS31 IF PASSWORD TYPE NOT SPECIFIED
  8098. MX2 24
  8099. SB2 TPTI
  8100. RJ STB SEARCH FOR VALID PASSWORD TYPE
  8101. SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
  8102. ZR X3,ABT IF INVALID PASSWORD TYPE
  8103. SX6 X3
  8104. SA6 PWIX SET PASSWORD DATA BLOCK INDEX
  8105. EQ PRS31 ATTACH VALIDATION FILE
  8106.  
  8107. PRS4 SA5 LMFG
  8108. SB5 PRST *LIMITS* ARGUMENT EQUIVALENCE TABLE
  8109. NZ X5,PRS6 IF *LIMITS*
  8110. SA5 UPFG
  8111. ZR X5,PRS4.1 IF NOT *UPROC*
  8112. SX6 DMUP * UPROC COMPLETE.*
  8113. SA6 MODA
  8114. SX6 PRSV *UPROC* ARGUMENT EQUIVALENCE TABLE
  8115. SX7 PRSVL SET ARGUMENT TABLE LENGTH
  8116. RJ PKP PROCESS KEYWORD OR POSITIONAL ARGUMENTS
  8117. PL X1,PRS31 IF NO ERROR
  8118. SX2 DMUA * ERROR IN UPROC ARGUMENTS.*
  8119. EQ ABT ABORT
  8120.  
  8121. PRS4.1 SA5 CHFG
  8122. ZR X5,PRS4.2 IF NOT *CHVAL*
  8123. SB5 PRSAA *CHVAL* ARGUMENT EQUIVALENCE TABLE
  8124. SA4 ARGR
  8125. RJ ARG PROCESS ARGUMENTS
  8126. SA3 CHVB
  8127. SX2 DMCA * ERROR IN CHVAL ARGUMENTS.*
  8128. ZR X3,ABT IF NO PARAMETERS
  8129. NZ X1,ABT IF ERROR
  8130. EQ PRS31 ATTACH VALIDATION FILE
  8131.  
  8132. PRS4.2 SA5 GENF
  8133. ZR X5,PRS4.4 IF NOT *GENVAL*
  8134. SX2 DMIA * USER ACCESS NOT VALID.*
  8135. NZ X7,ABT IF NOT SYSTEM ORIGIN
  8136. SB5 PRSAB *GENVAL* ARGUMENT EQUIVALENCE TABLE
  8137. SA4 ARGR
  8138. RJ ARG PROCESS ARGUMENTS
  8139. ZR X1,PRS4.3 IF NO ERROR
  8140. SX2 DMGA * ERROR IN GENVAL ARGUMENTS.*
  8141. EQ ABT ABORT
  8142.  
  8143. PRS4.3 RJ CAF CHECK ALTERNATE FAMILY
  8144. SETUI SYUI SET SYSTEM USER INDEX
  8145. SA1 N SET LOCAL FILE NAME
  8146. BX6 X1
  8147. SA6 P
  8148. SA1 P SET ERROR PROCESSING
  8149. RJ SEP
  8150. DEFINE P,,,,,,,,,IP DEFINE VALIDATION FILE
  8151. SA1 P
  8152. RJ CER CHECK ERROR
  8153. RJ CEP CLEAR ERROR PROCESSING
  8154. SA1 U SET ERROR PROCESSING
  8155. RJ SEP
  8156. DEFINE U,,,,,,,,,IP DEFINE USER INDEX FILE
  8157. SA1 U
  8158. RJ CER CHECK ERROR
  8159. RJ CEP CLEAR ERROR PROCESSING
  8160. EQ PRS14.1 PROCESS CREATION
  8161.  
  8162. PRS4.4 NZ X7,PRS5 IF NOT SYSTEM ORIGIN
  8163. ZR B4,PRS12 IF NO PARAMETERS
  8164. PRS5 SB5 PRSE *MODVAL* ARGUMENT EQUIVALENCE TABLE
  8165. PRS6 SA4 ARGR CRACK COMMAND
  8166. RJ ARG
  8167. NZ X1,PRS26 IF INCORRECT PARAMETER
  8168. SA5 LMFG
  8169. NZ X5,PRS13 IF *LIMITS*
  8170. SA1 PRSL CONVERT CONVERSION OPTIONS
  8171. MX0 6
  8172. PRS7 BX2 X0*X1
  8173. LX1 6
  8174. ZR X2,PRS9 IF NO MORE OPTIONS
  8175. SA3 PRSU CHECK OPTION TABLE
  8176. PRS8 ZR X3,PRS26 IF INCORRECT OPTION
  8177. BX4 X2-X3
  8178. BX4 X0*X4
  8179. SA3 A3+B1
  8180. NZ X4,PRS8 IF NO MATCH
  8181. SA5 A3-B1 SET OPTION
  8182. LX5 -18
  8183. SX6 X5
  8184. LX5 18
  8185. SA6 X5
  8186. EQ PRS7 LOOP FOR NEXT OPTION
  8187.  
  8188. PRS9 SA1 CVA CHECK IF *CV=A* SPECIFIED
  8189. ZR X1,PRS9.1 IF NOT SPECIFIED
  8190. SA1 =0LSTANDARD
  8191. BX6 X1
  8192. SA6 TTCI+ATCN+1
  8193. PRS9.1 SA1 LO CRACK LIST OPTIONS
  8194. BX6 X6-X6
  8195. MX0 6
  8196. SA6 A1+
  8197. PRS10 BX2 X0*X1
  8198. LX1 6
  8199. ZR X2,PRS13 IF NO MORE OPTIONS
  8200. SA3 PRSO CHECK OPTION TABLE
  8201. PRS11 ZR X3,PRS26 IF INCORRECT OPTION
  8202. BX4 X2-X3
  8203. BX4 X4*X0
  8204. SA3 A3+B1
  8205. NZ X4,PRS11 IF NO MATCH
  8206. SA5 A3-B1 SET OPTION
  8207. LX5 -18
  8208. SX6 X5
  8209. LX5 18
  8210. SA6 X5
  8211. EQ PRS10 LOOP FOR NEXT LIST OPTION
  8212.  
  8213. * CRACK OPTIONS.
  8214.  
  8215. PRS12 SX7 1RK SET K-DISPLAY OPTION
  8216. LX7 -6
  8217. SA7 PRSB
  8218. PRS13 RJ CAF CHECK ALTERNATE FAMILY
  8219. NZ X6,PRS26 IF FAMILY CHANGE NOT ALLOWED
  8220. SX2 O SET OUTPUT FILE TERMINAL STATUS
  8221. RJ STF
  8222. NZ X6,PRS14 IF NOT TERMINAL FILE
  8223. SA1 =1H CLEAR CARRIAGE CONTROL
  8224. BX7 X1
  8225. SA7 CLNA
  8226. SA1 =1L CLEAR CARRIAGE CONTROL FROM *LIMITS* TITLE
  8227. SA2 LITL
  8228. MX7 -54
  8229. BX7 -X7*X2
  8230. BX7 X1+X7
  8231. SA7 A2
  8232. PRS14 SA6 OF
  8233. WRITEW O,PRSF,X6 CONDITIONALLY WRITE FORMAT EFFECTOR
  8234. SA1 O SET POINTER FOR TERMINAL INTERACTION
  8235. MX0 42
  8236. BX6 X0*X1
  8237. SX2 A1
  8238. BX6 X2+X6
  8239. SA6 ARGR
  8240. PRS14.1 SA1 PRSB *OP* EQUIVALENCE
  8241. MX0 6
  8242. BX6 X6-X6
  8243. PRS15 BX5 X0*X1 GET OPTION CHARACTER
  8244. LX1 6
  8245. ZR X5,PRS17 IF NO MORE OPTIONS
  8246. SB3 B0+
  8247. PRS16 SA3 PRSC+B3
  8248. ZR X3,PRS26 IF END OF TABLE
  8249. SB3 B3+B1
  8250. BX2 X5-X3
  8251. NZ X2,PRS16 IF NOT ENTRY
  8252. SB3 B3-B1 SET OPTION IN CONTROL WORD
  8253. SX2 B1
  8254. LX2 X2,B3
  8255. BX6 X6+X2
  8256. EQ PRS15 GET NEXT ENTRY
  8257.  
  8258. PRS17 SA1 LMFG
  8259. ZR X1,PRS17.1 IF NOT *LIMITS*
  8260. SX6 IOPTB
  8261. PRS17.1 SA6 OPTION SET OPTION CONTROL WORD
  8262. RJ CFN CHECK FOR FILE NAME CONFLICT
  8263. ZR X1,PRS19 IF NO FILE NAME CONFLICT
  8264. SB2 1RX SET SEARCH CHARACTER
  8265. SB5 DMFC * FILE NAME CONFLICT - LFN.*
  8266. RJ SNM ENTER FILE NAME IN MESSAGE
  8267. SX2 B5
  8268. EQ ABT PROCESS ERROR
  8269.  
  8270. PRS19 SA2 OPTION
  8271. SX1 UOPTB+ROPTB+SOPTB
  8272. LX6 X2
  8273. BX2 -X1*X2
  8274. SA3 FA
  8275. LX6 59-COPT
  8276. BX4 X3+X2
  8277. SA1 RP CHECK FOR *RP* PARAMETER
  8278. CX3 X6
  8279. AX3 1
  8280. NG X6,PRS20 IF CREATE RUN
  8281. NZ X1,PRS26 IF *RP* SPECIFIED AND NOT CREATE RUN
  8282. SA1 SI CHECK FOR *SI* PARAMETER
  8283. NZ X1,PRS26 IF *SI* SPECIFIED AND NOT CREATE RUN
  8284. ZR X4,PRS33 IF NO SPECIAL OPTIONS AND *FA* NOT SET
  8285. ZR X2,PRS29 IF NO SPECIAL OPTIONS
  8286. EQ PRS22 CHECK SPECIAL OPTIONS
  8287.  
  8288. * PROCESS SPECIAL OPTIONS.
  8289.  
  8290. PRS20 NZ X3,PRS26 IF CREATE NOT ALONE
  8291. SA1 UIIW SET *CREATE* DATA IDENTIFIERS
  8292. MX7 0
  8293. BX6 X1
  8294. SA7 FUIW+1
  8295. SA6 A7-1
  8296. SA3 SI CHECK FOR *SI* PARAMETER
  8297. NZ X3,PRS21 IF SOURCE INPUT
  8298. SX6 PRSDN SET NUMBER OF PRIVILEGED INPUT DIRECTIVES
  8299. SA6 LIDA
  8300. WRITEW I,PRSD,PRSDL SET DIRECTIVES IN INPUT BUFFER
  8301. PRS21 EVICT N INITIALIZE FILES
  8302. EVICT U
  8303. SX0 9 RESERVE 1ST LEVEL 0 PLUS 8 SECTORS
  8304. PRS21.1 WRITER N,R
  8305. SX0 X0-1
  8306. NZ X0,PRS21.1 IF MORE SECTORS TO RESERVE
  8307. EQ PRS35 LOAD FILE SUPERVISOR
  8308.  
  8309. PRS22 LX6 COPT-IOPT
  8310. PL X6,PRS23 IF NOT INQUIRE OPTION
  8311. NZ X3,PRS26 IF INQUIRE NOT ALONE
  8312. SA1 P
  8313. RJ SEP SET ERROR PROCESSING
  8314. ATTACH P,,,,RM,,,IP,MA ATTACH *VALIDUS* FILE
  8315. EQ PRS32 CHECK FOR ERROR ON ATTACH
  8316.  
  8317. PRS23 LX6 IOPT-LOPT
  8318. PL X6,PRS24 IF NOT LIST OPTION
  8319. NZ X3,PRS26 IF LIST NOT ALONE
  8320. SA1 PRSP PRESET SCRATCH FILES
  8321. SA2 A1+B1
  8322. BX7 X1
  8323. SA7 N
  8324. LX7 X2
  8325. SA7 S
  8326. RETURN S
  8327. RETURN N
  8328. SA1 PRSQ
  8329. NZ X1,PRS33 IF LOCAL FILE CATALOG
  8330. EQ PRS29 CHECK ORIGIN TYPE
  8331.  
  8332. PRS24 LX6 LOPT-ZOPT
  8333. PL X6,PRS28 IF NOT COMMAND INPUT OPTION
  8334. SB2 CCDR GET DIRECTIVES FROM COMMAND
  8335. RJ USB
  8336. SA1 B6+ SKIP TO TERMINATOR
  8337. SX3 4100B SET TERMINATOR MASK
  8338. PRS25 SB2 X1-1R9
  8339. AX2 X3,B2
  8340. SA1 A1+1
  8341. LX2 59
  8342. NG X2,PRS27 IF TERMINATOR
  8343. NZ X1,PRS25 IF NOT END OF COMMAND
  8344. PRS26 SX2 DMMA * ERROR IN MODVAL ARGUMENTS.*
  8345. SA3 LMFG
  8346. ZR X3,ABT IF NOT *LIMITS*
  8347. SX2 DMLA * ERROR IN LIMITS ARGUMENTS.*
  8348. EQ ABT ABORT
  8349.  
  8350. PRS27 SB6 A1 SET STRING BUFFER
  8351. SB7 B7-B6
  8352. WRITES I,B6,B7+B1
  8353. SX6 ZOPTB
  8354. SA6 OPTION
  8355. EQ PRS29 PRESET SYSTEM FILE
  8356.  
  8357. PRS28 LX6 ZOPT-KOPT
  8358. PL X6,PRS33 IF NOT K-DISPLAY
  8359. SX6 KOPTB
  8360. SA6 OPTION
  8361.  
  8362. * PRESET SYSTEM FILE.
  8363.  
  8364. PRS29 SA1 OT CHECK ORIGIN TYPE
  8365. SX1 X1-SYOT
  8366. NZ X1,PRS26 IF NOT SYSTEM ORIGIN
  8367. SETUI SYUI
  8368. RJ CSM CHECK SECURITY MODE
  8369. SX2 DMIA * USER ACCESS NOT VALID.*
  8370. NZ X1,ABT IF CALLER NOT VALID
  8371. SA1 OPTION
  8372. SX2 KOPTB
  8373. BX2 X1*X2
  8374. ZR X2,PRS30 IF NOT K-DISPLAY
  8375. SX3 PRSAC
  8376. RJ PRK PRESET K-DISPLAY BUFFER
  8377. PRS30 SA1 U
  8378. RJ SEP SET ERROR PROCESSING
  8379. SETRNR NOROLL PREVENT ROLLOUT
  8380. SETPR MVCS
  8381. ATTACH U,,,,W,,,IP SET AVAILABLE USER INDICES
  8382. SA1 U
  8383. SB4 PRS30
  8384. RJ CER CHECK ERROR
  8385. RJ CEP CLEAR ERROR PROCESSING
  8386. PRS31 SA1 P
  8387. RJ SEP SET ERROR PROCESSING
  8388. SETRNR NOROLL PREVENT ROLLOUT
  8389. SETPR MVCS
  8390. ATTACH P,,,,M,,,IP,MA INTERLOCK UPDATE
  8391. PRS32 SA1 P
  8392. SB4 PRS31
  8393. RJ CER CHECK ERROR
  8394. RJ CEP CLEAR ERROR PROCESSING
  8395. SX6 1 SET SYSTEM FILES ATTACHED FLAG
  8396. SA6 RAPF
  8397. SX6 B1+
  8398. SA6 CERA FORCE ABORT WHEN ERROR ENCOUNTERED
  8399. EQ PRS33 CHECK VALIDATION FILES
  8400. PRS SPACE 4,10
  8401. PRSB CON 1LU OPTION EQUIVALENCE STRING
  8402. PRS SPACE 4,10
  8403. ** OPTION TABLE.
  8404.  
  8405.  
  8406. PRSC INDEX CON,LOPT+1,( * )
  8407. INDEX ,KOPT,( 1LK )
  8408. INDEX ,COPT,( 1LC )
  8409. INDEX ,UOPT,( 1LU )
  8410. INDEX ,ROPT,( 1LR )
  8411. INDEX ,SOPT,( 1LS )
  8412. INDEX ,ZOPT,( 1LZ )
  8413. INDEX ,LOPT,( 1LL )
  8414. CON 0
  8415. PRS SPACE 4,10
  8416. CUE$ IFEQ CUE$,2
  8417. HSUI OCTMIC HSUI
  8418. CUE$ ENDIF
  8419. SUBF0 OCTMIC SBUI
  8420. SUBF1 OCTMIC SBUI+1
  8421. SUBF2 OCTMIC SBUI+2
  8422. SUBF3 OCTMIC SBUI+3
  8423. SUBF4 OCTMIC SBUI+4
  8424. SUBF5 OCTMIC SBUI+5
  8425. SUBF6 OCTMIC SBUI+6
  8426. SUBF7 OCTMIC SBUI+7
  8427. NTUI OCTMIC NTUI
  8428. PLUI OCTMIC PLUI
  8429. AAUI OCTMIC AAUI
  8430. IFUI OCTMIC IFUI
  8431. LIUI OCTMIC LIUI
  8432. SYUI OCTMIC SYUI
  8433.  
  8434. PRSD BSS 0 TABLE OF DEFAULT USER NAMES FOR *OP=C*
  8435. DATA C*/SUBFAM0,UI="SUBF0"B,AW=ALL,PW=SUBFAM0,XT=0.*
  8436. DATA C*/SUBFAM1,UI="SUBF1"B,AW=ALL,PW=SUBFAM1,XT=0.*
  8437. DATA C*/SUBFAM2,UI="SUBF2"B,AW=ALL,PW=SUBFAM2,XT=0.*
  8438. DATA C*/SUBFAM3,UI="SUBF3"B,AW=ALL,PW=SUBFAM3,XT=0.*
  8439. DATA C*/SUBFAM4,UI="SUBF4"B,AW=ALL,PW=SUBFAM4,XT=0.*
  8440. DATA C*/SUBFAM5,UI="SUBF5"B,AW=ALL,PW=SUBFAM5,XT=0.*
  8441. DATA C*/SUBFAM6,UI="SUBF6"B,AW=ALL,PW=SUBFAM6,XT=0.*
  8442. DATA C*/SUBFAM7,UI="SUBF7"B,AW=ALL,PW=SUBFAM7,XT=0.*
  8443. DATA C*/NETOPS,UI="NTUI"B,AW=ALL,PW=NETOPSX,AP=ALL,RL=ALL,*
  8444. DATA C*XT=0.*
  8445. DATA C*/CYBISMF,UI="PLUI"B,AW=ALL,PW=CYBISMF,XT=0.*
  8446. DATA C*/APPLLIB,UI="AAUI"B,AW=ALL,PW=APPLLIB,XT=0.*
  8447. DATA C*/FLAWPF,UI="IFUI"B,AW=ALL,PW=FLAWPFX,XT=0.*
  8448. DATA C*/LIBRARY,UI="LIUI"B,AW=ALL,PW=LIBRARY,RL=ALL,XT=0.*
  8449. DATA C*/SYSTEMX,UI="SYUI"B,AW=ALL,PW=SYSTEMX,RL=ALL,*
  8450. DATA C*SAV=ALL,SAL=ALL.*
  8451. CUE$ IFEQ CUE$,2
  8452. DATA C*/CDCCHS,UI="HSUI"B,RL=ALL,IS=BATCH,AW=NUL,AW=CLPF,*
  8453. DATA C*AW=CSPF,AW=CNRD,AW=CASF,AW=CSRP,SH=RMSHELL,SO=SLID,*
  8454. DATA C*SO=BCSM,SO=CCLM,AW=CAND,AW=CCNR,AW=CMNT,*
  8455. DATA C*AW=COPR,SAV=NUL,SAV=CULT,SAV=COLD,AP=NUL,AP=IAF,*
  8456. DATA C*AP=RBF,PX=HALF,TT=TTY,PA=EVEN,XT=0,PW=CDCCE,SC=10B.*
  8457. CUE$ ENDIF
  8458. PRSDL EQU *-PRSD LENGTH OF INPUT DIRECTIVE BLOCK
  8459. PRSDN EQU 16 NUMBER OF DEFAULT USER NAME INPUT LINES
  8460. PRS SPACE 4,10
  8461. ** *MODVAL* COMMAND PARAMETERS.
  8462.  
  8463.  
  8464. PRSE BSS 0
  8465. I ARG I,I,400B INPUT FILE
  8466. L ARG O,O LIST FILE
  8467. P ARG P,P *VALIDUS* FILE
  8468. N ARG N,N NEW *VALIDUS* FILE
  8469. S ARG S,S SOURCE FILE
  8470. U ARG U,U USER INDEX FILE
  8471. OP ARG PRSB,PRSB OPTIONS
  8472. FM ARG FN,FN,400B ALTERNATE FAMILY NAME
  8473. CV ARG PRSL,PRSL CONVERSION OPTIONS
  8474. LO ARG PRSN,LO LIST OPTIONS
  8475. D ARG -PRSN,DB DEBUG MODE
  8476. FA ARG -PRSN,FA FORCE FAST ATTACH FLAG
  8477. RP ARG -PRSN,RP PASSWORD NOT REQUIRED
  8478. SI ARG -PRSN,SI SOURCE INPUT
  8479. CON 0 END OF TABLE
  8480. SPACE 4,10
  8481. PRSF BSS 2 PAGE PARAMETER RESPONSE BLOCK
  8482. PRS SPACE 4,10
  8483. PRSL CON 0 CONVERSION PARAMETERS
  8484.  
  8485. PRSN CON 0LEN ALTERNATE DEFAULT LIST OPTIONS
  8486. PRS SPACE 4,10
  8487. ** LIST OPTION TABLE.
  8488.  
  8489.  
  8490. PRSO VFD 24/0LE,18/1,18/EL ERRORS ONLY
  8491. VFD 24/0LA,18/0,18/LO ALPHA CATALOG
  8492. VFD 24/0LN,18/42,18/LO NUMERIC CATALOG
  8493. VFD 24/0LL,18/1,18/PRSQ LOCAL FILE CATALOG
  8494. CON 0
  8495. PRS SPACE 4,10
  8496. PRSP CON 0LZZZZZG1+3 SCRATCH FILE NAMES
  8497. CON 0LZZZZZG2+3
  8498. CON 0LSCR1+3
  8499. PRS SPACE 4,10
  8500. PRSQ CON 0 LOCAL FILE CATALOG FLAG
  8501. SPACE 4,10
  8502. ** *LIMITS* COMMAND PARAMETERS.
  8503.  
  8504.  
  8505. PRST BSS 0
  8506. L ARG O,O LIST FILE
  8507. CON 0 END OF TABLE
  8508. SPACE 4,10
  8509. ** CONVERSION OPTION TABLE.
  8510.  
  8511.  
  8512. PRSU VFD 24/0LA,18/1,18/CVA *CV=A* CONVERSION OPTION
  8513. VFD 24/0LC,18/1,18/CVC *CV=C* CONVERSION OPTION
  8514. VFD 24/0LD,18/1,18/CVD *CV=D* CONVERSION OPTION
  8515. VFD 24/0LF,18/1,18/CVF *CV=F* CONVERSION OPTION
  8516. VFD 24/0LG,18/1,18/CVG *CV=G* CONVERSION OPTION
  8517. VFD 24/0LH,18/1,18/CVH *CV=H* CONVERSION OPTION
  8518. VFD 24/0LJ,18/1,18/CVJ *CV=J* CONVERSION OPTION
  8519. VFD 24/0LK,18/1,18/CVK *CV=K* CONVERSION OPTION
  8520. CON 0 END OF TABLE
  8521. SPACE 4,10
  8522. ** *UPROC* COMMAND PARAMETERS.
  8523.  
  8524.  
  8525. PRSV BSS 0
  8526. FN ARG UPFN,UPFN USER PROLOGUE FILE NAME
  8527. CON 0 END OF TABLE
  8528. PRSVL EQU *-PRSV-1 ARGUMENT TABLE LENGTH
  8529. SPACE 4,10
  8530. ** *CHVAL* COMMAND PARAMETERS.
  8531.  
  8532.  
  8533. PRSAA BSS 0
  8534. UC ARG CHVB,CHVB USER DEFAULT SERVICE CLASS
  8535. CON 0 END OF TABLE
  8536. PRSAAL EQU *-PRSAA LENGTH OF ARGUMENT TABLE
  8537. SPACE 4,10
  8538. * *GENVAL* COMMAND PARAMETERS.
  8539.  
  8540.  
  8541. PRSAB BSS 0
  8542. FM ARG FN,FN,400B FAMILY NAME
  8543. CON 0 END OF TABLE
  8544. SPACE 4,10
  8545. * Y-COORDINATE TABLE.
  8546.  
  8547. PRSAC KDL *
  8548.  
  8549. PRK HERE REMOTE BLOCK FROM *COMCDCP*
  8550. SPACE 4,10
  8551. ** COMMON DECKS.
  8552.  
  8553.  
  8554. *CALL COMCUSB
  8555. SPACE 4,10
  8556. ** PRESET SUBROUTINES AND DATA NOT OVERLAID BY INPUT AND
  8557. * OUTPUT CIO BUFFERS.
  8558. DEL SPACE 4,15
  8559. ** DEL - DELAY FOR A SPECIFIED PERIOD.
  8560. *
  8561. * ENTRY (X2) = DELAY PERIOD (SECONDS).
  8562. *
  8563. * USES X - 0, 1, 3.
  8564. * A - 1, 3.
  8565. *
  8566. * MACROS RECALL, RTIME.
  8567.  
  8568.  
  8569. DEL SUBR ENTRY/EXIT
  8570. RTIME DELA START CLOCK
  8571. SA3 DELA
  8572. MX0 -24 ISOLATE SECONDS
  8573. LX3 -36
  8574. BX3 -X0*X3
  8575. IX3 X3+X2 CALCULATE END OF INTERVAL
  8576. DEL1 RECALL
  8577. RTIME DELB CALCULATE ELAPSED TIME
  8578. SA1 DELB
  8579. LX1 -36 ISOLATE SECONDS
  8580. BX1 -X0*X1
  8581. IX1 X1-X3
  8582. NG X1,DEL1 IF PERIOD NOT ELAPSED
  8583. EQ DELX RETURN
  8584.  
  8585.  
  8586. DELA BSS 1 START TIME
  8587. DELB BSS 1 CURRENT TIME
  8588. ESP SPACE 4,35
  8589. ** ESP - ENTER SECURE PASSWORDS.
  8590. *
  8591. * *ESP* PROCESSES SECURELY ENTERED PASSWORDS AND
  8592. * PASSWORD EXPIRATION DATE OR TERM VALUES.
  8593. * IF THE *OUTPUT* FILE IS ASSIGNED TO THE TERMINAL, MESSAGES
  8594. * WILL BE SENT TO THE TERMINAL REQUESTING EACH PASSWORD.
  8595. * THE *INPUT* FILE WILL THEN BE READ FOR ALL PARAMETERS.
  8596. * IF RANDOM CHARACTERS ARE TO BE APPENDED TO THE NEW PASSWORD
  8597. * EITHER THE INTERACTIVE OR BATCH PASSWORD MUST BE SPECIFIED.
  8598. * A MESSAGE WILL BE SENT TO THE TERMINAL TO REQUEST THE
  8599. * PASSWORD EXPIRATION DATE OR TERM IF THE USER IS
  8600. * PERMITTED TO CHANGE THE PASSWORD EXPIRATION.
  8601. * FOR BATCH JOBS, FILE *INPUT* WILL BE READ FOR THE
  8602. * PASSWORDS AND OPTIONAL EXPIRATION DATE/TERM.
  8603. *
  8604. * EXIT (OPW) = OLD PASSWORD.
  8605. * (NPW) = NEW PASSWORD.
  8606. * (VERPW) = VERIFICATION OF NEW PASSWORD.
  8607. * (XD) = PASSWORD EXPIRATION DATE.
  8608. * (XT) = PASSWORD EXPIRATION TERM.
  8609. * (PWIX) = PASSWORD DATA BLOCK INDEX.
  8610. *
  8611. * ERROR TO *ABT*.
  8612. *
  8613. * USES X - ALL.
  8614. * A - 0, 1, 2, 3, 4, 6, 7.
  8615. * B - 2, 3, 4, 5, 6.
  8616. *
  8617. * CALLS STB, STF, USB.
  8618. *
  8619. * MACROS CSET, GETUSV, MOVE, READ, READC, READO, TSTATUS,
  8620. * WRITE, WRITEC.
  8621.  
  8622.  
  8623. ESP16 MX6 -30
  8624. BX6 -X6*X7
  8625. NZ X6,ESP17 IF EXPIRATION DATE SPECIFIED
  8626. SA7 XT SET EXPIRATION TERM
  8627. SA6 XD CLEAR EXPIRATION DATE
  8628. ESP17 NZ X5,ESPX IF MUX TERMINAL OR NOT TERMINAL OUTPUT
  8629. WRITEC O,PWOM OVERWRITE PASSWORD
  8630. WRITEC O,TRMB RESET CURSOR POSITIONING
  8631.  
  8632. ESP SUBR ENTRY/EXIT
  8633. TSTATUS TSTB CHECK TERMINAL TYPE
  8634. SX2 O CHECK IF OUTPUT ASSIGNED TO TERMINAL
  8635. RJ STF
  8636. BX5 X6
  8637. NZ X5,ESP1 IF NOT TERMINAL OUTPUT
  8638. SA1 TSTB+1 GET NETWORK TYPE
  8639. AX1 54-0
  8640. NZ X1,ESP1 IF NETWORK TERMINAL
  8641. MX5 1 SET MUX TERMINAL
  8642. ESP1 WRITE O,* PRESET WRITE FUNCTION FOR OUTPUT FILE
  8643. SX2 I CHECK IF INPUT ASSIGNED TO TERMINAL
  8644. RJ STF
  8645. BX0 X6
  8646. NZ X0,ESP3 IF INPUT NOT ASSIGNED TO TERMINAL
  8647. CSET NORMAL ENSURE TERMINAL IN NORMAL MODE
  8648.  
  8649. * READ PASSWORD ORIGIN TYPE.
  8650.  
  8651. SB2 X5
  8652. GT B2,B0,ESP2 IF NOT TERMINAL OUTPUT
  8653. SA1 OPWR
  8654. ZR X1,ESP1.1 IF PASSWORD RANDOMIZATION REQUIRED
  8655. WRITEC O,POMH ISSUE PASSWORD TYPE MESSAGE
  8656. EQ ESP2 READ RESPONSE
  8657.  
  8658. ESP1.1 WRITEC O,POMG ISSUE PASSWORD TYPE MESSAGE
  8659. ESP2 READ I READ PASSWORD ORIGIN TYPE
  8660. READO I
  8661. NZ X1,ESP4 IF NO INPUT, ASSUME INTERACTIVE
  8662. BX1 X6 VALIDATE PASSWORD ORIGIN TYPE
  8663. MX2 24
  8664. SB2 TPTI
  8665. RJ STB SEARCH TABLE
  8666. SX2 DMPA * ERROR IN PASSWOR ARGUMENTS.*
  8667. ZR X3,ABT IF PASSWORD TYPE NOT FOUND
  8668. MX6 -18
  8669. BX6 -X6*X3 SET PASSWORD DATA BLOCK INDEX
  8670. SA6 PWIX
  8671. EQ ESP4 PROMPT FOR PASSWORD
  8672.  
  8673. ESP3 SX2 DMIN /*INPUT* NOT ASSIGNED TO TERMINAL./
  8674. SA3 OPWR
  8675. ZR X3,ABT IF PASSWORD RANDOMIZATION REQUIRED
  8676. SX5 1 SET NO TERMINAL OUTPUT
  8677.  
  8678. * SEND MESSAGE TO TERMINAL REQUESTING PASSWORD.
  8679.  
  8680. ESP4 SA0 -B1 SET FLAG FOR FIRST PARAMETERS
  8681. NZ X5,ESP5 IF MUX TERMINAL OR NOT TERMINAL OUTPUT
  8682. WRITEC O,TRMA SET NO LINE FEED AFTER ENTERING PASSWORD
  8683. EQ ESP6 SEND PASSWORD MESSAGE
  8684.  
  8685. ESP5 NG X5,ESP6 IF MUX TERMINAL
  8686. NZ X5,ESP7 IF NOT TERMINAL OUTPUT
  8687. WRITEC O,PWOM OVERWRITE PASSWORD
  8688. ESP6 WRITEC O,PSMG WRITE PASSWORD REQUEST
  8689.  
  8690. * READ *INPUT* FILE FOR SECURE ENTRY OF PASSWORDS AND
  8691. * PASSWORD EXPIRATION DATE/TERM.
  8692.  
  8693. ESP7 READ I READ INPUT FOR PASSWORDS AND EXPIRATION
  8694. READC I,PSBF,PSBFL
  8695. BX7 X7-X7 CLEAR PARAMETER ASSEMBLY REGISTER
  8696. SB3 B0 INDICATE BUFFER EXHAUSTED
  8697. SB5 60 INITIALIZE ASSEMBLY SHIFT COUNT
  8698. SB4 B0 INDICATE BUFFER EXHAUSTED REQUIRED
  8699. ZR X0,ESP8 IF TERMINAL INPUT
  8700. SB4 B1 INDICATE SEPARATOR REQUIRED
  8701. ESP8 NG X1,ESP10 IF EOF/EOI ENCOUNTERED
  8702. NZ X1,ESP10 IF EOR ENCOUNTERED
  8703. SB2 PSBF UNPACK DATA TO STRING BUFFER
  8704. RJ USB
  8705.  
  8706. * ASSEMBLE PASSWORD OR PASSWORD EXPIRATION DATE/TERM.
  8707.  
  8708. ESP9 SB3 B0
  8709. GT B6,B7,ESP10 IF END OF BUFFER
  8710. SA1 B6
  8711. SB6 B6+B1
  8712. SX6 X1-1R
  8713. SB3 X1
  8714. ZR X6,ESP9 IF BLANK CHARACTER
  8715. SA3 ILCM GET INCORRECT CHARACTER MASK
  8716. SA4 SEPM GET SEPARATOR MASK
  8717. LX3 B3
  8718. AX4 B3
  8719. NG X3,ESP11 IF INCORRECT CHARACTER
  8720. LX4 -1
  8721. SB3 B1
  8722. NG X4,ESP10 IF SEPARATOR ENCOUNTERED
  8723. SB5 B5-6
  8724. LX7 6
  8725. SB3 18
  8726. BX7 X7+X1
  8727. LT B5,B3,ESP11 IF PASSWORD OR EXPIRATION TOO LONG
  8728. EQ ESP9 CONTINUE ASSEMBLING PASSWORD OR EXPIRATION
  8729.  
  8730. * CHECK TERMINATION CONDITION.
  8731.  
  8732. ESP10 LX7 B5 LEFT JUSTIFY PARAMETER
  8733. GT B4,B1,ESP12 IF EITHER TERMINATION CONDITION ALLOWED
  8734. EQ B3,B4,ESP12 IF CORRECT TERMINATION CONDITION
  8735. ESP11 SX2 DMIP * INCORRECT PASSWORD.*
  8736. SB2 A0+
  8737. LE B2,B1,ESP15 IF ASSEMBLING PASSWORD
  8738. SX2 DMPE * PASSWORD EXPIRATION CHANGE INCORRECT.*
  8739. EQ ESP15 ABORT
  8740.  
  8741. * SAVE ASSEMBLED PASSWORD OR PASSWORD EXPIRATION DATE/TERM.
  8742.  
  8743. ESP12 SA0 A0+B1
  8744. SB2 A0
  8745. SA7 OPW+B2
  8746. SB4 B1+B1 INDICATE OPTIONAL PARAMETER MAY FOLLOW
  8747. GT B2,B4,ESP16 IF PASSWORD EXPIRATION ASSEMBLED
  8748. BX7 X7-X7 CLEAR PARAMETER ASSEMBLY REGISTER
  8749. SB5 60 INITIALIZE ASSEMBLY SHIFT COUNT
  8750. EQ B2,B4,ESP13 IF ALL PASSWORDS ASSEMBLED
  8751. EQ B2,B1,ESP12.1 IF OLD AND NEW PASSWORDS ASSEMBLED
  8752. NZ X0,ESP9 IF NOT TERMINAL INPUT
  8753. SA1 PSMG SET MESSAGE TO *NEW PASSWORD*
  8754. MX2 42
  8755. LX1 -18
  8756. SX3 3RNEW
  8757. BX6 X2*X1
  8758. BX6 X6+X3
  8759. LX6 18
  8760. SA6 A1
  8761. EQ ESP5 READ SECOND PASSWORD
  8762.  
  8763. ESP12.1 SA1 NPW PRESET VERIFICATION PASSWORD
  8764. BX7 X1
  8765. NZ X0,ESP12 IF NOT TERMINAL INPUT
  8766. SA1 OPWR
  8767. ZR X1,ESP12 IF PASSWORD RANDOMIZATION REQUIRED
  8768. MOVE PSMHL,PSMH,PSMG
  8769. EQ ESP5 VERIFY NEW PASSWORD
  8770.  
  8771. ESP13 ZR X0,ESP14 IF TERMINAL INPUT
  8772. SB4 B0+ INDICATE BUFFER EXHAUSTED REQUIRED
  8773. EQ B3,B1,ESP9 IF SEPARATOR ENCOUNTERED
  8774. EQ ESP17 RETURN
  8775.  
  8776. ESP14 GETUSV PSBF
  8777. SA1 PSBF GET JOB *JSCW* WORD
  8778. NG X1,ESP17 IF USER IS SECURITY ADMINISTRATOR
  8779. LX1 59-57
  8780. PL X1,ESP17 IF USER NOT ALLOWED TO CHANGE EXPIRATION
  8781.  
  8782. * SET EXPIRATION DATE PROMPT MESSAGE.
  8783.  
  8784. MOVE PSMJL,PSMJ,PSMG
  8785. EQ ESP5 ASSEMBLE EXPIRATION
  8786.  
  8787. ESP15 NZ X5,ABT IF MUX TERMINAL OR NOT TERMINAL OUTPUT
  8788. BX5 X2 SAVE ERROR MESSAGE
  8789. WRITEC O,PWOM OVERWRITE PASSWORD
  8790. WRITEC O,TRMB RESET CURSOR POSITIONING
  8791. BX2 X5
  8792. EQ ABT ABORT
  8793.  
  8794. TPTI BSS 0 TABLE OF PASSWORD TYPE IDENTIFIERS
  8795. VFD 24/0LI,18/0,18/APWI INTERACTIVE
  8796. VFD 24/0LB,18/0,18/APSW BATCH
  8797. VFD 24/0LIB,18/0,18/0 BOTH
  8798. VFD 24/0LBI,18/0,18/0 BOTH
  8799. CON 0 END OF TABLE
  8800.  
  8801.  
  8802. ILCM CON 610000B INCORRECT CHARACTER MASK
  8803. SEPM CON 77772466000000000001B SEPARATOR MASK
  8804.  
  8805. PSBFL EQU 8 PASSWORD BUFFER LENGTH
  8806. PSBF BSS PSBFL PASSWORD BUFFER
  8807.  
  8808. * PASSWORD TYPE MESSAGE.
  8809.  
  8810. POMG DATA C*"EM" INTERACTIVE (I) OR BATCH (B): *
  8811. POMH DATA C*"EM" INTERACTIVE (I), BATCH (B), OR BOTH (IB): *
  8812.  
  8813. * MESSAGES FOR SECURE ENTRY OF PASSWORDS AND EXPIRATION DATES.
  8814.  
  8815. PSMG DATA 10H"EM" OLD PA
  8816. DATA 10HSSWORD: "NL"
  8817. DATA 10H ((((((((
  8818. DATA 10H(((((("CR"
  8819. DATA 10H))))))))))
  8820. DATA 10H))))"CR" MM
  8821. DATA 10HMMMMMMMMMM
  8822. DATA 10HMM"CR" QQQQ
  8823. DATA 10HQQQQQQQQQQ
  8824. DATA 10H"CR" XXXXXX
  8825. DATA 10HXXXXXXXX"CR"
  8826. DATA 10H
  8827. DATA 10H "CR""CB"
  8828. CON 0
  8829. PSMGL EQU *-PSMG
  8830.  
  8831. * PASSWORD VERIFICATION MESSAGE.
  8832.  
  8833. PSMH DATA 10H"EM" PLEASE
  8834. DATA 10H REENTER N
  8835. DATA 10HEW PASSWOR
  8836. DATA 10HD FOR VERI
  8837. DATA 10HFICATION:
  8838. DATA 10H"NL" ((((((
  8839. DATA 10H(((((((("CR"
  8840. DATA 10H ))))))))
  8841. DATA 10H))))))"CR"
  8842. DATA 10HMMMMMMMMMM
  8843. DATA 10HMMMM"CR" QQ
  8844. DATA 10HQQQQQQQQQQ
  8845. DATA 10HQQ"CR" XXXX
  8846. DATA 10HXXXXXXXXXX
  8847. DATA 10H"CR"
  8848. DATA 10H "CR"
  8849. DATA 10H"CB"''''''''
  8850. PSMHL EQU *-PSMH
  8851.  
  8852. .XL DECMIC APXL
  8853. PSMJ DATA C*"EM" EXPIRATION DATE (YYMMDD) OR TERM (0-".XL"): *
  8854. PSMJL EQU *-PSMJ
  8855.  
  8856. * *TRMDEF* SEQUENCES FOR TURNING CURSOR POSITIONING ON/OFF.
  8857.  
  8858. TRMA CON 00164107400000000000B
  8859. TRMB CON 00164107400100000000B
  8860.  
  8861. * PASSWORD OVERWRITE MESSAGE.
  8862.  
  8863. PWOM DATA 10H"EM"
  8864. DATA 10H "CR"
  8865. CON 0
  8866.  
  8867. * *TSTATUS* REPLY BUFFER.
  8868.  
  8869. TSTB BSSZ 2
  8870.  
  8871. * THE FOLLOWING *PASSWOR* PARAMETER LOCATIONS MUST BE
  8872. * CONSECUTIVE AND IN THE SPECIFIED ORDER.
  8873.  
  8874. OPW CON 0 OLD PASSWORD
  8875. NPW CON 0 NEW PASSWORD
  8876. VERPW CON 0 VERIFICATION PASSWORD
  8877. XD CON 0 PASSWORD EXPIRATION DATE
  8878. XT CON 0 PASSWORD EXPIRATION TERM
  8879. PT CON 0 PASSWORD TYPE (I/B)
  8880. GRC SPACE 4,10
  8881. ** GRC - GENERATE RANDOM CHARACTERS.
  8882. *
  8883. * ENTRY (B2) = NUMBER OF RANDOM ALPHANUMERIC CHARACTERS TO
  8884. * BE GENERATED (0 - 7).
  8885. *
  8886. * EXIT (X1) = RANDOM CHARACTERS, RIGHT JUSTIFIED, ZERO FILL.
  8887. *
  8888. * USES X - 0, 1, 2, 3, 4, 5, 6.
  8889. * A - 2.
  8890. * B - 2.
  8891. *
  8892. * MACROS RTIME.
  8893.  
  8894.  
  8895. GRC SUBR ENTRY/EXIT
  8896. RTIME GRCA GET TIME SINCE DEADSTART
  8897. MX0 -37 USE 37 BITS
  8898. SA2 GRCA
  8899. SX3 B1
  8900. BX2 -X0*X2
  8901. LX3 37 CREATE SEED .GE. 2**37
  8902. GRC1 IX4 X2-X3
  8903. PL X4,GRC2 IF SEED BIG ENOUGH
  8904. LX2 B1
  8905. EQ GRC1 CONTINUE DOUBLING
  8906.  
  8907. GRC2 SX1 B0
  8908. SX3 36 USE CHARACTERS A-Z, 0-9
  8909. GRC3 SB2 B2-B1
  8910. NG B2,GRCX IF ALL CHARACTERS GENERATED
  8911. PX4 X2
  8912. PX5 X3
  8913. NX6 X5
  8914. FX6 X4/X6 NEW SEED = OLD SEED / 36
  8915. UX0,B3 X6 CHARACTER = SEED MODULO 36
  8916. LX4 X0,B3
  8917. IX0 X4*X3
  8918. IX5 X2-X0
  8919. SX5 X5+B1 SET CHARACTER IN RANGE 1-36
  8920. LX1 6 APPEND CHARACTER
  8921. BX1 X1+X5
  8922. BX2 X6
  8923. EQ GRC3 GENERATE NEXT CHARACTER
  8924.  
  8925.  
  8926. GRCA BSS 1 REAL TIME CLOCK
  8927. RPW SPACE 4,20
  8928. ** RPW - RANDOMIZE PASSWORD.
  8929. *
  8930. * IF PASSWORD RANDOMIZATION IS REQUIRED, RANDOM ALPHANUMERIC
  8931. * CHARACTERS ARE GENERATED AND APPENDED TO THE END OF THE NEW
  8932. * PASSWORD.
  8933. *
  8934. * ENTRY (NPW) = USER-SPECIFIED PORTION OF NEW PASSWORD.
  8935. * (OPW) = OLD PASSWORD.
  8936. *
  8937. * EXIT (NPW) = NEW PASSWORD. RANDOM CHARACTERS APPENDED TO
  8938. * END IF REQUIRED.
  8939. *
  8940. * USES X - 0, 1, 2, 3, 4, 5, 6.
  8941. * A - 1, 2, 5, 6.
  8942. * B - 2.
  8943. *
  8944. * CALLS DEL, GRC.
  8945. *
  8946. * MACROS READ, READC, TSTATUS, WRITEC.
  8947.  
  8948.  
  8949. RPW SUBR ENTRY/EXIT
  8950. SA1 NPW CHECK USER ENTERED AT LEAST 2 CHARACTERS
  8951. SX2 DMPS * PASSWORD TOO SHORT.*
  8952. MX3 6
  8953. BX3 -X3*X1
  8954. ZR X3,ABT IF PASSWORD TOO SHORT
  8955. SB2 42-PWRB MAXIMUM UNRANDOMIZED PASSWORD BIT LENGTH
  8956. SX2 DMTL * PASSWORD TOO LONG.*
  8957. LX1 X1,B2
  8958. AX1 X1,B2
  8959. NZ X1,ABT IF PASSWORD TOO LONG
  8960. SX2 3
  8961. RJ DEL DELAY
  8962.  
  8963. * APPEND RANDOM CHARACTERS TO END OF NEW PASSWORD.
  8964.  
  8965. RPW2 SB2 PWRC
  8966. RJ GRC GENERATE RANDOM CHARACTERS
  8967. SA2 NPW
  8968. MX0 6
  8969. SB2 60-PWRB
  8970. LX1 B2
  8971. BX3 X1 SAVE SHIFTED RANDOMIZATION CHARACTERS
  8972. SB2 9 CHARACTERS TO CHECK
  8973. RPW3 LX0 6 SCAN FOR END OF NEW PASSWORD
  8974. BX4 X0*X2
  8975. SB2 B2-B1
  8976. NZ X4,RPW4 IF END OF NEW PASSWORD
  8977. ZR B2,RPW4 IF NULL PASSWORD
  8978. LX1 6
  8979. EQ RPW3 CONTINUE SCAN
  8980.  
  8981. RPW4 SA4 OPW
  8982. BX6 X2+X1
  8983. BX1 X6-X4 CHECK NEW PASSWORD .NE. OLD
  8984. ZR X1,RPW2 IF NEW PASSWORD EQUALS OLD
  8985. SA6 NPW
  8986.  
  8987. * DISPLAY RANDOMIZATION CHARACTERS AND PROMPT FOR VERIFICATION.
  8988.  
  8989. MX0 1 SET CHARACTERS IN MESSAGE
  8990. SB2 PWRB-1
  8991. AX0 B2
  8992. SA2 RPWC
  8993. BX6 -X0*X2
  8994. BX6 X6+X3
  8995. SA6 A2
  8996. TSTATUS TSTB
  8997. SA5 TSTB+1 CHECK TERMINAL TYPE
  8998. AX5 54-0
  8999. ZR X5,RPW5 IF MUX TERMINAL
  9000. WRITEC O,TRMA SET NO LINE FEED AFTER ENTERING PASSWORD
  9001. RPW5 WRITEC O,RCMG DISPLAY CHARACTERS
  9002.  
  9003. * READ AND VERIFY NEW PASSWORD.
  9004.  
  9005. READ I
  9006. READC I,PSBF,B1
  9007. ZR X5,RPW6 IF MUX TERMINAL
  9008. WRITEC O,PWOM OVERWRITE PASSWORD
  9009. WRITEC O,TRMB RESET CURSOR POSITIONING
  9010. RPW6 SX2 3 DELAY
  9011. RJ DEL
  9012. SA1 PSBF
  9013. SA2 NPW
  9014. BX1 X1-X2
  9015. SX2 DMVE * VERIFICATION ERROR.*
  9016. NZ X1,ABT IF PASSWORD INCORRECT
  9017. EQ RPWX RETURN
  9018.  
  9019.  
  9020. * MESSAGES FOR VERIFICATION OF RANDOMIZED PASSWORD.
  9021.  
  9022. RCMG DATA 10H"EM"THE FOLL
  9023. DATA 10HOWING CHAR
  9024. DATA 10HACTERS HAV
  9025. DATA 10HE BEEN APP
  9026. DATA 10HENDED "NL"
  9027. DATA 10HTO THE END
  9028. DATA 10H OF YOUR N
  9029. DATA 10HEW PASSWOR
  9030. DATA 10HD - "NL"
  9031. RPWC DATA 10H "NL"
  9032. DATA 10HENTER YOUR
  9033. DATA 10H NEW PASSW
  9034. DATA 10HORD FOR VE
  9035. DATA 10HRIFICATION
  9036. DATA 10H: "NL" ))))
  9037. DATA 10H))))))))))
  9038. DATA 10H"CR" ((((((
  9039. DATA 10H(((((((("CR"
  9040. DATA 10H MMMMMMMM
  9041. DATA 10HMMMMMM"CR"
  9042. DATA 10HQQQQQQQQQQ
  9043. DATA 10HQQQQ"CR" XX
  9044. DATA 10HXXXXXXXXXX
  9045. DATA 10HXX"CR"
  9046. DATA 10H
  9047. DATA 10H"CR""CB"''''''
  9048. SPACE 4,10
  9049. D3 SET *
  9050. SPACE 4,10
  9051. ** PRESET CODE OVERLAID BY INPUT AND OUTPUT CIO BUFFERS.
  9052. SPACE 4,10
  9053. TKPR BSS 0 TABLE OF KEYWORDS/POSITIONS TO REMOVE
  9054. CON 1 OLD PASSWORD
  9055. CON 2 NEW PASSWORD
  9056. * CON 0 END OF TABLE
  9057.  
  9058.  
  9059. TARG BSS 0 ARGUMENT TABLE FOR *PASSWOR*
  9060. XD ARG XD,XD,400B EXPIRATION DATE
  9061. XT ARG XT,XT,400B EXPIRATION TERM
  9062. PT ARG PT,PT,400B PASSWORD TYPE (I/B)
  9063. CON 0 END OF TABLE
  9064. CFN SPACE 4,10
  9065. ** CFN - COMPARE FILE NAMES.
  9066. *
  9067. * ENTRY (OPTION) = COMMAND OPTIONS SELECTED.
  9068. *
  9069. * EXIT (X1) = 0, IF NO FILE NAME CONFLICT.
  9070. * (X1) = FILE NAME, IF CONFLICT.
  9071. *
  9072. * USES X - 0, 1, 2, 3, 4, 5, 6.
  9073. * A - 1, 2, 4, 5.
  9074. * B - 2, 3.
  9075.  
  9076.  
  9077. CFN SUBR ENTRY/EXIT
  9078. SB2 -B1 INITIALIZE COUNTERS/MASKS
  9079. MX0 -12
  9080. SB3 TFNCL
  9081. MX6 42
  9082. SA5 OPTION
  9083. BX1 X1-X1
  9084. CFN1 SB2 B2+B1 INCREMENT TO NEXT OPTION ENTRY
  9085. LX5 -1
  9086. GE B2,B3,CFNX IF END OF OPTIONS
  9087. PL X5,CFN1 IF OPTION NOT SELECTED
  9088. SA2 TFNC+B2 GET LIST OF FILE NAME COMPARISIONS
  9089. CFN2 LX2 12
  9090. BX1 -X0*X2
  9091. BX2 X0*X2
  9092. LX3 X2
  9093. ZR X1,CFN1 IF END OF FILE NAME COMPARISIONS
  9094. SA1 X1
  9095. BX1 X6*X1
  9096. CFN3 LX3 12
  9097. BX4 -X0*X3
  9098. ZR X4,CFN2 IF ONE PASS COMPLETED
  9099. SA4 X4+ COMPARE FILE NAMES
  9100. BX4 X6*X4
  9101. BX4 X4-X1
  9102. NZ X4,CFN3 IF NO FILE NAME CONFLICT
  9103. EQ CFNX RETURN
  9104. TFNC SPACE 4,10
  9105. ** TFNC - TABLE OF FILE NAME CONFLICT COMPARISIONS.
  9106. *
  9107. * ONE WORD ENTRY FOR EACH COMMAND OPTION, CONTAINING
  9108. * THE 12-BIT FET ADDRESSES FOR THOSE FILES USED BY
  9109. * THIS OPTION.
  9110. * UP TO 5 FET ADDRESSES PER ENTRY ARE ALLOWED.
  9111.  
  9112.  
  9113. TFNC INDEX VFD,LOPT+1,( 60/* )
  9114. INDEX ,KOPT,( 12/P,12/U,36/0 )
  9115. INDEX ,COPT,( 12/I,12/O,12/N,12/U,12/0 )
  9116. INDEX ,UOPT,( 12/I,12/O,12/P,12/U,12/0 )
  9117. INDEX ,ROPT,( 12/O,12/N,12/P,12/U,12/0 )
  9118. INDEX ,SOPT,( 12/P,12/S,12/U,24/0 )
  9119. INDEX ,IOPT,( 12/O,12/P,12/U,24/0 )
  9120. INDEX ,ZOPT,( 12/I,12/O,12/P,12/U,12/0 )
  9121. INDEX ,LOPT,( 12/O,12/P,12/U,24/0 )
  9122. TFNCL EQU *-TFNC
  9123. PKP SPACE 4,15
  9124. ** PKP - PROCESS KEYWORD OR POSITIONAL ARGUMENTS.
  9125. *
  9126. * ENTRY (X6) = ARGUMENT TABLE ADDRESS.
  9127. * (X7) = ARGUMENT TABLE LENGTH.
  9128. *
  9129. * EXIT (X1) = 0, IF NO ERROR.
  9130. * = -1, IF ARGUMENT ERROR.
  9131. *
  9132. * USES A - 1, 2, 6, 7.
  9133. * B - 2, 3, 4, 6.
  9134. * X - 1, 2, 6, 7.
  9135. *
  9136. * CALLS ARM, CPA, USB.
  9137.  
  9138.  
  9139. PKP SUBR ENTRY/EXIT
  9140. SA6 PKPA SAVE ADDRESS AND LENGTH
  9141. SA7 A6+1
  9142. SB2 CCDR UNPACK COMMAND
  9143. RJ USB
  9144.  
  9145. * SKIP TO FIRST ARGUMENT.
  9146.  
  9147. PKP1 RJ POP
  9148. SA2 PKPB
  9149. BX2 X2-X6
  9150. NZ X2,PKP1 IF COMMAND NAME NOT FOUND
  9151. SX1 X1-1R.
  9152. ZR X1,PKPX IF NO ARGUMENTS
  9153.  
  9154. * PROCESS ARGUMENTS.
  9155.  
  9156. SA1 PKPA RETRIEVE ADDRESS AND LENGTH
  9157. SA2 A1+B1
  9158. SB3 X1 ARGUMENT TABLE ADDRESS
  9159. SB2 X2+
  9160. SB4 ABUF CONVERT POSITIONAL ARGUMENTS
  9161. RJ CPA
  9162. NG B5,PKP2 IF ARGUMENT ERROR
  9163. SX6 B5+ SET LWA OF ARGUMENTS
  9164. SB6 ABUF SET FWA OF ARGUMENTS
  9165. SA6 USBC
  9166. RJ ARM PROCESS ARGUMENTS
  9167. ZR X1,PKPX IF NO ARGUMENT ERROR
  9168. PKP2 SX1 -1 INDICATE ARGUMENT ERROR
  9169. EQ PKPX RETURN
  9170.  
  9171.  
  9172. PKPA CON 0 ARGUMENT TABLE ADDRESS
  9173. CON 0 ARGUMENT TABLE LENGTH
  9174. PKPB DATA C*UPROC*
  9175. SPACE 4,10
  9176. ** SECONDARY OVERLAID COMMON DECKS.
  9177.  
  9178.  
  9179. *CALL COMCARG
  9180. *CALL COMCARM
  9181. *CALL COMCCPA
  9182. *CALL COMCPOP
  9183. *CALL COMCRSP
  9184. SPACE 4,10
  9185. ** BUFFER ASSIGNMENTS.
  9186.  
  9187.  
  9188. ABUF EQU * ARGUMENT STRING BUFFER
  9189.  
  9190. CBUF EQU D1 CHARACTER BUFFER
  9191. D MAX D,D1+CBUFL
  9192.  
  9193. PBUF EQU D
  9194. D SET D+VBUFL VALIDUS BUFFER
  9195.  
  9196. NBUF EQU D NEWVAL AND VALINDS BUFFER
  9197. D SET D+VBUFL
  9198.  
  9199. D MAX D,D3
  9200. IBUF EQU D INPUT AND SOURCE BUFFER
  9201. D SET D+IBUFL
  9202.  
  9203. OBUF EQU D
  9204. D SET D+OBUFL OUTPUT BUFFER
  9205. SPACE 4,10
  9206. ** MANAGED TABLES.
  9207.  
  9208.  
  9209. MEML EQU D
  9210. D SET D+1000B
  9211. SPACE 4,10
  9212. RFL= EQU D
  9213. ERRNG RFL=-ABUF-200 ARGUMENT BUFFER OVERFLOW
  9214. SPACE 4,10
  9215. END
cdc/nos2.source/opl871/modval.txt ยท Last modified: 2023/08/05 17:24 by Site Administrator