User Tools

Site Tools


cdc:nos2.source:nam5871:ns_nsi

NS$NSI

Table Of Contents

  • [00015] PROC NS$NSI
  • [00016] NS$NSI - NS INITIALIZATION.
  • [00020] NS INITIALIZATION.
  • [00056] PROC CLOCK
  • [00057] PROC DATE
  • [00058] PROC EXINCSZ
  • [00059] PROC FSTATUS
  • [00060] PROC MOVEI
  • [00061] PROC MOVEOK
  • [00062] PROC NDLOVLD
  • [00063] PROC NETREL
  • [00064] PROC NETDBG
  • [00066] PROC NETSTC
  • [00068] PROC NS$MSG
  • [00069] FUNC NS$XZFN C(10)
  • [00070] PROC READ
  • [00071] PROC READW
  • [00072] PROC RECALL
  • [00073] PROC REQTSB
  • [00074] PROC RETTSB
  • [00075] PROC RTIME
  • [00076] PROC SKIPB
  • [00077] PROC SKIPEI
  • [00078] PROC SQUEEZE
  • [00079] PROC TSBINFO
  • [00080] PROC TSBINIT
  • [00081] FUNC XCDD C(10)

Source Code

NS$NSI.txt
  1. *DECK NS$NSI
  2. USETEXT COM$NS
  3. USETEXT CYB$NS
  4. USETEXT DEF$NS
  5. USETEXT DIR$NS
  6. USETEXT FERR$NS
  7. USETEXT FET$NS
  8. USETEXT HIS$NS
  9. USETEXT IOD$NS
  10. USETEXT LIN$NS
  11. USETEXT LTSB$NS
  12. USETEXT NCT$NS
  13. USETEXT NPT$NS
  14. USETEXT PRF$NS
  15. PROC NS$NSI;
  16. # TITLE NS$NSI - NS INITIALIZATION. #
  17.  
  18. BEGIN # NS$NSI #
  19. #
  20. ** NS$NSI - NS INITIALIZATION.
  21. *
  22. * J.C. LEE 1981
  23. *
  24. * THIS ROUTINE PROCESS NS INITIALIZATION.
  25. *
  26. * PROC NS$NSI
  27. *
  28. * ENTRY:
  29. * NONE.
  30. *
  31. * EXIT:
  32. * NONE.
  33. *
  34. * METHOD:
  35. * - CLEAR NS NETTED-ON FLAG.
  36. * - CLEAR NS INITIALIZATION-DONE FLAG.
  37. * - SET DEFAULT CONTROL CARD PARAMETERS.
  38. * - CRACK CONTROL CARD PARAMETERS.
  39. * - INITIATE NPU DUMP FILE INDEX.
  40. * - INITIALIZE COM$COM COMMON AREA.
  41. * - MAKE SURE NEEDED FILES ARE LOCAL.
  42. * - PERFORM NETON PROCESSING.
  43. * - SEND NS VERSION, NCF BUILD DATE/TIME AND TITLE,
  44. * NLF BUILD DATE/TIME TO DAYFILE.
  45. * - BUILD THE NCT AND NPT.
  46. * - PRESET BASED ARRAY POINTERS FOR ALL NON-MOVABLE
  47. * BUFFERS.
  48. * - SET UP HISTORY BUFFER.
  49. * - SET NS INITIALIZATION-DONE FLAG.
  50. * IN ALL CASES, IF ERROR IS DETECTED, ISSUE MESSAGE
  51. * AND ABORT.
  52. *
  53. #
  54. XREF
  55. BEGIN
  56. PROC CLOCK; # GET TIME OF DAY #
  57. PROC DATE; # GET DATE #
  58. PROC EXINCSZ; # INCREASE TSB SIZE #
  59. PROC FSTATUS; # SEE IF FILE IS A LOCAL FILE #
  60. PROC MOVEI; # MOVE BLOCK OF WORDS #
  61. PROC MOVEOK; # ALLOW TSB TO MOVE #
  62. PROC NDLOVLD; # OVERLAY LOADER #
  63. PROC NETREL; # SET UP ZZZZZDN FILE #
  64. PROC NETDBG; # TURN ON/OFF AIP TRACE #
  65. *IF DEF,STAT
  66. PROC NETSTC; # GATHER STATISTICS #
  67. *ENDIF
  68. PROC NS$MSG; # DISPATCH MESSAGE #
  69. FUNC NS$XZFN C(10); # CONVERT BLANKS TO ZEROS #
  70. PROC READ; # READ A RECORD #
  71. PROC READW; # READ WORDS TO WORKING BUFFER #
  72. PROC RECALL; # WAIT UNTIL OPERATION IS COMPLETE #
  73. PROC REQTSB; # REQUEST A TSB #
  74. PROC RETTSB; # RETURN A TSB #
  75. PROC RTIME; # GET ELAPSED TIME SINCE DEADSTART #
  76. PROC SKIPB; # SKIP BACKWARDS #
  77. PROC SKIPEI; # SKIP TO END OF INFORMATION #
  78. PROC SQUEEZE; # CONSOLIDATE FREE SPACE #
  79. PROC TSBINFO; # GET TSB ADDRESS #
  80. PROC TSBINIT; # INITIALIZE TSB MANAGER #
  81. FUNC XCDD C(10); # INTEGER TO DECIMAL DISPLAY CODE #
  82. END
  83.  
  84. DEF IBUFL # O"301" #; # INITIAL OPLD BUFFER LENGTH #
  85. DEF I$NCF # 0 #; # INDEX OF NCF IN FOR LOOP #
  86. DEF I$NLF # 1 #; # INDEX OF NLF IN FOR LOOP #
  87. DEF I$NRF1 # 2 #; # INDEX OF NRF1 IN FOR LOOP #
  88. DEF I$NRF2 # 3 #; # INDEX OF NRF2 IN FOR LOOP #
  89. DEF PRF$7700L # 15 #; # PREFIX TABLE LENGTH #
  90.  
  91. # NAM LEVEL #
  92.  
  93. *CALL NAMLEV
  94. ITEM BUFL U; # CALCULATED BUFFER LENGTH #
  95. ITEM CIOTSBADDR; # CIO BUFFER TSB ADDRESS #
  96. ITEM CIOTSBN U; # CIO BUFFER TSB NUMBER #
  97. ITEM ERRCODE U; # ERROR CODE RETURNED BY TABLE BUILDERS #
  98. ITEM FETTSBN U; # FET TSB NUMBER #
  99. ITEM FN C(10); # FILE NAME #
  100. ITEM I U; # LOOP INDEX #
  101. ITEM RETFWA U; # FREE TSB FWA RETURNED BY SQUEEZE #
  102. ITEM STATIS; # STATUS RETURNED BY NETSTC #
  103. ITEM TSBADDR U; # TSB ADDRESS #
  104. ITEM TSBN; # TSB NUMBER #
  105. ITEM TSBSIZE U; # TSB SIZE #
  106. ITEM UP; # LOOP LIMIT #
  107.  
  108. ARRAY FILES [I$NCF:I$NRF2] S(1);
  109. BEGIN
  110. ITEM FILENAME C(00,00,04) = # FILE NAMES #
  111. [LFN$NCF,
  112. LFN$NLF,
  113. LFN$NRF1,
  114. LFN$NRF2];
  115. ITEM PROCNAME C(00,24,04) = # PROC NAMES #
  116. ["NDLP",
  117. "LFG "];
  118. ITEM INDXTSBN U(00,48,12); # DIRECTORY TSB NO. #
  119. END
  120.  
  121. ARRAY HISL2 [I$NCF:I$NLF] S(3);
  122. BEGIN # LINE 2 OF HISTORY DISPLAY #
  123. ITEM HISL21 C(00,00,30) =
  124. ["NCF XX/XX/XX. XX.XX.XX., ",
  125. "NLF XX/XX/XX. XX.XX.XX. "];
  126. ITEM HISL2$DATE C(00,24,08);
  127. ITEM HISL2$TIME C(01,24,08);
  128. ITEM HISL2$Z U(02,18,42);
  129. END
  130. DEF FNAL # 3 #;
  131. DEF DM$FNA # DM$ABORT+DM$LOCAL #; # DIRECTIVES FOR MSG$FNA #
  132. ARRAY MSG$FNA [0:0] S(FNAL);
  133. BEGIN # FILE NOT AVAILABLE MESSAGE #
  134. ITEM FNA1 C(00,00,19) =
  135. ["XXXX NOT AVAILABLE."];
  136. ITEM FNA$FN C(00,00,04);
  137. ITEM FNA$Z U(01,54,06) = [ 0 ];
  138. ITEM FNA$Z1 U(02,00,60) = [0];
  139. END
  140.  
  141. DEF DM$NLL # DM$NAMLOG + DM$LOCAL #;
  142. DEF NSLEVL$ # 2 #; # LENGTH OF NS LEVEL BUFF #
  143. DEF FVERSIONL$ # 3 #; # LENGTH OF FILE VERSION BUFF #
  144. DEF NCFTITL$ # 6 #; # LENGTH OF NCF TITLE BUFF #
  145.  
  146. #
  147. * NSLEV - NS VERSION AND LEVEL BUFFER.
  148. #
  149.  
  150. ARRAY NSLEV[00:00] S(NSLEVL$);
  151. BEGIN
  152. ITEM NLV$MSG C(00,00,14) = ["VER VER - LVL."];
  153. ITEM NLV$VER C(00,24,03);
  154. ITEM NLV$LVL C(01,00,03);
  155. ITEM NLV$ZRO U(01,24,36) = [0];
  156. END
  157.  
  158.  
  159. #
  160. * FVERSION - NCF/NLF BUILD DATE/TIME BUFFER.
  161. #
  162.  
  163. ARRAY FVERSION[00:00] S(FVERSIONL$);
  164. BEGIN
  165. ITEM FVR$MSG C(00,00,23) =
  166. ["XXX YY/MM/DD, HH.MM.SS."];
  167. ITEM FVR$FN C(00,00,03);
  168. ITEM FVR$DATE C(00,24,08);
  169. ITEM FVR$TIME C(01,24,08);
  170. ITEM FVR$ZRO C(02,18,42) = [0];
  171. END
  172.  
  173.  
  174. #
  175. * NCFTIT - NCF TITLE BUFFER.
  176. #
  177.  
  178. ARRAY NCFTIT[00:00] S(NCFTITL$);
  179. BEGIN
  180. ITEM NTL$TITLE C(00,00,50);
  181. ITEM NTL$ZRO U(05,00,60) = [0];
  182. END
  183.  
  184.  
  185. DEF FERRL # 3 #; # LENGTH OF MSG$FERR #
  186. DEF DM$FERR # DM$ABORT+DM$SYSLOC+DM$NAMLOG #;
  187. ARRAY MSG$FERR [0:0] S(FERRL);
  188. BEGIN # FILE ERROR CODE MESSAGE #
  189. ITEM FERR1 C(00,00,28) =
  190. ["NS/BAD XXX DIRECTORY RECORD."];
  191. ITEM FERR$LFN C(00,42,04); # NCF OR NLF #
  192. ITEM FERR$END U(02,48,12) = [0]; # END OF TEXT #
  193. END
  194. DEF NSVERL # HIS$LN1TL #;
  195. DEF DM$NSVER # DM$NAMLOG+DM$LOCAL #; # DIRECTIVES FOR MSG$NSVER #
  196. ARRAY MSG$NSVER [0:0] S(NSVERL);
  197. BEGIN
  198. ITEM NSVER1 C(00,00,28) =
  199. ["NS VERSION N.N, LEVEL XXXXX."];
  200. ITEM NSVER$VER C(01,06,03);
  201. ITEM NSVER$LEV C(02,12,05);
  202. ITEM NSVER$Z U(02,48,12) = [ 0 ];
  203. END
  204. ARRAY RTSEC [0:0] S(1);
  205. BEGIN
  206. ITEM RTIMESEC U(00,00,24);
  207. END
  208. BASED ARRAY BNAMLEV [0:0] S(2);
  209. BEGIN
  210. ITEM BNL$VER C(00,54,03);
  211. ITEM BNL$LEV C(01,18,05);
  212. ITEM BNL$LVL C(01,30,03);
  213. END
  214. BASED ARRAY JOTWORD [0:0] S(1);
  215. BEGIN
  216. ITEM JOT U(00,24,12);
  217. END
  218. ARRAY CRA$OVLY [0:0] S(1);
  219. BEGIN # CONTROL CARD CRACKER OVLY NAME AND LEVEL#
  220. ITEM CO$NAM C(00,00,07) = ["CRAOVLY"];
  221. ITEM CO$LV1 U(00,42,09) = [1];
  222. ITEM CO$LV2 U(00,51,09) = [1];
  223. END
  224. ARRAY NON$OVLY [0:0] S(1);
  225. BEGIN # NETON OVLERLAY NAME AND LEVEL #
  226. ITEM NON$NAM C(00,00,07) = ["NONOVLY"];
  227. ITEM NON$LV1 U(00,42,09) = [1];
  228. ITEM NON$LV2 U(00,51,09) = [2];
  229. END
  230. ARRAY BNCT$OVLY [0:0] S(1);
  231. BEGIN # BUILD NCT OVERLAY NAME AND LEVEL #
  232. ITEM BCO$NAM C(00,00,07) = ["BNCTOVL"];
  233. ITEM BCO$LV1 U(00,42,09) = [1];
  234. ITEM BCO$LV2 U(00,51,09) = [3];
  235. END
  236. ARRAY BNPT$OVLY [0:0] S(1);
  237. BEGIN # BUILD NPT OVERLAY NAME AND LEVEL #
  238. ITEM BPO$NAM C(00,00,07) = ["BNPTOVL"];
  239. ITEM BPO$LV1 U(00,42,09) = [1];
  240. ITEM BPO$LV2 U(00,51,09) = [4];
  241. END
  242. ARRAY IDN$OVLY [0:0] S(1);
  243. BEGIN # INITIATE DUMP FILE INDEX #
  244. ITEM IO$NAM C(00,00,07) = ["IDNOVLY"];
  245. ITEM IO$LV1 U(00,42,09) = [1];
  246. ITEM IO$LV2 U(00,51,09) = [5];
  247. END
  248.  
  249. CONTROL EJECT;
  250. NSNETON = FALSE; # INITIALIZE TO NS NOT NETTED ON #
  251. NSINITDONE = FALSE; # INITIALIZATION NOT COMPLETE #
  252. P<JOTWORD> = JOTLOC;
  253. #
  254.   SET DEFAULT CONTROL CARD PARAMETERS
  255. #
  256. NIN = 0;
  257. DN = 0;
  258. NDF$CT = 0; # INITIALIZE NPU DUMP FILE TO PRIVATE #
  259. NSM = ASC$NN; # INHIBIT NPU DUMP FOR STARTUP MODE #
  260. MC = 0; # NO PERIODIC RELEASE OF DEBUG LOG FILE #
  261. RT = ASC$NN; # NO RELEASE OF TRACE FILES #
  262.  
  263. NDLOVLD(CRA$OVLY); # CRACK CONTROL CARD PARAMETERS #
  264. NDLOVLD(IDN$OVLY); # INITIATE NPU DUMP FILE INDEX #
  265. #
  266.   INITIALIZE COM$COM COMMON AREA
  267. #
  268. GRADSHUT = FALSE; # IDLE SHUTDOWN NOT ON #
  269. FORCESHUT = FALSE; # FORCE SHUTDOWN NOT ON #
  270. DCW$WORD[0] = 0; # CLEAR DISPLAY CONTROL WORD #
  271. NSU$WORD[0] = 0; # CLEAR NSUP WORD #
  272. LTW$WORD[0] = 0; # CLEAR LOAD TSB WORD #
  273. ZDMBID$PID[0] = NSDMBID; # SET NS ZZZZDMB FILE ID #
  274. ZDMBID$DN[0] = 0; # CLEAR ZZZZDMB DUMP RECORD NUMBER #
  275. HISTSBN = 0;
  276. NRF1$LFN = NS$XZFN(LFN$NRF1); # ZERO-FILLED LFN NRF1 #
  277. NRF2$LFN = NS$XZFN(LFN$NRF2); # ZERO-FILLED LFN NRF2 #
  278.  
  279. TSBINIT; # INITIALIZE TSB MANAGER #
  280.  
  281. # MAKE SURE NEEDED FILES ARE LOCAL #
  282.  
  283. REQTSB(L$LFET,TSBADDR,FETTSBN);
  284. P<SIOFET> = TSBADDR; # FORMAT FET #
  285. FETCMPT[0] = TRUE;
  286. FETLEN[0] = L$LFET - 5;
  287. UP = I$NLF; # SET LOOP LIMIT #
  288. $BEGIN
  289. UP = I$NRF2; # SET LOOP LIMIT #
  290. $END
  291. FOR I = I$NCF STEP 1 UNTIL UP
  292. DO
  293. BEGIN # MAKE SURE NEEDED FILES ARE LOCAL #
  294. FETLFN[0] = NS$XZFN(FILENAME[I]);
  295. FSTATUS(SIOFET); # DETERMINE IF FILE IS LOCAL #
  296. IF FETSTATUS[0] EQ 0
  297. THEN # FILE NOT FOUND #
  298. BEGIN
  299. FNA$FN[0] = FILENAME[I];
  300. NS$MSG(MSG$FNA,FNAL,DM$FNA);
  301. END
  302. END
  303. $BEGIN
  304. IF MC NQ 0
  305. THEN
  306. NETREL(NRF1$LFN,MAX$TMSGSZ,0);
  307. ELSE # SET MESSAGE SIZE FOR ZZZZZDN ONLY #
  308. NETREL(0,MAX$TMSGSZ,0);
  309. $END
  310.  
  311. # PERFORM NETON PROCESSING #
  312.  
  313. NDLOVLD(NON$OVLY);
  314. NETDBG(1,1,STATIS); # TURN AIP TRACE OFF #
  315.  
  316.  
  317. # GET NS VERSION #
  318.  
  319. P<BNAMLEV> = LOC(NAMLEV);
  320. PRNAME[0] = "NS"; # SAVE NS VERSION/LEVEL #
  321. PRVER[0] = BNL$VER[0];
  322. PRLEV[0] = BNL$LEV[0];
  323. NSVER$VER[0] = BNL$VER[0];
  324. NSVER$LEV[0] = BNL$LEV[0];
  325.  
  326. #
  327. * SEND NS VERSION AND LEVEL NUMBER TO NAM DAYFILE.
  328. #
  329.  
  330. NLV$VER[0] = BNL$VER[0];
  331. NLV$LVL[0] = BNL$LVL[0];
  332. NS$MSG(NSLEV, NSLEVL$, DM$NLL);
  333.  
  334. # OPEN NCF AND NLF #
  335.  
  336. FETRAN[0] = TRUE; # THEY ARE BOTH RANDOM FILES #
  337. REQTSB(IBUFL,CIOTSBADDR,CIOTSBN); # GET CIO BUFFER #
  338. FOR I = I$NCF STEP 1 UNTIL I$NLF
  339. DO # OPEN FILES #
  340. BEGIN
  341. FETLFN[0] = NS$XZFN(FILENAME[I]);
  342. FETBIN[0] = TRUE; # BINARY FILE #
  343. FETCMPT[0] = TRUE; # COMPLETE BIT #
  344. FETFST[0] = CIOTSBADDR; # FIRST #
  345. FETIN[0] = CIOTSBADDR;
  346. FETOUT[0] = CIOTSBADDR;
  347. FETLMT[0] = CIOTSBADDR + IBUFL; # LIMIT #
  348. SKIPEI(SIOFET);
  349. SKIPB(SIOFET,2);
  350. READ(SIOFET);
  351. RECALL(SIOFET);
  352. P<PRF$TABLE> = CIOTSBADDR;
  353. P<DIR> = CIOTSBADDR + PRF$7700L; # FORMAT DIRECTORY #
  354. IF PRF$ID[0] NQ PRF$IDENT
  355. OR DIR$FID[0] NQ C<0,3>FILENAME[I]
  356. THEN
  357. BEGIN # BAD OPLD #
  358. FERR$LFN[0] = FILENAME[I];
  359. NS$MSG(MSG$FERR,FERRL,DM$FERR); # DAYFILE AND ABORT #
  360. END
  361. HISL2$DATE[I] = PRF$DATE[0]; # FILE CREATION DATE #
  362. HISL2$TIME[I] = PRF$TIME[0]; # FILE CREATION TIME #
  363.  
  364. #
  365. * SEND FILE BUILD DATE AND TIME AND TITLE TO NAM DAYFILE.
  366. #
  367.  
  368. FVR$FN[0] = FILENAME[I];
  369. FVR$DATE[0] = PRF$DATE[0];
  370. FVR$TIME[0] = PRF$TIME[0];
  371. NS$MSG(FVERSION, FVERSIONL$, DM$NLL);
  372.  
  373. IF FILENAME[I] EQ LFN$NCF
  374. THEN
  375. BEGIN
  376. NTL$TITLE[0] = PRF$TITLE[0]; # SEND NCF TITLE #
  377. NS$MSG(NCFTIT, NCFTITL$, DM$NLL);
  378. END
  379.  
  380. REQTSB(DIR$WC[0] + 1,TSBADDR,TSBN); # GET DIRECTORY BUFFER #
  381. INDXTSBN[I] = TSBN;
  382. P<PRF$TABLE> = TSBADDR;
  383. FETOUT[0] = FETOUT[0] + PRF$7700L; # SKIP OVER 7700 TABLE #
  384. READW(SIOFET,PRF$TABLE,DIR$WC[0] + 1,STATIS); # READ DIR. #
  385. END # END OF NCF OR NLF PROCESSING #
  386. RETTSB(CIOTSBN);
  387. NLFINDTSBN = INDXTSBN[I$NLF]; # SAVE NLF INDEX TSB #
  388.  
  389. # BUILD THE NCT AND NPU TABLE #
  390.  
  391. FETLFN[0] = NS$XZFN(FILENAME[I$NCF]);
  392. TSBINFO(TSBSIZE,TSBADDR,INDXTSBN[I$NCF]);
  393. P<DIR> = TSBADDR; # FORMAT DIRECTORY #
  394. FERR$LFN[0] = FILENAME[I$NCF];
  395. NDLOVLD(BNCT$OVLY,ERRCODE); # BUILD THE NCT #
  396. NDLOVLD(BNPT$OVLY,ERRCODE); # BUILD NPU TABLE #
  397. RETTSB(INDXTSBN[I$NCF]); # RETURN NCF DIRECTORY #
  398. RETTSB(FETTSBN); # RETURN FET #
  399. RTIME(RTSEC); # GET SECONDS SINCE DEADSTART #
  400. NMTIME = RTIMESEC[0] + ITIMER; # TIME TO REVERT TO NORMAL MODE #
  401. MOVEOK(NLFINDTSBN);
  402. MOVEOK(NCTTSBN);
  403. MOVEOK(NPTTSBN);
  404. SQUEEZE(0,RETFWA); # PACK FIXED-SIZE PERMANENT TSBS TOGETHER #
  405.  
  406. # PRESET BASED ARRAY POINTERS FOR ALL NON-MOVABLE BUFFERS #
  407.  
  408. TSBINFO(TSBSIZE,TSBADDR,NLFINDTSBN);
  409. NLFDIRFWA = TSBADDR; # FWA OF DEFAULT NLF DIRECTORY #
  410. P<DIR> = TSBADDR;
  411. TSBINFO(TSBSIZE,TSBADDR,NCTTSBN);
  412. P<NCT$NS> = TSBADDR;
  413. TSBINFO(TSBSIZE,TSBADDR,NPTTSBN);
  414. P<NPT$HEADER> = TSBADDR;
  415. P<NPT$ENTRY> = TSBADDR + NPT$HDRL;
  416.  
  417. # SET UP HISTORY BUFFER #
  418.  
  419. HISL2$Z[I$NLF] = 0; # SET LINE TERMINATOR #
  420. REQTSB(HIS$HDRL,TSBADDR,HISTSBN);
  421. P<HIS$BUFFER> = TSBADDR; # FORMAT HISTORY BUFFER #
  422. P<LIN$HEADER> =TSBADDR + HIS$HDRWDL; # FORMAT HISTORY LINE 1 #
  423. LIN$HDRWD[0] = 0;
  424. LIN$ID[0] = LIN$IDENT; # LINE IDENTIFIER #
  425. LIN$LNSIZE[0] = HIS$LN1TL + LIN$HDRL; # LINE SIZE #
  426. MOVEI(HIS$LN1TL,LOC(MSG$NSVER),P<LIN$HEADER>+LIN$HDRL); # MOVE LI#
  427. P<LIN$HEADER> = P<LIN$HEADER> + LIN$HDRL + HIS$LN1TL;
  428. LIN$HDRWD[0] = 0; # FORMAT HISTORY LINE 2 #
  429. LIN$ID[0] = LIN$IDENT; # LINE IDENTIFIER #
  430. LIN$LNSIZE[0] = HIS$LN2TL + LIN$HDRL; # LINE SIZE #
  431. MOVEI(HIS$LN2TL,LOC(HISL2),P<LIN$HEADER>+LIN$HDRL); # MOVE LINE 2#
  432. HIS$ID[0] = HIS$IDENT; # SET BUFFER IDENTIFIER #
  433. HIS$WC[0] = HIS$HDRL; # HISTORY BUFFER HEADER LENGTH #
  434. HIS$LC[0] = 2; # SET LINE COUNT #
  435. NSINITDONE = TRUE; # SET INITIALIZATION COMPLETED #
  436. RETURN;
  437. END # NS$NSI #
  438. TERM
cdc/nos2.source/nam5871/ns_nsi.txt ยท Last modified: 2023/08/05 17:22 by Site Administrator