home *** CD-ROM | disk | FTP | other *** search
- Path: wupost!uunet!europa.asd.contel.com!darwin.sura.net!noc.sura.net!haven.umd.edu!mimsy!nrlvx1.nrl.navy.mil!koffley
- From: koffley@nrlvx1.nrl.navy.mil
- Newsgroups: alt.sources
- Subject: VMS UAF PROFILE part 14 of 18
- Message-ID: <1991Sep5.074703.558@nrlvx1.nrl.navy.mil>
- Date: 5 Sep 91 11:47:03 GMT
- Organization: NRL SPACE SYSTEMS DIVISION
- Lines: 527
-
- -+-+-+-+-+-+-+-+ START OF PART 14 -+-+-+-+-+-+-+-+
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X`09subroutine SHO_QUEUE (qheader)
- X
- X
- X
- X
- X`09integer*4 qheader (2), address
- X
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X
- X`09character*1 asterisk / '*' /
- X `09character*80 asterisks
- X
- X
- X
- X
- X
- X`09if ((qheader(1) .eq. 0) .and. (qheader(2) .eq. 0)) then
- X`09 write (6,*) 'Queue was empty'
- X`09 return
- X`09endif
- X
- X`09call GET_Q_ELEMENT (%val(qheader(1)), qentry)
- Xd`09call REPEAT (asterisks, '*')
- X
- Xd`09write (66,'(1x,a80)' ) asterisks
- Xd`09write (66,'(1x,a4,z8)') 'FL = ', qentry.forward_link
- Xd`09write (66,'(1x,a4,z8)') 'BL = ',qentry.back_link
- Xd`09write (66,*) qentry.username
- Xd`09write (66,*) qentry.server
- Xd`09write (66,*) qentry.time_stamp
- Xd`09write (66,*) qentry.mode
- Xd`09write (66,*) qentry.master_pid
- Xd`09write (66,*) qentry.pid
- Xd`09write (66,*) qentry.login_time
- Xd`09write (66,*) qentry.uic
- Xd`09write (66,*) qentry.terminal
- Xd`09write (66,'(1x,a80)' ) asterisks
- X`09call DISPLAY_FIELDS (qentry.username, qentry.server, qentry.time_stamp,`2
- V0
- X`091 qentry.mode, qentry.master_pid,`20
- X`092 qentry.pid, qentry.login_time, qentry.uic,
- X`093 qentry.terminal)
- X
- Xc
- Xc ---`09See if queue contained only a single element
- Xc
- X`09if ((qheader(1) .eq. qheader(2)) .or.
- X`091 (qentry.forward_link .eq. qentry.back_link)) then
- Xd`09 write (66,*) 'END OF QUEUE'
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,*)
- Xd`09 write (66,*)
- X`09 return
- X`09endif
- X
- X
- X`09do while (qentry.back_link .ne. qheader(2))
- X`09 if (qentry.back_link .eq. qheader(2)) then
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09 call DISPLAY_FIELDS (qentry.username, qentry.server, qentry.time_sta
- Vmp,`20
- X`091 qentry.mode, qentry.master_pid,`20
- X`092 qentry.pid, qentry.login_time, qentry.uic,
- X`093 qentry.terminal)
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,'(1x,a4,z8)') 'FL = ', qentry.forward_link
- Xd`09 write (66,'(1x,a4,z8)') 'BL = ',qentry.back_link
- Xd`09 write (66,*) qentry.username
- Xd`09 write (66,*) qentry.server
- Xd`09 write (66,*) qentry.time_stamp
- Xd`09 write (66,*) qentry.mode
- Xd`09 write (66,*) qentry.master_pid
- Xd`09 write (66,*) qentry.pid
- Xd`09 write (66,*) qentry.login_time
- Xd`09 write (66,*) qentry.uic
- Xd`09 write (66,*) qentry.terminal
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,*) 'END OF QUEUE'
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,*)
- Xd`09 write (66,*)
- X`09 else
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09 call DISPLAY_FIELDS (qentry.username, qentry.server, qentry.time_st
- Vamp,`20
- X`091 qentry.mode, qentry.master_pid,`20
- X`092 qentry.pid, qentry.login_time, qentry.uic,
- X`093 qentry.terminal)
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,'(1x,a4,z8)') 'FL = ', qentry.forward_link
- Xd`09 write (66,'(1x,a4,z8)') 'BL = ',qentry.back_link
- Xd`09 write (66,*) qentry.username
- Xd`09 write (66,*) qentry.server
- Xd`09 write (66,*) qentry.time_stamp
- Xd`09 write (66,*) qentry.mode
- Xd`09 write (66,*) qentry.master_pid
- Xd`09 write (66,*) qentry.pid
- Xd`09 write (66,*) qentry.login_time
- Xd`09 write (66,*) qentry.uic
- Xd`09 write (66,*) qentry.terminal
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,'(1x,a80)' ) asterisks
- X`09 endif
- X`09enddo
- X
- X`09if (qentry.back_link .eq. qheader(2)) then
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X`09 call DISPLAY_FIELDS (qentry.username, qentry.server, qentry.time_stamp
- V,`20
- X`091 qentry.mode, qentry.master_pid,`20
- X`092 qentry.pid, qentry.login_time, qentry.uic,
- X`093 qentry.terminal)
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,'(1x,a4,z8)') 'FL = ', qentry.forward_link
- Xd`09 write (66,'(1x,a4,z8)') 'BL = ',qentry.back_link
- Xd`09 write (66,*) qentry.username
- Xd`09 write (66,*) qentry.server
- Xd`09 write (66,*) qentry.time_stamp
- Xd`09 write (66,*) qentry.mode
- Xd`09 write (66,*) qentry.master_pid
- Xd`09 write (66,*) qentry.pid
- Xd`09 write (66,*) qentry.login_time
- Xd`09 write (66,*) qentry.uic
- Xd`09 write (66,*) qentry.terminal
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,*) 'END OF QUEUE'
- Xd`09 write (66,'(1x,a80)' ) asterisks
- Xd`09 write (66,*)
- Xd`09 write (66,*)
- X`09endif
- X
- X
- X
- X`09return
- X`09end
- X
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X`09subroutine GET_Q_ELEMENT (qentry, temp)
- X
- X
- X
- X
- X
- X
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X`09record / link_list / temp
- X
- X
- X`09temp.forward_link = qentry.forward_link
- X`09temp.back_link = qentry.back_link
- X`09temp.username = qentry.username
- X`09temp.server = qentry.server
- X`09temp.time_stamp = qentry.time_stamp
- X`09temp.mode = qentry.mode
- X`09temp.master_pid = qentry.master_pid
- X`09temp.pid = qentry.pid
- X`09temp.login_time = qentry.login_time
- X`09temp.uic = qentry.uic
- X`09temp.terminal = qentry.terminal
- X
- X`09return
- X`09end
- X
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X
- X`09subroutine REMQH (qheader, status)
- X
- X
- X
- X
- X`09include '($SSDEF)'
- X`09include '($LIBDEF)'
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X
- X`09integer*4 address, qheader (2), temp, num_bytes, status,
- X`091 LIB$FREE_VM
- X
- X`09data num_bytes / 157 /
- X
- X
- X
- X`09if ((qheader(1) .eq. 0) .and. (qheader(2) .eq. 0)) then
- X`09 status = LIB$_QUEWASEMP
- Xd`09 write (66,*) 'Queue was empty'
- X`09 return
- X`09endif
- X
- X`09address = qheader (1)
- X`09call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09if ( (qheader(1) .eq. qheader(2) ) .and. (qheader(1) .ne. 0) .and.
- X`091 (qentry.back_link .eq. qentry.forward_link)) then
- X`09 status = LIB$_ONEENTQUE
- Xd`09 write (66,*) 'Last remaining queue entry being removed.'
- X`09 status = LIB$FREE_VM (num_bytes, qheader(1))
- X`09 if (.not. status) call LIB$SIGNAL (%val(status))
- X`09 qheader (1) = 0
- X`09 qheader (2) = 0
- X
- X`09else
- X`09 status = LIB$FREE_VM (num_bytes, qheader(1))
- X`09 if (.not. status) call LIB$SIGNAL (%val(status))
- X`09 qheader(1) = qentry.back_link
- X`09 address = qheader (1)
- X`09 call UPDATE_FORWARD_LINK (%val(address), qheader(2))
- X`09 address = qheader (2)
- X`09 call UPDATE_BACK_LINK (%val(address), qheader(1))
- X`09endif
- X
- X
- X
- X`09return
- X`09end
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X
- X`09subroutine REMQT (qheader, status)
- X
- X
- X
- X
- X`09include '($SSDEF)'
- X`09include '($LIBDEF)'
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X
- X`09integer*4 address, qheader (2), temp, num_bytes, status,
- X`091 LIB$FREE_VM
- X
- X`09data num_bytes / 157 /
- X
- X
- X
- X`09if ((qheader(1) .eq. 0) .and. (qheader(2) .eq. 0)) then
- Xd`09 write (66,*) 'Queue was empty'
- X`09 status = LIB$_QUEWASEMP
- X`09 return
- X`09endif
- X
- X`09address = qheader (2)
- X`09call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09if ( (qheader(1) .eq. qheader(2) ) .and. (qheader(1) .ne. 0) .and.
- X`091 (qentry.back_link .eq. qentry.forward_link)) then
- X`09 status = LIB$_ONEENTQUE
- Xd`09 write (66,*) 'Last remaining queue entry being removed.'
- X`09 status = LIB$FREE_VM (num_bytes, qheader(1))
- X`09 if (.not. status) call LIB$SIGNAL (%val(status))
- X`09 qheader (1) = 0
- X`09 qheader (2) = 0
- X
- X`09else
- X`09 status = LIB$FREE_VM (num_bytes, qheader(2))
- X`09 if (.not. status) call LIB$SIGNAL (%val(status))
- X`09 qheader(2) = qentry.forward_link
- X`09 address = qheader (2)
- X`09 call UPDATE_BACK_LINK (%val(address), qheader(1))
- X`09 address = qheader (1)
- X`09 call UPDATE_FORWARD_LINK (%val(address), qheader(2))
- X`09endif
- X
- X
- X
- X`09return
- X`09end
- X
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- Xc`09subroutine DELETE (qheader, mnemonic)
- X
- X
- X
- X
- Xc`09integer*4 qheader (2), address, T1, T2, status, LIB$FREE_VM,
- Xc`091 num_bytes
- X
- Xc`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- Xc`09record / link_list / qentry
- Xc`09data num_bytes / 157 /
- X
- Xc`09character*8 mnemonic
- X
- X
- X
- X
- Xc`09if ((qheader(1) .eq. 0) .and. (qheader(2) .eq. 0)) then
- Xc`09 write (66,*) 'Queue was empty'
- Xc`09 return
- Xc`09endif
- X
- Xc`09call GET_Q_ELEMENT (%val(qheader(1)), qentry)
- X
- Xc`09if (qentry.mnemonic .eq. mnemonic) then
- Xd`09 write (66,*) 'Removed entry from head of queue.'
- Xc`09 call REMQH (qheader)
- Xc`09 return
- Xc`09endif
- X
- Xc`09do while (qentry.back_link .ne. qheader(2))
- Xc`09 if (qentry.back_link .eq. qheader(2)) then
- Xc`09 address = qentry.back_link
- Xc`09 call GET_Q_ELEMENT (%val(address), qentry)
- Xc
- Xc`09 if (qentry.mnemonic .eq. mnemonic) then
- Xd`09 write (66,*) 'Removed entry from tail of queue.'
- Xc`09 call REMQT (qheader)
- Xc`09 return
- Xc`09 endif
- Xc
- Xc`09 else
- Xc`09 address = qentry.back_link
- Xc`09 call GET_Q_ELEMENT (%val(address), qentry)
- Xc`09 if (qentry.mnemonic .eq. mnemonic) then
- Xc`09 T1 = qentry.forward_link
- Xc`09 T2 = qentry.back_link
- Xc`09 status = LIB$FREE_VM (num_bytes, address)
- Xc`09 if (.not. status) call LIB$SIGNAL (%val(status))
- Xc`09 address = T1
- Xc`09 call UPDATE_BACK_LINK (%val(address), T2)
- Xc`09 address = T2
- Xc`09 call UPDATE_FORWARD_LINK (%val(address), T1)
- Xc`09 return
- Xc`09 endif
- Xc
- Xc`09 endif
- Xc`09enddo
- Xc
- Xc`09if (qentry.back_link .eq. qheader(2)) then
- Xc`09 address = qentry.back_link
- Xc`09 call GET_Q_ELEMENT (%val(address), qentry)
- Xc`09 if (qentry.mnemonic .eq. mnemonic) then
- Xd`09 write (66,*) 'Removed entry from tail of queue.'
- Xc`09 call REMQT (qheader)
- Xc`09 return
- Xc`09 endif
- Xc`09endif
- X
- X
- X
- X
- Xc`09return
- Xc`09end
- X
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X`09subroutine SEARCH_QUEUE (qheader, matching_criterion)
- X
- X
- X
- X
- X`09integer*4 qheader (2), address, matching_criterion,
- X`091 condition
- X
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X
- X
- X
- X
- X
- X`09if ((qheader(1) .eq. 0) .and. (qheader(2) .eq. 0)) then
- X`09 write (6,*) 'Queue was empty'
- X`09 return
- X`09endif
- X
- X`09call GET_Q_ELEMENT (%val(qheader(1)), qentry)
- X
- X`09call MATCH (matching_criterion, qentry, condition)
- X`09if (condition) return
- X
- X
- X`09do while (qentry.back_link .ne. qheader(2))
- X`09 if (qentry.back_link .eq. qheader(2)) then
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09 call MATCH (matching_criterion, qentry, condition)
- X`09 if (condition) return
- X
- X`09 else
- X
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09 call MATCH (matching_criterion, qentry, condition)
- X`09 if (condition) return
- X
- X`09 endif
- X`09enddo
- X
- X`09if (qentry.back_link .eq. qheader(2)) then
- X`09 address = qentry.back_link
- X`09 call GET_Q_ELEMENT (%val(address), qentry)
- X
- X`09 call MATCH (matching_criterion, qentry, condition)
- X`09 if (condition) return
- X
- X`09endif
- X
- X
- X
- X`09return
- X`09end
- X
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X
- X
- X`09subroutine MATCH (matching_criterion, qentry, condition)
- X
- X
- X
- X
- X`09integer*4 qheader (2), address, matching_criterion,
- X`091 condition
- X
- X`09include 'dua2:`5Bkoffley.com`5Duserlog_struc.inc'
- X
- X`09record / link_list / qentry
- X
- X
- X`09condition = .false.
- X
- X
- X
- X`09return
- X`09end
- X
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- Xcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc
- Vcccc
- X
- X
- X
- X`09subroutine INIT_DISPLAYS
- X
- X
- X
- X`09common / SMG_data / paste_ID, kybd_ID, num_rows, num_cols, display_ID,
- X`091 mm_id
- X
- X`09include '($syssrvnam)'
- X`09include '($smgdef)'
- X`09include '($iodef)'
- X`09include '($libclidef)'
- X
- X
- X`09integer*4 paste_ID, kybd_ID, zero, num_rows, num_cols,
- +-+-+-+-+-+-+-+- END OF PART 14 +-+-+-+-+-+-+-+-
- --
- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
- < Joe Koffley KOFFLEY@NRLVAX.NRL.NAVY.MIL >
- < Naval Research Laboratory KOFFLEY@CCF.NRL.NAVY.MIL >
- < Space Systems Division AT&T : 202-767-0894 >
- \/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/
-