[LISTSERV logo] [Online documentation]

L-Soft international, Inc.
List Owner's Manual
for
LISTSERV®, version 1.8c
August 18, 1997
Revision 2
r970818-001

The reference number of this document is 9708-UD-02.


[next chapter] [previous chapter] [table of contents]

Appendix A: System Reference Library

  1. List subscription commands (from most to least important)
  2. Other list-related commands
  3. Informational commands
  4. Commands related to file server functions
  5. Other (advanced) commands
  6. File management commands (for file owners only)
  7. List management functions
  8. Syntax of parameters

This document is available separately. It can be retrieved in plain text from any server running L-Soft's LISTSERV with the command INFO REFCARD.

Commands are listed in alphabetical order, with the minimum acceptable abbreviation in capital letters. Angle brackets are used to indicate optional parameters. All commands which return a file accept an optional 'F=fformat' keyword (without the quotes) that lets you select the format in which you want the file sent; the default format is normally appropriate in all cases. Some esoteric, historical or seldom-used commands and options have been omitted.

List subscription commands (from most to least important)

[has to be updated from new refcard]

SUBscribe
listname full_name
Subscribe to a list, or change your name if already subscribed
SIGNOFF
Remove yourself:
listname
- From the specified list
*
- From all lists on that server
* (NETWIDE
- From all lists in the network
SET
listname options
Alter your subscription options:
ACK/NOACK/MSGack
-> Acknowledgments for postings
CONCEAL/NOCONCEAL
-> Hide yourself from REVIEW
Files/NOFiles
-> Toggle receipt of non-mail files from the list
Mail/NOMail
-> Toggle receipt of mail
MIME/NOMIME
-> Toggle MIME functions on/off. (currently only digests are MIME-enabled)
DIGests/NODIGests
-> Toggle digest mode on/off.
INDex/NOINDex
-> Toggle index mode on/off.
REPro/NOREPro
-> Copy of your own postings?
TOPICS: ALL
-> Select topics you are subscribed to
<+/-> topicname (add/remove one or replace entire list)
Options for mail headers of incoming postings (choose one):
FULLHdr
-> "Full" mail headers (default)
IETFhdr
-> Internet-style headers
SHORTHdr
-> Short headers
DUALhdr
-> Dual headers, useful with PC or Mac mail programs
SUBJecthdr
-> "Full" mail headers (like the default) except that LISTSERV adds the list's default subject tag to the subject line of mail coming from the list. To turn this off, simply set another mail header option.
FULL822
-> "Full" RFC822 headers (default)
SHORT822
-> "Full" RFC822 headers (default)

Note: do not use FULL822 or SHORT822 unless debugging specific problems or unless directed by L-Soft. Use of these options can seriously slow performance as they force LISTSERV to generate a separate "envelope" for each user so set. FULL822 and SHORT822 are obsolete but remain available for compatibility with certain older BITNET mailers still in use.

Further note regarding the SUBJecthdr option: note that if you have SHORT headers (or any other header option except FULL) set, setting your option to SUBJecthdr will automatically change you to FULLHdr, as subject tags require full headers. Also, subject tags are not generated for messages sent without an RFC822 "Subject:" header.

CONFIRM
listname1 <listname2 <...>>
Confirm your subscription (when LISTSERV requests it)

Other list-related commands

INDex
listname
Sends a directory of available archive files for the list, if postings are archived
Lists
<option>
Send a list of lists as follow:
(no option)
-> Local lists only, one line per list
Detailed
-> Local lists, full information returned in a file
Global /xyz
-> Only those whose name or title contains 'xyz'
SUMmary <host>
-> Membership summary for all lists on specified host
SUMmary ALL
-> For all hosts (long output, send request via mail!)
SUMmary TOTAL
-> Just the total for all hosts
("Lists Global", which returns the entire list of lists, may no longer be issued by general users. Please use the "Lists Global xyz" format to search the list of lists, or use L-Soft's CataList(sm) service at http://www.lsoft.com/lists/listref.html.)

Query listname
Query your subscription options for a particular list (use the SET command to change them)
*
-> Query all lists you are subscribed to on that server
REGister
full_name
Tell your name to LISTSERV, so that you don't have to specify it on subsequent SUBSCRIBE's
OFF
Make LISTSERV forget your name
REView
listname
<(options> Get information about a list
BY sort_field
-> Sort list in a certain order:
Country
by country of origin
Name
by name (last, then first)
NODEid
by hostname/nodeid
Userid
by userid
BY (field1 field2)
-> You can specify more than one sort field if enclosed in parentheses: BY (NODE NAME)
Countries
-> Synonym of BY COUNTRY
LOCal
-> Don't forward request to peers
Msg
-> Send reply via interactive messages (BITNET users only)
NOHeader
-> Don't send list header
Short
-> Don't list subscribers
SCAN listname text
Scan a list's membership for a name or address
STats listname
<(options> Get statistics about a list
LOCal
-> Don't forward to peers

Informational commands

Help
Obtain a list of commands
Info
<topic>
Order a LISTSERV manual, or get a list of available ones (if no topic was specified)
<listname>
Get information about a list hosted on the server
Query File
fn ft <filelist> <(options>
Get date/time of last update of a file, and GET/PUT file access code
FLags
-> Get additional technical data (useful when reporting problems to experts)
RELEASE
Find out who maintains the server and the version of the software and network data files
SHOW
<function>
Display information as follows:
ALIAS node1 <node2 <...>>
-> BITNET nodeid to Internet hostname mapping
BITEARN (VM only)
-> Statistics about the BITEARN NODES file
DISTribute
-> Statistics about DISTRIBUTE
DPATHs host1 <host2 <...>>
-> DISTRIBUTE path from that server to specified host(s)
DPATHs *
-> Full DISTRIBUTE path tree
FIXes (VM only)
-> List of fixes installed on the server (non-VM see LICENSE)
HARDWare or HW
-> Hardware information
LICense
-> License/capacity information and software build date
LINKs node1 <node2 <...>>
-> Network links at the BITNET node(s) in question
NADs node1 <node2 <...>>
-> Addresses LISTSERV recognizes as node administrators
NETwork (VM only)
-> Statistics about the network
NODEntry node1 <node2 <...>>
-> BITEARN NODES entry for the specified node(s)
NODEntry node1 /abc*/xyz
-> Just the ':xyz.' tag and all tags whose name starts with 'abc'
PATHs snode node1 <node2 <...>>
-> BITNET path between 'snode'and the specified node(s)
STATs
-> Usage statistics (default option)
VERSion
-> Same as RELEASE command
(no function)
-> Same as SHOW STATS

Commands related to file server functions

AFD
Automatic File Distribution
ADD fn ft <filelist <prolog>>
Add file or generic entry to your AFD list
DELete fn ft <filelist>
Delete file(s) from your AFD list (wildcards are supported)
List
Displays your AFD list
For node administrators:
FOR user ADD/DEL/LIST etc.
Perform requested function on behalf of a user you have control over (wildcards are supported for DEL and LIST)
FUI
File Update Information: same syntax as AFD, except that FUI ADD accepts no 'prolog text'
GET
fn ft <filelist> <(options>
Order the specified file or package
PROLOGtext xxxx
-> Specify a 'prolog text' to be inserted on top of the file
GIVE
fn ft <filelist> <TO> user
Sends a file to someone else
INDex
<filelist>
Same as GET xxxx FILELIST (default is LISTSERV FILELIST)
PW
function
Define/change a "personal password" for protecting AFD/FUI subcriptions, authenticating PUT commands, and so on
ADD firstpw
-> Define a password for the first time
CHange newpw <PW=oldpw>
-> Change password
RESET
-> Reset (delete) password
SENDme
Same as GET

Other (advanced) commands

DATAbase
function
Access LISTSERV database:
Search DD=ddname <ECHO=NO>
-> Perform database search (see INFO DATABASE for more information on this)
List
-> Get a list of databases available from that server
REFRESH dbname
-> Refresh database index, if suitably privileged
DBase
Same as DATABASE
DISTribute
<type> <source> <dest> <options>
Distribute a file or a mail message to a list of users (see INFO DIST for more details on the syntax)
Type:
MAIL
-> Data is a mail message, and recipients are defined by '<dest>'
FILE
-> Data is not mail, recipients are defined by '<dest>'
RFC822
-> Data is mail and recipients are defined by the RFC822 'To:'/'cc:' fields
Source:
DD=ddname
-> Name of DDname holding the data to distribute (default: 'DD=DATA')
Dest:
<TO> user1 <user2 <...>>
-> List of recipients
<TO> DD=ddname
-> One recipient per line
Options for the general user:
ACK=NOne/MAIL/MSG
-> Acknowledgement level (default: ACK=NONE)
CANON=YES
-> 'TO' list in 'canonical' form (uid1 host1 uid2 host2...)
DEBUG=YES
-> Do not actually perform the distribution; returns debug path information
INFORM=MAIL
-> Send file delivery message to recipients via mail
TRACE=YES
-> Same as DEBUG=YES, but file is actually distributed
Options requiring privileges:
FROM=user
-> File originator
FROM=DD=ddname
-> One line: 'address name'
FOR user command
Execute a command on behalf of another user (for node administrators)
GETPost listname post_number <post_number...>
(New for 1.8c)

GETPost is used after receiving the output of a SEARch command to retrieve the postings you want from the SEARch output. For instance, if you want postings numbered 1730, 1731, 1732, and 1840 from the MYLIST list, send the command

GETPost MYLIST 1730-1732 1840

GETPost is analogous to the VM database command PRINT.

Search
(New for 1.8c)

For lists running on VM servers, see also below at DATABASE.

The Search command syntax is similar to that of the SEARCH/SELECT commands in the "old" database functions. A very basic Search command for list MYLIST would look like this:

Search search_string IN MYLIST

You can also restrict your search by date, sender, or other criteria, e.g.,

Search search_string IN MYLIST SINCE 96/01/01
Search search_string IN MYLIST WHERE SENDER CONTAINS ERIC

etc. See the General User's Manual for LISTSERV for more information on the specific syntax. Note that the new Search command does not require a CJLI job framework to operate; simply send the Search command in the body of an email message to the appropriate server. LISTSERV will respond with an index of the postings matching your criteria and instructions on how to use the GETPost command to retrieve the posts you want.

SERVE
user
Restore service to a disabled user
THANKs
Check to see if the server is alive
UDD
Access the User Directory Database (there are 18 functions and many sub-functions, so the syntax is not given here)

File management commands (for file owners only)

AFD/FUI
Automatic File Distribution
GET fn ft <filelist>
Get a list of people subscribed to a file you own
GET
fn FILELIST <(options>
Special options for filelists:
CTL
-> Return filelist in a format suitable for editing and storing back
NOLock
-> Don't lock filelist (use in conjunction with CTL)
PUT
fn ft <filelist <NODIST>>
Update a file you own
<CKDATE=NO>
-> Accept request even if current version of the file is more recent than the version you sent
<DATE=yymmddhhmmss>
-> Set file date/time
<PW=password>
-> Supply your password for command authentication
<RECFM=F <LRECL=nnn>>
-> Select fixed-format file (not to be used for text files)
<REPLY-TO=user>
-> Send reply to another user
<REPLY-TO=NONE>
-> Don't send any reply
<REPLY-VIA=MSG>
-> Request reply via interactive messages, not mail (BITNET only)
<"parameters">
-> Special parameters passed to FAVE routine, if any
Standard parameters supported for all files:
TITLE=file title
-> Change file "title" in filelist entry
REFRESH
filelist <(options>
Refresh a filelist you own
NOFLAG
-> Don't flag files which have changed since last time as updated (for AFD/FUI)
UNLOCK
fn FILELIST
Unlock filelist after a GET with the CTL option if you decide not to update it after all

List management functions

Commands that support the QUIET keyword are marked (*)
ADD(*)
listname user <full_name>
Add a user to one of your lists, or update his name
listname DD=ddname
-> Add multiple users, one address/ name pair per line
ADDHere(*)
Same as ADD, but never forwards the request to a possibly closer peer
DELete(*)
listname user <(options>
Remove a user from one of your lists, or from all local lists if listname is '*'
GLobal
-> Forward request to all peers
LOCal
-> Don't try to forward request to closest peer if not found locally
TEST
-> Do not actually perform any deletion (useful to test wildcard patterns)
EXPLODE
listname <(options>
Examine list and suggest better placement of recipients, returning a ready-to-submit MOVE job
BESTpeers n
-> Suggest the N best possible peers to add
Detailed
-> More detailed analysis
FOR node
-> Perform analysis as though local node were 'nodeid'
PREFer node
-> Preferred peer in case of tie (equidistant peers)
SERVice
-> Check service areas are respected
With(node1 <node2 <...>>>)
-> Perform analysis as though specified nodes ran a peer
WITHOut(node1 <node2 <...>>>)
-> Opposite effect
FREE
listname <(options>
Release a held list
GLobal
-> Forward request to all peers
GET
listname <(options>
Get a copy of a list in a form suitable for editing and storing list and lock it
GLobal ->
Forward request to all peers
HEADer
-> Send just the header; on the way back, only the header will be updated
NOLock
-> Do not lock the list
OLD
-> Recover the "old" copy of the list (before the last PUT)
HOLD
listname <(options>
Hold a list, preventing new postings from being processed until a FREE command is sent
GLobal
-> Forward request to all peers
MOVE(*)
listname user <TO> node
Move a subscriber to another peer
listname DD=ddname
-> Move several subscribers to various peers
PUT
listname LIST
Update a list from the file returned by a GET command
Query
listname <WITH options> FOR user
Query the subscription options of another user (wildcards are supported)
* <WITH options>
FOR user Searches all the lists you own
SET(*)
listname options <FOR user>
Alter the subscription options of another
*
user or set of users (when using wildcards)
Additional options for list owners:
NORENEW/RENEW
-> Waive subscription confirmation for this user
NOPOST/POST
-> Prevent user from posting to list
EDITOR/NOEDITOR
-> User may post without going through moderator
REVIEW/NOREVIEW
-> Postings from user go to list owner or moderator even if user is allowed to post
STats
listname (RESET
Resets statistics for the list
UNLOCK
listname
Unlock a list after a GET, if you decide not to update it after all

Syntax of parameters

filelist = 1 to 8 characters from the following set: A-Z 0-9 $#@+-_:

fformat = Netdata, Card, Disk, Punch, LPunch, UUencode, XXencode, VMSdump, MIME/text, MIME/Appl, Mail

fn = (filename) same syntax as 'filelist'

ft = (VM "filetype" or VMS/unix/DOS "extension") same syntax as 'filelist'

full_name = firstname <middle_initial> surname (*not* your e-mail address); sometimes referred to as "your real name"

host = Internet hostname

listname = name of an existing list

node = BITNET nodeid or Internet hostname of a BITNET machine which has taken care of supplying a ':internet.' tag in its BITEARN NODES entry

pw = 1 to 8 characters from the set: A-Z 0-9 $#@_-?!|%

user = Any valid RFC822 network address not longer than 80 characters; if omitted, the 'hostname' part defaults to that of the command originator


[next chapter] [previous chapter] [table of contents]