$! ................... Cut between dotted lines and save. ................... $!........................................................................... $! VAX/VMS archive file created by VMS_SHARE V06.10 7-FEB-1989. $! $! VMS_SHARE was written by James Gray (Gray:OSBUSouth@Xerox.COM) from $! VMS_SHAR by Michael Bednarek (U3369429@ucsvc.dn.mu.oz.au). $! $! To unpack, simply save, concatinate all parts into one file and $! execute (@) that file. $! $! This archive was created by user TERRY $! on 19-MAR-1990 06:41:05.17. $! $! ATTENTION: To keep each article below 31 blocks (15872 bytes), this $! program has been transmitted in 10 parts. You should $! concatenate ALL parts to ONE file and execute (@) that file. $! $! It contains the following 21 files: $! ABSTRA11.TXT $! FINBLD11.COM $! FINDEF11.COM $! FINGER11.$PACKAGE $! FINGER11.B2S $! FINGER11.CMD $! FINGER11.CNF $! FINGER11.COM $! FINGER11.DOC $! FINGER11.HLP $! FINGER11.MAP $! FINGER11.MSG $! FINGER11.ODL $! FINGER11.TRM $! FINHLP11.HLP $! FINMAI11.B2S $! FINMAI11.CMD $! FINMAI11.COM $! FINMAI11.ODL $! FINMON11.MAC $! README11.V11 $! $!============================================================================ $ SET SYMBOL/SCOPE=( NOLOCAL, NOGLOBAL ) $ VERSION = F$GETSYI( "VERSION" ) $ IF VERSION .GES "V4.4" THEN GOTO VERSION_OK $ WRITE SYS$OUTPUT "You are running VMS ''VERSION'; ", - "VMS_SHARE V06.10 7-FEB-1989 requires VMS V4.4 or higher." $ EXIT 44 ! SS$_ABORT $VERSION_OK: $ GOTO START $! $UNPACK_FILE: $ WRITE SYS$OUTPUT "Creating ''FILE_IS'" $ DEFINE/USER_MODE SYS$OUTPUT NL: $ EDIT/TPU/COMMAND=SYS$INPUT/NODISPLAY/OUTPUT='FILE_IS'/NOSECTION - VMS_SHARE_DUMMY.DUMMY b_part := CREATE_BUFFER( "{Part}", GET_INFO( COMMAND_LINE, "file_name" ) ) ; s_file_spec := GET_INFO( COMMAND_LINE, "output_file" ); SET( OUTPUT_FILE , b_part, s_file_spec ); b_errors := CREATE_BUFFER( "{Errors}" ); i_errors := 0; pat_beg_1 := ANCHOR & "-+-+-+ Beginning"; pat_beg_2 := LINE_BEGIN & "+-+-+-+ Beginning"; pat_end := ANCHOR & "+-+-+-+-+ End"; POSITION ( BEGINNING_OF( b_part ) ); LOOP EXITIF SEARCH( SPAN( ' ' )@r_trail & LINE_END, FORWARD) = 0; POSITION( r_trail ); ERASE( r_trail ); ENDLOOP ; POSITION( BEGINNING_OF( b_part ) ); i_append_line := 0; LOOP EXITIF MARK ( NONE ) = END_OF( b_part ); s_x := ERASE_CHARACTER( 1 ) ; IF s_x = '+' THEN r_skip := SEARCH( pat_beg_1, FORWARD, EXACT ); IF r_skip <> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ERASE_LINE; ENDIF ; ENDIF; IF s_x = '-' THEN r_skip := SEARCH( pat_end, FORWARD, EXACT ) ; IF r_skip <> 0 THEN s_x := ''; MOVE_HORIZONTAL( -CURRENT_OFFSET ); m_skip := MARK( NONE ); r_skip := SEARCH( pat_beg_2, FORWARD, EXACT ); IF r_skip <> 0 THEN POSITION( END_OF( r_skip ) ); MOVE_HORIZONTAL( -CURRENT_OFFSET ) ; MOVE_VERTICAL( 1 ); MOVE_HORIZONTAL( -1 ); ELSE POSITION( END_OF( b_part ) ); ENDIF; ERASE( CREATE_RANGE( m_skip, MARK( NONE ), NONE ) ); ENDIF; ENDIF ; IF s_x = 'V' THEN s_x := ''; IF i_append_line <> 0 THEN APPEND_LINE ; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF; i_append_line := 1 ; MOVE_VERTICAL( 1 ); ENDIF; IF s_x = 'X' THEN s_x := ''; IF i_append_line <> 0 THEN APPEND_LINE; MOVE_HORIZONTAL( -CURRENT_OFFSET ); ENDIF ; i_append_line := 0; MOVE_VERTICAL( 1 ); ENDIF; IF s_x <> '' THEN i_errors := i_errors + 1; s_text := CURRENT_LINE; POSITION( b_errors ); COPY_TEXT ( "The following line could not be unpacked properly:" ); SPLIT_LINE ; COPY_TEXT( s_x ); COPY_TEXT( s_text ); POSITION( b_part ); MOVE_VERTICAL ( 1 ); ENDIF; ENDLOOP; POSITION( BEGINNING_OF( b_part ) ); LOOP r_x := SEARCH ( "`", FORWARD, EXACT ); EXITIF r_x = 0; POSITION( r_x ); ERASE_CHARACTER( 1 ); COPY_TEXT( ASCII( INT( ERASE_CHARACTER( 3 ) ) ) ); ENDLOOP ; IF i_errors = 0 THEN SET( NO_WRITE, b_errors, ON ); ELSE POSITION ( BEGINNING_OF( b_errors ) ); COPY_TEXT( FAO ( "The following !UL errors were detected while unpacking !AS", i_errors , s_file_spec ) ); SPLIT_LINE; SET( OUTPUT_FILE, b_errors, "SYS$COMMAND" ) ; ENDIF; EXIT; $ DELETE VMS_SHARE_DUMMY.DUMMY;* $ CHECKSUM 'FILE_IS $ WRITE SYS$OUTPUT " CHECKSUM ", - F$ELEMENT( CHECKSUM_IS .EQ. CHECKSUM$CHECKSUM, ",", "failed!!,passed." ) $ RETURN $! $START: $ FILE_IS = "ABSTRA11.TXT" $ CHECKSUM_IS = 1528326437 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY XFinger for RSTS/E, Version: V1.1-08, September 1989 X XSubmitted by: Terry Kennedy, St. Peter's College, Jersey City, NJ. X XOperating system: RSTS/E V9.6 or later XSource language: Basic-Plus-2, Macro-11 XKeywords: Networking, System Management - RSTS/E, Utilities - RSTS/E X XAbstract: RSTS/E Finger performs three main functions: X Xo Lists the current users on the system, along with the location, pro- X gram name, etc. In this mode it functions like a personalized SYSTAT X program. X Xo Searches for a specific user, displays the above information if they X are logged in and additionally shows information about their mail, X last login, and a personal message file they may supply. X Xo Functions as a DECnet server for both in-bound and out-bound links. X Remote users may finger the local system, and local users can finger X other systems on the network. If the network contains a VAX running X VMS Finger V51.1.20 or later the local user can also finger Bitnet X or Internet hosts as well as terminal servers. X XIn a large network Finger can be an invaluable tool to locate users, Xsee if they got your mail, etc. X XRSTS/E Finger is a rewrite of VMS Finger. All functionality available Xin the VMS version is available in RSTS/E Finger if available in the Xoperating system. The versions are highly compatible, sharing the same Xcommand qualifiers and syntax. X XNotes: 1) RSTS/E Finger will use services provided by DECmail-11 and X DECnet/E, but they are not required for correct operation. X 2) For the current version of VMS Finger, see DECUS No. ??????. $ GOSUB UNPACK_FILE $ FILE_IS = "FINBLD11.COM" $ CHECKSUM_IS = 1602163685 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X$ ! Compile and taskbuild the two Finger components X$ @FINGER$:FINGER.COM X$ @FINGER$:FINMAI.COM $ GOSUB UNPACK_FILE $ FILE_IS = "FINDEF11.COM" $ CHECKSUM_IS = 1428778579 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X$ _RUN DECNET$:NCP`009`009`009! Invoke the NCP utilty X! X! ********************************************************************** X! XDEF OBJECT 117 NAME FINGER XDEF OBJECT 117 FILE FINGER$:FINGER.TSK XDEF OBJECT 117 PARAMETERS 29000,0 XDEF OBJECT 117 VERIFICATION OFF X! XSET OBJECT 117 NAME FINGER XSET OBJECT 117 FILE FINGER$:FINGER.TSK XSET OBJECT 117 PARAMETERS 29000,0 XSET OBJECT 117 VERIFICATION OFF X! X$ _EXIT $ GOSUB UNPACK_FILE $ FILE_IS = "FINGER11.$PACKAGE" $ CHECKSUM_IS = 1046727239 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X* RSTS/E FINGER (Finger-11) as maintained by Terry Kennedy at St. Peter's X* College. You can either request FINGER11.PACKAGE to get the whole col- X* lection in a package, or you can request individual components. X* X* Info-Finger is a mailing list for discussing Finger. Here is the des- X* cription: X* X* I-Finger%SPCVXA.BITNET@CUNYVM.CUNY.EDU (Internet) X* I-FINGER@SPCVXA.BITNET (Bitnet) X* `032 V* Discussion of the Finger program and related utilities. Finger is a util X- V* ity which performs username lookup, WHOIS functions, and system statu Xs V* functions. This list is hosted on the system where VMS Finger and RSTS/ XE V* Finger are maintained, so initial discussions will probably center aroun Xd V* these versions. However, discussions about any Finger variant or simila Xr X* utilities are welcomed. X* `032 V* There is no automated archive retrieval facility, however requests fo Xr X* archived material may be sent to the request address below. X* `032 V* Requests to be added to or deleted from this list, problems, questions X, V* etc., should be sent to I-FinReq%SPCVXA.BITNET@CUNYVM.CUNY.EDU (Internet X) X* or I-FINREQ@SPCVXA.BITNET (Bitnet) X* `032 X* Coordinator: Terry Kennedy X*`032 XFINGER11.0$PACKAGE XFINGER11.01_OF_10 XFINGER11.02_OF_10 XFINGER11.03_OF_10 XFINGER11.04_OF_10 XFINGER11.05_OF_10 XFINGER11.06_OF_10 XFINGER11.07_OF_10 XFINGER11.08_OF_10 XFINGER11.09_OF_10 XFINGER11.10_OF_10 $ GOSUB UNPACK_FILE $ FILE_IS = "FINGER11.B2S" $ CHECKSUM_IS = 671843735 $ COPY SYS$INPUT VMS_SHARE_DUMMY.DUMMY X2!`009`009PROGRAM`009`009: FINGER.BAS X5!`009`009VERSION`009`009: V1.1 X6!`009`009EDIT`009`009: 08 X7!`009`009EDIT DATE`009: 14-Sep-89 X10`009EXTEND X11`009! & X`009& X`009& X`009!`009`009 C O P Y R I G H T & X`009& X`009& X !`009 Copyright (C) 1989 by Terence M. Kennedy, & X !`009 All Rights Reserved. X !`009& X !`009& X !`009This software is furnished under a license and may be used and & X !`009copied only in accordance with the terms of such license and & X !`009with the inclusion of the above copyright notice. This & X !`009software or any other copies thereof may not be provided or & X !`009otherwise made available to any other person. No title to and & X !`009ownership of the software is hereby transferred. & X !`009& X !`009The information in this software is subject to change without & X !`009notice and should not be construed as a commitment by either & X !`009Terence M. Kennedy or Saint Peter's College. & X !`009& X !******************************************************************* & X`009& X X20`009! & X`009& X`009& X`009!`009M O D I F I C A T I O N H I S T O R Y & X`009& X`009& X`009! VER/ED`009EDIT DATE`009REASON & X`009! T1.0-00`00907-Aug-89`009Initial coding for field test & X`009! T1.0-01`00908-Aug-89`009Correct errors in help files, add & X`009!`009`009`009`009fastpath for non-wild lookups in & X`009!`009`009`009`009fnwild%(), add minimum match length & X`009!`009`009`009`009for user lookups, add flag to check & X`009!`009`009`009`009node of sender if desired, get the & X`009!`009`009`009`009username before opening net link. & X`009! T1.0-02`00908-Aug-89`009Add fastpath in configuration file, & X`009!`009`009`009`009correct errors in configuration file & X`009!`009`009`009`009comments, add ability to prevent re- & X`009!`009`009`009`009porting mail information if desired. & X`009! T1.0-03`00911-Aug-89`009Change program name on the fly to in- & X`009!`009`009`009`009dicate if local, server or requestor. & X`009! V1.0-04`00912-Aug-89`009Modify escfix$ to also correct the SI & X`009!`009`009`009`009and SO characters for proper output. & X`009! V1.0-05`00926-Aug-89`009Display LAT dialups a little differ- & X`009!`009`009`009`009ently, fix terminal types of 43 up & X`009!`009`009`009`009being off by one. & X`009! V1.0-06`00928-Aug-89`009Fix problem of fingering a specific & X`009!`009`009`009`009user not working depending on the & X`009!`009`009`009`009time of login. Ugh. & X`009! V1.1-07`00910-Sep-89`009Add support for aliases and forwarding & X`009!`009`009`009`009by using information FINMAI gets from & X`009!`009`009`009`009MAIL$:MAIL.SYS. & X`009! V1.1-08`00914-Sep-89`009Modify to cluster RMS w/ CSPLIB to fix & X`009!`009`009`009`009virtual address space problem, add & X`009!`009`009`009`009access read, allow modify so multiple & X`009!`009`009`009`009copies run properly, fix so logged-out & X`009!`009`009`009`009jobs are reported as . & X`009& X`009& X X30`009! & X`009& X`009& X`009!`009V A R I A B L E U S A G E & X`009& X`009& X`009! VARIABLE`009USAGE & X`009! a$`009`009Scratch variable for SYS() calls & X`009! accmod%`009Access mode. 1%=local, 3%=via DECnet & X`009! alias$`009Flag for whether this username is an alias & X`009! any%`009`009Flag for any matching usernames & X`009! b$`009`009Scratch variable & X`009! buff9$`009Buffer for channel #9% & X`009! buff11$`009Buffer for channel #11% & X`009! buff12$`009Buffer for channel #12% & X`009! buflen$`009Length of message buffer received & X`009! bypass$`009String to XLATE out control characters & X`009! c`009`009Floating point CPU time variable & X`009! candidate$`009Possible string for wildcard match & X`009! cim.lla%`009Logical link address in connect initiate message & X`009! command$`009Command line & X`009! command.1$`009Command line segment & X`009! command.2$`009Command line segment & X`009! day%`009`009Day of month & X`009! day.week$(7)`009Array of weekday names & X`009! detflg%`009Flag for detached job & X`009! devnam%`009Address of monitor device name table & X`009! devokb%`009Offset of monitor first non-disk device & X`009! dow%`009`009Day of week (0%=Sunday) & X`009! dsklog%`009Address of monitor disk logical table & X`009! erno%`009`009Error number & X`009! escfix$`009String to XLATE ESCs to CHR$(155%)s & X`009! fill1$, fill2$, & X`009! fill3$`009Padding variables for FIELDs & X`009! flags%(3%)`009Flags for command qualifiers & X`009! forward$`009Forwarding address for this user & X`009! hdrout%`009Flag for header already output & X`009! i%`009`009Scratch variable & X`009! i.retcnt%`009Retry count for network read operations & X`009! iam$`009`009User and Node for remote Fingers & X`009! index%`009Element of flags%() that this mask applies to & X`009! j%`009`009Scratch variable & X`009! job%`009`009Current job number as integer & X`009! job$`009`009Current job number as string & X`009! job0$`009`009Monitor job information, part I & X`009! job1$`009`009Monitor job information, part II & X`009! job2$`009`009Monitor job information, part III & X`009! jobact%`009Total number of active jobs on system & X`009! jobcnt%`009Number of active jobs found for this user & X`009! jobmax%`009Maximum number of jobs & X`009! jobtyp%`009Type of job (interactive, batch, net, etc.) & X`009! k%`009`009Scratch variable & X`009! l%`009`009Scratch variable & X`009! l.host$`009Our name for our local host (display only) & X`009! l.msg$`009Message of the day, or indirect filespec & X`009! l.org$`009Our organization name (display only) & X`009! ljkflg% Flag to prevent reporting of mail information & X`009! locatn$`009Location of the user's terminal & X`009! m%`009`009Scratch variable & X`009! m.count%`009New mail message count & X`009! m.found%`009Flag for any new messages found & X`009! m.from$`009From: field of a mail message & X`009! m.rept$`009Work string for mail reporting & X`009! m.subj$`009Subj: field of a mail message & X`009! m.token$`009Field tpe of next message header field & X`009! maildate$`009Date of mail message receipt & X`009! mask%`009`009Bit to set/clear in flags%() for qualifier & X`009! match$`009Username we are comparing argument with & X`009! mbox.id$`009Mail file verification & X`009! mbox.new$`009New mail count & X`009! mbox.total$`009Total mail count & X`009! mbox.type$`009Mail file verification & X`009! mbox.version$`009Mail file verification & X`009! minwld%`009Minimum number of non-wild characters for match & X`009! month%`009Month of year & X`009! month.year$()`009Array of 3-character month names & X`009! msg$`009`009Message buffer to be returned to invoker & X`009! msg.1$`009Component of msg$ for complex messages & -+-+-+-+-+ End of part 1 +-+-+-+-+-