home *** CD-ROM | disk | FTP | other *** search
/ Source Code 1992 March / Source_Code_CD-ROM_Walnut_Creek_March_1992.iso / usenet / altsrcs / 3 / 3989 < prev    next >
Internet Message Format  |  1991-09-08  |  15KB

  1. Path: wupost!uunet!europa.asd.contel.com!darwin.sura.net!noc.sura.net!haven.umd.edu!mimsy!nrlvx1.nrl.navy.mil!koffley
  2. From: koffley@nrlvx1.nrl.navy.mil
  3. Newsgroups: alt.sources
  4. Subject: VMS UAF PROFILE part 15 of 18
  5. Message-ID: <1991Sep5.074736.559@nrlvx1.nrl.navy.mil>
  6. Date: 5 Sep 91 11:47:36 GMT
  7. Organization: NRL SPACE SYSTEMS DIVISION
  8. Lines: 514
  9.  
  10. -+-+-+-+-+-+-+-+ START OF PART 15 -+-+-+-+-+-+-+-+
  11. X`091              display_ID, status, twelve, sixty, two
  12. X
  13. X`09integer*2      channel
  14. X
  15. X`09external       AST
  16. X
  17. X
  18. X
  19. X`09data           zero     / 0 /, twelve / 12 /,  sixty / 60 /
  20. X`09data           num_rows  / 24 / , num_cols / 79 /, two / 2 /
  21. X
  22. X
  23. X
  24. X
  25. X`09call SMG$CREATE_VIRTUAL_KEYBOARD (kybd_ID ,,,)
  26. X`09call SMG$CREATE_VIRTUAL_DISPLAY (7, num_cols-2, display_ID)
  27. X`09call SMG$LABEL_BORDER (display_id, ' Userlog Record Contents ')
  28. X`09call DISPLAY_LABELS
  29. X
  30. X`09call SMG$CREATE_VIRTUAL_DISPLAY (twelve, 40, mm_ID, smg$m_border)
  31. X`09call SMG$LABEL_BORDER (mm_id,  ' Port Logins Main Menu ')
  32. X`09call DISPLAY_MAIN_MENU_LABELS
  33. X
  34. X
  35. X`09return
  36. X`09end
  37. X
  38. X
  39. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  40. Vcccc
  41. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  42. Vcccc
  43. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  44. Vcccc
  45. X
  46. X
  47. X
  48. X`09subroutine BLANK_FIELD (field_num)
  49. X
  50. X
  51. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  52. X`091                    mm_id
  53. X
  54. X`09include        '($smgdef)'
  55. X`09include        '($iodef)'
  56. X
  57. X
  58. X`09integer*4      paste_ID, kybd_ID, zero, num_rows, num_cols,
  59. X`091              display_ID, field_num
  60. X
  61. X
  62. X`09if (field_num .eq. 1) then
  63. X`09   call SMG$ERASE_CHARS (display_ID, 23, 2, 16)
  64. X`09elseif (field_num .eq. 2) then
  65. X`09   call SMG$ERASE_CHARS (display_ID, 23, 3, 16)
  66. X`09elseif (field_num .eq. 3) then
  67. X`09   call SMG$ERASE_CHARS (display_ID, 23, 4, 16)
  68. X`09elseif (field_num .eq. 4) then
  69. X`09   call SMG$ERASE_CHARS (display_ID, 23, 5, 16)
  70. X`09elseif (field_num .eq. 5) then
  71. X`09   call SMG$ERASE_CHARS (display_ID, 23, 6, 16)
  72. X`09elseif (field_num .eq. 6) then
  73. X`09   call SMG$ERASE_CHARS (display_ID, 23, 2, 53)
  74. X`09elseif (field_num .eq. 7) then
  75. X`09   call SMG$ERASE_CHARS (display_ID, 23, 3, 53)
  76. X`09elseif (field_num .eq. 8) then
  77. X`09   call SMG$ERASE_CHARS (display_ID, 23, 4, 53)
  78. X`09elseif (field_num .eq. 9) then
  79. X`09   call SMG$ERASE_CHARS (display_ID, 23, 5, 53)
  80. X`09   call SMG$DRAW_RECTANGLE (display_ID, 1,1, 9,80)
  81. X`09endif
  82. X
  83. X`09return
  84. X`09end
  85. X
  86. X
  87. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  88. Vcccc
  89. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  90. Vcccc
  91. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  92. Vcccc
  93. X
  94. X
  95. X`09subroutine DISPLAY_LABELS`20
  96. X
  97. X
  98. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  99. X`091                    mm_id
  100. X
  101. X
  102. X`09include        '($smgdef)'
  103. X`09include        '($iodef)'
  104. X
  105. X
  106. X
  107. X`09character*15   labels (9)
  108. X
  109. X`09data           labels`20
  110. X`091              / 'USERNAME :', 'SERVER :', 'TIME_STAMP :',`20
  111. X`092                'LOGIN_MODE :',
  112. X`093                'MASTER_PID :', 'PID : ', 'LOGIN_TIME :',
  113. X`094                'UIC :', 'TERMINAL : '/
  114. X
  115. X`09integer*4      paste_ID, kybd_ID, zero, num_rows, num_cols,
  116. X`091              display_ID
  117. X
  118. X
  119. X
  120. X`09do i = 1,5
  121. X`09   if (i .eq. 1) then
  122. X`09      call SMG$INSERT_CHARS (display_ID, labels(1), 2, 3,
  123. X`091                            SMG$M_BOLD, 0)
  124. X`09      call SMG$INSERT_CHARS (display_ID, labels(2), 2, 40,
  125. X`091                            SMG$M_BOLD, 0)
  126. X`09   elseif (i .eq. 2) then
  127. X`09      call SMG$INSERT_CHARS (display_ID, labels(3), 3, 3,
  128. X`091                            SMG$M_BOLD, 0)
  129. X`09      call SMG$INSERT_CHARS (display_ID, labels(4), 3, 40,
  130. X`091                            SMG$M_BOLD, 0)
  131. X`09   elseif (i .eq. 3) then
  132. X`09      call SMG$INSERT_CHARS (display_ID, labels(5), 4, 3,
  133. X`091                            SMG$M_BOLD, 0)
  134. X`09      call SMG$INSERT_CHARS (display_ID, labels(6), 4, 40,
  135. X`091                            SMG$M_BOLD, 0)
  136. X`09   elseif (i .eq. 4) then
  137. X`09      call SMG$INSERT_CHARS (display_ID, labels(7), 5, 3,
  138. X`091                            SMG$M_BOLD, 0)
  139. X`09      call SMG$INSERT_CHARS (display_ID, labels(8), 5, 40,
  140. X`091                            SMG$M_BOLD, 0)
  141. X`09   elseif (i .eq. 5) then
  142. X`09      call SMG$INSERT_CHARS (display_ID, labels(9), 6, 3,
  143. X`091                            SMG$M_BOLD, 0)
  144. X`09   endif
  145. X`09enddo
  146. X
  147. X
  148. X
  149. X
  150. X`09return
  151. X`09end
  152. X
  153. X
  154. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  155. Vcccc
  156. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  157. Vcccc
  158. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  159. Vcccc
  160. X
  161. X`09subroutine DISPLAY_FIELDS (username, server, time_stamp, mode,
  162. X`091                          master_pid, pid, login_time, uic,
  163. X`092                          terminal)
  164. X
  165. X
  166. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  167. X`091                    mm_id
  168. X
  169. X
  170. X`09include        '($smgdef)'
  171. X`09include        '($trmdef)'
  172. X`09include        '($iodef)'
  173. X`09include        'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
  174. X
  175. X
  176. X
  177. X
  178. X`09integer*4      paste_ID, kybd_ID, zero, num_rows, num_cols,
  179. X`091              display_ID, L1, len_trim, mod, num_char_read
  180. X
  181. X`09character*2    string, term_string
  182. X
  183. X`09integer*2      terminator
  184. X
  185. X
  186. X
  187. X
  188. X`09do i = 1,5
  189. X`09   if (i .eq. 1) then
  190. X`09      L1 = len_trim (username)
  191. X`09      call SMG$put_CHARS (display_ID, username(1:L1), 2, 16, , , , )
  192. X`09      L1 = len_trim (server)
  193. X`09      call get_hash_num (%ref(kilo), %ref(L1), %loc(server))
  194. X`09      call SMG$put_CHARS (display_ID, server(1:L1), 2, 53, , , ,)
  195. X`09   elseif (i .eq. 2) then
  196. X`09      L1 = len_trim (time_stamp)
  197. X`09      call SMG$put_CHARS (display_ID, time_stamp(1:L1), 3, 16, , , ,)
  198. X`09      L1 = len_trim (mode)
  199. X`09      call SMG$put_CHARS (display_ID, mode(1:L1), 3, 53, , , , )
  200. X`09   elseif (i .eq. 3) then
  201. X`09      L1 = len_trim (master_pid)
  202. X`09      call SMG$put_CHARS (display_ID, master_pid(1:L1), 4, 16, , , , )
  203. X`09      L1 = len_trim (pid)
  204. X`09      call SMG$put_CHARS (display_ID, pid(1:L1), 4, 53, , , , )
  205. X`09   elseif (i .eq. 4) then
  206. X`09      L1 = len_trim (login_time)
  207. X`09      call SMG$put_CHARS (display_ID, login_time(1:L1), 5, 16, , , , )
  208. X`09      L1 = len_trim (uic)
  209. X`09      call SMG$put_CHARS (display_ID, uic(1:L1), 5, 53, , , , )
  210. X`09   elseif (i .eq. 5) then
  211. X`09      L1 = len_trim (terminal)
  212. X`09      if (terminal(1:1).eq. ' ') write (6,'(a1)') char(7)
  213. X`09      call SMG$put_CHARS (display_ID, terminal(1:L1), 6, 15, , , , )
  214. X`09   endif
  215. X`09enddo
  216. X
  217. X
  218. X`09mod = TRM$M_TM_CVTLOW .or. TRM$M_TM_PURGE
  219. X`09call SMG$SET_CURSOR_ABS (display_ID, 2, 11)
  220. X`09terminator = 0
  221. X
  222. X`09call repeat (string, ' ')
  223. X`09call SMG$READ_STRING (kybd_ID, string, , 1, mod , , , num_char_read ,`20
  224. X`091                     terminator, display_ID, , , , term_string)
  225. X
  226. X`09do i = 1,9
  227. X`09   call blank_field (i)
  228. X`09enddo
  229. X`09call SMG$DRAW_RECTANGLE (display_ID, 1,1, 9,80)
  230. X
  231. X`09return
  232. X`09end
  233. X
  234. X
  235. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  236. Vcccc
  237. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  238. Vcccc
  239. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  240. Vcccc
  241. X
  242. X
  243. X`09subroutine GET_FIELD (field_num, val)
  244. X
  245. X
  246. X
  247. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  248. X`091                    mm_id
  249. X
  250. X`09include        '($smgdef)'
  251. X`09include        '($iodef)'
  252. X
  253. X
  254. X`09integer*4      paste_ID, kybd_ID, zero, num_rows, num_cols, term,
  255. X`091              display_ID, field_num, mod, status
  256. X`09real*4         val
  257. X`09character*15   char_val
  258. X`09character*80   string, error_msg
  259. X
  260. X
  261. X
  262. X`09mod = io$m_nofiltr
  263. X
  264. X1`09call BLANK_FIELD (field_num)
  265. X
  266. X`09
  267. X`09if (field_num .eq. 1) then
  268. X`09   call SMG$SET_CURSOR_ABS (display_ID, 7, 15)
  269. X`09elseif (field_num .eq. 2) then
  270. X`09   call SMG$SET_CURSOR_ABS (display_ID, 8, 15)
  271. X`09elseif (field_num .eq. 3) then
  272. X`09   call SMG$SET_CURSOR_ABS (display_ID, 9, 15)
  273. X`09elseif (field_num .eq. 4) then
  274. X`09   call SMG$SET_CURSOR_ABS (display_ID, 10, 15)
  275. X`09elseif (field_num .eq. 5) then
  276. X`09   call SMG$SET_CURSOR_ABS (display_ID, 11, 15)
  277. X`09elseif (field_num .eq. 6) then
  278. X`09   call SMG$SET_CURSOR_ABS (display_ID, 7, 45)
  279. X`09elseif (field_num .eq. 7) then
  280. X`09   call SMG$SET_CURSOR_ABS (display_ID, 8, 45)
  281. X`09elseif (field_num .eq. 8) then
  282. X`09   call SMG$SET_CURSOR_ABS (display_ID, 9, 45)
  283. X`09elseif (field_num .eq. 9) then
  284. X`09   call SMG$SET_CURSOR_ABS (display_ID, 10, 45)
  285. X`09endif
  286. X
  287. X
  288. X999`09return
  289. X`09end
  290. X
  291. X
  292. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  293. Vcccc
  294. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  295. Vcccc
  296. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  297. Vcccc
  298. X
  299. X
  300. X`09subroutine READ_FIELDS
  301. X
  302. X`09real*4          val
  303. X
  304. X`09integer*4       i
  305. X
  306. X
  307. X
  308. X
  309. X`09do i = 1, 11
  310. X`09   call GET_FIELD (i, val)
  311. X`09enddo
  312. X
  313. X
  314. X`09return
  315. X`09end
  316. X
  317. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  318. Vcccc
  319. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  320. Vcccc
  321. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  322. Vcccc
  323. X
  324. X
  325. X
  326. X`09subroutine FORMAT_MSG (string)
  327. X
  328. X
  329. X`09integer*4               max_buffer_size, status
  330. X`09character*(*)           string
  331. X
  332. X`09data                    max_buffer_size  / 80 /
  333. X
  334. X`09call CENTER_STRING (string, max_buffer_size, status)
  335. X
  336. X
  337. X
  338. X
  339. X`09return
  340. X`09end
  341. X
  342. X
  343. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  344. Vcccc
  345. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  346. Vcccc
  347. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  348. Vcccc
  349. X
  350. X
  351. X`09subroutine GET_ERROR_MSG (error_msg, status)
  352. X
  353. X
  354. X
  355. X`09parameter              (max_errors = 4)
  356. X`09character*80           error_msg, error_msgs (max_errors)
  357. X`09integer*4              status
  358. X
  359. X`09data                   error_msgs`20
  360. X`091  /'Entry contains all blank characters  --- try again.',
  361. X`092   'Entry is too long and contains no decimal point -- try again.',
  362. X`093   'Error decoding entered value -- try again.' ,
  363. X`094   'Integer value required for this entry  --- try again.' /
  364. X
  365. X
  366. X
  367. X
  368. X`09status = abs (status)
  369. X
  370. X`09if (status .gt. max_errors) then
  371. X`09   error_msg = 'Unknown error status encountered.'
  372. X`09else`20
  373. X`09   error_msg = error_msgs (status)
  374. X`09endif
  375. X`20
  376. X
  377. X
  378. X`09return
  379. X`09end
  380. X
  381. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  382. Vcccc
  383. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  384. Vcccc
  385. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  386. Vcccc
  387. X
  388. X`09subroutine AST`20
  389. X
  390. X
  391. X
  392. X
  393. X
  394. X`09include     'uaf.cmn'
  395. X`09include     '($LIBCLIDEF)'
  396. X`09include     '($SMGDEF)'
  397. X
  398. X
  399. X
  400. X`09call LIB$ENABLE_CTRL (LIB$M_CLI_CTRLY)
  401. X`09call SMG$DELETE_PASTEBOARD (pasteboard)
  402. X`09write (6,1) char(27) // '`5BH' // char(27) // '`5BJ'
  403. X1`09format ('+',a6,$)
  404. X`09call exit
  405. X
  406. X`09end
  407. X
  408. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  409. Vcccc
  410. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  411. Vcccc
  412. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  413. Vcccc
  414. X
  415. X
  416. X
  417. X`09subroutine DISPLAY_MAIN_MENU_LABELS`20
  418. X
  419. X
  420. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  421. X`091                    mm_id
  422. X
  423. X
  424. X`09include        '($smgdef)'
  425. X`09include        '($iodef)'
  426. X
  427. X
  428. X
  429. X`09character*25   labels (09)
  430. X
  431. X`09data           labels`20
  432. X`091              / '1','DISPLAY ALL USER DATA','2','DISPLAY PORTS ONLY',
  433. X`092                '3','PORT SUMMARY','X', 'RETURN', 'OPTION : ' /
  434. X
  435. X`09integer*4      mm_ID, mm_kybd_ID, scroll_ID, entry_ID
  436. X
  437. X
  438. X
  439. X`09do i = 1, 4
  440. X`09   if (i .eq. 1) then
  441. X`09      call SMG$INSERT_CHARS (mm_ID, labels(1), 3, 3,
  442. X`091                            SMG$M_BOLD, 0)
  443. X`09      call SMG$INSERT_CHARS (mm_ID, labels(2), 3, 10,
  444. X`091                            SMG$M_BOLD, 0)
  445. X`09   elseif (i .eq. 2) then
  446. X`09      call SMG$INSERT_CHARS (mm_ID, labels(3), 4, 3,
  447. X`091                            SMG$M_BOLD, 0)
  448. X`09      call SMG$INSERT_CHARS (mm_ID, labels(4), 4, 10,
  449. X`091                            SMG$M_BOLD, 0)
  450. X`09   elseif (i .eq. 3) then
  451. X`09      call SMG$INSERT_CHARS (mm_ID, labels(5), 5, 3,
  452. X`091                            SMG$M_BOLD, 0)
  453. X`09      call SMG$INSERT_CHARS (mm_ID, labels(6), 5, 10,
  454. X`091                            SMG$M_BOLD, 0)
  455. X`09   elseif (i .eq. 4) then
  456. X`09      call SMG$INSERT_CHARS (mm_ID, labels(7), 6, 3,
  457. X`091                            SMG$M_BOLD, 0)
  458. X`09      call SMG$INSERT_CHARS (mm_ID, labels(8), 6, 10,
  459. X`091                            SMG$M_BOLD, 0)
  460. X`09   elseif (i .eq. 5) then
  461. Xc`09      call SMG$INSERT_CHARS (mm_ID, labels(5), 7, 3,
  462. Xc`091                            SMG$M_BOLD, 0)
  463. Xc`09      call SMG$INSERT_CHARS (mm_ID, labels(10), 7, 10,
  464. Xc`091                            SMG$M_BOLD, 0)
  465. X`09   endif
  466. X`09enddo
  467. X
  468. X`09call SMG$INSERT_CHARS (mm_ID, labels(9), 9, 3,
  469. X`091                      SMG$M_BOLD, 0)
  470. X
  471. X
  472. X`09return
  473. X`09end
  474. X
  475. X
  476. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  477. Vcccc
  478. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  479. Vcccc
  480. Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
  481. Vcccc
  482. X
  483. X
  484. X`09subroutine READ_MAIN_MENU_OPTION (option)
  485. X
  486. X
  487. X`09common / SMG_data /  paste_ID, kybd_ID, num_rows, num_cols, display_ID,
  488. X`091                    mm_id
  489. X
  490. X`09include        '($SYSSRVNAM)'
  491. X`09include        '($SMGDEF)'
  492. X`09include        '($IODEF)'
  493. X`09include        '($TRMDEF)'
  494. X
  495. X
  496. X`09real*4          val
  497. X
  498. X`09integer*4       i, status, mm_kybd_ID, mm_id, mod, term,
  499. X`091               option, left_justify, length, len_trim, scroll_ID,`20
  500. X`092               entry_ID, SMG$READ_STRING
  501. X
  502. X`09character*4     string
  503. X`09integer*2       terminator
  504. X`09character*1     term_string
  505. X
  506. X`09external        len_trim, left_justify, SMG$READ_STRING
  507. X
  508. X
  509. X`09mod = TRM$M_TM_CVTLOW .or. TRM$M_TM_PURGE
  510. X
  511. X1`09call SMG$ERASE_LINE (mm_ID, 9, 10)
  512. X`09call SMG$SET_CURSOR_ABS (mm_ID, 9, 11)
  513. X`09call repeat (string, ' ')
  514. X`09status =  SMG$READ_STRING (kybd_ID, string, , 1, mod , , , num_char_read
  515. V ,`20
  516. X`091                     terminator, mm_ID, , , , term_string)
  517. +-+-+-+-+-+-+-+-  END  OF PART 15 +-+-+-+-+-+-+-+-
  518. -- 
  519. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  520. < Joe Koffley                        KOFFLEY@NRLVAX.NRL.NAVY.MIL             >
  521. < Naval Research Laboratory          KOFFLEY@CCF.NRL.NAVY.MIL                >
  522. < Space Systems Division             AT&T  :  202-767-0894                   >
  523. \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
  524.