Founded By: | _ _______ Guardian Of Time | __ N.I.A. _ ___ ___ Are you on any WAN? are Judge Dredd | ____ ___ ___ ___ ___ you on Bitnet, Internet ------------------+ _____ ___ ___ ___ ___ Compuserve, MCI Mail, \ / ___ ___ ___ ___ ___________ Sprintmail, Applelink, +---------+ ___ ___ ___ ___ ___________ Easynet, MilNet, | 17DEC90 | ___ ______ ___ ___ ___ FidoNet, et al.? | File 68 | ___ _____ ___ ___ ___ If so please drop us a +---------+ ____ _ __ ___ line at ___ _ ___ elisem@nuchat.sccsi.com Other World BBS __ Text Only _ Network Information Access Ignorance, There's No Excuse. Due to some complaints about our previous files being to SHORT, we have decided to make some needed changes. To tell you the truth, we never expeceted anyone complaining about any of our files, so the mail we have been receiving has opened our eyes up. PEOPLE ARE READING NIA! We looked over some of the different text file magazines out there, and decided to follow this path. We will be printing less frequent files (unless our Internet Address just starts overflowing w/ submissions), BUT they will be larger! This change, we hope, will make some of our readers happy. So to kick off the new file correctly, NIA068 will be the first in a new line of better, longer files. I trust the change will please you. NOTE when sending mail to us, if you want your name added to our mailing-list, please state in the letter the address you want it sent to. This will make our life much easier and your request go smoother. (elisem@nuchat.sccsi.com) NIA EDITORS ============================================================================= Table_Of_Contents 1. DECnet [01]............................................Guardian Of Time 2. Unix: UUCP Files............................................Judge Dredd 3. VAX: Tekno DCS HELP [01]....................................Judge Dredd 4. HP: DBEDIT Manual.......................................Malefactor [OC] 5. *LONG* Surveilance Expo '90 Report................................Thalx 6. TIME-TRIP: 1985 MOG-UR CC Charges Against Tom Tcimpidis....Count Nibble 7. Department Of The Army Field Manual [01]...................Death Jester 8. Comments From The Editors......................................GOT & JD ============================================================================== / / / File 1 / NIA068 / / DECnet [01] / / Guardian Of Time / / / $_Basic Overview Of DECnet-VAX Networking All DEC Systems have a capability of Linking up and sharing system wide resources and increasing the capability of that particular VAX/PDP System. They participate in what they call the DECnet Network, using its interface called the DECnet-VAX. I will try to go into detail about what the DECnet Network IS. This file will be for the beginner and I hope that I do enough that you can figure out what is going on. I am new to networking so I figure that the best way to start is to start with a basic overview then work my way up. $_What Is A Network? A Network is an entity of two or more computer systems that are connected by physical links ( cable,microwave, and or satellites ). The purpose of Networking is for the exchange of Information, Programs, Ideas, etc... Networking is the "Wave Of The Future". Forget Phreaking it is basically dead. If you want to power or if you want to get a jump and leave others behind in the dust, learn NETWORKING, there are 1000's of networks and they are all out there, just waiting for someone to dial in and exploit them or to learn from them or to use them. If you plan on hacking into Networks please remember the Golden Rule about Hacking: NEVER ABUSE THE SYSTEM YOU ARE USING, SET UP AN ACCOUNT, LEARN WHY YOU COULD SET UP THE ACCOUNT AND SEE IF IT WORKS ELSWHERE. NEVER SELL SECRECTS, NEVER TRY TO RUIN SYSTEMS ( REMEMBER 414 AND THE HOSPITAL RECORDS AND WHERE ARE THEY NOW? ). $_What is DECnet? DECnet is any of Digital Electronic Corporation's (DEC) operating systems, linked up by modems, satellites, ethernets and such like things. Listed below are a few of the different types of Operating Systems that DEC uses: VAX/VMS VAX Station 2000 VAX 8500 Series Vax 8600 Series Vax 8800 Series Microvax 2000 MicroVax 1 Running MicroVMS or VAXEL PDP-11 Running RSX-11M, RSX-11S, RSX11M-PLUS, RSTS/3 or RT-11 DECsystem-20'S DECsystem-10'S Both 20's and 10's Running TOPS-20 and TOPS-10 Professional 350 Personal Computers Running P/OS Operating systems The above mentioned Operating Systems and machines, are completely able to communicate with DECnet, with no special arrangement (as far as I can tell). Those of you with NON DEC equipment must find out if the DECnet is supporting X.25 PROTOCOL. If it is, you can then dial with one Network, into DECnet with no problem, just as long as they are implementing the X.25 Protocol. DECnet considers all of their systems as equal, there is NO Coordinator, and no worry about having to go through one central location. You have complete and free access from each system, with no hassels. DECnet can vary in size, it can be very small or become an extensively large network. A small network might consist of two to four nodes. A maximum of 1023 nodes is possible in an UNDIVIDED DECnet network. Very large DECnet networks can be divided into multiple Areas, up to 63 areas in fact, and each area (also called a network), can consist of 1023 nodes each. Below are some examples of what a DECnet Network could LOOK like. Now, if you are new to flow charts, I'd suggest you read up but basically its quite easy to follow, the Boxes represent a location or a mainframe, the lines that connect the boxes, mean that they are connected either by modems,or by ETHERNETS. ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄ¿ ³TERMINAL³ ³TERMINAL³ ³TERMINAL³ ÀÄÄÄÄÂÄÄÄÙ ÀÄÄÄÄÂÄÄÄÙ ÀÄÄÄÄÂÄÄÄÙ ³ ÚÄÄÄÄÄÄÁÄ¿ ³ ÚÄÄÄÄÄÄÄ¿ ÀÄÄÄÄ´TERMINALÃÄÄÄÄÄÄÄÄÄÙ ³VAX 800³ ³SERVER ³ ÀÄÄÂÄÄÄÄÙ ÀÄÄÄÂÄÄÄÄÙ ³ ETHERNET ÚÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÂÄÄÄÄÄÄÄÄÄÄÂÙ ÚÄÄÄÄ¿ ÚÄÄÄÄ¿ ÚÄÄÄÄ¿ ³ ³ ³VAX ÃÄÄÄ´VAX ÃÄÄ´VAX ³ ÚÁÄÄÄÄÄÄ¿ ³ ³8600³ ³8800³ ³8850³ ³VAX8800³ ³ ÀÄÂÄÄÙ ÀÄÄÂÄÙ ÀÄÄÂÄÙ ÀÄÄÄÄÄÄÄÙ ³ ³ ³ ³ ROUTER ³ ÀÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÙ ³ VAX CLUSTERS ³ ³ END NODES ÚÄÄÄÄÄÄÄ´ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄ¿ÚÄÄÄÄÄÄÄÄÄÄ¿ ³LAN ³ ³MICRO ³ ³RAINBOW³³VAXSTATION³ ³BRIDGE ³ ³PDP-11³ ³100 ³³II/GPX ³ ³100 ³ ÀÄÄÂÄÄÄÙ ÀÄÄÄÂÄÄÄÙÀÄÄÄÄÂÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄ´ ³ ÚÄÄÁÄÄ¿ ³ ³ ÀÄÄÄÄÄÄ´DELNIÃÄÄÄÄÄÄÙ ³ ÀÄÄÂÄÄÙ ETHERNET ³³ ÚÄÄÄÄÄÄÄÂÄÄÄÄÄÁÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÙ ÚÄÄÄÁÄÄ¿ ÚÄÁÄ¿ ÚÄÄÄÄÄÁÄÄÄÄ¿ ³PDP-11³ ³PRO³ ³MICROVAXIIÃÄÄÄÄÄ¿ ÀÄÄÄÄÄÄÙ ³350³ ÀÄÄÄÄÄÄÄÄÄÄÙ ³ END ÀÄÄÄÙ ROUTER ÚÄÁÄÄÄ¿ NODE END ³MODEMÃÄÄ¿ NODE ÀÄÄÄÄÄÙ ³ ³ ÚÄÄÄÄÄÄÁÄÄÄÄÄ¿ ³MICROVAX3500³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ END NODE The above is a Wide Area Network, and as you can tell you can have quite a bit hooked up to a small network, and before sending over a modem or satelite or whatever, you could be in one network, and have just one modem hooked up to it. So you get an idea of how a network can be wide or can be as small as just a PDP-11 hooked up with a Microvax 3500, like below: ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄ¿ ÚÄÄÄÄÄÄÄÄÄÄÄÄ¿ ³PDP-11ÃÄÄÄ´MODEMÃÄÄÄÄÄ´MICROVAX3500³ ÀÄÄÄÄÄÄÙ ÀÄÄÄÄÄÙ ÀÄÄÄÄÄÄÄÄÄÄÄÄÙ Below is yet another typical network, this will show you access to a non-dec network or how typical it is to be spread out around the world: ÚÄÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ÚÄÄÄÄÄÄ¿ ³BOSTON ÃÂÄÄÄÄÄÄÄÄÄÄÄÄ´ PSDN ÃÄÄÄÄÄÄÄÄÄÄ´LONDON³ ÀÄÄÄÄÄÄÄÙ³ ÀÄÄÄÄÄÄÙ ÀÄÄÄÄÄÄÙ ³ ³ ³ ÚÄÄÄÄÄÄÄÄ´ ³NEW YORK³ ÀÄÄÄÂÄÄÄÄÙ ³ ³ ETHERNET ³ ÚÄÄÄÁÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÙ ³ ÚÄÄÄÄÁÄÄÄÄ¿ ³ GATEWAY ÃÄÄÄÄÄÄ¿ ÀÄÄÄÄÄÄÄÄÄÙ ³ ÚÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄ¿ ³IBM SNA NETWORK³ ÀÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÙ The above example is sorta the same example that Mark Hess used to cross over into the US during his stunt with Clifford Stroll. Read The CooKoo's Egg, then you'll get a real understanding of Networks and such. A PSDN is short for PACKET SWITCHING DATA NETWORK or TYMNET or TELENET those are PSDN's and with the right accounts you can cross the transatlantic rather than just the US borders. Wondering how the two Cities are connected together? They use a format called DDCMP CONNECTIONS, these are dedicated phone lines, connecting the two and sharing information using their own form of Protocols. DDCP Message format are in three different types: data, control and maintenance. Data messages consist of user data. Control messages return acknowledgements and other control information to ensure data integrity and error-free transmission. Maintenance messages consist of information for downline loading, upline dumping, link testing, or controlling a remotely located, adjacent system. $_DATA LINK PROTOCOLS Currently (1984), there are three protocols residing in the DNA Data Link layer: Digital Data Communications Message Protocol (DDCMP)-a byte oriented protocol. Ethernet Protocol-Carrier Sense Multiple Access w/ Collision Detect (CSMA/CD) w/ physical channel encoding and operating over a coaxial cable. X.25 Levels 2 and 3-Operating over Level 1 of the CCITT X.25 recommendation, which defines a standard interface between data terminal equipment(DTE), such as a DECnet node,and the data circuit terminating equipment (DCE) of a packet-switched data network. $_DDCMP DDCMP was designed in 1974 specifically for the Digital Network Architecture. DDCMP is functionally similar to HDLC-High Level Data Link Control-which was adopted in 1975 by the Internation Standards Organization.(HDLC is a BIT oriented protocol however) Another type of data link protocol that is commonly implemented is BISYNC, which is CHARACTER oriented. There are three general types of data link protocols: byte oriented, character oriented, and bit oriented. DDCMP is a byte oriented protocol. Such protocol provides a count of the number of bytes that are sent in the data portion of each message. A character oriented protocol uses special ASCII characters to indicate the beginning of a message and the end of a block of text, and a bit oriented protocol uses flags to frame data sent in undefined lengths. Neither the character oriented nor the bit oriented protocol contains provisions for checking whether all the transmitted data has arrived at its destination. The advantage of a byte count in a byte oriented protocol is that it facilitates checking on the part of the receiving node to see whether all transmitted data has been received. DDCMP is a general purpose protocol. It makes maximum use of channel bandwidth and handles data transparency efficiently. Data Transparency is the capaility of receiving, w/out misinterpretation, data containing bit patters that resemble protocol control characters. Character oriented protocols can not handle transparent data as efficiently as byte or bit oriented protocols. DDCMP transmits data grouped into phsyical blocks known as data messages and provides a mechanism for exchanging error-free messages. This mechanism works in the following manner: DDCMP assigns a number to each data message, beginning w/ the number one (after each initialization) and incremented by one for each subsequent data message. In addition, DDCMP places a 16-bit cyclic redundancy check (CRC16) error detection polynominal at the end of each data message transmitted. The receiving DDCMP module checks for errors and, if there are none, returns an acknowledgement that it has received the message. Acknowledgement is efficient since the receiving DDCMP module does not have to acknowledge each message sent. Acknowledgement of data messages n implies acknoledgement of all data messages up to and including data message n. If the receiving DDCMP module detects an error, it uses time-outs and control messages to resynchronize and trigger retransmission. DATA MESSAGES DDCMP formats all messages from the Routing Layer into a data message format: SOH COUNT FLAGS RESP NUM ADDR BLKCK1 DATA BLKCK2 8 14 2 8 8 8 16 8n 16 SOH = The numbered data message identifier COUNT = The byte count field FLAGS = The link flags RESP = The response number NUM = The transmit number ADDR = The station address field BLCK1 = The block check on the numbered message header DATA = The n-byte data field, where 0 < n = COUNT < 2(14) BLCK2 = The block check on the data field MAINTENANCE MESSAGES Maintenance Message is a DDCMP evenlope for data controlling downline loading and upline dumping, and controlling unattended computer system. DLE COUNT FLAGS FILL FILL ADDR BLKCK1 DATA BLCKCK2 8 14 2 8 8 8 16 8n 16 DLE = The maintenance message identifier COUNT = The byte count field FLAGS = The link flags FILL = A fill byte with a value of 0 ADDR = The tributary address field BLCKCK1 = The header block check on fields DLE through ADDR DATA = The n-byte data field, where 0 systems= \ devices= \ dialers= Where service name is "uucico" or "cu". Each file list is a list of colon-separated file names. File names are relative to /usr/lib/uucp unless a full path name is given. Files are searched in the order that they appear in the file list. The defaults are the usual uucp files: /usr/lib/uucp/Systems, README Page 3 /usr/lib/uucp/Devices and /usr/lib/uucp/Dialers. EXAMPLE 1: This example uses different systems and dialers file to separate the uucico- and cu-specific information, with information that they use in common still in the "usual" Systems and Dialers files. service=uucico systems=Systems.cico:Systems \ dialers=Dialers.cico:Dialers service=cu systems=Systems.cu:Systems \ dialers=Dialers.cu:Dialers EXAMPLE 2: This example uses the same systems files for uucico and cu, but has split the Systems file into local, company-wide, and global files. service=uucico systems=Systems.local:Systems.company:Systems service=cu systems=Systems.local:Systems.company:Systems # # # (/usr/lib/uucp/Systems) --------------------------------------------------------------------------- The Systems file (/usr/lib/uucp/Systems) corresponds to the old L.sys file. Each line is used to describe a system and a way to get to that system, and how to login when the connection is established. When calling out, uucp will try to use each line of this file, in order, until it can make a connection and tries to login. If the login fails, the work is postponed. The format is six space-separated fields: NAME TIME TYPE CLASS PHONE LOGIN No leading white space. Lines beginning with '#' are comments. The NAME is the system name of the remote system. The system name should contain NO slashes and may be up to eight characters which is the limit of the nodename structure in the kernel. A system name of T32_600 is allowed while T32/600 causes errors and should not be used. Every system which you call should have at least one entry. It is possible to have anonymous (strangers) call in, but it is not desirable from a security point of view. More on this later in the section about Permissions and remote.unkno. The TIME field indicates when this phone number/class may be used to establish a connection. This field has a day field, followed by an optional time-of-day field, followed by an optional retry field. There are no spaces separating subfields. The day string is a list of one or more day abbreviations: README Page 4 Su Mo Tu We Th Fr Sa or: Wk - meaning any weekday or: Any - meaning any day or: Never - for no calls out to this system, call in only The TIME field is optional (none means any time) and is a range such as: 1730-0730 - which means 5:30 P.M.to 7:30 A.M. The RETRY field, if present, consists of a semicolon followed by the number of minutes to wait before retrying if the dial fails. Otherwise the number is retried (once) almost immediately. The TYPE field is used to find a device or port to dial-out on. It MUST match the FIRST field of a line in the Devices file. The most common entry is "ACU", which is used for 801-type acus as well as smart modems. You may also use any other name for other types of connections. The CLASS field is used to further restrict the search for an available device. It is also used to set the speed of the connection. The class field may contain a letter as well as the speed: D1200 The above example will only match a Devices file line with Class Field of "D1200" or "Any". The CLASS field of the Systems file may also use the key word "Any" which will match with the Devices file of the same type. If the match involves "Any", then in each file 1200 bps is assumed. The fifth field is the "PHONE" field and is the phone number that will be sent to the dialing device. There are two possibilities. First, Phone can contain a phone number, with an optional alphabetic prefix that will be translated from the Dialcodes file. In the string there are two other abbreviations: '=' and '-'. The '=' indicates that the dialer should pause and wait for another dial tone. A '-' means to pause for approximately four seconds. It is also possible to have other information in the Phone field to be used to connect through an intelligent switch to another system. In this case the field can be sent untranslated. Translation is controlled by the contents of the Devices file. The last field(s) are the "expect send" pairs that are typical of the login sequence. This field is not processed until the connection has been established. The first subfield is an expect subfield; to send first a null "expect" may be designated by "". An "expect" may itself have subfields separated by '-': expect1-send1-expect2-send2-expect3 and so on, ending with an expect. Send fields may have certain abbreviations embedded in them: \c - at the end of a send field indicate no newline is to be sent otherwise a newline is sent by default \r - send a carriage return README Page 5 \n - send a newline \N - send a null \b - send a backspace \d - delay 2 seconds \p - pause .25 to .5 seconds \s - send a space character \t - send a tab character \\ - send the backslash EOT- send an EOT (actually the EOT\n pair is sent twice) BREAK - send a break \nnn - convert the octal digits nnn to a character and send An example: xyz Any;2 ACU 1200 ACpa-555-6695 "" \n ogin--ogin-EOT-ogin--ogin-BREAK-ogin nuucp This line is for the remote system "xyz". We may dial at any time, wait two minutes in case of failure. Uucp will normally try the same number twice. Uucp will use some kind of ACU or dialing modem. The first available line from the Devices file that has a first field with "ACU" will be used. The system that this particular example comes from, uses a Hayes Smartmodem. The phone number passed to the dialing routine will be 555-6695 plus whatever ACpa is specified as in the Dialcodes file (probably 1-215, the area code for Southeastern Pa). Pauses will be placed after the area code and also after the exchange number. After connection is established by the dialer, a newline will be sent. It will be sent without waiting because of the initial null expect field. If the response comes back with "ogin" embedded in it, "nuucp" will be sent; if not, another newline is sent (the -- ). If ogin is still not received EOT\n is sent twice. If that doesn't do it another newline is sent. And if that doesn't work a break is sent. If that fails to get "ogin" the login sequence is aborted and uucp gives up the attempt for the time being. MORE Systems file examples ----- NAME TIME TYPE CLASS PHONE LOGIN # A direct connection kudzu Any kudzu 9600 - "" \r\d\r\d\r\d\r ogin: nuucp ssword: sniglet kudzu - the remote system's name Any - call any time kudzu - matches the first field of a line in the Devices file README Page 6 9600 - the speed "-" - no phone number "" \r\d\r\d\r\d\r ogin: nuucp ssword: sniglet - the expect/send string. --- # Towernet connection - for systems that support Towernet #####NOTE -- A default Towernet line has already been added to the Devices file. If you do not have Towernet on your Tower 32, this line is ignored. zebra Any tnet,e Any - zebra - the remote systems name Any - call any time tnet,e - is an arbitrary name that matches the first field in the Devices file and ,e means "use e protocol" Any - CLASS field since uucp will be using Towernet, the word Any is sufficient. - - acts as a null space holder for the phone field. It is recommended that either e or f protocol be used for Towernet uucp connections (SEE the Towernet section of this README file). The protocol selection is done either in the Systems file or may also be done in the Devices file or both. The following are examples of ways that protocols can be selected for uucp file transfer : If the Systems file looks like : zebra Any tnet Any - and the Devices file looks like: tnet - - Any XNS THEN -- you will be using the default g protocol, which may cause the problem noted in the Towernet section of this README file. Instead, use either the f or e protocols as follows : --- If the Systems file looks like : zebra Any tnet,e Any - and the Devices file looks like: tnet - - Any XNS then e protocol will be used. --- If the Systems file looks like : zebra Any tnet Any - and the Devices file looks like: tnet,e - - Any XNS then e protocol will be used. --- If the Systems file looks like : zebra Any tnet,f Any - and the Devices file looks like: tnet,f - - Any XNS then f protocol will be used. --- README Page 7 Please refer to the uucp section of the Superuser Guide for more information on protocol selection. --- more Systems file examples #log in kudzu first try 2400 on both lines then try 1200 baud kudzu Any ACU 2400 =794-6666 "" \r\r@\d@\d@\d@\d@\d@\d@\d ogin-BREAK-ogin--ogin-BREAK-ogin-BREAK-ogin-BREAK-ogin nuucp kudzu Any ACU 2400 =794-6281 "" \r\r@\d@\d@\d@\d@\d@\d@\d ogin-BREAK-ogin--ogin-BREAK-ogin-BREAK-ogin-BREAK-ogin nuucp kudzu Any ACU 1200 =794-6666 "" \r\r@\d@\d@\d@\d@\d@\d@\d ogin-BREAK-ogin--ogin-BREAK-ogin-BREAK-ogin-BREAK-ogin nuucp kudzu Any ACU 1200 =794-6281 "" \r\r@\d@\d@\d@\d@\d@\d@\d ogin-BREAK-ogin--ogin-BREAK-ogin-BREAK-ogin-BREAK-ogin nuucp # direct to modem hayes12 Any hayes12 1200 hayes24 Any hayes24 2400 # # # (/usr/lib/uucp/Devices) ---------------------------------------------------------------------------- NOTE*** When you remove entries from the Devices file, you must remove the corresponding entry in the /etc/inittab file for proper construction of the Administrator terminal and printer lists. For information on modem settings refer to the Hardware Service Manual. The Devices file corresponds to the L-devices file of the old uucp. Each line describes a line and a use of that line to make a connection. Each line has the following format: TYPE LINE LINE2 CLASS DIALER TOKEN [DIALER TOKEN] ... Both type and class will be matched from a line in the Systems file. Comments beginning with '#' or white space are ignored. The TYPE field may be any name, but should match the third field of the Systems file. For direct connections the TYPE field is usually the remote system's name. It is of importance to note that for cu connection, the TYPE field of the Devices file MUST have the word "Direct" with a capital "D". "ACU" is used for all lines that use either a dialable smart modem or a real acu. For Towernet connections, the TYPE field may be followed by ",e" or ",f" to specify the correct protocol. The LINE field should contain the name of the device through which the connection will be made. For example, "ttya" will mean that the connection will be attempted through "/dev/ttya". For entries that use XNS ( for Towernet ) in the dialer field this should be "-". README Page 8 The CLASS field has the same format and is matched to the class field of the line from the Systems file. The LINE2 (3rd) field should be "-" on most Tower 32 systems. It is the name of the auxiliary device port to which a good-old-fashioned 801-ACU is attached. The DIALER field is used to select the method of making the connection. The field must match either one of the builtin dialers, the first field of one line in the Dialers file. The word "direct" can be used on direct connections and cu connections. It matches a line in the Dialers file with a null script. The word "XNS" is used for Towernet connections. Current reserved names for builtins are: "801" 801 ACU Dialer "212" 801 ACU Dialer "TCP" 4.2BSD sockets "Unetserver" 3Com implementation of TCP "DK", Datakit Network "XNS" Towernet, XNS (xsp service) "direct" direct RS232 connections Builtins are checked first and then the Dialers file for all remaining dialer fields. The last field is the string to be sent to the dialer. If none is present or if only an \D or \T is present then the Phone field from the Systems file is processed. \D ensures that the contents of the PHONE field of the Systems file will not be interpreted as a valid entry in the Dialcodes file, while \T ensures that it will. Multiple dialer-token pairs may be present. Only the last token may be missing. Devices file EXAMPLES: --- Direct tty03 - 9600 direct A cu connection where : Direct - specifies that this is to be used by cu tty03 - /dev/tty03 will be the port used by cu "-" - no 801 ACU 9600 - 9600 bps direct - matches a null script in the Dialers file --- NOTE ::: FOR SYSTEMS THAT SUPPORT TOWERNET tnet,e - - Any XNS A Towernet connection where: tnet - matches third field in systems file README Page 9 ,e - e protocol for Towernet - - no tty port - - no 801 ACU Any - speed is of no concern since it will be a Towernet transmission XNS - specifies Towernet connection --- more examples---- ACU tty04 - 2400 hayes \T ACU tty05 - 1200 hayes \D # # # (/usr/lib/uucp/Dialers) --- This file contains one line scripts that directs the handshaking that takes place between the system and various types of dialers. The first field is the name of the dialer and is matched against the dialer field of the Devices file. Comment lines start with "#" or white space. The second field is a set of translations and may be null (""). These translations usually are used to map "=" and "-" into the appropriate characters for the dialer. Other translations may be specified. The remaining fields are expect-send strings. The escape sequence permitted in the send strings are: \p - pause (.25 to .5 sec) \d - delay (approx. 2 sec.) \D - take Phone field from Systems file OR token from Devices file WITHOUT Dialcodes translation \T - same as \D but WITH Dialcodes translation \N - null byte \K - send a Break \E - enable echo checking (send a char, wait 'til its received, send the next, wait ...) good if the device is slow and echos. \e - disable echo checking \r - send a carriage return \c - (at end of string) don't send a newline \n - send a newline \nnn - convert octal nnn to a character and send An example: hayes =,-, "" \dAT\r\c OK\r \EATDT\T\r\c CONNECT hayes - matched against the Devices file dialer field, this field is usually the name of the dialer README Page 10 =,-, - the "=" (wait for dial tone) is translated to "," (pause) since the Hayes Smartmodem 1200 does not have the ability to recognize dial tone; the standard pause character "-" is also translated to "," "" - expect nothing, i.e. send first \dAT\r\c - wait 2 sec, send AT followed by a carriage return with no newline OK\r - expect OK followed by a carriage return \EATDT\T\r\c - turn on echo checking and send ATDT followed by the phone number as translated by the Dialcodes file, this is followed by a carriage return without a newline. CONNECT - the script successfully completes if CONNECT is received A SAMPLE Dialers file --------------------- penril =W-P "" \d > s\p9\c )-W\p\r\ds\p9\c-) y\c : \E\DP > 9\c OK ventel =&-% "" \r\p \r\p-\r\p-$ \c ONLINE! rixon =&-% "" \r\p \r\p-\r\p-$ \c ONLINE! vadic =K-K "" \005\p *-\005\p-*\005\p-* D\p BER? \E\D\e \r\c LINE develcon "" "" \pr\ps\c est:\007 \D \007 micom "" "" \s\c NAME? \D\r\c GO hayes =,-, "" \dAT\r\c K\r \dAT\r\c K\r \EATDT\T\r\d\d\d\d\d\c CONNECT hayes24=,-, "" \dAT\r\c K\r \dAT\r\c K\r \EATDT\T\r\d\d\d\d\d\c CONNECT bbox =,-, "" \dATB3\r\c K\r \dAT\r\c K\r \EATDT\T\r\d\d\d\d\d\c CONNECT direct XNS --- # # # (/usr/lib/uucp/Dialcodes) --- The Dialcodes file is a list of abbreviations and their translations. Abbreviations are alpha strings and the corresponding translation is passed to the dialer. An example: INRB 77=440- INRB - an abbreviation meaning Internet-Rancho Bernardo is translated to 77, wait for dial tone then send 440. From the code, it appears that the Dialcodes file has no formal mechanism for comments, any abbreviation that never matches will do, or the translation field may be followed by a comment. README Page 11 (/usr/lib/uucp/Permissions) --- The Permissions file is the heart of security administration for uucp. Comment lines start with a '#'. The format of the Permissions file is a sequence of logical lines of "option=value" assignments. Logical lines may consist of multiple physical lines by escaping the newline with "\". There are two types of logical lines or entries in the Permissions file. These are LOGNAME entries and MACHINE entries. These entries are composed of white space delimited "option=value" assignments. No white space is permitted in these assignments. LOGNAME entries will have a LOGNAME assignment in it. Likewise MACHINE entries will have a MACHINE assignment. All login IDs used by remote systems to login for UUCP transfers MUST be specified in exactly one LOGNAME entry. In the case of Towernet connections, where no actual login takes place, a LOGNAME entry must exist for the uid under which the server (/usr/bin/server) runs, usually root. REQUEST assignment ------------------ "REQUEST=yes" or "REQUEST=no" : In a LOGNAME entry this specifies whether the local host will permit the remote to ask for files to be sent to the remote, when the remote calls in. In a MACHINE entry it specifies whether the remote may request files when the local host calls the remote. The default is REQUEST=no, the remote may not request files. SENDFILES assignment -------------------- The SENDFILES assignment applies only to LOGNAME entries. "SENDFILES=yes" indicates that the local host will send files to the remote if the remote calls. "SENDFILES=call" means to only send if the local host calls the remote. The latter is more secure. The default is "SENDFILES=call". The yes option needs to be specified for passive relationships, i.e. the local machine never calls. READ and WRITE -------------- The READ and WRITE assignments specify which SUBTREES of a system a remote machine may access. The format of the value is a colon separated list of directory path names: READ=/usr/news:/usr/spool/uucppublic The defaults are: READ=/usr/spool/uucppublic WRITE=/usr/spool/uucppublic The READ and WRITE assignments in the LOGNAME entry specify the README Page 12 privileges of any machine that logs in with that user name. This should be very restrictive for commonly used user names or user names without password protection. These assignments in a MACHINE entry specify the permissions when the local host calls the remote. READ=/ WRITE=/ is a wide-open machine. Specification of READ and WRITE replaces the defaults, it does not add to the defaults. NOREAD and NOWRITE ------------------ Exceptions to the READ and WRITE access permissions may be specified in NOREAD and NOWRITE assignments. These have the same format as the READ and WRITE assignments. READ=/ NOREAD=/etc The above combination implies that the remote system may read any file on the system except those whose path names begin with "/etc". CALLBACK -------- This option only applies to LOGNAME entries and indicates whether to accept ANY work from a remote, or whether to call back first. CALLBACK=yes means that no work will be done until the local host returns the call. CALLBACK=no is the default. If both machines specify CALLBACK=yes, nothing will get done, so assign this carefully. COMMANDS -------- The COMMANDS assignment is a colon separated list of commands that a remote may specify. This assignment only applies to the MACHINE entry. The default is "COMMANDS=rmail". The command specified may be a filename or a path name. If the path name is specified then all requests for the corresponding filename will use the specified path name. COMMANDS=rmail:/usr/bin/ls:/usr/lbin/rnews This specifies that rmail, ls, and rnews may be "uux'd" from the remote. Furthermore the "ls" used will be /usr/bin/ls (regardless of search path) and rnews will come out of /usr/lbin. The default search path for commands is "/bin:/usr/bin:/usr/lbin". To permit full access, the assignment "COMMANDS=ALL" can be used. To allow forwarding specify "uucp" in the COMMANDS assignment. README Page 13 VALIDATE -------- The VALIDATE assignment applies only to LOGNAME entries but is a means of tying a particular machine to a particular user name. The assignment is a colon separated list of machine names. If a machine calls in and claims to be machine xxx, and VALIDATE=xxx is specified for a LOGNAME=Uxxx then the call will be terminated unless the caller logged in with user name "Uxxx". MACHINE ------- A MACHINE assignment makes an entry a MACHINE entry. The assignment is a colon separated list of machines (taken from the Systems file) or the keyword "OTHER". The latter is used to specify a set of defaults for machines that are not listed in any entry. All other assignments in the entry apply to each machine named in the MACHINE assignment. For uux to work properly on the local system, there should be a MACHINE assignment entry for the local machine (ie. - MACHINE="local system name") in the local machines /usr/lib/uucp/Permissions file with the allowable commands defined. LOGNAME ------- The LOGNAME assignment is a single user name by which a uucp connection can be initiated. A LOGNAME and MACHINE entry can be combined into a single entry. Example: -------- LOGNAME=nuucp \ REQUEST=yes \ SENDFILES=yes \ READ=/usr/spool/uucppublic \ README Page 14 WRITE=/usr/spool/uucppublic \ NOREAD= \ NOWRITE= \ CALLBACK=no # Any machine that logs in as nuucp can request files and we will send # files on the connection. On requests by the remote to read or write # into /usr/spool/uucppublic or a subdirectory will be honored. We call # the local machine "kudzu" for this connection. A tilde in a request # is translated to "/usr/spool/uucppublic". LOGNAME=UncrsdX \ REQUEST=yes \ SENDFILES=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ NOREAD= \ NOWRITE= \ CALLBACK=no \ VALIDATE=ncr-sd # # The VALIDATE command specifies that ncr-sd must log in as UncrsdX # any other user name used by ncr-sd would be considered an imposter # MACHINE=ncr-sd \ REQUEST=yes \ SENDFILES=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ NOREAD= \ NOWRITE= \ COMMANDS=ALL # # The COMMANDS=ALL means any uux request will be accepted. This is the # reason that the VALIDATE assignment is used in LOGNAME=UncrsdX to # ensure that more commonly known user names and passwords are not used # by an imposter posing as ncr-sd MACHINE=OTHER \ REQUEST=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ COMMANDS=rmail # # # README Page 15 LOGNAME=root \ REQUEST=yes \ SENDFILES=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ CALLBACK=no # The LOGNAME=root entry in the Permissions file is necessary for Towernet connections. MORE, yes more, /usr/lib/uucp/Permissions file EXAMPLES -- MACHINE=bambi:doozer:grok:gollum:giggle \ REQUEST=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ NOREAD= \ NOWRITE= \ COMMANDS=rmail:uucp:lp:lpr:help:print:who:ls:rnews:cunbatch MACHINE=OTHER \ REQUEST=yes \ READ=/usr/spool/uucppublic \ WRITE=/usr/spool/uucppublic \ COMMANDS=rmail NOTE** There should be a machine file entry for the local machine with the appropriate commands so that uux will work on the local machine. # # (/usr/lib/uucp/Maxuuscheds and /usr/lib/uucp/Maxuuxqts) --- These two files contain a single line with the number of simultaneous uuxqts and simultaneous uuscheds that can be running. The number is given in ascii. A value of 1 or 2 is common. Note that processes such as news that assume that single threading is provided by uuxqt require a Maxuuxqts of 1. # # # (/usr/lib/uucp/remote.unkno) --- If remote.unkno exists and is executable in /usr/lib/uucp then any system not listed in the Systems file will not be permitted to make a connection. Moreover, remote.unkno is executed with its first (and only) argument, the name of the calling system. This can be used to log the attempt in a log file or by mailing a message to the uucp administrator concerning the unknown system. README Page 16 # # # (/usr/lib/uucp/Crontab) --- A sample crontab for uucp is recorded in /usr/lib/uucp/Crontab. This crontab should also be present on your system as - /usr/spool/cron/crontabs/uucp. See crontab(1) for more information. # # # (/usr/lib/uucp/Poll) --- Poll is a list of machines and the times at which they should be polled. The first field is a machine name, followed by a TAB followed by a space separated list of hours at which to call. EXAMPLE POLL FILE # "system hour1 hour2 hour3 ..." lines for polling remote systems. # # Lines starting with # are ignored. # NOTE a tab must follow the machine name unit1 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 unit2 9 16 23 unit3 8 10 12 14 16 unit6 8 10 12 14 16 ncrcae 8 10 12 14 16 18 20 22 # # # (/usr/lib/uucp/uugetty) --- This is a version of getty that can be used on a port allowing both dial-in and dial-out connections. Uugetty is identical to getty(1M) but changes have been made to support using the line for uucico, cu, and ct for bidirectional exchange of information. Uugetty should not be used to call into a single direction getty. More on this later when describing a direct connect to a unit which does not support the newer uucp. Please refer to the uugetty man page for more information. # # # README Page 17 (/usr/lib/uucp/uudemon.adm, /usr/lib/uucp/uudemon.clup, /usr/lib/uucp/uudemon.hour, /usr/lib/uucp/uudemon.poll) --- These are the demon scripts invoked by cron. Change as you wish but be careful. # # XNS and Towernet considerations -- FOR SYSTEMS THAT SUPPORT TOWERNET --- As mentioned above, a uucp connection over Towernet initiated by a remote system requires a LOGNAME=root entry. /etc/service.db --------------- Put the following line in /etc/service.db: 1:uucp:xsp:444:/usr/lib/uucp/xnsuucico:: /etc/towernet.db ---------------- Put the following line in /etc/towernet.db: uucp_socket:444 ** On the Tower 32, these two lines should already exist in the files /etc/towernet.db and /etc/service.db if Towernet has been installed. One problem has been noted when using g protocol for file transfer over Towernet connections. The file transfer proceeds without fail, but either one or both sides of the connection will leave a process hanging. On the slave side, the process "uucico -uroot" may be seen in the process table, but it will not be accumulating any more processor time. Sometimes it may be possible to simply kill this process, but if it won't "die", then Towernet must be taken down and then restarted again. The master side, or the side that initiated the call ( and also the machine that determines what protocol will be used ) may not have a process hanging, or may have a uucico process hanging. Again, go ahead and try to kill this process. The solution at this time, is to specify use of either the e or the f protocol for file transfer over Towernet in either the Systems file, the Devices file or both. A default entry has been provided in the Devices file for Towernet connections. When adding the corresponding Systems file entry, the administrator should use the type name(3rd field) "tnet" to utilize the correct Devices file entry. The uucp section of the Superuser Guide has more detailed information on protocol selection. # # # (/usr/lib/uucp/uukick, /usr/lib/uucp/Uutry --- The files uukick and Uutry, are shell scripts which enable the user to start the uucico daemon when retry time has not yet been reached. README Page 18 The scripts are all variations on the same theme of removing the status file, and starting uucico. Uukick will place the uucico in the background. Uutry will place the diagnostic output of uucico in a file called /tmp/systemname where systemname is the name of the remote system. To start uukick for the remote system pookey : uukick pookey Reference the Uutry man page for more information. --- Connection of a unit running the newer uucp(the uucp installed on the Tower32 is the newer uucp) and another using the older uucp. When you are faced with situation of establishing a link with a computer running the older version of uucp, then it must be established which system will be designated as the calling unit (the master or active unit) and which will be the unit to be called (passive or slave unit). If the system running the older version of uucp is the master unit, then either uugetty or getty can be used to receive the call on the system running the newer version of uucp. However if the system running the newer uucp is the master unit, then uugetty cannot be used to call. The master unit must use a dialout only line to call the system running the older version of uucp. As an example, let us designate the system running the newer uucp as the master or calling unit. The /etc/inittab for the master unit will have the following entry : t01:1:off:/etc/getty tty01 9600 un The un designates "unknown" terminal type. A terminal type is needed, as shown above, on the Tower32 (if acting as master) so that the Administrator's terminal listing is correct for the direct connection to a system with the old uucp. The line is acting as a raw line and no getty is being respawned. The Poll file on the master unit must be set up to poll the slave unit periodically to see if the slave unit has work queued for it. The master unit's Systems file example : slave_name Any slave_name 9600 - "" \r\d\r\d\r login: nuucp The master unit's Devices file example : slave_name tty01 - 9600 direct --- Since the slave unit must wait to be polled by the master unit, its'(the slave's) USERFILE file must be set-up to allow the master unit to take any work that the slave has queued for it. This can be accomplished by having the README Page 19 USERFILE set up as follows : ,Master_unit / nuucp, / This, of course, has no restrictions. *The slave unit's /etc/inittab file must respawn getty with an entry similar to the following in /etc/inittab : t02:1:respawn:/etc/getty tty02 9600 *Slaves L-devices file should exist but with a length of zero. *Slaves L.sys file example Master_unit NONE Slave 9600 tty02 The device, /dev/tty02 in this case, should have 0666 permissions. chmod 0666 /dev/tty02 The owner of the line should be uucp. chown uucp /dev/tty02 Please consult the appropriate superuser guide for further information on setting up the uucp files for the older version of uucp. NEW FEATURES ============ Uucp can now handle modems with full modem control. This is indicated to uucico by a new syntax in the Devices file. If the line field of the active line of the Devices file has a ';N' termination, dialing will take place WITHOUT waiting for modem signals (like DCD or DSR). Later in the same line a trailing ';C' on a dialer entry indicates when to expect carrier (et. al.) For example: ACU tty04;N - 1200 hayes;C \T This indicates that tty04 will not have carrier until the Hayes Smartmodem dialing sequence successfully completes. Cu and ct also support the new syntax in the Devices file. Note that no changes to the Devices file are required in order to operate as before. ============================================================================= / / / File 3 / NIA068 / / Tekno DCS HELP / / Judge Dredd / / / ABO[RT] [taskname][/PMD][/TERM=TTnn:] The ABORT command terminates execution of a specified task. taskname The name of the task to abort. If taskname is not specified, the task started by a RUN command from the issuing terminal (task TTnn) is aborted. The variable nn is the octal unit number of the issuing terminal. /PMD Forces a Postmortem Dump of the task. See also HELP PMD. /TERM=TTnn: (Privileged keyword.) Aborts a task requested from the specified terminal. The variable TTnn: can be a logical name assigned to the terminal (such as MYTERM), or it can be a physical device name and unit number (such as TT17:). Nonprivileged users can abort tasks requested from the issuing terminal. Privileged users can abort any tasks. ALT[ER] taskname/keyword(s) /PRI=n /RPRI=n /TERM=ttnn: The ALTER command changes the static or running priority of an installed task. Parameters: taskname Specifies the name of the task that is to have its running, or running and static priorities changed to n. n Specifies a priority in the range 1 to 250(decimal). The system assumes the specified value is octal unless you append a period to the number. For more information on the ALTER command keywords, type HELP ALT keyword. help brk BRK The BREAKPOINT TO XDT (BRK) command passes control to the Executive Deb ugging Tool (XDT), if it is currently loaded in your system. If XDT has not been loaded, the BRK command has no effect. If XDT is loaded in your system, all system activity halts and XDT prints a message on the console terminal in the following form: BE:nnnnn XDT> To return control to your CLI, type P. Proceeding from a breakpoint usually restores the system to the state that existed when you entered the BRK command. To enter the crash dump routine, type X at the XDT> prompt. The BRK command is privileged and must be issued from the console terminal. The CLI command establishes a command line interpreter other than MCR. Except for the /SHOW keyword, the command is privileged. The format and valid keywords for the CLI command are: CLI (/keyword) /DISABLE=cliname /ELIM=cliname or ELIM=* /ENABLE=cliname /INIT /MESSAGE=cliname:"message-text" /SHOW /UNOVR For more information, type HELP CLI keyword. The CLI /INIT command also accepts subkeywords that set various characteristics for the CLI. For more information, type: HELP CLI INIT. DEV[ICES] Displays information about all devices. DEV[ICES] dd: Displays information about units of device type dd:. DEV[ICES] dev: Displays information about the specified device. The parameter dev: can be either a physical or a logical device name (for example, DB3: or MYDEV). DEV[ICES] /LOG Displays a list of all logged-in terminals. The DEVICES display includes the symbolic names of all devices, the names of all devices of a particular type, the name of a specific device, or all logged-in terminals. help hello To log in on this system, you must have an account on the system. If you do not have an account, ask your system manager to create one for you. In addition to your last name or account number, you will also need to know the appropriate password. Log in to the system by typing HELLO (or LOGIN). Formats: HELLO System prompts for your name or account and password. HELLO name[/password] If you do not specify your password, the system prompts you for it. HELLO [grp,mem]/password Displays system messages after login. HELLO [grp/mem]/password Displays short form of system messages after login. The arguments g and m are the group and member numbers of your account UIC. The square brackets are optional. PAR[TITIONS] The PARTITION DEFINITIONS command displays on the entering terminal a description of each memory partition in the system. For each partition in the system, the name, octal address of the Partition Control Block, octal starting address, octal size, partition type, and description of partition occupant are displayed. LOA[D] dd:[/keyword(s)] /CTB=cca[,b...] /EXP=expname /FLAGS /HIGH /PAR=parname /SIZE=parsize /VEC The LOAD command reads a nonresident (loadable) device driver into memory. The parameter dd: represents a two-character ASCII loadable device driver name. For help on the LOAD command keywords, type HELP LOAD keyword. help run The RUN command initiates the execution of a task. The RUN command has five general forms, depending on the scheduling parameters and whether or not the task is installed. The five forms are as follows: 1. RUN immediately (HELP RUN NOW) 2. RUN at a time increment from now (HELP RUN LATER) 3. RUN at a time increment from clock unit synchronization (HELP RUN CLOCK) 4. RUN at an absolute time of day (HELP RUN ABSOLUTE) 5. Install, run immediately, and remove on exit (HELP RUN INSTALL) TAL [taskname] The TAL command displays the names and status of all tasks or of a specific task installed in the system. If taskname is not specified, information is displayed for all tasks installed in the system. The display format is the same as that of the ATL command. For more information, type HELP ATL. UNF[IX] taskname[/keyword] /REG /RON The UNFIX command frees a fixed task from memory, thus allowing tasks that are waiting for the partition in which the fixed task resides to compete for the partition. (If a fixed task exits or aborts, it still occupies the physical memory in the partition.) Keywords: /REG Unfixes a common region. /RON Unfixes the common, read-only segment of a multiuser task. The UNFIX command is the complement of the FIX command. ACD [function] The ANCILLARY CONTROL DRIVER (ACD) command loads and unloads character translation routines so that the terminal driver can translate between different character sets. Character translation in the terminal driver allows terminals that conform to other standards to use the DIGITAL Multinational Character Set. Functions: INSTALL filename AS NUMBER ident [ASSIGN LOGICAL] (Privileged function) REMOVE NUMBER ident (Privileged function) LINK term TO NUMBER ident (Nonprivileged function) UNLINK term (Nonprivileged function) For more information on these functions, type: HELP ACD INSTALL HELP ACD REMOVE HELP ACD LINK HELP ACD UNLINK The ASSIGN (ASN) command defines, deletes, or displays logical assignments on systems that select extended logical name support during system generation. Logical device assignments associate logical names with physical devices, pseudo devices, or other logical devices. Formats: ASN ppnn:=ll[nn]:[/keyword(s)] ! Creates assignments ASN [/keyword] ! Displays assignments ASN =[ll[nn]:][/keyword] ! Deletes assignments Keywords: /ALL /GR /TERM /GBL or /SYSTEM /LOGIN /FINAL The keywords are privileged options. For more information on the keywords, type HELP ASN keyword. For help on the ASN command formats, type: HELP ASN CREATE HELP ASN DISPLAY HELP ASN DELETE The BROADCAST command displays a specified message at one or more terminals. The general formats of the BROADCAST command are: BRO ttnn:message ! Sends a message to one terminal BRO ALL:message ! Sends a message to all terminals BRO LOG:message ! Sends a message to logged-in terminals BRO user-name message ! Sends a message to the user name of the person to receive it. (Systems with Resource Accounting only) BRO @filespec ! Sends a message contained in an indirect command file ALL and LOG are privileged options. If an indirect command file is used, each line has one of the following formats: ttnn:message ALL:message LOG:message user-name message CLQ[UEUE] The CLOCK QUEUE command displays on the entering terminal information about tasks currently in the clock queue. The information consists of the task names, the next time each task is to be run, and each task's reschedule interval (if one was specified). Any pending time-based schedule requests are displayed. help dfl The DEFINE LOGICALS (DFL) command assigns, deletes, and displays logical name assignments. Logical names can be assigned to devices, all or part of a file specification, and to other logical names. Formats: DFL = ! Deletes all local logical assignments DFL ens=lns[/keyword(s)] ! Creates logical name assignments DFL =[lns][/keyword] ! Deletes logical name assignments DFL [/keyword(s)] ! Displays logical name assignments Keywords (privileged options): /ALL /GR /TERM /GBL or /SYSTEM /LOGIN /FINAL For more information on the keywords, type: HELP DFL keyword For help on the DFL command formats, type: HELP DFL CREATE HELP DFL DISPLAY HELP DFL DELETE help login To log in on this system, you must have an account on the system. If you do not have an account, ask your system manager to create one for you. In addition to your last name or account number, you will also need to know the appropriate password. Log in to the system by typing LOGIN (or HELLO). Formats: LOGIN System prompts for name and password. LOGIN name[/password] If you do not specify your password, the system prompts you for it. LOGIN [g,m]/password Displays system messages after login. LOGIN [g/m]/password Displays short form of system messages after login. The arguments g and m are the group and member numbers of your account UIC. The square brackets are optional. REA[SSIGN] taskname lun ddnn: The REASSIGN command reassigns a task's logical unit numbers (LUNs) from one physical device unit to another. Parameters: taskname The name of the installed task whose static assignment is to be modified. lun The logical unit number to be reassigned. ddnn: The new device unit, which can be a physical, logical, or pseudo device name. SAV[E] [/keyword(s)] /WB /MOU="string" /SFILE="filespec" /CSR=x The SAVE command copies the current RSX-11M-PLUS system image (the contents of main memory) into the system image file from which the current image was booted. The command saves the image so that a hardware bootstrap or the BOOT command can later be used to reload and restart it. For help on the SAVE command keywords, type HELP SAVE keyword. TAS[KLIST] [taskname][/DEV=ddnn:] The TASKLIST command displays a description of each installed task. taskname The name of a specific task. /DEV=ddnn: Displays the names and status of all tasks installed from the specified device. If you specify both taskname and /DEV, the systems displays information about the task installed from that device. For information on the display contents, type HELP TAS CONTENTS. UNL[OAD] dd: [/keyword] /EXP=expname /VEC The UNLOAD command removes a loadable device driver or extended Executive partition (EXP) from memory. Note that loadable databases are not unloaded when a driver with a loadable database is unloaded. The parameter dd: represents the 2-character ASCII name of the device whose driver is to be unloaded. For information on the UNLOAD keywords, type HELP UNLOAD keyword. help acs ACS ddnn:/BLKS=n The ALLOCATE CHECKPOINT SPACE (ACS) command allocates or discontinues a checkpoint file on disk for systems that support dynamic allocation of checkpoint space. ACS is a privileged command. The variable n is the number of blocks to be allocated on device ddnn:. If n is zero, the use of the file is discontinued after all of the tasks checkpointed to it can be brought into memory and checkpointed elsewhere. ATL [taskname] The ACTIVE TASK LIST command displays on the entering terminal the names and status of all active tasks in the system, or the status of a particular task. If taskname is not specified, information is displayed for all active tasks in the system. If taskname is specified, only information for that (active) task is displayed. For information on task status codes, type HELP ATL STATUS. BYE [/NOHOLD] The BYE command logs you out of the system and disconnects the line (if you are logged in via a remote or DECnet line). BYE /HOLD The BYE /HOLD command also logs you out of the system; however, if you are logged in via a remote or DECnet line, the system holds the line so that you can log into another account. When BYE logs you out of the system, devices allocated to you are deallocated and your privately mounted devices are dismounted. All nonprivileged tasks and certain privileged tasks active on your terminal are aborted. If [1,2]SYSLOGOUT.CMD exists and a silent logout has not been requested, BYE executes the command file. help dcl DCL command-line The DCL command allows you to issue DCL commands from a terminal that is set to MCR. Instead of MCR processing the command line, DCL processes it. Note that the command-line must follow DCL syntax rules. For more help on DCL, type HELP/DCL. DMO ddnn:[["]volume-label["]][/keyword(s)] /DEV /TERM=term: /LOCK=option DMO /USER [/keyword(s)] /DEV /TERM=term: /LOCK=option The DISMOUNT command requests the file system to mark a volume for dismount and release its control blocks. The DISMOUNT /USER command dismounts all volumes that you have mounted. If you specify a volume-label, it is checked against the label on the volume to ensure that the proper volume is being dismounted. Privileged users can dismount any volume. For more information on the DISMOUNT keywords, type HELP DISMOUNT keyword. LUN[S] taskname The LUN command displays the static logical unit number assignments for a specified task. The display consists of a list of physical device units in one column and their corresponding LUNs in an adjoining column. Taskname is the name of the task for which the assignments are to be displayed. If a task is initiated by the install-run-remove option of the RUN command, the task has no static LUN assignments. Also, when a task is running, the display does not necessarily reflect the running task's assignments. (For example, the Executive directive ALUN$ issued from within the task can alter the LUN assignments.) help red RED[IRECT] nddnn:=oddnn: The REDIRECT command redirects all I/O requests previously directed to one physical device unit to another physical device unit. Parameters: nddnn: The new device unit to which subsequent requests will go. oddnn: The old device unit from which requests have been redirected. You can specify the logical names assigned to the devices or the physical device names and unit numbers (in the form ddnn:). help set SET /keyword=values The SET command dynamically changes characteristics of and displays information about the system, tasks, and devices. Only one keyword per command line is permitted. The valid keywords for the SET command are grouped according to the functions they perform, as follows: 1. Setting Device Characteristics (Type HELP SET DEVICE) 2. Establishing Directories (Type HELP SET DIRECTORY) 3. Controlling I/O Operations (Type HELP SET MAXPKT) 4. Modifying Memory Allocation (Type HELP SET MEMORY) 5. Networking (Type HELP SET HOST) 6. Using System Tasks and Utilities (Type HELP SET UTILITY) 7. Ensuring System Protection (Type HELP SET PROTECT) 8. Tuning the System (Type HELP SET SYSTEM) For help on individual keywords, type HELP SET keyword. TIM[E] [hrs:mins[:secs]] [m1/day/year] TIM[E] [hrs:mins[:secs]] [day-m2-year] The TIME command sets the current time of day, the current date, or both. If you do not specify a time or date, the system displays the current time and date on the entering terminal. For a description of the parameters for the TIME command, type: HELP TIME PARAMETERS UNS[TOP] [taskname][/TERM=TTnn:] The UNSTOP command continues execution of a task that has been stopped internally by the Executive. Parameters: taskname The name of the task. If taskname is not specified, the command unstops the task being run from the issuing terminal (task TTnn). /TERM=TTnn: (Privileged keyword.) Unstops the task requested from the specified terminal. help active ACT[IVE] [/keyword] /ALL /TERM=TTnn: The ACTIVE command displays at the entering terminal the names of all active tasks that have that terminal as their TI:. The display includes the octal number of the terminal that initiated each task. If you do not specify a keyword, the names of all active tasks for TI: are displayed. For more information, type HELP ACT keyword. BLK [taskname][/TERM=term:] The BLOCK command blocks an installed task, making it ineligible to execute or to compete for memory. taskname The name of the task to be blocked. If taskname is not specified, the task started by a RUN command from the issuing terminal (task TTnn) is blocked. /TERM=term: (Privileged keyword.) Blocks a task requested from the specified terminal. Term can be a logical name assigned to the terminal, or it can be a physical device and unit number for the terminal (in the form TTnn:). CAN[CEL] taskname The CANCEL command cancels time-based initiation requests for a task. These requests result from the Executive directive Run Task (RUN$) or any of the time-synchronized variations of the MCR command RUN that are placed in the clock queue. If any time-based schedule requests for the task exist, they are removed. However, if the task is currently active, its execution is not affected. Only a privileged user can enter a CANCEL command for a task not initiated from the issuing terminal. DEA[LLOCATE] [ddnn:] The DEALLOCATE command releases a private (allocated) device, thereby allowing other users to access it. The parameter ddnn: can be a logical name assigned to the device (such as MYDEV) or the physical device name and unit number. Privileged users may deallocate devices assigned to other than the issuing terminal. If no device is specified, all devices allocated to the issuing terminal are deallocated. FIX taskname[/keyword] /REG=regionname /RON=taskname The FIX command loads and locks a task into a partition in memory. The specified region or task must be installed, inactive, and not checkpointable. Fixed tasks remain physically in memory even after they exit. They do not have to be loaded when a request is made to run them. Keywords: /REG=regionname Fixes a common task region in memory. /RON=taskname Fixes a common, read-only segment of a multiuser task in memory. INI[TVOLUME] ddnn:["]volume-label["][/keyword(s)] Keywords: /ACCESS /BAD /DENS /EXT /FPRO /INDX /INF /LRU /MXF /OWNER /POS /PRO /SDI /UIC /VI /WIN The INITIALIZE VOLUME command produces a Files-11 formatted volume. ddnn: Specifies the device name and unit number of the volume to be initialized. volume-label Specifies a name for the volume being initialized. This is a required parameter. Specify up to 12 characters for disks and DECtape and up to 6 characters for magnetic tapes. For a summary of the INI command keywords, type HELP INI SUMMARY. For a summary of default values, type HELP INI DEFAULTS. For additional help on individual keywords, type HELP INI keyword. help mount The MOUNT command logically connects devices to Ancillary Control Processors (ACPs). There are two forms of the MOUNT command, depending on the device being mounted. Files-11 Disk or DECtape Format: MOU[NT] dev:[volume-label][/keyword(s)] Files-11 (ANSI) Magnetic Tape Format: MOU[NT] device-list:[file-set-ID] [/keyword(s)] For more information on these formats, type: HELP MOUNT FILES11 ! For help on Files-11 format. HELP MOUNT MAGTAPE ! For help on Magnetic Tape form at. HELP MOUNT EXAMPLE ! For examples of command usage. REM[OVE] taskname Deletes an entry (a task name) from the System Task Directory (STD) and thereby removes the task from the system. REM[OVE] region-name/REG Removes a region from the Common Block Directory (CBD). If a task is fixed in memory, the REMOVE command unfixes the task and then removes it. To remove a task that is currently executing, you must first abort the task. Note that a region cannot be removed if there are tasks installed in the system that reference that region. SSM message The SSM command inserts text into the Error Logging file (LB:[1,6]LOG.ERR). The text appears in the error log reports produced by the error log report generator. The message is a text string up to a maximum of 79 characters. UFD ddnn:[volume-label][g,m][/keyword(s)] /ALLOC=number /DEL /OWNER=[uic] /PRO=[system,owner,group,world] The USER FILE DIRECTORY command creates a User File Directory on a Files-11 volume and enters its name into the Master File Directory (MFD). Before creating a UFD, you must first initialize and mount the volume. ddnn: Device unit containing the volume on which the UFD being created will reside. volume-label If specified, the volume-label is compared to the label on the volume. If the names match, a UFD can be created. [g,m] The UIC for the UFD, which establishes the owner of the UFD. The variables g and m represent group and member numbers, respectively, and can be in the range 1 to 377 (8). The square brackets are required. For information on the keywords, type HELP UFD keyword. help boot BOO [filespec] (Privileged command.) The BOOT command bootstraps a system that exists as a task image file on a Files-11 volume. It provides a convenient means of terminating one system and initiating another, especially on minimum hardware configurations. Note that the BOOT command immediately terminates the system currently in operation and destroys any work in progress on the system. Therefore, you should not enter this command unless you are certain that you want to stop using your current system. The file specification (filespec) indicates where the bootstrappable system image resides. If you do not include a file specification, the BOOT command bootstraps the current system. For more information on the file specification format and default values, type: HELP BOOT FILE CBD [common-region-name [/TASKS]] The COMMON BLOCK DIRECTORY command displays information about all entries or a specific entry in the Common Block Directory. The directory is a table of all named common regions and libraries installed in the system. Parameters: common-region-name The name of a specific common region in the Common Block Directory. /TASKS Displays the name of each task attached to a specific common region and the number of times the task has mapped to the region (mapping count). DEB[UG] [taskname] The DEBUG command forces a task to trap to a debugging aid by setting the T-bit in the task's Processor Status Word (PSW). To debug a task, it must have been built with the /DA switch or have issued the Executive directive Specify SST Vector Table for Debugging Aid (SVDB$). Nonprivileged users can debug any nonprivileged task that was initiated from their own terminals (TI:). Privileged users can debug any task. Parameter: taskname Specifies the name of the task to be debugged. If you do not specify a task name, DEBUG searches for the task currently running from the issuing terminal (task TTnn). FLA [[ggg]/keyword] /CRE /ELIM The FLA command creates, eliminates, or displays group global event flags. If the group number is omitted, the system defaults to the login UIC group number of the issuing terminal. If you omit the group number and keyword specification, all the group global event flags are displayed. For more information, type HELP FLA keyword. help ins The INSTALL command makes a specified task known to the system. INS[TALL] [$]filespec[/keyword(s)] filespec ddnn:[g,m]filename.type;version $ Indicates the system or library UIC The INSTALL command supports the following keywords: /AFF /IOP /ROPAR /UIC /CKP /PAR /SEC /WB /CLI /PMD /SLV /XHR /DFB /PRI /SYNC /FMAP /PRO /TASK /INC /RON /TIME For a description of individual keywords, type HELP INSTALL keyword. OPE[N] memory-address [+ n] [/keyword] OPE[N] memory-address [- n] [/keyword] Keywords: /AFF=[CPx,UBy] /CPU=CPx /DRV=dd: /KNL /KNLD /KNLI /REG=region-name /TASK=taskname /TASKD /TASKI + or - n One or more optional octal numbers to be added to or subtracted from the memory address. The OPENREGISTER command allows you to examine and modify a word of memory. To open a location within a task, the task must be fixed in memory. This is a privileged command. For information on the keywords, type HELP OPEN keyword. For help on the OPEN command display format, type HELP OPEN DISPLAY. RES[UME] taskname[/TERM=TTnn:] The RESUME command continues execution of a previously suspended task. Parameters: taskname The name of the task that is to resume executing. If you omit the task name, the command attempts to resume task TTnn (where nn is the octal unit number of the issuing terminal). /TERM=term: (Privileged keyword.) Resumes a task initiated from the specified terminal. Term can be a logical name assigned to the terminal, or it can be the physical device and unit number for the terminal (in the form ttnn:). help swr SWR Displays the current value in the switch register. SWR value Deposits an octal number in the switch register. SWR bitposition/keyword /SET Sets the bit in the specified bit position. /CLEAR Clears the bit in the specified bit position. /DISPLAY Displays the bit in the specified bit position. Diagnostic functions use the values in the switch register to interrupt diagnostic processing and to select specific diagnostics to execute. For processors that do not have a console switch register, the Executive directive Get Sense Switches (GSSW$) accesses the software switch register (SWR$) in the Executive module SYSCM. To allow a task to access or modify $SWR, use the SWR command. UNB[LOCK] [taskname][/TERM=term:] The UNBLOCK command continues the execution of a blocked task. UNBLOCK is the complement of the BLOCK command. A nonprivileged user can unblock only those tasks whose TI: is the same as the issuing terminal. A privileged user can unblock any blocked task. Parameters: taskname The name of the task to be unblocked. If taskname is not specified, the command unblocks the task that was running from the issuing terminal (task TTnn). /TERM=term: (Privileged keyword.) Unblocks a task requested from the specified terminal. Term can be a logical name assigned to the terminal, or it can be the physical device and unit number for the terminal (in the form ttnn:). The OPR (or DCSOPR) task gives the System Manager or Operator an interface to the Data Communications Subsystem (DCS). Through English-like commands, the user has the ability to display or modify line parameters, display any or all queues, or delete a specific queue entry. Multiple copies of the task may be active at the same time. If the command is not entered on the same line as the task mnemonic, then the prompt "OPR>" will be displayed, and OPR will wait for further commands. OPR will continue to prompt for and accept commands, until the user terminates the session with a control-Z. OPERATOR COMMANDS Following is a summary of commands available to the operator. For detailed explanations of each command and/or its options, type HELP OPR . Most commands and keywords may be abbreviated to 3 characters, both in this help facility and when issued to OPR. DISPLAY Display information and parameters on all or selected lines or queues, or current supervisor parameters. MODIFY Change line states and parameters, or supervisor parameters. CREATE Create a queue. DELETE Delete a queue or a queue entry. RESET Reset all or selected scheduled polls. QUIET Enable/Disable informative messages from OPR; does not affect error messages. Options are QUIET ON or QUIET OFF. QUETST is a Tekno-developed debugging aid for use with VS: queue entries; it is intended for users with an intimate knowledge of the queue entry format(s) for your intended application. With that warning in mind, it is a useful tool that allows the user to insert queue entries, examine queue entries in several formats, selectively delete queue entries, and purge individual queues. You must know the name of the queue(s) you wish to manipulate before issuing any requests, however. Commands available under QUETST may be abbreviated to the first character; QUETST only examines the first character, but accepts any number following. Commands accepted by the current version of QUETST are: E - Examine a queue entry. You will be prompted for the queue name and entry number; QUETST will then report information about the entry, and query you for the output format: A - ASCII interpretation of all bytes in the entry. Bytes not within the printing ASCII sequence are replaced by spaces. B - Octal byte representation, unsigned. D - Decimal word representation, unsigned. O - Octal word representation, unsigned. R - Radix-50 representation. L - List current queue entry. This allows the re-display of an entry in another format; format selection is as for Examine. P - Purge all entries from the queue; QUETST will prompt for a queue name. R - Remove a selected queue entry. QUETST will prompt for a queue name and entry number, and will display the deleted queue entry. This command is the only exception to the single-character command situation: if it is issued as RF (Remove Force), the entry is simply deleted with no display. I - Insert a queue entry. QUETST will prompt for the priority and entry size in bytes; these values are accepted in octal unless forced to decimal by a terminating period. Thereafter, for as many bytes as specified, QUETST will accept input data. Data must be entered in groups of two bytes; thus, for an odd-sized message, you will have to enter a pad byte. For information on data input formats and procedures, type HELP QUETST DATA. ALL[OCATE] dd[nn:] [=llnn:] [/keyword] /TERM=term: /TYPE=dev The ALLOCATE command establishes a specified device as your private device. Parameters: dd The 2-letter device mnemonic. nn: The unit number of the device (optional). If you omit nn:, the system allocates the first available logical unit of the dd-type device. llnn: The name of a logical device, which the system creates and assigns to the physical device being allocated (optional). For information on the ALLOCATE keywords, type HELP ALLOCATE keyword. ============================================================================= / File 4 / NIA068 / / / / ______ / / DBEDIT / / / / ____ ______ / / User Manual / / / / / / Submitted By: / / Malefactor Of Organized Crime / Copyright 1984,1988, Robelle Consulting Ltd. _______ __________ ____ Robelle Consulting Ltd. 8648 Armstrong Road R.R.#6 Langley, B.C. Canada V3A 4P9 Phone: (604) 888-3666 Telex: 04-352848 ___ Permission is granted to reprint this document (but not for profit), provided that copyright notice is given. ___ Version 1.3 February, 1988 ________ _______ Database Editing Welcome to version 1.3 of DBEDIT, a module of SUPRTOOL that permits people to add, change, list, or delete individual records or "chains" of records from an IMAGE/3000 database. DBEDIT is useful for debugging applications, for quickly prototyping systems, and for the data entry of simple applications. The functions of DBEDIT are similar to QUERY, but the commands and operations are more consistent and logical. Because DBEDIT is a part of SUPRTOOL, you can hold SUPRTOOL as a suspended process from within other software (e.g., QEDIT) with the database open. This facilitates fast process switching when you need to examine a test database. You enter DBEDIT via the EDIT command of SUPRTOOL. Once in DBEDIT, you cannot use the SUPRTOOL commands (while in SUPRTOOL you cannot use the DBEDIT commands). Certain commands are the same in both DBEDIT and SUPRTOOL (e.g., USE, BEFORE, and SET). The BEFORE command works independently and each software module ___ saves its own last command. ____________ Restrictions 1. Most DBEDIT commands require you to have opened the database using the BASE command of SUPRTOOL. DBEDIT does not have a BASE command. 2. DBEDIT does not work with any files other than IMAGE/3000 datasets. 3. You cannot switch to another database while in DBEDIT. Instead, you must EXIT, do a BASE command in SUPRTOOL, then EDIT. 4. The maximum size of any individual data item is 80 bytes (i.e., 5X80 is acceptable, but X100 is not). 5. Only datasets whose search fields are compatible with DBEDIT can be accessed (i.e., no K5 search fields). _________ __ ______ Functions of DBEDIT There are five major functions in DBEDIT: _________ __ ______ Functions of DBEDIT DBEDIT User Manual ADD: Add new entries to a dataset. CHANGE: Change a master search value in all related datasets. DELETE: Delete entries from a dataset. LIST: List the value of entries in a dataset. MODIFY: Modify specific fields of an entry from a dataset. ___________ __ ______ Performance of DBEDIT SUPRTOOL was designed to be as fast as possible, while DBEDIT was designed to have as many features as possible. DBEDIT does no special optimizations. It uses the standard IMAGE intrinsics to do all of the accesses to the database. DBEDIT does not use the fast sequential access method of SUPRTOOL, but DBEDIT usually works only with a few records within your database at one time. ___________ Field-Lists DBEDIT arranges the list of fields in a dataset differently than QUERY or SUPRTOOL. The QUERY ADD command prompts for the each field in the dataset in the order they were declared in the IMAGE schema. In DBEDIT, the order of field-lists is changed using the following algorithm: 1. The search-field for a master dataset or the primary search-field for a detail dataset appear first. 2. Any other detail search fields appear second. 3. Any sort-fields appear third. 4. All other non-search and non-sort fields that are compatible with DBEDIT appear last. Example: The following example shows the difference between QUERY and DBEDIT. We add an entry to the D-INVENTORY dataset of the STORE database. In this dataset, SUPPLIER-NAME is the primary search field and PRODUCT-NO is another non-primary search field. QUERY/3000 DBEDIT/SUPRTOOL ___ ___ >add d-inventory #add d-inventory ____ ___________ BIN-NO =>>1201 SUPPLIER-NAME >STD Ribbons _________ LAST-SHIP-DATE =>> PRODUCT-NO >2001001 ______ OH-HAND-QTY =>> BIN-NO >1201 _______ __________ PRODUCT-NO =>>2001001 LAST-SHIP-DATE > ___________ ___________ SUPPLIER-NAME =>>STD Ribbons ON-HAND-QTY > ________ UNIT-COST =>> UNIT-COST > _______ DBEDIT User Manual Locking _______ __ _________ Locking of Databases DBEDIT uses the following locking strategy. The ADD command locks one dataset (using DBLOCK, Mode-3) after all of the field values have been entered. The MODIFY and DELETE commands do the following: 1. After all of the field values have been entered, the dataset is locked. 2. The records are re-read using DBGET, Mode-4 for details or DBGET, Mode-7 for masters. 3. The re-read record is compared with the original record. If they are not the same, no update or delete is done. 4. The record is updated or deleted. When a search field or a sort field is changed with the MODIFY command, the record is deleted and added again. 5. The dataset is unlocked. ______ The CHANGE command locks the entire database while all key values are being changed. In all cases, the DBLOCK is done unconditionally. This means that DBEDIT always waits for other locks to be released (possibly holding up your terminal). ______ ________ DBEDIT Commands When you run DBEDIT, it prompts for commands on STDLIST with a "#" character and reads command lines from STDIN. DBEDIT commands have a command name followed by one or more parameters separated by semicolons, colons, and commas. Semicolons are NOT used to combine several commands on the same line as in SUPRTOOL. You may shorten command names to any substring that uniquely defines the command. For example, ADD can be shortened as AD or A, since there are no other commands that start with "A". SHOW, however, can be abbreviated only to SH, since there is also a SET command in DBEDIT. >base store.pub,5 >edit _ #l m-customer;all {list} _ #e {exit} You may enter letters in either upper-case or lower-case, because DBEDIT upshifts everything in the command line. These two commands are identical: ________ Commands DBEDIT User Manual ____ #LIST M-CUSTOMER ____ #list m-customer ________ The maximum physical command line is 256 characters. You may enter commands on multiple input lines by putting an "&" _____ continuation character at the end of the line. The maximum total command length is 256 characters. Multiple commands cannot be placed on one input line. The separating semicolon, colon, or comma in commands is REQUIRED, not optional. :run suprtool.pub.robelle >base store.pub,5 {open the database in SUPRTOOL} >edit {enter DBEDIT} #list m-customer {use all of the defaults} #list m-customer;all {list all records in m-customer} #exit {return to SUPRTOOL} If you depress Control-Y during an operation, DBEDIT responds by printing a blank line and stopping the current operation. DBEDIT interprets any command line beginning with a colon (:) as an MPE command. Only the commands that MPE allows in "break" are allowed in DBEDIT. This feature can be used to establish :FILE commands for the SUPRLIST file, to show the time, and to include :COMMENT lines. For example: ________ #:comment Modify M-CUSTOMER records #modify m-customer #exit Any command line beginning with an equal sign (=) is treated as a calculator expression. You may use this feature to compute data entry values without the need of an electronic calculator. =2745*1.33 Result= 3650.85 The examples in this manual use the revised STORE database __________ ________ described in the IMAGE/3000 Handbook. _________ ___ ______ ________ Prompting For Search Criteria In the CHANGE, DELETE, LIST and MODIFY commands, DBEDIT first ______ ________ prompts you for search criteria and then processes the records you have selected. Search criteria are any or all of the search and sort fields of the file. DBEDIT asks for the value of the primary search field first, unless you override the prompt ordering with the KEY option. For detail datasets, it then asks for match values for the other search fields and sort fields. You may hit the Return key to any of these prompts to indicate that you don't care what values these fields have. When DBEDIT finishes processing the records you select, it recycles and prompts you for the next set of search criteria. ______ ________ DBEDIT User Manual Search Criteria You may hit the Return key at this point to exit from the command and return to the # prompt. _______ __________ Command Parameters The major commands (FILE, LIST, ADD, DELETE, MODIFY, and CHANGE) have a similar parameter structure, consisting of the command ____ ______ name, then an optional file part and an optional option part. A ____ space separates the file part from the command name and a ______ ____ semicolon separates the option part from the file part. The general format of these commands is: ____ _______ #command [file] [;options] ____ _________ File Parameter The file parameter consists of an IMAGE/3000 dataset name ____ followed by an optional list of field names. If the file part is missing, DBEDIT uses the previous file. The general format of the file parameter is: ____ __________ #command [file] [:field-name,...] Even when you use field-names, DBEDIT will add the search fields to the field list. In the ADD command, DBEDIT assumes default values for non-critical fields that are missing, but will prompt for the search fields and sort fields (they are required). ______ #add d-inventory:bin-no {assume defaults for all but BIN-NO} ___________ SUPPLIER-NAME >STD Ribbons _________ PRODUCT-NO >105391 ____ BIN-NO >10 In this case you will not be prompted for LAST-SHIP-DATE, ON-HAND-QTY, or UNIT-COST. In the MODIFY command, you can specify a set of fields to modify. DBEDIT will not prompt you for new values for any other fields. For example: _________ #mod d-inventory:unit-cost {only modify UNIT-COST} ___________ SUPPLIER-NAME >STD Ribbons {prompt for search value} _________ PRODUCT-NO >105391 {prompt for another one} Enter new values (or to leave as is): SUPPLIER-NAME >STD Ribbons {prints the search value} PRODUCT-NO >105391 {prints the other one} UNIT-COST >500 {prints existing value} ________ {prompts for new value} In this case you will not be prompted for BIN-NO, ON-HAND-QTY, or ____ _________ File Parameter DBEDIT Commands LAST-SHIP-DATE. When working on a single dataset, it is only necessary to specify the dataset name in the first command. For example: ___________ #list d-inventory ___________ SUPPLIER-NAME >STD Ribbons #list {use the previous file parameter} ________________ SUPPLIER-NAME >// ______ _________ Option Parameter ____ _______ The file parameter and the options must be separated by a semicolon. ____ __________ ______ #command [file] [:field-list] [;option,...] _______ The available options are: _____________ numeric-value|ALL|KEY|LIMIT|RELATED|UNDER|UPDATEKEY These options qualify the operation of the FILE, LIST, MODIFY, CHANGE, DELETE, and ADD commands. Some options only apply to one command. Options can be combined. When more than one option is specified, each option must be separated by a semicolon. ____________________ #list d-inventory;key=product-no;under _________ PRODUCT-NO > _____________ ______ Numeric-value Option Commands normally cycle, prompting for new search values or new entries, until you hit Return or Control-Y. However, if you _____________ specify a numeric-value after the semicolon, the command only _____________ prompts you numeric-value number of times. For example, if you only want to do one LIST function, you would enter: _ #list d-inventory;1 {only prompt for SUPPLIER-NAME once} ___ ______ ALL Option The ALL option works only with the LIST, MODIFY, or DELETE commands. When ALL is specified, every record in the specified file is processed sequentially. You can stop the scan by hitting Control-Y. ___ ______ DBEDIT Commands KEY Option ___ ______ KEY Option The KEY option overrides the primary search field. DBEDIT prompts for the primary search field first. Often, this is not the value that you know. You can use the KEY option to force DBEDIT to prompt you for another search field. For example: #list d-inventory {use defaults} ___________ SUPPLIER-NAME >STD Ribbons _________ PRODUCT-NO > ______________ #list d-inventory;key=product-no {use PRODUCT-NO} _________ PRODUCT-NO >105391 _______________ SUPPLIER-NAME > _____ ______ LIMIT Option The LIMIT option controls the number of entries allowed per key value. This option is only useful for the ADD command. DBEDIT limits the number of entries for the first field in the field list to the LIMIT value specified. For example, _______ #add d-inventory;limit=2 {two records per supplier} ______________________ #add d-inventory;limit=2;key=product-no {two records per product} _______ ______ RELATED Option The RELATED option is for finding related records and it applies only to LIST. If you use RELATED when LISTing an entry in a master dataset, DBEDIT prints the specified master entry and then ___ ___ prints all detail entries with the same search value in all datasets that are linked to the master dataset by an explicit path. If you use RELATED with a detail dataset, DBEDIT prints the specified detail entry, followed by the master entry of each search field in the detail. DBEDIT can only use explicitly-defined IMAGE paths to navigate between datasets. User-defined paths are not supported in DBEDIT. The following example shows how related records are listed from a master dataset to a detail dataset: _______ _______ #list m-supplier;related {all related records} ___________ SUPPLIER-NAME >STD Ribbons The M-SUPPLIER record is listed here. D-INVENTORY records with a SUPPLIER-NAME of ___ _______ STD Ribbons are listed here. -7- _____ ______ UNDER Option DBEDIT Commands _____ ______ UNDER Option When DBEDIT prompts for a value for a field, it prints a series of underlines. These underlines indicate the maximum field width. While these underlines are useful, they may not work on all terminals or they may become irritating. When this happens, you may disable underlining by using SET UNDERLINE OFF. Once underlining is turned off, you may wish to enable it again, but only for one command. The UNDER option overrides the SET UNDERLINE, but only for the current command. _________ ______ UPDATEKEY Option The UPDATEKEY option allows the MODIFY command to change the value of search and sort fields (i.e., critical fields). Normally, MODIFY does not allow any changes to the search or sort fields. Without the UPDATEKEY option, MODIFY does a DBUPDATE of the modified record. If you specify UPDATEKEY and you change a critical field, MODIFY must DBDELETE the existing record, then DBPUT the record with the new values. ____________ Sub-Commands You may enter a sub-command anytime DBEDIT prompts for the value of a field. The available sub-commands are: // stops the current command immediately. \\ same as // (you may also use the Control-Y key). ? describes the current field. < goes back one field to the previous field in the list. <3 goes back three fields. << returns to the first field in the list. > goes forward one field to the next field in the list. >3 goes forward three fields. >> skips the rest of the fields in the list. This is especially useful when DBEDIT is prompting you for multiple search and sort fields and you only want to enter the first. ____________ DBEDIT Commands Sub-Commands ' uses blanks for the field (useful in batch). * uses the last value for this field. [ forces what follows the [ to be a value and not a subcommand (e.g., [*BOB ignores the *). Examples: #list m-supplier {we'll stop immediately} ________________ SUPPLIER-NAME >// #list m-supplier {we will start again} ________________ SUPPLIER-NAME >Standard Type _________ PRODUCT-NO >< {re-enter SUPPLIER-NAME} ___________ SUPPLIER-NAME >STD Ribbons _________ PRODUCT-NO >>> {skips the rest} #list m-supplier ___________ SUPPLIER-NAME >STD Ribbons _________ PRODUCT-NO >[>575 {">575" is the part-no} The following sections describe the DBEDIT commands in detail. The commands are presented in alphabetic order. Each command name is centered, and following it, in brackets, is the minimal abbreviation for the command. For example: [S] for SET and [SH] for SHOW. ___ _______ ___ Add Command [A] Adds new entries to a dataset. ____ _______ ADD [file][;options] ______ Notes: ____ If no field-list is entered as part of the file, DBEDIT will ____ prompt for all of the fields in the file. You may use the ">n" or ">>" sub-commands to navigate quickly through the field list, but you must enter values for all search and sort fields. The database password must give you write access to the entire dataset. The ADD command will stop after LIMIT= number of entries have been added for any one key value. DBEDIT checks each search field value as it is entered. For master datasets the search field value must not exist. For detail datasets the ___ Add DBEDIT Commands search field value must exist. To add records from a disc file, see the >PUT command of SUPRTOOL. ______ _______ ___ Before Command [B] Re-executes the previous command line. BEFORE ______ Notes: In batch mode, SUPRTOOL prints a warning, but takes no action. In session mode, SUPRTOOL presents the previous command line to the user for editing. If there are no changes, you simply hit return. If you wish to change any characters within the line, the modify operators are the same as those used in QEDIT: * Any printing characters replace the ones above. * Control-D plus spaces deletes columns above. * Control-B puts you into "insert before" mode. * Control-A appends characters that follow to the end of the line. * Control-A, Control-D, plus spaces, deletes columns from the end of the line. * Control-T terminates the current mode, so that you can space over to another column to work. * Control-G recovers the original line. * Control-O specifies "overwrite" mode (useful when you want to replace with spaces). ________ Example: #=20*15 {15 is incorrect, you meant 115} Result= 300.0 ______ #before =20*15 {DBEDIT prints the line} 115 {you enter changes} =20*115 {result is shown} {you hit return} Result= 2300.0 ______ DBEDIT Commands Change ______ _______ ___ Change Command [C] Changes all uses of a specific search field value in all detail datasets related to a master. This command only applies to master datasets. ____ _______ CHANGE [file][;options] ______ Notes: This command changes the search field value in all related detail datasets. DBEDIT can only change values in detail datasets where there is an explicit IMAGE path. It is up to the user to change any user-defined paths. Once this command has started making changes to the database, it cannot be stopped. Entering Control-Y during the change will have no effect. DBEDIT locks the entire database while all changes are taking place. The database password must give you write access to all related datasets that must be changed. ______ _______ ___ Delete Command [D] Removes entries from a dataset. ____ _______ DELETE [file][;options] ______ Notes: If you are deleting entries from a master dataset, all entries from related detail datasets must be removed first. Before any record will actually be deleted, DELETE prints the record and asks you whether it is okay to delete it; the default answer is NO. ____ The field-list of the file specifies which fields to list before ______ prompting for verification of the deletion. The ALL option allows you to review all entries in a detail dataset and remove some or all of them. The database password must give you write access to the entire dataset. ALL does not work on master datasets; use the SUPRTOOL >DELETE command instead. ____ Exit DBEDIT Commands ____ _______ ___ Exit Command [E] Leaves DBEDIT and returns control to SUPRTOOL. EXIT ____ _______ ___ File Command [F] Establishes the current file, field list, and search field. ____ _______ FILE [file][;options] ______ Notes: If SET RESET is OFF, you can use the FILE command to specify the ____ KEY= for the specified file. For example: #set reset off ______________ #file d-inventory;key=product-no will cause all subsequent commands to prompt for the PRODUCT-NO ____ before the SUPPLIER-NAME. Specifing a new file or options parameter in the ADD, CHANGE, DELETE, LIST, or MODIFY commands ____ ______ overrides and replaces the current file and option values. ____ _______ ___ Help Command [H] Gives helpful instructions on the use of DBEDIT. HELP [command [keyword]] (Default: browse through the entire help file) The parameters have the following meaning: command: explains the command and gives you a list of subsidiary keywords to select from. command,keyword searches for keyword under command and prints the information found (if any). command,@ prints everything about the command. ____ DBEDIT Commands Help _________ Examples: ____ #help {start at the beginning, peruse help file} _ #h add {explain the ADD command and show sub-keywords} _ #h add,@ {tell everything about ADD. Comma is required} ______ Notes: If no parameters are specified, HELP allows you to browse through the "help" file. HELP works only if the DBEDIT "help-file" has been installed (:RESTORE *ROBELLE; DBEDIT.HELP.ROBELLE). The HELP command uses the QHELP subsystem to allow you to browse through the DBEDIT in the file DBEDIT.HELP.ROBELLE, which contains most of the User Manual. For "help in help", type "?" when you see the QHELP prompt character ("?"). The help file is organized into levels. To go back to the previous level, enter RETURN or ^ instead of a key name. If you type "^^^", you will exit three levels at once. ____ _______ ___ List Command [L] Displays entries from a dataset. ____ _______ LIST [file][;options] ______ Notes: ____ The field-list of the file parameter specifies which fields of the entry to print (default of course is all of them). Search field values are not listed, unless they are included in the ______ field-list. The ALL option lists all records in the specified ____ ______ file. The RELATED option prints related records from other datasets as well as the records you select. The listing is printed to $STDLIST, unless you use SET LP ON to specify SUPRLIST as the output file. The SUPRTOOL >LIST command will also display selected records and has the option of dumping totally in OCTAL/CHAR format. Use >LIST when you suspect that a dataset may contain bad data or you need to select from a large dataset (>LIST is faster than #LIST). ______ Modify DBEDIT Commands ______ _______ ___ Modify Command [M] Changes the values of any or all fields in a dataset entry. ____ _______ MODIFY [file][;options] ______ Notes: ____ The field-list of the file specifies which fields to modify. ______ When the UPDATEKEY option is specified, search and sort field values may be changed. The existing value of each field is printed before a new value is accepted. Entering a carriage return preserves the old value. If a new value is entered, it replaces the old value. The ALL ______ option allows you to review and modify all of the entries in a dataset in serial order. _ _______ ___ Q Command [Q] Prints a message on $STDLIST. Q [ string ] (Default: print a blank line) The string of up to 80 characters is printed on $STDLIST. The string should not be enclosed in quotes unless you want the message printed in quotes. You can use Q to include instructions in USE files. Use :COMMENT in USE files for a non-printing comment line. ___ _______ ___ Set Command [S] Changes certain operating options within DBEDIT. Except for LP, these options are saved when you return to SUPRTOOL and restored if you enter DBEDIT again. SET [LP ] ON|OFF [PROMPT ] character [QUIET ] ON|OFF [RESET ] ON|OFF [UNDERLINE ] ON|OFF ___ DBEDIT Commands Set [VERIFY ] ON|OFF ___ __ __ SET LP ON (Default: OFF) All output from the LIST command is normally sent to $STDLIST. When you turn SET LP to ON, DBEDIT opens the file SUPRLIST which defaults to the line printer. Turning SET LP OFF closes the SUPRLIST file and releases it to the spooler. DBEDIT automatically closes the SUPRLIST file when you return to SUPRTOOL. ___ ______ ____ SET PROMPT char (Default: #) PROMPT tells DBEDIT to use a different character for prompting. Any special character can be used as the prompt character. For example: >edit ___ #set prompt % %list m-customer ___ _____ __ SET QUIET ON (Default: OFF) Turning this option ON causes DBEDIT to reduce the number of helpful messages that are printed and to shorten other messages. ___ _____ ___ SET RESET OFF (Default: ON) When you use the FILE, LIST, MODIFY, CHANGE, or DELETE commands you may override the default order that DBEDIT uses to prompt for ______ search fields (using the KEY= option). With RESET ON, DBEDIT ______ always resets the KEY= option to the default.