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