.MACRO SRCCOM SRCCOM Source compare program SYNTAX SRCCOM ;invoke SRCCOM.SAV *[listfile][,SLPfile]=oldfile,newfile[/options] *... ;* is CSI prompt *^Z ;exit to CLI SEMANTICS See the RT-11 System User's Guide OPTIONS /A Specifies audit trail for SLP command file /B Compares blank lines /C Ingnores comments and spacing /D Copies newfile to listfile and inserts change bars and bullets at left margin to mark differences /F Includes formfeeds in output file /L:n Defines number of lines that must agree to constitute a match; n can be 1 to 310; defalut is 3 /S Ignores spaces and tabs when comparing /V:i:d Defines characters to use as markers for inserts and deletions in place of change bars and bullets; use with /D; i and d are the numeric for the ASCII characters to use EXAMPLES None .ENDM .MACRO SYSMGR SYSMGR Maintain login file SYNTAX sysgmr ;entered by the user SYSMGR-Login File Manager (6-17-83) type ? for help * SEMANTICS The SYSMGR command is used to create, update, display and otherwise maintain the standard login file. See also the help information for the LOGIN and LOGOUT commands for additional discussion of the login file and its use. OPTIONS After typing the SYSMGR command, the host responds with the herald shown above and then prompts for user input by printing an asterisk. The acceptable input commands to SYSMGR are: ? - prints a listing of the commands, create - creates a login file, if none already exists, delete - delete a user name from the login file, display - display all current login file entries, enter - make a new entry to the login file, quit - return to the monitor and update the login file, if necessary. EXAMPLES .sysmgr SYSMGR-Login File Manager (6-17-83) Type ? for help *? ?SYSMGR-I-The following commands are available: create -create a standard login file if none exists delete -delete user name from login file display-display current login file entries enter -make new entries to the login file quit -quit executing this program *create ?SYSMGR-W-Standard login file already exists *delete Username: smith ?SYSMGR-W-Specified User (SMITH) not in Login File *display User Private Volume ---- -------------- JONES DL0: GROSS DL0: *delete Username: gross *enter Username: gross Password: Private Volume: dl3: *display User Private Volume ---- -------------- JONES DL0: GROSS DL3: *quit . ;return to monitor .ENDM .MACRO SUNFAX SUNFAX Bitmap to facsimile conversion SYNTAX SUNFAX ;invoke SUNFAX.SAV *=[/options] *... ;* is CSI prompt *^Z ;exit to CLI SEMANTICS This program converts a file in Sun bitmap format to Dacom (compressed) facsimile format. The image is scaled by default to display the maximum size without clipping height or width, but can be expanded to maximum height using the /P option or maximum width using the /L option. OPTIONS /I Invert image (reverse black/white) /L Force landscape mode /R:n Set resolution (0: 200 ppi (default), 1: 100 ppi, 2: 67 ppi) /P Force portrait mode EXAMPLES None .ENDM .MACRO TELSRV TELSRV Virtual terminal server program SYNTAX See RFC-854. SEMANTICS In the standard Fuzzball host configurations at least one user process is dedicated to TELNET service, although in some configurations there may be more than one of these dynamically managed by the Log Process and shared between TELNET and spooling services. The TELNET Server itself contains routines to respond to initial connections, determine the service requested and then call the required service module. Services are specified by the TCP port number indicated in the initial connection request. Some functions are provided by the TELNET Server itself. In most configurations the TELNET Server and service modules are dynamically loaded and share the same virtual address space. One of the service modules is the Command Language Interpreter (CLI), which interprets commands and provides a functionality similar to that provided by the RT-11 Keyboard Monitor. The CLI can be used to load, debug and run RT-11 system and application programs, including the various network utility programs, such as the TELNET User, FTP User and others. In BOS system configurations without hardware relocation features the TELNET Server is ordinarily enabled in the Background user process. So long as a connection is not open to a foreign host, this process can be used by a local terminal as if the TELNET Server were not present. When a connection request is received, characters output by the process are sent to the remote user and not to the local terminal. Data are passed between the user and server programs in 8-bit bytes without modification or interpretation. If TELNET negotiations are active, the TELNET interpret-as-control (IAC) character is used to initiate TELNET command sequences. If an IAC is followed immediately by a second one, a single IAC is delivered to the program. TELNET negotiations (RFC-855) are active for all servers except those specified below. The server replies to all DO commands with a WONT, except in the case of ECHO (RFC-857). In this case the server replies WONT ECHO if the user program is in line (edit) mode and WILL ECHO if the user program is in character (non-edit) mode, as indicated by the TTSPC$ bit (010000) in the Job Status Word. The server replies to all DONT commands with WONT and ignores all WILL and WONT commands. The server will send an unsolicited WILL ECHO if the TTSPC$ bit (010000) is changed from zero to one and WONT ECHO if this bit is changed from one to zero. This feature provides a useful way to hide passwords and to run interactive programs such as EDIT and KED that switch back and forth between line and character modes. OPTIONS DAYTIME (13) Time and date Provides RFC-867 time and date (in RT-11 format) by executing the implied CLI command DAYTIME. ECHO (7) Remote loopback Echoes all received characters to the sender as specified by RFC-862. FTP (21) File transfer Invokes the FTP Server program by executing the implied CLI command RUN FTPSRV. See HELP information on FTP and FTPSRV. MPM (45) Multimedia mail transfer Invokes the MPM Server program by executing the implied CLI command RUN MPMSRV. See HELP information on MMM and MPMSRV. NAME (42) Name server Invokes name-server program by executing the implied command RUN NAME. NETSTAT (15) Who-is-up Provides information on which hosts are up by executing the implied CLI command SET HOST HOST. NIFTP (47) File transfer Invokes NIFTP User program by executing the implied CLI command RUN NIFTP. See HELP information on NIFTP. QOD (17) Qoute-of-the-day Provides a scurrilious who-are-you function compatible with RFC-865. SINK (9) Discard Discards all received characters as specified by RFC-863. SMTP (25) Mail transfer Invokes the SMTP Server program by executing the implied CLI command RUN SMPSRV. See HELP information on SMTP and SMPSRV. TALK (87) Terminal intercom The server first produces a prompt message inviting a device and mode specification. The user enters first the logical device name (default is TT) and then the mode (ASCII or IMAGE). The server then switches to that device and enters transparent mode. Note that the mode specification applies only to the device itself, since data are transferred between the user and server programs as 8-bit uninterpreted bytes. TELNET (23) Virtual terminal Provides RT-11 services described in HELP information. TEST (19) Character generator Generates a test message continuously until the connection is closed by the remote host as specified by RFC-864. Executes the implied CLI command TEST 1000. TIME (37) Time server Provides time in seconds from 0000 UT 1 January 1900 as specified by RFC-868. TN (107) Virtual terminal Invokes TELNET User program by executing the implied CLI command RUN TN. See HELP information on TN. VCG (127) Peritek VCG display Invokes Peritek User program by executing the implied CLI command RUN VCG. EXAMPLES See RFC-854. .ENDM .MACRO TERMINAL TERMINAL Terminal Process commands SYNTAX SET ;CLI command SEMANTICS See USER process commands and GENERAL help information The terminal process is the interface between the system and the operator. This process, suitably configured, can also be used for line printer support and for connection to other machines. Each process (actually a pair of cooperating processes which appear as a single unit) controls one terminal and is capable of routing input data to one of four destination processes as controlled by escape sequences. A terminal process operates in either ASCII or IMAGE mode. In IMAGE mode all bytes are copied between system buffers and the terminal unmodified and uninterpreted. In addition, a terminal process can be configured either to emulate a DCE for a connected terminal or to emulate a DTE for a connected machine. In DTE mode the byte is discarded unless the device is in use unless a busy bit is set in the options word). In ASCII mode the DC1 and DC3 characters are used to control both input and and output flows. In ASCII mode on input bit 8 (the parity bit) is stripped. In DTE mode all bytes received from the device are placed unchanged in the input buffer. In DCE mode a LF is inserted following a CR. In addition, an escape code (normally defaulted to DLE) causes the low-order two bits to select channels 0-3 as defined by the command-language interpreter. Other control functions are interpreted as follows: DC3 stop output DC1 start output ETX interrupt process DC1 and DC3 are not included in the input buffer. ETX is included in the buffer. If the input buffer is over 3/4 full, DC3 is sent by the output side and the driver enters the flow-control condition. In this condition if the input buffer is under 1/4 full, DC1 is sent by the output side and the driver leaves the flow-control condition. If the input buffer overflows, BEL is sent by the output side. In ASCII mode on output the parity bit is assumed to have been stripped by the sender. In this mode an EOT character will generate a long-space (break) condition. In DTE mode an LF immediately following a CR is discarded and all other bytes are transmitted unaltered to the device. In DCE mode the byte is interpreted as follows: BS decrement column counter HT fill SP to the next tab stop (fixed at every eight columns) LF advance line counter by one FF reset line counter CR reset column counter Codes 000-037 and 177 (other than the above) do not affect column or line counters. Codes 040-176 advance column counter by one. If the right margin is exceeded a CR-LF sequence is inserted preceeding the byte. If the bottom margin is exceeded a FF is inserted following the byte. OPTIONS ASG If is a physical direct-access device, amend the device table so as to associate the logical name with this device. If is a file, associate the logical name with a virtual-volume file of that name (see VOLUMES help information). If is missing remove the entry from the the device table. Note that the format of this command is different from the RT-11 ASSIGN command. CMD List the available commands. Additional information is available with the HELP program. DELAY Set the CR delay to (milliseconds). The default is zero (no delay). ESCAPE Set the escape character code to , which is an octal integer in the range 000-177. The default is 020 (^P). DEVICE Display a formatted summary of the device table, which establishes the association between the logical and physical names of each process together with additional data. If is a valid logical name, the data associated with that process is displayed. If is defaulted the entire table is displayed. MARGIN Set the right-margin to . The default is zero (no margin). OFF The ON and OFF commands can be used to set and clear bits in the options word of the parameter area associated with the process. The ON command sets the option bits corresponding to the one bits of (which is an octal value) to one, while the OFF command sets these bits to to zero. Options for the terminal process are as follows: 0 DCE/DTE mode (OFF: DCE, ON: DTE) 1 ASCII/IMAGE mode (OFF: ASCII, ON: IMAGE) 2 EOT-break (OFF: DL11, ON: DZ11) 15 Device enable (OFF: free, ON: in use) ON PAGE Set the bottom margin to . The default is zero (no margin). SHOW Display a formatted summary of various quantitites of interest. SPEED Set the device-register bits for speed selection to . The interpretation of is device-specific. EXAMPLES .set tt0 cmd Commands are: CMD SHO ON OFF ASG DEV ESC MAR PAG SPE DEL .set tt0 show Process type: 000004 options: 000000 Right margin (MARGIN): 0 Bottom margin (PAGE): 0 Intercept char (ESC): 020 Return delay (DELAY): 0 Data rate (SPEED): 100 Special bits (TAPE): 000 .ENDM .MACRO TIME TIME Setting system date and time SYNTAX SETCLK ;set system time and date from local reference UDP ;set system time and date from another host RTCLOK ;set TCU-50 local reference from system time and date SEMANTICS Network hosts normally track the network time and date from a selected virtual host equipped with a precision time reference such as a radio clock synchronized to NBS broadcast standards. A Digital Pathways TCU-50 Timing Control Unit can be used as a local time and date reference that retains this information when power is turned off or when a radio clock is not available. Note that neither the TCU-50 nor the radio clocks provide the year, so this must be specified either in the RT-11 startup command file, by a CLI command prior to running the SETCLK program or by the UDP program. The SETCLK program can be used to set the time and date while running either the RT-11 or BOS/VOS systems. If set while running RT-11, the time and date are passed to BOS/VOS during the initialization process. This program sets the system date and time from either the Digital Pathways TCU-50 digital clock or one of three NBS radio clocks: Spectracom Model 8170 (WWVB), Truetime Model 468-DC (GOES satellite) or Heath Model GC-1000 (WWV/WWVH). The TCU-50 is a backplane module with integral backup batteries. The radio clocks are attached via a serial asynchronous line interface which is used to send poll messages and receive responses in the following format: Spectracom clock: q ddd hh:mm:ss tz=zz Truetime clock: ddd:hh:mm:ssq Heath clock: hh:mm:ss.f dd/mm/yr where ddd is day of year, hh:mm:ss is time of day, f is tenths of seconds, and dd/mm/yr is conventional (US) date. The tz=zz field is not used. In the Spectracom clock, q is " " for in-synch or "?" for off-synch and zz is the time zone (always 00 for ut). In the Truetime clock, q is a precision estimate in milliseconds and coded as follows: "?" +-500 msec, "#" +-50 msec, "*" +-5 msec, "." +-1 msec, less than 1 msec. In the Heath clock, the hh:mm:ss.f field is displayed as 0?:??:??.? before initial synchronization. SETCLK must be conditionally assembled to select one of the radio clocks. The program will try the TCU-50 first. If not found at the assigned register address, it will try the selected radio clock at its assigned address. If even that is not found, the program will complain and the time and date must be entered manually or using the UDP program. The UDP program, which is also used as the network time server and name server, can be used to set the time and date from a another host. To do this, run the UDP program and enter a OUT command, which directs terminal output to the local terminal. Then enter a TIME command with an argument consisting of the name of a host known to provide reliable time (e.g. DCN1). When a response appears, enter a SET command to set the local time and date to that of the host specified. The RTCLOK program can be used to set the TCU-50 from the system time and date, either under RT-11 or BOS/VOS. There are no arguments for this program. OPTIONS None EXAMPLES None .ENDM .MACRO TN TN Virtual terminal user program SYNTAX TN ;invoke TN.SAV ... QUIT ;exit to CLI ;or TN ;invoke TN.SAV and execute an ;implied CONNECT ... ;command QUIT ;exit to CLI SEMANTICS The virtual-terminal protocol (TELNET) functions are provided using two programs, the TELNET User and the TELNET Server. The TELNET User runs in interactive mode on a Fuzzball host. The TELNET Server normally resides at some other host and is activated upon receipt of a TCP connection on port 23. The TELNET User is an interface to the Command Language Interpreter (CLI) and RT-11 Emulator and provides the same set of functions available to users at local terminals. These programs operate with the protocol described in RFC-854 and can be used with other implementations conforming to this protocol. The TELNET User operates in one of two modes: command mode, in which commands are interpreted from the local terminal and executed on the local host, and transparent mode, in which all characters from the local terminal are transmitted directly to the remote server. In either mode characters are transmitted directly from the remote server to the local terminal along with responses and other data that may be produced by the TELNET User itself. Operation is in the command mode until a CONNECT command is executed, following with operation continues in the transparent mode. If the connection is closed by the remote server, operation resumes in the command mode. In addition, a limited set of commands can be executed while in the transparent mode by means of an escape sequence, which begins with an escape character code which is initially set to 037 (produced by the control-~ function on DEC keyboards) and can be changed by the ESCAPE command. Following the escape character must be a single-character command interpreted as follows: C Close the connection and return to command mode I Send an interrupt sequence to the remote server L Start boot-load followed by send-file transfer (LINK and TALK only) Q Start send-file transfer S Stop send-file transfer X Resume command mode (use the TELNET command to return to transparent mode) control-~ Transmit the escape character itself to the remote server Data are passed between the user and server programs in 8-bit bytes without modification or interpretation. If TELNET negotiations are active, the TELNET interpret-as-control (IAC) character is used to initiate TELNET command sequences. If an IAC is followed immediately by a second one, a single IAC is delivered to the program. TELNET negotiations, when active, are used to establish the options for each instance of each connection. There are only two options used: suppress-go-ahead SUGA (RFC-858) and remote-echo ECHO (RFC-857). If TELNET negotiations are enabled when the connection is first opened, the TELNET User will send a DO SUGA command and either a DO ECHO or DONT ECHO command, depending upon whether the ECHO REMOTE or ECHO LOCAL modes are in effect. Thereafter, the program will send DO ECHO or DONT ECHO as required whan the ECHO mode is changed. The program will reply WONT to any DO or DONT command and will ignore a WONT command. A WILL ECHO command will force operation in the remote-echo/edit mode if the ECHO REMOTE mode is in effect, otherwise the program will reply DONT ECHO. A WONT ECHO command will force operation in the local-echo/edit mode in any case. Facilities are included to send and receive files in conjunction with virtual-terminal operations. In addition, the Peritek VCG bit-map display with color monitor is supported. This device can be used to display data received from the remote server in either Tektronix-compatible format or bit-map format. The TELNET User program can also be used to connect to terminal and special-server processes on the same machine. This is useful to connect to remote systems and to download dependent machines. See the LINK and TALK commands for further details. The EOT character can be used to send a break signal to the remote machine. See the TERMINAL help information for further details. Downloading to PDP11-compatible machines is simplified by the L escape sequence. To use this sequence a SEND command is used to declare the name of the load-module file (LDA format) and a IMAGE command to declare the transfer as binary. Then a LINK command is used to set up the connection via the terminal process specified. The L escape sequence sends a sequence of ODT commands to load the DEC Absolute Loader in the remote machine along with a routine that relocates it to high memory. Following this, the remote machine is started and the loader relocated to high memory. Finally, the load-module file specified is sent to the remote machine and started (if specified in the load module). The TELNET User prompt is "*", signifying the program is ready for the next CONNECT, LINK or TALK command. Prompts will not appear following commands which have only local significance or in which errors are detected. OPTIONS ASCII The ASCII and IMAGE commands set the mode for subsequent file transfers. The default is ASCII. BRIEF The BRIEF and VERBOSE commands control output of detailed commentary dialog. BRIEF disables this and VERBOSE enables it. The default is BRIEF. CLOSE Write the current buffer to the script file and close it. CONNECT Open a TELNET connection to with specified. If is represented by the character "*" or is missing, the connection is opened in listening mode. The is a decimal integer in the range 0-255 or one of the service names specified in the table below. Following the CONNECT command operation continues in the transparent mode until either an escape sequence or the connection is closed by the remote server. Each instance of each connection is characterized by a selection of three interacting modes of operation: (1) whether TELNET negotiations are active (see the ON/OFF TELNET commands), (2) transmit mode (see the TRANSMIT command) and (3) echo mode (see the ECHO command). If is specified by integer, the default settings are OFF (TELNET), LINE (TRANSMIT) and LOCAL (ECHO), as modified by explicit ON/OFF TELNET, TRANSMIT and ECHO commands. If is specified by service name, the settings are as given in the table. If is defaulted, TELNET (23) is assumed and the settings are as given for TELNET in the table. Name Port TELNET TRANS ECHO Function ------------------------------------------------ ECHO 7 OFF LINE LOCAL loopback SINK 9 OFF LINE LOCAL discard SYSTAT 11 OFF LINE LOCAL who-is-on DAYTIME 13 OFF LINE LOCAL time and date NETSTAT 15 OFF LINE LOCAL who-is-up QOD 17 OFF LINE LOCAL quote-of-day TEST 19 OFF LINE LOCAL char generator FTP 21 OFF LINE LOCAL file transfer TELNET 23 ON LINE REMOTE virtual term SMTP 25 ON LINE REMOTE mail transfer TIME 37 OFF CHAR NONE time server NAME 42 OFF CHAR NONE name server WHOIS 43 OFF LINE LOCAL NIC who-is MPM 45 OFF LINE LOCAL mail transfer NIFTP 47 OFF LINE LOCAL file transfer FINGER 79 OFF LINE LOCAL who-is-there TALK 87 OFF CHAR LOCAL term intercom LINK 87 OFF CHAR NONE proc intercom NICNAME 101 OFF LINE LOCAL NIC name server CSNAME 103 OFF LINE LOCAL CSNET who-is TN 107 OFF LINE LOCAL virtual term VCG 127 OFF LINE LOCAL VCG display SPQ 515 OFF CHAR NONE output spooler DELAY