Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Internet » StarterPak/!Newsbase/Docs/Messages

StarterPak/!Newsbase/Docs/Messages

This website contains an archive of files for the Acorn Electron, BBC Micro, Acorn Archimedes, Commodore 16 and Commodore 64 computers, which Dominic Ford has rescued from his private collection of floppy disks and cassettes.

Some of these files were originally commercial releases in the 1980s and 1990s, but they are now widely available online. I assume that copyright over them is no longer being asserted. If you own the copyright and would like files to be removed, please contact me.

Tape/disk: Home » Recent acquisitions » Acorn ADFS disks » adfs_AcornUser_199508.adf » !Internet
Filename: StarterPak/!Newsbase/Docs/Messages
Read OK:
File size: 469E bytes
Load address: 0000
Exec address: 0000
File contents
Message definitions
-------------------

The message numbers used are provisional. An application for official
message numbers has been made to Acorn. Client programs should be written
with this in mind, so these can be easily changed!

Three messages are defined: NewsBase_Command, NewsBase_Reply and
NewsBase_Update. As the names suggest, NewsBase_Command is used by a client to
issue commands or requests to NewsBase; NewsBase_Reply is used by newsbase to
respond. NewsBase_Update messages are broadcast by newsbase to inform clients
of changes to the news database.

The commands implemented are based very loosely on the nntp commands
documented in RFC977 (more in spirit than in form). While the newsbase
commands are primarily designed to retrieve news from a locally-held news
database managed by Newsbase, their nature should make it possible for
future versions of newsbase to act as a mediator between a client reader
and a directly-connected nntp server (through ethernet and Acorn TCP/IP, or
whatever) - ie, one of the purposes of the command set is to act as an
abstraction layer between the reader program and the source of news.

NewsBase_Command:
block!&10= &FEED10
block!&14= command code

The command code is divided into two 16-bit fields - the lower 16 bits
contain the command itself, while the top 16 bits may contain a reference
number (to be supplied by the client application), which will be preserved
by Newsbase in replies. This permits overlapping command-reply sequences
issued by a client to be identified and followed.

Commands are divided into several general groups:

Group 0 - general-purpose commands.
-----------------------------------

Code    Description & parameters
----    ------------------------
0       NewsBase_Startup
        block!&18 = minimum version of newsbase supported
        Broadcast by a client to indicate it requires support from newsbase.
        If no response received, the client may either complain, or attempt
        to start newsbase.

10      NewsBase_Shutdown
        no parameters
        Indicates that a client has finished a newsbase session. Currently
        has no effect.

20      Set user
        block!&18 = encryption type (0=none)
        $(block+&20) = username (control-code terminated)
        $(block+n) = password (or null string)
        Sets current username for the newsbase session.
        Password field is currently ignored but will be used for
        network versions of newsbase.
        Encryption type indicates whether the password field is
        encrypted. Initially only type 0 (none) will be supported,
        but encryption will be added to avoid passing plaintext
        passwords over a network.

30      SiteInfo
        block!&18 = item number
        Requests site information from Newsbase
        Currently-defined items are:
        0 - fully-qualified hostname
        1 - organization
        2 - current transport name
        3 - current transport type (either "batch" or "direct")
        4 - timezone
        5 - remote hostname
        6 - mail hostname (can be different from 0)
        100 - username control status
        101 - default expiry time

40 *    SetSiteInfo
        block!&18 = item number
        $(block+&20) = new value
        (not all items may be set)

Group 1 - newsgroup-oriented commands
-------------------------------------

100     ListGroups
        $(block+&20) = groupname or pattern
        a list of active groups matching the given pattern is returned. Most
        common use will be to return all active groups (pattern "*").

110     NewGroups
        block!&18 = date
        block!$1c = time
        returns all newly-created groups since date/time. Date and time follow
        nntp convention of yymmdd and hhmmss, though in numeric rather than
        ascii form.

120     AddGroup
        $(block+&20) = groupname or pattern
        adds group(s) to the active list. This is not the same as
        'subscribing' a group for an individual user (which should be handled
        solely by the client program) - it adds the group(s) to the news feed.
        May not be supported or appropriate for all transport types.

        For ka9q, if more than one newsfeed is present (multiple xxxGroup
        files), the group(s) are added to the largest file (it is assumed
        that this is the primary server).

130     RemoveGroup
        $(block+&20) = groupname or pattern
        The inverse of the AddGroup command.
        May not be supported or appropriate for all transport types.
        Works ok for ka9q.

140     ExpireGroup
        block!&18 = expiry time in days (-1 = default)
        $(block+&20) = groupname or pattern
        Causes newsbase to perform an expiry run on the specified group(s).
        Normally this function is performed automatically by newsbase, but a
        command interface is included for completeness.

Group 2 - article-oriented commands
-----------------------------------

200     ListArts
        block!&18 - first article number (0=first available)
        block!&1C - last article number  (0=last available)
        $(block+&20) = groupname
        Returns a list of article numbers with associated "from" and "subject"
        header fields. Intended for display of article catalogues.

210     ListArtsThreaded
        block!&18 - first article number (0=first available)
        block!&1C - last article number  (0=last available)
        $(block+&20) = groupname
        Returns a list of article numbers with threading information.
        Replies take the form of one Newsbase_Reply 200 message (from,
        subject and message-ID) and one Newsbase_Reply 210 message
        (References information) for each article.

220     GetArticle
        block!&18 - article number
        $(block+&20) = filename
        Returns a filename for the requested article. The filename
        returned can be used to directly load or copy the article, but
        should not be stored across Wimp_Polls, as it may simply be a
        scrap file.

230     LockArticle
        block!&18 - first article number (0=first available)
        block!&1C - last article number  (0=last available)
        $(block+&20) = groupname
        Locks one or more articles to prevent expiry.

240     UnLockArticle
        block!&18 - first article number (0=first available)
        block!&1C - last article number  (0=last available)
        $(block+&20) = groupname
        Unlocks one or more locked articles to allow expiry.

250     DeleteArticle
        block!&18 - first article number (0=first available)
        block!&1C - last article number  (0=last available)
        $(block+&20) = groupname
        Deletes one or more articles, if articles are not locked, and if
        deletion is enabled.

260     MoveArticle
        block!&18 - first article number
        block!&1C - last article number
        $(block+&20) = groupname
        $(block+&20+x) = destination folder
        Moves an article from one group to another. The command is only
        valid for email articles; news articles cannot be moved. If the
        destination folder does not exist, it is created (folders can only
        be created in the Email or Folders hierarchies).

270     CopyArticle
        block!&18 - first article number
        block!&1C - last article number
        $(block+&20) = groupname
        $(block+&20+x) = destination folder
        Copies an article from one group to another. The command can be
        applied to news or mail. If the destination folder does not
        exist, it is created (folders can only be created in the Email
        or Folders hierarchies).

280     CancelArticle
        $(block+&20) = groupname(s)
        $(block+&20+x) = message-ID string.
        Sends a cancel message for the given article ID.

[no provision in above list for article retrieval by message ID - should be
added - possibly by extended version of GetArticle command 220]

Group 3 - posting/mailing commands
----------------------------------

300     PostArticle
        $(block+&20) = filename
        Posts an article. The file should contain an article complete with
        RFC-compliant headers.

310     MailArticle
        $(block+&20) = filename
        Sends a mail message. The file should contain a message complete with
        RFC-compliant headers.

Group 4 - user-oriented commands
--------------------------------

These commands enable management of the user database.

400     ListUsers
        $(block+&20) = pattern (null -> return all)
        Returns a list of valid usernames, with their group numbers and
        home directories. The home directory is a directory specific to that
        user which can be used to store configuration information, eg record
        of subscribed groups or read articles.

410     AddUser
        $(block+&20) = username

420     DeleteUser
        $(block+&20) = username

430 *   ModifyUser
        block!&18 = field to modify
        $(block+&20) = username
        $(block+&20+x) = new value of field
        Modifies the user database. Modifiable fields are:
        1       password
        2       user number
        3       group number
        4       real name
        5       home directory
        6       shell
        (most of these are, of course, meaningless for RISC OS, but it may
        prove useful to have them defined for some purposes).

440 *   GetUserInfo
        block!&18 = field to return
        $(block+&20) = username or pattern
        Fields are as for command 430, with the exception of "0", which
        returns a series of NewsBase_Reply messages representing all
        known information.

*** 430 & 440 are subject to change! ***

450     Set or read forwarding
        block!&18 = action: 0=read, 1=set, 2=clear
        $(block+&20) = username
        $(block+&20+x) = new value (if action=1)

460     Set or read vacation
        block!&18 = action: 0=read, 1=set, 2=clear
        $(block+&20) = username
        $(block+&20+x) = message body filename (if action=1)

Group 8 - queue control
-----------------------

800     Re-edit
        block!&18 = file type: 0=mail, 1=news
        block!&1C = reference number
        $(block+&20) = filename to re-edit
        This message should be broadcast by a queue control program, when
        the user indicates they wish to re-edit an already-queued file.
        The reference number is generated by the queue control program, and
        will be returned by any Newsbase_Reply message requiring further
        action (such as deleting the original queue entry). This is intended
        to aid use with multiple re-edit sessions.

        Note that while a re-edit session is in progress, the message should
        be locked in some way to prevent it from being sent. For ka9q, a
        file could be created in the "lock" directory. Other methods may be
        needed for other transport types.

        ** not used at present - may be discarded, as more complicated
        ** than necessary (see, eg, !Qedit for simpler method).

Group 9 - special-purpose commands
----------------------------------

Commands which don't fit into any other category.

900     ClientPresent
        This is sent by a client in reply to a ClientPresent NewsBase_Reply
        message - broadcast by newsbase prior to starting a newsreader.
        No data is associated with the message.

Commands marked with "*" are not implemented at time of writing.

NewsBase_Reply:
block!&10= &FEED11
block!&14= command response code

Replies follow the same three groups, but use the least-significant digit of
the response code to indicate status.
In general, the least-significant digit takes the following meanings:
0 - command ok (optional data may follow)
1 - command ok but cannot be performed for some reason
2 - command okay but can't be performed just now (try again later).
9 - bad command

NewsBase_Reply response codes and associated data are as follows:

0       StartupReply
        block!&18 = actual newsbase version
        block!&1C = flags
        Flags currently undefined but could indicate to the client such
        information as whether article fetch by number or ID is preferred
        (in general both will be supported, but one will carry a greater
        speed penalty).
        flag bit 0 = username control enabled.
        NewsBase will also broadcast this message automatically on startup.

10      Shutdown
        $(block+&20) = descriptive string
        Newsbase also broadcasts this message if it shuts down due to an
        error or user request (ie Quit from the iconbar menu).

20      SetUser
        $(block+&20) = current username

30      SiteInfo
        $(block+&20) = information string

40      SetSiteInfo
        returns success/failure

100     GroupList
        block!&18 = lowest-numbered article in group
        block!&1C = highest-numbered article in group
        block!&20 = estimated no. of articles in group
        $(block+&24) = newsgroup name
        $(block+n) = group flag string (control-char terminated)
        stream of messages, one per article. End of list is signalled by
        a null string and low/high articles set to zero.
        Otherwise, a first article number of zero indicates that no articles
        are present in the group.
        Currently, the locked status is the only flag returned - either
        "L0" or "L1" - to indicate unlocked (client is allowed to delete
        articles) or locked.

110     NewGroupList
        $(block+&20) = newsgroup name
        stream of messages, one per article. End of list is signalled by
        a null string.

120     AddGroup OK

130     RemoveGroup OK

140     ExpireGroup OK

200     ArtList
        block!&18 = article number
        block!&1c = article date
        $(block+&20) = from field
        $(block+n) = subject field
        $(block+m) = message-ID
        stream of messages, one per article. End of list is signalled by
        article number 0.

210     ArtThreadInfo
        block!&18 = article number
        block!&1c = undefined
        $(block+&20) = reference list
        stream of messages, one per article. End of list is signalled by
        article number 0.

220     GetArticle
        block!&18 = article number
        block!&1C = article size
        $(block+&20) = filename (control-char terminated)
        $(block+n) = article flag string (control-char terminated)
        Currently, the locked status is the only flag returned - either
        "L0" or "L1" to indicate unlocked or locked.

230     Article(s) locked

240     Article(s) unlocked

250     Article(s) deleted

260     Article(s) moved

270     Article(s) copied

300     Article posted

310     Message sent

400     ListUsers
        block!&18 = user's group number
        block!&1C = flags
        $(block+&20) = username
        $(block+&20+x) = home directory
        stream of messages, one per user, with end of list indicated by
        0,0,"",""
        Flags are defined:
        bit 0 - password is required.

410     AddUser

420     DeleteUser

430     ModifyUser

440     GetUserInfo
        $(block+&20) = requested information

450     Set or read forwarding
        $(block+&20) = username
        $(block+&20+x) = forwarding address or null if unset

460     Set or read vacation
        $(block+&20) = username
        $(block+&20+x) = message filename, or null if unset
        The template file returned should not be altered directly by
        a client - future versions of newsbase may store the information
        differently!

800     QueueEdit
        block!&18 = action required
                        0 = no action, 1 = delete entry
        block!&1C = reference number, as passed by re-edit command
        $(block+&20) = filename passed by original re-edit command
        Broadcast by client reader program when a re-editing session on a
        queued message is complete. If the reply code indicates success,
        the original outgoing message should be acted upon according to the
        requested action - currently only 1 action is defined (1, delete).
        The edited message will be requeued as a new entry in its re-edited
        form. If the reply indicates failure, the re-edit was cancelled, and
        the original message should be left intact (and unlocked, if the
        queue control program locked it).

900     ClientPresent
        This Newsbase_Reply message is broadcast by newsbase before attempting
        to start a new client application. If a client is loaded and wishes
        to prevent another from being started, it should reply with
        newsbase_command 900.

xx1     Command failed for some reason
        $(block+&20) = descriptive message (text)

xx2     Can't perform command - try later
        $(block+&20) = descriptive message (text)

xx9     Command invalid or unimplemented
        $(block+&20) = descriptive message (text)

NewsBase_Update:
block!&10= &FEED12
block!&14= type of update:
           0 - group created
           1 - group deleted
           2 - article created
           3 - article deleted
           4 - user added
           5 - user deleted

          10 - debatch finished
          11 - queues updated

for update type = 0,1:
  $(block+&20) = name of newsgroup

for update type = 2
  block!&18    = article number
  $(block+&20) = name of newsgroup
  $(block+x)   = From field
  $(block+y)   = Subject field

for update type = 3
  block!&18    = article number
  $(block+&20) = name of newsgroup

for update type = 4,5:
  block!&18    = user's group number
  $(block+&20) = username
  $(block+x)   = User flags

for update type = 10
  no data

for update type = 11
  block!&18    = update type (0 = mail, 1 = news)
  $(block+&20) = transport name, which update applies to (eg, "ka9q").
        Broadcast by Newsbase when a new outgoing mail or news file is
        queued. This is to permit external queue control applications to
        re-examine the queue and update their displays.
00000000  4d 65 73 73 61 67 65 20  64 65 66 69 6e 69 74 69  |Message definiti|
00000010  6f 6e 73 0a 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ons.------------|
00000020  2d 2d 2d 2d 2d 2d 2d 0a  0a 54 68 65 20 6d 65 73  |-------..The mes|
00000030  73 61 67 65 20 6e 75 6d  62 65 72 73 20 75 73 65  |sage numbers use|
00000040  64 20 61 72 65 20 70 72  6f 76 69 73 69 6f 6e 61  |d are provisiona|
00000050  6c 2e 20 41 6e 20 61 70  70 6c 69 63 61 74 69 6f  |l. An applicatio|
00000060  6e 20 66 6f 72 20 6f 66  66 69 63 69 61 6c 0a 6d  |n for official.m|
00000070  65 73 73 61 67 65 20 6e  75 6d 62 65 72 73 20 68  |essage numbers h|
00000080  61 73 20 62 65 65 6e 20  6d 61 64 65 20 74 6f 20  |as been made to |
00000090  41 63 6f 72 6e 2e 20 43  6c 69 65 6e 74 20 70 72  |Acorn. Client pr|
000000a0  6f 67 72 61 6d 73 20 73  68 6f 75 6c 64 20 62 65  |ograms should be|
000000b0  20 77 72 69 74 74 65 6e  0a 77 69 74 68 20 74 68  | written.with th|
000000c0  69 73 20 69 6e 20 6d 69  6e 64 2c 20 73 6f 20 74  |is in mind, so t|
000000d0  68 65 73 65 20 63 61 6e  20 62 65 20 65 61 73 69  |hese can be easi|
000000e0  6c 79 20 63 68 61 6e 67  65 64 21 0a 0a 54 68 72  |ly changed!..Thr|
000000f0  65 65 20 6d 65 73 73 61  67 65 73 20 61 72 65 20  |ee messages are |
00000100  64 65 66 69 6e 65 64 3a  20 4e 65 77 73 42 61 73  |defined: NewsBas|
00000110  65 5f 43 6f 6d 6d 61 6e  64 2c 20 4e 65 77 73 42  |e_Command, NewsB|
00000120  61 73 65 5f 52 65 70 6c  79 20 61 6e 64 0a 4e 65  |ase_Reply and.Ne|
00000130  77 73 42 61 73 65 5f 55  70 64 61 74 65 2e 20 41  |wsBase_Update. A|
00000140  73 20 74 68 65 20 6e 61  6d 65 73 20 73 75 67 67  |s the names sugg|
00000150  65 73 74 2c 20 4e 65 77  73 42 61 73 65 5f 43 6f  |est, NewsBase_Co|
00000160  6d 6d 61 6e 64 20 69 73  20 75 73 65 64 20 62 79  |mmand is used by|
00000170  20 61 20 63 6c 69 65 6e  74 20 74 6f 0a 69 73 73  | a client to.iss|
00000180  75 65 20 63 6f 6d 6d 61  6e 64 73 20 6f 72 20 72  |ue commands or r|
00000190  65 71 75 65 73 74 73 20  74 6f 20 4e 65 77 73 42  |equests to NewsB|
000001a0  61 73 65 3b 20 4e 65 77  73 42 61 73 65 5f 52 65  |ase; NewsBase_Re|
000001b0  70 6c 79 20 69 73 20 75  73 65 64 20 62 79 20 6e  |ply is used by n|
000001c0  65 77 73 62 61 73 65 20  74 6f 0a 72 65 73 70 6f  |ewsbase to.respo|
000001d0  6e 64 2e 20 4e 65 77 73  42 61 73 65 5f 55 70 64  |nd. NewsBase_Upd|
000001e0  61 74 65 20 6d 65 73 73  61 67 65 73 20 61 72 65  |ate messages are|
000001f0  20 62 72 6f 61 64 63 61  73 74 20 62 79 20 6e 65  | broadcast by ne|
00000200  77 73 62 61 73 65 20 74  6f 20 69 6e 66 6f 72 6d  |wsbase to inform|
00000210  20 63 6c 69 65 6e 74 73  0a 6f 66 20 63 68 61 6e  | clients.of chan|
00000220  67 65 73 20 74 6f 20 74  68 65 20 6e 65 77 73 20  |ges to the news |
00000230  64 61 74 61 62 61 73 65  2e 0a 0a 54 68 65 20 63  |database...The c|
00000240  6f 6d 6d 61 6e 64 73 20  69 6d 70 6c 65 6d 65 6e  |ommands implemen|
00000250  74 65 64 20 61 72 65 20  62 61 73 65 64 20 76 65  |ted are based ve|
00000260  72 79 20 6c 6f 6f 73 65  6c 79 20 6f 6e 20 74 68  |ry loosely on th|
00000270  65 20 6e 6e 74 70 20 63  6f 6d 6d 61 6e 64 73 0a  |e nntp commands.|
00000280  64 6f 63 75 6d 65 6e 74  65 64 20 69 6e 20 52 46  |documented in RF|
00000290  43 39 37 37 20 28 6d 6f  72 65 20 69 6e 20 73 70  |C977 (more in sp|
000002a0  69 72 69 74 20 74 68 61  6e 20 69 6e 20 66 6f 72  |irit than in for|
000002b0  6d 29 2e 20 57 68 69 6c  65 20 74 68 65 20 6e 65  |m). While the ne|
000002c0  77 73 62 61 73 65 0a 63  6f 6d 6d 61 6e 64 73 20  |wsbase.commands |
000002d0  61 72 65 20 70 72 69 6d  61 72 69 6c 79 20 64 65  |are primarily de|
000002e0  73 69 67 6e 65 64 20 74  6f 20 72 65 74 72 69 65  |signed to retrie|
000002f0  76 65 20 6e 65 77 73 20  66 72 6f 6d 20 61 20 6c  |ve news from a l|
00000300  6f 63 61 6c 6c 79 2d 68  65 6c 64 20 6e 65 77 73  |ocally-held news|
00000310  0a 64 61 74 61 62 61 73  65 20 6d 61 6e 61 67 65  |.database manage|
00000320  64 20 62 79 20 4e 65 77  73 62 61 73 65 2c 20 74  |d by Newsbase, t|
00000330  68 65 69 72 20 6e 61 74  75 72 65 20 73 68 6f 75  |heir nature shou|
00000340  6c 64 20 6d 61 6b 65 20  69 74 20 70 6f 73 73 69  |ld make it possi|
00000350  62 6c 65 20 66 6f 72 0a  66 75 74 75 72 65 20 76  |ble for.future v|
00000360  65 72 73 69 6f 6e 73 20  6f 66 20 6e 65 77 73 62  |ersions of newsb|
00000370  61 73 65 20 74 6f 20 61  63 74 20 61 73 20 61 20  |ase to act as a |
00000380  6d 65 64 69 61 74 6f 72  20 62 65 74 77 65 65 6e  |mediator between|
00000390  20 61 20 63 6c 69 65 6e  74 20 72 65 61 64 65 72  | a client reader|
000003a0  0a 61 6e 64 20 61 20 64  69 72 65 63 74 6c 79 2d  |.and a directly-|
000003b0  63 6f 6e 6e 65 63 74 65  64 20 6e 6e 74 70 20 73  |connected nntp s|
000003c0  65 72 76 65 72 20 28 74  68 72 6f 75 67 68 20 65  |erver (through e|
000003d0  74 68 65 72 6e 65 74 20  61 6e 64 20 41 63 6f 72  |thernet and Acor|
000003e0  6e 20 54 43 50 2f 49 50  2c 20 6f 72 0a 77 68 61  |n TCP/IP, or.wha|
000003f0  74 65 76 65 72 29 20 2d  20 69 65 2c 20 6f 6e 65  |tever) - ie, one|
00000400  20 6f 66 20 74 68 65 20  70 75 72 70 6f 73 65 73  | of the purposes|
00000410  20 6f 66 20 74 68 65 20  63 6f 6d 6d 61 6e 64 20  | of the command |
00000420  73 65 74 20 69 73 20 74  6f 20 61 63 74 20 61 73  |set is to act as|
00000430  20 61 6e 0a 61 62 73 74  72 61 63 74 69 6f 6e 20  | an.abstraction |
00000440  6c 61 79 65 72 20 62 65  74 77 65 65 6e 20 74 68  |layer between th|
00000450  65 20 72 65 61 64 65 72  20 70 72 6f 67 72 61 6d  |e reader program|
00000460  20 61 6e 64 20 74 68 65  20 73 6f 75 72 63 65 20  | and the source |
00000470  6f 66 20 6e 65 77 73 2e  0a 0a 4e 65 77 73 42 61  |of news...NewsBa|
00000480  73 65 5f 43 6f 6d 6d 61  6e 64 3a 0a 62 6c 6f 63  |se_Command:.bloc|
00000490  6b 21 26 31 30 3d 20 26  46 45 45 44 31 30 0a 62  |k!&10= &FEED10.b|
000004a0  6c 6f 63 6b 21 26 31 34  3d 20 63 6f 6d 6d 61 6e  |lock!&14= comman|
000004b0  64 20 63 6f 64 65 0a 0a  54 68 65 20 63 6f 6d 6d  |d code..The comm|
000004c0  61 6e 64 20 63 6f 64 65  20 69 73 20 64 69 76 69  |and code is divi|
000004d0  64 65 64 20 69 6e 74 6f  20 74 77 6f 20 31 36 2d  |ded into two 16-|
000004e0  62 69 74 20 66 69 65 6c  64 73 20 2d 20 74 68 65  |bit fields - the|
000004f0  20 6c 6f 77 65 72 20 31  36 20 62 69 74 73 0a 63  | lower 16 bits.c|
00000500  6f 6e 74 61 69 6e 20 74  68 65 20 63 6f 6d 6d 61  |ontain the comma|
00000510  6e 64 20 69 74 73 65 6c  66 2c 20 77 68 69 6c 65  |nd itself, while|
00000520  20 74 68 65 20 74 6f 70  20 31 36 20 62 69 74 73  | the top 16 bits|
00000530  20 6d 61 79 20 63 6f 6e  74 61 69 6e 20 61 20 72  | may contain a r|
00000540  65 66 65 72 65 6e 63 65  0a 6e 75 6d 62 65 72 20  |eference.number |
00000550  28 74 6f 20 62 65 20 73  75 70 70 6c 69 65 64 20  |(to be supplied |
00000560  62 79 20 74 68 65 20 63  6c 69 65 6e 74 20 61 70  |by the client ap|
00000570  70 6c 69 63 61 74 69 6f  6e 29 2c 20 77 68 69 63  |plication), whic|
00000580  68 20 77 69 6c 6c 20 62  65 20 70 72 65 73 65 72  |h will be preser|
00000590  76 65 64 0a 62 79 20 4e  65 77 73 62 61 73 65 20  |ved.by Newsbase |
000005a0  69 6e 20 72 65 70 6c 69  65 73 2e 20 54 68 69 73  |in replies. This|
000005b0  20 70 65 72 6d 69 74 73  20 6f 76 65 72 6c 61 70  | permits overlap|
000005c0  70 69 6e 67 20 63 6f 6d  6d 61 6e 64 2d 72 65 70  |ping command-rep|
000005d0  6c 79 20 73 65 71 75 65  6e 63 65 73 0a 69 73 73  |ly sequences.iss|
000005e0  75 65 64 20 62 79 20 61  20 63 6c 69 65 6e 74 20  |ued by a client |
000005f0  74 6f 20 62 65 20 69 64  65 6e 74 69 66 69 65 64  |to be identified|
00000600  20 61 6e 64 20 66 6f 6c  6c 6f 77 65 64 2e 0a 0a  | and followed...|
00000610  43 6f 6d 6d 61 6e 64 73  20 61 72 65 20 64 69 76  |Commands are div|
00000620  69 64 65 64 20 69 6e 74  6f 20 73 65 76 65 72 61  |ided into severa|
00000630  6c 20 67 65 6e 65 72 61  6c 20 67 72 6f 75 70 73  |l general groups|
00000640  3a 0a 0a 47 72 6f 75 70  20 30 20 2d 20 67 65 6e  |:..Group 0 - gen|
00000650  65 72 61 6c 2d 70 75 72  70 6f 73 65 20 63 6f 6d  |eral-purpose com|
00000660  6d 61 6e 64 73 2e 0a 2d  2d 2d 2d 2d 2d 2d 2d 2d  |mands..---------|
00000670  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000680  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 0a 0a 43 6f 64 65  |----------..Code|
00000690  20 20 20 20 44 65 73 63  72 69 70 74 69 6f 6e 20  |    Description |
000006a0  26 20 70 61 72 61 6d 65  74 65 72 73 0a 2d 2d 2d  |& parameters.---|
000006b0  2d 20 20 20 20 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |-    -----------|
000006c0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 30 20  |-------------.0 |
000006d0  20 20 20 20 20 20 4e 65  77 73 42 61 73 65 5f 53  |      NewsBase_S|
000006e0  74 61 72 74 75 70 0a 20  20 20 20 20 20 20 20 62  |tartup.        b|
000006f0  6c 6f 63 6b 21 26 31 38  20 3d 20 6d 69 6e 69 6d  |lock!&18 = minim|
00000700  75 6d 20 76 65 72 73 69  6f 6e 20 6f 66 20 6e 65  |um version of ne|
00000710  77 73 62 61 73 65 20 73  75 70 70 6f 72 74 65 64  |wsbase supported|
00000720  0a 20 20 20 20 20 20 20  20 42 72 6f 61 64 63 61  |.        Broadca|
00000730  73 74 20 62 79 20 61 20  63 6c 69 65 6e 74 20 74  |st by a client t|
00000740  6f 20 69 6e 64 69 63 61  74 65 20 69 74 20 72 65  |o indicate it re|
00000750  71 75 69 72 65 73 20 73  75 70 70 6f 72 74 20 66  |quires support f|
00000760  72 6f 6d 20 6e 65 77 73  62 61 73 65 2e 0a 20 20  |rom newsbase..  |
00000770  20 20 20 20 20 20 49 66  20 6e 6f 20 72 65 73 70  |      If no resp|
00000780  6f 6e 73 65 20 72 65 63  65 69 76 65 64 2c 20 74  |onse received, t|
00000790  68 65 20 63 6c 69 65 6e  74 20 6d 61 79 20 65 69  |he client may ei|
000007a0  74 68 65 72 20 63 6f 6d  70 6c 61 69 6e 2c 20 6f  |ther complain, o|
000007b0  72 20 61 74 74 65 6d 70  74 0a 20 20 20 20 20 20  |r attempt.      |
000007c0  20 20 74 6f 20 73 74 61  72 74 20 6e 65 77 73 62  |  to start newsb|
000007d0  61 73 65 2e 0a 0a 31 30  20 20 20 20 20 20 4e 65  |ase...10      Ne|
000007e0  77 73 42 61 73 65 5f 53  68 75 74 64 6f 77 6e 0a  |wsBase_Shutdown.|
000007f0  20 20 20 20 20 20 20 20  6e 6f 20 70 61 72 61 6d  |        no param|
00000800  65 74 65 72 73 0a 20 20  20 20 20 20 20 20 49 6e  |eters.        In|
00000810  64 69 63 61 74 65 73 20  74 68 61 74 20 61 20 63  |dicates that a c|
00000820  6c 69 65 6e 74 20 68 61  73 20 66 69 6e 69 73 68  |lient has finish|
00000830  65 64 20 61 20 6e 65 77  73 62 61 73 65 20 73 65  |ed a newsbase se|
00000840  73 73 69 6f 6e 2e 20 43  75 72 72 65 6e 74 6c 79  |ssion. Currently|
00000850  0a 20 20 20 20 20 20 20  20 68 61 73 20 6e 6f 20  |.        has no |
00000860  65 66 66 65 63 74 2e 0a  0a 32 30 20 20 20 20 20  |effect...20     |
00000870  20 53 65 74 20 75 73 65  72 0a 20 20 20 20 20 20  | Set user.      |
00000880  20 20 62 6c 6f 63 6b 21  26 31 38 20 3d 20 65 6e  |  block!&18 = en|
00000890  63 72 79 70 74 69 6f 6e  20 74 79 70 65 20 28 30  |cryption type (0|
000008a0  3d 6e 6f 6e 65 29 0a 20  20 20 20 20 20 20 20 24  |=none).        $|
000008b0  28 62 6c 6f 63 6b 2b 26  32 30 29 20 3d 20 75 73  |(block+&20) = us|
000008c0  65 72 6e 61 6d 65 20 28  63 6f 6e 74 72 6f 6c 2d  |ername (control-|
000008d0  63 6f 64 65 20 74 65 72  6d 69 6e 61 74 65 64 29  |code terminated)|
000008e0  0a 20 20 20 20 20 20 20  20 24 28 62 6c 6f 63 6b  |.        $(block|
000008f0  2b 6e 29 20 3d 20 70 61  73 73 77 6f 72 64 20 28  |+n) = password (|
00000900  6f 72 20 6e 75 6c 6c 20  73 74 72 69 6e 67 29 0a  |or null string).|
00000910  20 20 20 20 20 20 20 20  53 65 74 73 20 63 75 72  |        Sets cur|
00000920  72 65 6e 74 20 75 73 65  72 6e 61 6d 65 20 66 6f  |rent username fo|
00000930  72 20 74 68 65 20 6e 65  77 73 62 61 73 65 20 73  |r the newsbase s|
00000940  65 73 73 69 6f 6e 2e 0a  20 20 20 20 20 20 20 20  |ession..        |
00000950  50 61 73 73 77 6f 72 64  20 66 69 65 6c 64 20 69  |Password field i|
00000960  73 20 63 75 72 72 65 6e  74 6c 79 20 69 67 6e 6f  |s currently igno|
00000970  72 65 64 20 62 75 74 20  77 69 6c 6c 20 62 65 20  |red but will be |
00000980  75 73 65 64 20 66 6f 72  0a 20 20 20 20 20 20 20  |used for.       |
00000990  20 6e 65 74 77 6f 72 6b  20 76 65 72 73 69 6f 6e  | network version|
000009a0  73 20 6f 66 20 6e 65 77  73 62 61 73 65 2e 0a 20  |s of newsbase.. |
000009b0  20 20 20 20 20 20 20 45  6e 63 72 79 70 74 69 6f  |       Encryptio|
000009c0  6e 20 74 79 70 65 20 69  6e 64 69 63 61 74 65 73  |n type indicates|
000009d0  20 77 68 65 74 68 65 72  20 74 68 65 20 70 61 73  | whether the pas|
000009e0  73 77 6f 72 64 20 66 69  65 6c 64 20 69 73 0a 20  |sword field is. |
000009f0  20 20 20 20 20 20 20 65  6e 63 72 79 70 74 65 64  |       encrypted|
00000a00  2e 20 49 6e 69 74 69 61  6c 6c 79 20 6f 6e 6c 79  |. Initially only|
00000a10  20 74 79 70 65 20 30 20  28 6e 6f 6e 65 29 20 77  | type 0 (none) w|
00000a20  69 6c 6c 20 62 65 20 73  75 70 70 6f 72 74 65 64  |ill be supported|
00000a30  2c 0a 20 20 20 20 20 20  20 20 62 75 74 20 65 6e  |,.        but en|
00000a40  63 72 79 70 74 69 6f 6e  20 77 69 6c 6c 20 62 65  |cryption will be|
00000a50  20 61 64 64 65 64 20 74  6f 20 61 76 6f 69 64 20  | added to avoid |
00000a60  70 61 73 73 69 6e 67 20  70 6c 61 69 6e 74 65 78  |passing plaintex|
00000a70  74 0a 20 20 20 20 20 20  20 20 70 61 73 73 77 6f  |t.        passwo|
00000a80  72 64 73 20 6f 76 65 72  20 61 20 6e 65 74 77 6f  |rds over a netwo|
00000a90  72 6b 2e 0a 0a 33 30 20  20 20 20 20 20 53 69 74  |rk...30      Sit|
00000aa0  65 49 6e 66 6f 0a 20 20  20 20 20 20 20 20 62 6c  |eInfo.        bl|
00000ab0  6f 63 6b 21 26 31 38 20  3d 20 69 74 65 6d 20 6e  |ock!&18 = item n|
00000ac0  75 6d 62 65 72 0a 20 20  20 20 20 20 20 20 52 65  |umber.        Re|
00000ad0  71 75 65 73 74 73 20 73  69 74 65 20 69 6e 66 6f  |quests site info|
00000ae0  72 6d 61 74 69 6f 6e 20  66 72 6f 6d 20 4e 65 77  |rmation from New|
00000af0  73 62 61 73 65 0a 20 20  20 20 20 20 20 20 43 75  |sbase.        Cu|
00000b00  72 72 65 6e 74 6c 79 2d  64 65 66 69 6e 65 64 20  |rrently-defined |
00000b10  69 74 65 6d 73 20 61 72  65 3a 0a 20 20 20 20 20  |items are:.     |
00000b20  20 20 20 30 20 2d 20 66  75 6c 6c 79 2d 71 75 61  |   0 - fully-qua|
00000b30  6c 69 66 69 65 64 20 68  6f 73 74 6e 61 6d 65 0a  |lified hostname.|
00000b40  20 20 20 20 20 20 20 20  31 20 2d 20 6f 72 67 61  |        1 - orga|
00000b50  6e 69 7a 61 74 69 6f 6e  0a 20 20 20 20 20 20 20  |nization.       |
00000b60  20 32 20 2d 20 63 75 72  72 65 6e 74 20 74 72 61  | 2 - current tra|
00000b70  6e 73 70 6f 72 74 20 6e  61 6d 65 0a 20 20 20 20  |nsport name.    |
00000b80  20 20 20 20 33 20 2d 20  63 75 72 72 65 6e 74 20  |    3 - current |
00000b90  74 72 61 6e 73 70 6f 72  74 20 74 79 70 65 20 28  |transport type (|
00000ba0  65 69 74 68 65 72 20 22  62 61 74 63 68 22 20 6f  |either "batch" o|
00000bb0  72 20 22 64 69 72 65 63  74 22 29 0a 20 20 20 20  |r "direct").    |
00000bc0  20 20 20 20 34 20 2d 20  74 69 6d 65 7a 6f 6e 65  |    4 - timezone|
00000bd0  0a 20 20 20 20 20 20 20  20 35 20 2d 20 72 65 6d  |.        5 - rem|
00000be0  6f 74 65 20 68 6f 73 74  6e 61 6d 65 0a 20 20 20  |ote hostname.   |
00000bf0  20 20 20 20 20 36 20 2d  20 6d 61 69 6c 20 68 6f  |     6 - mail ho|
00000c00  73 74 6e 61 6d 65 20 28  63 61 6e 20 62 65 20 64  |stname (can be d|
00000c10  69 66 66 65 72 65 6e 74  20 66 72 6f 6d 20 30 29  |ifferent from 0)|
00000c20  0a 20 20 20 20 20 20 20  20 31 30 30 20 2d 20 75  |.        100 - u|
00000c30  73 65 72 6e 61 6d 65 20  63 6f 6e 74 72 6f 6c 20  |sername control |
00000c40  73 74 61 74 75 73 0a 20  20 20 20 20 20 20 20 31  |status.        1|
00000c50  30 31 20 2d 20 64 65 66  61 75 6c 74 20 65 78 70  |01 - default exp|
00000c60  69 72 79 20 74 69 6d 65  0a 0a 34 30 20 2a 20 20  |iry time..40 *  |
00000c70  20 20 53 65 74 53 69 74  65 49 6e 66 6f 0a 20 20  |  SetSiteInfo.  |
00000c80  20 20 20 20 20 20 62 6c  6f 63 6b 21 26 31 38 20  |      block!&18 |
00000c90  3d 20 69 74 65 6d 20 6e  75 6d 62 65 72 0a 20 20  |= item number.  |
00000ca0  20 20 20 20 20 20 24 28  62 6c 6f 63 6b 2b 26 32  |      $(block+&2|
00000cb0  30 29 20 3d 20 6e 65 77  20 76 61 6c 75 65 0a 20  |0) = new value. |
00000cc0  20 20 20 20 20 20 20 28  6e 6f 74 20 61 6c 6c 20  |       (not all |
00000cd0  69 74 65 6d 73 20 6d 61  79 20 62 65 20 73 65 74  |items may be set|
00000ce0  29 0a 0a 47 72 6f 75 70  20 31 20 2d 20 6e 65 77  |)..Group 1 - new|
00000cf0  73 67 72 6f 75 70 2d 6f  72 69 65 6e 74 65 64 20  |sgroup-oriented |
00000d00  63 6f 6d 6d 61 6e 64 73  0a 2d 2d 2d 2d 2d 2d 2d  |commands.-------|
00000d10  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00000d20  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 0a 0a  |--------------..|
00000d30  31 30 30 20 20 20 20 20  4c 69 73 74 47 72 6f 75  |100     ListGrou|
00000d40  70 73 0a 20 20 20 20 20  20 20 20 24 28 62 6c 6f  |ps.        $(blo|
00000d50  63 6b 2b 26 32 30 29 20  3d 20 67 72 6f 75 70 6e  |ck+&20) = groupn|
00000d60  61 6d 65 20 6f 72 20 70  61 74 74 65 72 6e 0a 20  |ame or pattern. |
00000d70  20 20 20 20 20 20 20 61  20 6c 69 73 74 20 6f 66  |       a list of|
00000d80  20 61 63 74 69 76 65 20  67 72 6f 75 70 73 20 6d  | active groups m|
00000d90  61 74 63 68 69 6e 67 20  74 68 65 20 67 69 76 65  |atching the give|
00000da0  6e 20 70 61 74 74 65 72  6e 20 69 73 20 72 65 74  |n pattern is ret|
00000db0  75 72 6e 65 64 2e 20 4d  6f 73 74 0a 20 20 20 20  |urned. Most.    |
00000dc0  20 20 20 20 63 6f 6d 6d  6f 6e 20 75 73 65 20 77  |    common use w|
00000dd0  69 6c 6c 20 62 65 20 74  6f 20 72 65 74 75 72 6e  |ill be to return|
00000de0  20 61 6c 6c 20 61 63 74  69 76 65 20 67 72 6f 75  | all active grou|
00000df0  70 73 20 28 70 61 74 74  65 72 6e 20 22 2a 22 29  |ps (pattern "*")|
00000e00  2e 0a 0a 31 31 30 20 20  20 20 20 4e 65 77 47 72  |...110     NewGr|
00000e10  6f 75 70 73 0a 20 20 20  20 20 20 20 20 62 6c 6f  |oups.        blo|
00000e20  63 6b 21 26 31 38 20 3d  20 64 61 74 65 0a 20 20  |ck!&18 = date.  |
00000e30  20 20 20 20 20 20 62 6c  6f 63 6b 21 24 31 63 20  |      block!$1c |
00000e40  3d 20 74 69 6d 65 0a 20  20 20 20 20 20 20 20 72  |= time.        r|
00000e50  65 74 75 72 6e 73 20 61  6c 6c 20 6e 65 77 6c 79  |eturns all newly|
00000e60  2d 63 72 65 61 74 65 64  20 67 72 6f 75 70 73 20  |-created groups |
00000e70  73 69 6e 63 65 20 64 61  74 65 2f 74 69 6d 65 2e  |since date/time.|
00000e80  20 44 61 74 65 20 61 6e  64 20 74 69 6d 65 20 66  | Date and time f|
00000e90  6f 6c 6c 6f 77 0a 20 20  20 20 20 20 20 20 6e 6e  |ollow.        nn|
00000ea0  74 70 20 63 6f 6e 76 65  6e 74 69 6f 6e 20 6f 66  |tp convention of|
00000eb0  20 79 79 6d 6d 64 64 20  61 6e 64 20 68 68 6d 6d  | yymmdd and hhmm|
00000ec0  73 73 2c 20 74 68 6f 75  67 68 20 69 6e 20 6e 75  |ss, though in nu|
00000ed0  6d 65 72 69 63 20 72 61  74 68 65 72 20 74 68 61  |meric rather tha|
00000ee0  6e 0a 20 20 20 20 20 20  20 20 61 73 63 69 69 20  |n.        ascii |
00000ef0  66 6f 72 6d 2e 0a 0a 31  32 30 20 20 20 20 20 41  |form...120     A|
00000f00  64 64 47 72 6f 75 70 0a  20 20 20 20 20 20 20 20  |ddGroup.        |
00000f10  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 67  |$(block+&20) = g|
00000f20  72 6f 75 70 6e 61 6d 65  20 6f 72 20 70 61 74 74  |roupname or patt|
00000f30  65 72 6e 0a 20 20 20 20  20 20 20 20 61 64 64 73  |ern.        adds|
00000f40  20 67 72 6f 75 70 28 73  29 20 74 6f 20 74 68 65  | group(s) to the|
00000f50  20 61 63 74 69 76 65 20  6c 69 73 74 2e 20 54 68  | active list. Th|
00000f60  69 73 20 69 73 20 6e 6f  74 20 74 68 65 20 73 61  |is is not the sa|
00000f70  6d 65 20 61 73 0a 20 20  20 20 20 20 20 20 27 73  |me as.        's|
00000f80  75 62 73 63 72 69 62 69  6e 67 27 20 61 20 67 72  |ubscribing' a gr|
00000f90  6f 75 70 20 66 6f 72 20  61 6e 20 69 6e 64 69 76  |oup for an indiv|
00000fa0  69 64 75 61 6c 20 75 73  65 72 20 28 77 68 69 63  |idual user (whic|
00000fb0  68 20 73 68 6f 75 6c 64  20 62 65 20 68 61 6e 64  |h should be hand|
00000fc0  6c 65 64 0a 20 20 20 20  20 20 20 20 73 6f 6c 65  |led.        sole|
00000fd0  6c 79 20 62 79 20 74 68  65 20 63 6c 69 65 6e 74  |ly by the client|
00000fe0  20 70 72 6f 67 72 61 6d  29 20 2d 20 69 74 20 61  | program) - it a|
00000ff0  64 64 73 20 74 68 65 20  67 72 6f 75 70 28 73 29  |dds the group(s)|
00001000  20 74 6f 20 74 68 65 20  6e 65 77 73 20 66 65 65  | to the news fee|
00001010  64 2e 0a 20 20 20 20 20  20 20 20 4d 61 79 20 6e  |d..        May n|
00001020  6f 74 20 62 65 20 73 75  70 70 6f 72 74 65 64 20  |ot be supported |
00001030  6f 72 20 61 70 70 72 6f  70 72 69 61 74 65 20 66  |or appropriate f|
00001040  6f 72 20 61 6c 6c 20 74  72 61 6e 73 70 6f 72 74  |or all transport|
00001050  20 74 79 70 65 73 2e 0a  0a 20 20 20 20 20 20 20  | types...       |
00001060  20 46 6f 72 20 6b 61 39  71 2c 20 69 66 20 6d 6f  | For ka9q, if mo|
00001070  72 65 20 74 68 61 6e 20  6f 6e 65 20 6e 65 77 73  |re than one news|
00001080  66 65 65 64 20 69 73 20  70 72 65 73 65 6e 74 20  |feed is present |
00001090  28 6d 75 6c 74 69 70 6c  65 20 78 78 78 47 72 6f  |(multiple xxxGro|
000010a0  75 70 0a 20 20 20 20 20  20 20 20 66 69 6c 65 73  |up.        files|
000010b0  29 2c 20 74 68 65 20 67  72 6f 75 70 28 73 29 20  |), the group(s) |
000010c0  61 72 65 20 61 64 64 65  64 20 74 6f 20 74 68 65  |are added to the|
000010d0  20 6c 61 72 67 65 73 74  20 66 69 6c 65 20 28 69  | largest file (i|
000010e0  74 20 69 73 20 61 73 73  75 6d 65 64 0a 20 20 20  |t is assumed.   |
000010f0  20 20 20 20 20 74 68 61  74 20 74 68 69 73 20 69  |     that this i|
00001100  73 20 74 68 65 20 70 72  69 6d 61 72 79 20 73 65  |s the primary se|
00001110  72 76 65 72 29 2e 0a 0a  31 33 30 20 20 20 20 20  |rver)...130     |
00001120  52 65 6d 6f 76 65 47 72  6f 75 70 0a 20 20 20 20  |RemoveGroup.    |
00001130  20 20 20 20 24 28 62 6c  6f 63 6b 2b 26 32 30 29  |    $(block+&20)|
00001140  20 3d 20 67 72 6f 75 70  6e 61 6d 65 20 6f 72 20  | = groupname or |
00001150  70 61 74 74 65 72 6e 0a  20 20 20 20 20 20 20 20  |pattern.        |
00001160  54 68 65 20 69 6e 76 65  72 73 65 20 6f 66 20 74  |The inverse of t|
00001170  68 65 20 41 64 64 47 72  6f 75 70 20 63 6f 6d 6d  |he AddGroup comm|
00001180  61 6e 64 2e 0a 20 20 20  20 20 20 20 20 4d 61 79  |and..        May|
00001190  20 6e 6f 74 20 62 65 20  73 75 70 70 6f 72 74 65  | not be supporte|
000011a0  64 20 6f 72 20 61 70 70  72 6f 70 72 69 61 74 65  |d or appropriate|
000011b0  20 66 6f 72 20 61 6c 6c  20 74 72 61 6e 73 70 6f  | for all transpo|
000011c0  72 74 20 74 79 70 65 73  2e 0a 20 20 20 20 20 20  |rt types..      |
000011d0  20 20 57 6f 72 6b 73 20  6f 6b 20 66 6f 72 20 6b  |  Works ok for k|
000011e0  61 39 71 2e 0a 0a 31 34  30 20 20 20 20 20 45 78  |a9q...140     Ex|
000011f0  70 69 72 65 47 72 6f 75  70 0a 20 20 20 20 20 20  |pireGroup.      |
00001200  20 20 62 6c 6f 63 6b 21  26 31 38 20 3d 20 65 78  |  block!&18 = ex|
00001210  70 69 72 79 20 74 69 6d  65 20 69 6e 20 64 61 79  |piry time in day|
00001220  73 20 28 2d 31 20 3d 20  64 65 66 61 75 6c 74 29  |s (-1 = default)|
00001230  0a 20 20 20 20 20 20 20  20 24 28 62 6c 6f 63 6b  |.        $(block|
00001240  2b 26 32 30 29 20 3d 20  67 72 6f 75 70 6e 61 6d  |+&20) = groupnam|
00001250  65 20 6f 72 20 70 61 74  74 65 72 6e 0a 20 20 20  |e or pattern.   |
00001260  20 20 20 20 20 43 61 75  73 65 73 20 6e 65 77 73  |     Causes news|
00001270  62 61 73 65 20 74 6f 20  70 65 72 66 6f 72 6d 20  |base to perform |
00001280  61 6e 20 65 78 70 69 72  79 20 72 75 6e 20 6f 6e  |an expiry run on|
00001290  20 74 68 65 20 73 70 65  63 69 66 69 65 64 20 67  | the specified g|
000012a0  72 6f 75 70 28 73 29 2e  0a 20 20 20 20 20 20 20  |roup(s)..       |
000012b0  20 4e 6f 72 6d 61 6c 6c  79 20 74 68 69 73 20 66  | Normally this f|
000012c0  75 6e 63 74 69 6f 6e 20  69 73 20 70 65 72 66 6f  |unction is perfo|
000012d0  72 6d 65 64 20 61 75 74  6f 6d 61 74 69 63 61 6c  |rmed automatical|
000012e0  6c 79 20 62 79 20 6e 65  77 73 62 61 73 65 2c 20  |ly by newsbase, |
000012f0  62 75 74 20 61 0a 20 20  20 20 20 20 20 20 63 6f  |but a.        co|
00001300  6d 6d 61 6e 64 20 69 6e  74 65 72 66 61 63 65 20  |mmand interface |
00001310  69 73 20 69 6e 63 6c 75  64 65 64 20 66 6f 72 20  |is included for |
00001320  63 6f 6d 70 6c 65 74 65  6e 65 73 73 2e 0a 0a 47  |completeness...G|
00001330  72 6f 75 70 20 32 20 2d  20 61 72 74 69 63 6c 65  |roup 2 - article|
00001340  2d 6f 72 69 65 6e 74 65  64 20 63 6f 6d 6d 61 6e  |-oriented comman|
00001350  64 73 0a 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ds.-------------|
00001360  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00001370  2d 2d 2d 2d 2d 2d 0a 0a  32 30 30 20 20 20 20 20  |------..200     |
00001380  4c 69 73 74 41 72 74 73  0a 20 20 20 20 20 20 20  |ListArts.       |
00001390  20 62 6c 6f 63 6b 21 26  31 38 20 2d 20 66 69 72  | block!&18 - fir|
000013a0  73 74 20 61 72 74 69 63  6c 65 20 6e 75 6d 62 65  |st article numbe|
000013b0  72 20 28 30 3d 66 69 72  73 74 20 61 76 61 69 6c  |r (0=first avail|
000013c0  61 62 6c 65 29 0a 20 20  20 20 20 20 20 20 62 6c  |able).        bl|
000013d0  6f 63 6b 21 26 31 43 20  2d 20 6c 61 73 74 20 61  |ock!&1C - last a|
000013e0  72 74 69 63 6c 65 20 6e  75 6d 62 65 72 20 20 28  |rticle number  (|
000013f0  30 3d 6c 61 73 74 20 61  76 61 69 6c 61 62 6c 65  |0=last available|
00001400  29 0a 20 20 20 20 20 20  20 20 24 28 62 6c 6f 63  |).        $(bloc|
00001410  6b 2b 26 32 30 29 20 3d  20 67 72 6f 75 70 6e 61  |k+&20) = groupna|
00001420  6d 65 0a 20 20 20 20 20  20 20 20 52 65 74 75 72  |me.        Retur|
00001430  6e 73 20 61 20 6c 69 73  74 20 6f 66 20 61 72 74  |ns a list of art|
00001440  69 63 6c 65 20 6e 75 6d  62 65 72 73 20 77 69 74  |icle numbers wit|
00001450  68 20 61 73 73 6f 63 69  61 74 65 64 20 22 66 72  |h associated "fr|
00001460  6f 6d 22 20 61 6e 64 20  22 73 75 62 6a 65 63 74  |om" and "subject|
00001470  22 0a 20 20 20 20 20 20  20 20 68 65 61 64 65 72  |".        header|
00001480  20 66 69 65 6c 64 73 2e  20 49 6e 74 65 6e 64 65  | fields. Intende|
00001490  64 20 66 6f 72 20 64 69  73 70 6c 61 79 20 6f 66  |d for display of|
000014a0  20 61 72 74 69 63 6c 65  20 63 61 74 61 6c 6f 67  | article catalog|
000014b0  75 65 73 2e 0a 0a 32 31  30 20 20 20 20 20 4c 69  |ues...210     Li|
000014c0  73 74 41 72 74 73 54 68  72 65 61 64 65 64 0a 20  |stArtsThreaded. |
000014d0  20 20 20 20 20 20 20 62  6c 6f 63 6b 21 26 31 38  |       block!&18|
000014e0  20 2d 20 66 69 72 73 74  20 61 72 74 69 63 6c 65  | - first article|
000014f0  20 6e 75 6d 62 65 72 20  28 30 3d 66 69 72 73 74  | number (0=first|
00001500  20 61 76 61 69 6c 61 62  6c 65 29 0a 20 20 20 20  | available).    |
00001510  20 20 20 20 62 6c 6f 63  6b 21 26 31 43 20 2d 20  |    block!&1C - |
00001520  6c 61 73 74 20 61 72 74  69 63 6c 65 20 6e 75 6d  |last article num|
00001530  62 65 72 20 20 28 30 3d  6c 61 73 74 20 61 76 61  |ber  (0=last ava|
00001540  69 6c 61 62 6c 65 29 0a  20 20 20 20 20 20 20 20  |ilable).        |
00001550  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 67  |$(block+&20) = g|
00001560  72 6f 75 70 6e 61 6d 65  0a 20 20 20 20 20 20 20  |roupname.       |
00001570  20 52 65 74 75 72 6e 73  20 61 20 6c 69 73 74 20  | Returns a list |
00001580  6f 66 20 61 72 74 69 63  6c 65 20 6e 75 6d 62 65  |of article numbe|
00001590  72 73 20 77 69 74 68 20  74 68 72 65 61 64 69 6e  |rs with threadin|
000015a0  67 20 69 6e 66 6f 72 6d  61 74 69 6f 6e 2e 0a 20  |g information.. |
000015b0  20 20 20 20 20 20 20 52  65 70 6c 69 65 73 20 74  |       Replies t|
000015c0  61 6b 65 20 74 68 65 20  66 6f 72 6d 20 6f 66 20  |ake the form of |
000015d0  6f 6e 65 20 4e 65 77 73  62 61 73 65 5f 52 65 70  |one Newsbase_Rep|
000015e0  6c 79 20 32 30 30 20 6d  65 73 73 61 67 65 20 28  |ly 200 message (|
000015f0  66 72 6f 6d 2c 0a 20 20  20 20 20 20 20 20 73 75  |from,.        su|
00001600  62 6a 65 63 74 20 61 6e  64 20 6d 65 73 73 61 67  |bject and messag|
00001610  65 2d 49 44 29 20 61 6e  64 20 6f 6e 65 20 4e 65  |e-ID) and one Ne|
00001620  77 73 62 61 73 65 5f 52  65 70 6c 79 20 32 31 30  |wsbase_Reply 210|
00001630  20 6d 65 73 73 61 67 65  0a 20 20 20 20 20 20 20  | message.       |
00001640  20 28 52 65 66 65 72 65  6e 63 65 73 20 69 6e 66  | (References inf|
00001650  6f 72 6d 61 74 69 6f 6e  29 20 66 6f 72 20 65 61  |ormation) for ea|
00001660  63 68 20 61 72 74 69 63  6c 65 2e 0a 0a 32 32 30  |ch article...220|
00001670  20 20 20 20 20 47 65 74  41 72 74 69 63 6c 65 0a  |     GetArticle.|
00001680  20 20 20 20 20 20 20 20  62 6c 6f 63 6b 21 26 31  |        block!&1|
00001690  38 20 2d 20 61 72 74 69  63 6c 65 20 6e 75 6d 62  |8 - article numb|
000016a0  65 72 0a 20 20 20 20 20  20 20 20 24 28 62 6c 6f  |er.        $(blo|
000016b0  63 6b 2b 26 32 30 29 20  3d 20 66 69 6c 65 6e 61  |ck+&20) = filena|
000016c0  6d 65 0a 20 20 20 20 20  20 20 20 52 65 74 75 72  |me.        Retur|
000016d0  6e 73 20 61 20 66 69 6c  65 6e 61 6d 65 20 66 6f  |ns a filename fo|
000016e0  72 20 74 68 65 20 72 65  71 75 65 73 74 65 64 20  |r the requested |
000016f0  61 72 74 69 63 6c 65 2e  20 54 68 65 20 66 69 6c  |article. The fil|
00001700  65 6e 61 6d 65 0a 20 20  20 20 20 20 20 20 72 65  |ename.        re|
00001710  74 75 72 6e 65 64 20 63  61 6e 20 62 65 20 75 73  |turned can be us|
00001720  65 64 20 74 6f 20 64 69  72 65 63 74 6c 79 20 6c  |ed to directly l|
00001730  6f 61 64 20 6f 72 20 63  6f 70 79 20 74 68 65 20  |oad or copy the |
00001740  61 72 74 69 63 6c 65 2c  20 62 75 74 0a 20 20 20  |article, but.   |
00001750  20 20 20 20 20 73 68 6f  75 6c 64 20 6e 6f 74 20  |     should not |
00001760  62 65 20 73 74 6f 72 65  64 20 61 63 72 6f 73 73  |be stored across|
00001770  20 57 69 6d 70 5f 50 6f  6c 6c 73 2c 20 61 73 20  | Wimp_Polls, as |
00001780  69 74 20 6d 61 79 20 73  69 6d 70 6c 79 20 62 65  |it may simply be|
00001790  20 61 0a 20 20 20 20 20  20 20 20 73 63 72 61 70  | a.        scrap|
000017a0  20 66 69 6c 65 2e 0a 0a  32 33 30 20 20 20 20 20  | file...230     |
000017b0  4c 6f 63 6b 41 72 74 69  63 6c 65 0a 20 20 20 20  |LockArticle.    |
000017c0  20 20 20 20 62 6c 6f 63  6b 21 26 31 38 20 2d 20  |    block!&18 - |
000017d0  66 69 72 73 74 20 61 72  74 69 63 6c 65 20 6e 75  |first article nu|
000017e0  6d 62 65 72 20 28 30 3d  66 69 72 73 74 20 61 76  |mber (0=first av|
000017f0  61 69 6c 61 62 6c 65 29  0a 20 20 20 20 20 20 20  |ailable).       |
00001800  20 62 6c 6f 63 6b 21 26  31 43 20 2d 20 6c 61 73  | block!&1C - las|
00001810  74 20 61 72 74 69 63 6c  65 20 6e 75 6d 62 65 72  |t article number|
00001820  20 20 28 30 3d 6c 61 73  74 20 61 76 61 69 6c 61  |  (0=last availa|
00001830  62 6c 65 29 0a 20 20 20  20 20 20 20 20 24 28 62  |ble).        $(b|
00001840  6c 6f 63 6b 2b 26 32 30  29 20 3d 20 67 72 6f 75  |lock+&20) = grou|
00001850  70 6e 61 6d 65 0a 20 20  20 20 20 20 20 20 4c 6f  |pname.        Lo|
00001860  63 6b 73 20 6f 6e 65 20  6f 72 20 6d 6f 72 65 20  |cks one or more |
00001870  61 72 74 69 63 6c 65 73  20 74 6f 20 70 72 65 76  |articles to prev|
00001880  65 6e 74 20 65 78 70 69  72 79 2e 0a 0a 32 34 30  |ent expiry...240|
00001890  20 20 20 20 20 55 6e 4c  6f 63 6b 41 72 74 69 63  |     UnLockArtic|
000018a0  6c 65 0a 20 20 20 20 20  20 20 20 62 6c 6f 63 6b  |le.        block|
000018b0  21 26 31 38 20 2d 20 66  69 72 73 74 20 61 72 74  |!&18 - first art|
000018c0  69 63 6c 65 20 6e 75 6d  62 65 72 20 28 30 3d 66  |icle number (0=f|
000018d0  69 72 73 74 20 61 76 61  69 6c 61 62 6c 65 29 0a  |irst available).|
000018e0  20 20 20 20 20 20 20 20  62 6c 6f 63 6b 21 26 31  |        block!&1|
000018f0  43 20 2d 20 6c 61 73 74  20 61 72 74 69 63 6c 65  |C - last article|
00001900  20 6e 75 6d 62 65 72 20  20 28 30 3d 6c 61 73 74  | number  (0=last|
00001910  20 61 76 61 69 6c 61 62  6c 65 29 0a 20 20 20 20  | available).    |
00001920  20 20 20 20 24 28 62 6c  6f 63 6b 2b 26 32 30 29  |    $(block+&20)|
00001930  20 3d 20 67 72 6f 75 70  6e 61 6d 65 0a 20 20 20  | = groupname.   |
00001940  20 20 20 20 20 55 6e 6c  6f 63 6b 73 20 6f 6e 65  |     Unlocks one|
00001950  20 6f 72 20 6d 6f 72 65  20 6c 6f 63 6b 65 64 20  | or more locked |
00001960  61 72 74 69 63 6c 65 73  20 74 6f 20 61 6c 6c 6f  |articles to allo|
00001970  77 20 65 78 70 69 72 79  2e 0a 0a 32 35 30 20 20  |w expiry...250  |
00001980  20 20 20 44 65 6c 65 74  65 41 72 74 69 63 6c 65  |   DeleteArticle|
00001990  0a 20 20 20 20 20 20 20  20 62 6c 6f 63 6b 21 26  |.        block!&|
000019a0  31 38 20 2d 20 66 69 72  73 74 20 61 72 74 69 63  |18 - first artic|
000019b0  6c 65 20 6e 75 6d 62 65  72 20 28 30 3d 66 69 72  |le number (0=fir|
000019c0  73 74 20 61 76 61 69 6c  61 62 6c 65 29 0a 20 20  |st available).  |
000019d0  20 20 20 20 20 20 62 6c  6f 63 6b 21 26 31 43 20  |      block!&1C |
000019e0  2d 20 6c 61 73 74 20 61  72 74 69 63 6c 65 20 6e  |- last article n|
000019f0  75 6d 62 65 72 20 20 28  30 3d 6c 61 73 74 20 61  |umber  (0=last a|
00001a00  76 61 69 6c 61 62 6c 65  29 0a 20 20 20 20 20 20  |vailable).      |
00001a10  20 20 24 28 62 6c 6f 63  6b 2b 26 32 30 29 20 3d  |  $(block+&20) =|
00001a20  20 67 72 6f 75 70 6e 61  6d 65 0a 20 20 20 20 20  | groupname.     |
00001a30  20 20 20 44 65 6c 65 74  65 73 20 6f 6e 65 20 6f  |   Deletes one o|
00001a40  72 20 6d 6f 72 65 20 61  72 74 69 63 6c 65 73 2c  |r more articles,|
00001a50  20 69 66 20 61 72 74 69  63 6c 65 73 20 61 72 65  | if articles are|
00001a60  20 6e 6f 74 20 6c 6f 63  6b 65 64 2c 20 61 6e 64  | not locked, and|
00001a70  20 69 66 0a 20 20 20 20  20 20 20 20 64 65 6c 65  | if.        dele|
00001a80  74 69 6f 6e 20 69 73 20  65 6e 61 62 6c 65 64 2e  |tion is enabled.|
00001a90  0a 0a 32 36 30 20 20 20  20 20 4d 6f 76 65 41 72  |..260     MoveAr|
00001aa0  74 69 63 6c 65 0a 20 20  20 20 20 20 20 20 62 6c  |ticle.        bl|
00001ab0  6f 63 6b 21 26 31 38 20  2d 20 66 69 72 73 74 20  |ock!&18 - first |
00001ac0  61 72 74 69 63 6c 65 20  6e 75 6d 62 65 72 0a 20  |article number. |
00001ad0  20 20 20 20 20 20 20 62  6c 6f 63 6b 21 26 31 43  |       block!&1C|
00001ae0  20 2d 20 6c 61 73 74 20  61 72 74 69 63 6c 65 20  | - last article |
00001af0  6e 75 6d 62 65 72 0a 20  20 20 20 20 20 20 20 24  |number.        $|
00001b00  28 62 6c 6f 63 6b 2b 26  32 30 29 20 3d 20 67 72  |(block+&20) = gr|
00001b10  6f 75 70 6e 61 6d 65 0a  20 20 20 20 20 20 20 20  |oupname.        |
00001b20  24 28 62 6c 6f 63 6b 2b  26 32 30 2b 78 29 20 3d  |$(block+&20+x) =|
00001b30  20 64 65 73 74 69 6e 61  74 69 6f 6e 20 66 6f 6c  | destination fol|
00001b40  64 65 72 0a 20 20 20 20  20 20 20 20 4d 6f 76 65  |der.        Move|
00001b50  73 20 61 6e 20 61 72 74  69 63 6c 65 20 66 72 6f  |s an article fro|
00001b60  6d 20 6f 6e 65 20 67 72  6f 75 70 20 74 6f 20 61  |m one group to a|
00001b70  6e 6f 74 68 65 72 2e 20  54 68 65 20 63 6f 6d 6d  |nother. The comm|
00001b80  61 6e 64 20 69 73 20 6f  6e 6c 79 0a 20 20 20 20  |and is only.    |
00001b90  20 20 20 20 76 61 6c 69  64 20 66 6f 72 20 65 6d  |    valid for em|
00001ba0  61 69 6c 20 61 72 74 69  63 6c 65 73 3b 20 6e 65  |ail articles; ne|
00001bb0  77 73 20 61 72 74 69 63  6c 65 73 20 63 61 6e 6e  |ws articles cann|
00001bc0  6f 74 20 62 65 20 6d 6f  76 65 64 2e 20 49 66 20  |ot be moved. If |
00001bd0  74 68 65 0a 20 20 20 20  20 20 20 20 64 65 73 74  |the.        dest|
00001be0  69 6e 61 74 69 6f 6e 20  66 6f 6c 64 65 72 20 64  |ination folder d|
00001bf0  6f 65 73 20 6e 6f 74 20  65 78 69 73 74 2c 20 69  |oes not exist, i|
00001c00  74 20 69 73 20 63 72 65  61 74 65 64 20 28 66 6f  |t is created (fo|
00001c10  6c 64 65 72 73 20 63 61  6e 20 6f 6e 6c 79 0a 20  |lders can only. |
00001c20  20 20 20 20 20 20 20 62  65 20 63 72 65 61 74 65  |       be create|
00001c30  64 20 69 6e 20 74 68 65  20 45 6d 61 69 6c 20 6f  |d in the Email o|
00001c40  72 20 46 6f 6c 64 65 72  73 20 68 69 65 72 61 72  |r Folders hierar|
00001c50  63 68 69 65 73 29 2e 0a  0a 32 37 30 20 20 20 20  |chies)...270    |
00001c60  20 43 6f 70 79 41 72 74  69 63 6c 65 0a 20 20 20  | CopyArticle.   |
00001c70  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 38 20 2d  |     block!&18 -|
00001c80  20 66 69 72 73 74 20 61  72 74 69 63 6c 65 20 6e  | first article n|
00001c90  75 6d 62 65 72 0a 20 20  20 20 20 20 20 20 62 6c  |umber.        bl|
00001ca0  6f 63 6b 21 26 31 43 20  2d 20 6c 61 73 74 20 61  |ock!&1C - last a|
00001cb0  72 74 69 63 6c 65 20 6e  75 6d 62 65 72 0a 20 20  |rticle number.  |
00001cc0  20 20 20 20 20 20 24 28  62 6c 6f 63 6b 2b 26 32  |      $(block+&2|
00001cd0  30 29 20 3d 20 67 72 6f  75 70 6e 61 6d 65 0a 20  |0) = groupname. |
00001ce0  20 20 20 20 20 20 20 24  28 62 6c 6f 63 6b 2b 26  |       $(block+&|
00001cf0  32 30 2b 78 29 20 3d 20  64 65 73 74 69 6e 61 74  |20+x) = destinat|
00001d00  69 6f 6e 20 66 6f 6c 64  65 72 0a 20 20 20 20 20  |ion folder.     |
00001d10  20 20 20 43 6f 70 69 65  73 20 61 6e 20 61 72 74  |   Copies an art|
00001d20  69 63 6c 65 20 66 72 6f  6d 20 6f 6e 65 20 67 72  |icle from one gr|
00001d30  6f 75 70 20 74 6f 20 61  6e 6f 74 68 65 72 2e 20  |oup to another. |
00001d40  54 68 65 20 63 6f 6d 6d  61 6e 64 20 63 61 6e 20  |The command can |
00001d50  62 65 0a 20 20 20 20 20  20 20 20 61 70 70 6c 69  |be.        appli|
00001d60  65 64 20 74 6f 20 6e 65  77 73 20 6f 72 20 6d 61  |ed to news or ma|
00001d70  69 6c 2e 20 49 66 20 74  68 65 20 64 65 73 74 69  |il. If the desti|
00001d80  6e 61 74 69 6f 6e 20 66  6f 6c 64 65 72 20 64 6f  |nation folder do|
00001d90  65 73 20 6e 6f 74 0a 20  20 20 20 20 20 20 20 65  |es not.        e|
00001da0  78 69 73 74 2c 20 69 74  20 69 73 20 63 72 65 61  |xist, it is crea|
00001db0  74 65 64 20 28 66 6f 6c  64 65 72 73 20 63 61 6e  |ted (folders can|
00001dc0  20 6f 6e 6c 79 20 62 65  20 63 72 65 61 74 65 64  | only be created|
00001dd0  20 69 6e 20 74 68 65 20  45 6d 61 69 6c 0a 20 20  | in the Email.  |
00001de0  20 20 20 20 20 20 6f 72  20 46 6f 6c 64 65 72 73  |      or Folders|
00001df0  20 68 69 65 72 61 72 63  68 69 65 73 29 2e 0a 0a  | hierarchies)...|
00001e00  32 38 30 20 20 20 20 20  43 61 6e 63 65 6c 41 72  |280     CancelAr|
00001e10  74 69 63 6c 65 0a 20 20  20 20 20 20 20 20 24 28  |ticle.        $(|
00001e20  62 6c 6f 63 6b 2b 26 32  30 29 20 3d 20 67 72 6f  |block+&20) = gro|
00001e30  75 70 6e 61 6d 65 28 73  29 0a 20 20 20 20 20 20  |upname(s).      |
00001e40  20 20 24 28 62 6c 6f 63  6b 2b 26 32 30 2b 78 29  |  $(block+&20+x)|
00001e50  20 3d 20 6d 65 73 73 61  67 65 2d 49 44 20 73 74  | = message-ID st|
00001e60  72 69 6e 67 2e 0a 20 20  20 20 20 20 20 20 53 65  |ring..        Se|
00001e70  6e 64 73 20 61 20 63 61  6e 63 65 6c 20 6d 65 73  |nds a cancel mes|
00001e80  73 61 67 65 20 66 6f 72  20 74 68 65 20 67 69 76  |sage for the giv|
00001e90  65 6e 20 61 72 74 69 63  6c 65 20 49 44 2e 0a 0a  |en article ID...|
00001ea0  5b 6e 6f 20 70 72 6f 76  69 73 69 6f 6e 20 69 6e  |[no provision in|
00001eb0  20 61 62 6f 76 65 20 6c  69 73 74 20 66 6f 72 20  | above list for |
00001ec0  61 72 74 69 63 6c 65 20  72 65 74 72 69 65 76 61  |article retrieva|
00001ed0  6c 20 62 79 20 6d 65 73  73 61 67 65 20 49 44 20  |l by message ID |
00001ee0  2d 20 73 68 6f 75 6c 64  20 62 65 0a 61 64 64 65  |- should be.adde|
00001ef0  64 20 2d 20 70 6f 73 73  69 62 6c 79 20 62 79 20  |d - possibly by |
00001f00  65 78 74 65 6e 64 65 64  20 76 65 72 73 69 6f 6e  |extended version|
00001f10  20 6f 66 20 47 65 74 41  72 74 69 63 6c 65 20 63  | of GetArticle c|
00001f20  6f 6d 6d 61 6e 64 20 32  32 30 5d 0a 0a 47 72 6f  |ommand 220]..Gro|
00001f30  75 70 20 33 20 2d 20 70  6f 73 74 69 6e 67 2f 6d  |up 3 - posting/m|
00001f40  61 69 6c 69 6e 67 20 63  6f 6d 6d 61 6e 64 73 0a  |ailing commands.|
00001f50  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
*
00001f70  2d 2d 0a 0a 33 30 30 20  20 20 20 20 50 6f 73 74  |--..300     Post|
00001f80  41 72 74 69 63 6c 65 0a  20 20 20 20 20 20 20 20  |Article.        |
00001f90  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 66  |$(block+&20) = f|
00001fa0  69 6c 65 6e 61 6d 65 0a  20 20 20 20 20 20 20 20  |ilename.        |
00001fb0  50 6f 73 74 73 20 61 6e  20 61 72 74 69 63 6c 65  |Posts an article|
00001fc0  2e 20 54 68 65 20 66 69  6c 65 20 73 68 6f 75 6c  |. The file shoul|
00001fd0  64 20 63 6f 6e 74 61 69  6e 20 61 6e 20 61 72 74  |d contain an art|
00001fe0  69 63 6c 65 20 63 6f 6d  70 6c 65 74 65 20 77 69  |icle complete wi|
00001ff0  74 68 0a 20 20 20 20 20  20 20 20 52 46 43 2d 63  |th.        RFC-c|
00002000  6f 6d 70 6c 69 61 6e 74  20 68 65 61 64 65 72 73  |ompliant headers|
00002010  2e 0a 0a 33 31 30 20 20  20 20 20 4d 61 69 6c 41  |...310     MailA|
00002020  72 74 69 63 6c 65 0a 20  20 20 20 20 20 20 20 24  |rticle.        $|
00002030  28 62 6c 6f 63 6b 2b 26  32 30 29 20 3d 20 66 69  |(block+&20) = fi|
00002040  6c 65 6e 61 6d 65 0a 20  20 20 20 20 20 20 20 53  |lename.        S|
00002050  65 6e 64 73 20 61 20 6d  61 69 6c 20 6d 65 73 73  |ends a mail mess|
00002060  61 67 65 2e 20 54 68 65  20 66 69 6c 65 20 73 68  |age. The file sh|
00002070  6f 75 6c 64 20 63 6f 6e  74 61 69 6e 20 61 20 6d  |ould contain a m|
00002080  65 73 73 61 67 65 20 63  6f 6d 70 6c 65 74 65 20  |essage complete |
00002090  77 69 74 68 0a 20 20 20  20 20 20 20 20 52 46 43  |with.        RFC|
000020a0  2d 63 6f 6d 70 6c 69 61  6e 74 20 68 65 61 64 65  |-compliant heade|
000020b0  72 73 2e 0a 0a 47 72 6f  75 70 20 34 20 2d 20 75  |rs...Group 4 - u|
000020c0  73 65 72 2d 6f 72 69 65  6e 74 65 64 20 63 6f 6d  |ser-oriented com|
000020d0  6d 61 6e 64 73 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |mands.----------|
000020e0  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
000020f0  2d 2d 2d 2d 2d 2d 0a 0a  54 68 65 73 65 20 63 6f  |------..These co|
00002100  6d 6d 61 6e 64 73 20 65  6e 61 62 6c 65 20 6d 61  |mmands enable ma|
00002110  6e 61 67 65 6d 65 6e 74  20 6f 66 20 74 68 65 20  |nagement of the |
00002120  75 73 65 72 20 64 61 74  61 62 61 73 65 2e 0a 0a  |user database...|
00002130  34 30 30 20 20 20 20 20  4c 69 73 74 55 73 65 72  |400     ListUser|
00002140  73 0a 20 20 20 20 20 20  20 20 24 28 62 6c 6f 63  |s.        $(bloc|
00002150  6b 2b 26 32 30 29 20 3d  20 70 61 74 74 65 72 6e  |k+&20) = pattern|
00002160  20 28 6e 75 6c 6c 20 2d  3e 20 72 65 74 75 72 6e  | (null -> return|
00002170  20 61 6c 6c 29 0a 20 20  20 20 20 20 20 20 52 65  | all).        Re|
00002180  74 75 72 6e 73 20 61 20  6c 69 73 74 20 6f 66 20  |turns a list of |
00002190  76 61 6c 69 64 20 75 73  65 72 6e 61 6d 65 73 2c  |valid usernames,|
000021a0  20 77 69 74 68 20 74 68  65 69 72 20 67 72 6f 75  | with their grou|
000021b0  70 20 6e 75 6d 62 65 72  73 20 61 6e 64 0a 20 20  |p numbers and.  |
000021c0  20 20 20 20 20 20 68 6f  6d 65 20 64 69 72 65 63  |      home direc|
000021d0  74 6f 72 69 65 73 2e 20  54 68 65 20 68 6f 6d 65  |tories. The home|
000021e0  20 64 69 72 65 63 74 6f  72 79 20 69 73 20 61 20  | directory is a |
000021f0  64 69 72 65 63 74 6f 72  79 20 73 70 65 63 69 66  |directory specif|
00002200  69 63 20 74 6f 20 74 68  61 74 0a 20 20 20 20 20  |ic to that.     |
00002210  20 20 20 75 73 65 72 20  77 68 69 63 68 20 63 61  |   user which ca|
00002220  6e 20 62 65 20 75 73 65  64 20 74 6f 20 73 74 6f  |n be used to sto|
00002230  72 65 20 63 6f 6e 66 69  67 75 72 61 74 69 6f 6e  |re configuration|
00002240  20 69 6e 66 6f 72 6d 61  74 69 6f 6e 2c 20 65 67  | information, eg|
00002250  20 72 65 63 6f 72 64 0a  20 20 20 20 20 20 20 20  | record.        |
00002260  6f 66 20 73 75 62 73 63  72 69 62 65 64 20 67 72  |of subscribed gr|
00002270  6f 75 70 73 20 6f 72 20  72 65 61 64 20 61 72 74  |oups or read art|
00002280  69 63 6c 65 73 2e 0a 0a  34 31 30 20 20 20 20 20  |icles...410     |
00002290  41 64 64 55 73 65 72 0a  20 20 20 20 20 20 20 20  |AddUser.        |
000022a0  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 75  |$(block+&20) = u|
000022b0  73 65 72 6e 61 6d 65 0a  0a 34 32 30 20 20 20 20  |sername..420    |
000022c0  20 44 65 6c 65 74 65 55  73 65 72 0a 20 20 20 20  | DeleteUser.    |
000022d0  20 20 20 20 24 28 62 6c  6f 63 6b 2b 26 32 30 29  |    $(block+&20)|
000022e0  20 3d 20 75 73 65 72 6e  61 6d 65 0a 0a 34 33 30  | = username..430|
000022f0  20 2a 20 20 20 4d 6f 64  69 66 79 55 73 65 72 0a  | *   ModifyUser.|
00002300  20 20 20 20 20 20 20 20  62 6c 6f 63 6b 21 26 31  |        block!&1|
00002310  38 20 3d 20 66 69 65 6c  64 20 74 6f 20 6d 6f 64  |8 = field to mod|
00002320  69 66 79 0a 20 20 20 20  20 20 20 20 24 28 62 6c  |ify.        $(bl|
00002330  6f 63 6b 2b 26 32 30 29  20 3d 20 75 73 65 72 6e  |ock+&20) = usern|
00002340  61 6d 65 0a 20 20 20 20  20 20 20 20 24 28 62 6c  |ame.        $(bl|
00002350  6f 63 6b 2b 26 32 30 2b  78 29 20 3d 20 6e 65 77  |ock+&20+x) = new|
00002360  20 76 61 6c 75 65 20 6f  66 20 66 69 65 6c 64 0a  | value of field.|
00002370  20 20 20 20 20 20 20 20  4d 6f 64 69 66 69 65 73  |        Modifies|
00002380  20 74 68 65 20 75 73 65  72 20 64 61 74 61 62 61  | the user databa|
00002390  73 65 2e 20 4d 6f 64 69  66 69 61 62 6c 65 20 66  |se. Modifiable f|
000023a0  69 65 6c 64 73 20 61 72  65 3a 0a 20 20 20 20 20  |ields are:.     |
000023b0  20 20 20 31 20 20 20 20  20 20 20 70 61 73 73 77  |   1       passw|
000023c0  6f 72 64 0a 20 20 20 20  20 20 20 20 32 20 20 20  |ord.        2   |
000023d0  20 20 20 20 75 73 65 72  20 6e 75 6d 62 65 72 0a  |    user number.|
000023e0  20 20 20 20 20 20 20 20  33 20 20 20 20 20 20 20  |        3       |
000023f0  67 72 6f 75 70 20 6e 75  6d 62 65 72 0a 20 20 20  |group number.   |
00002400  20 20 20 20 20 34 20 20  20 20 20 20 20 72 65 61  |     4       rea|
00002410  6c 20 6e 61 6d 65 0a 20  20 20 20 20 20 20 20 35  |l name.        5|
00002420  20 20 20 20 20 20 20 68  6f 6d 65 20 64 69 72 65  |       home dire|
00002430  63 74 6f 72 79 0a 20 20  20 20 20 20 20 20 36 20  |ctory.        6 |
00002440  20 20 20 20 20 20 73 68  65 6c 6c 0a 20 20 20 20  |      shell.    |
00002450  20 20 20 20 28 6d 6f 73  74 20 6f 66 20 74 68 65  |    (most of the|
00002460  73 65 20 61 72 65 2c 20  6f 66 20 63 6f 75 72 73  |se are, of cours|
00002470  65 2c 20 6d 65 61 6e 69  6e 67 6c 65 73 73 20 66  |e, meaningless f|
00002480  6f 72 20 52 49 53 43 20  4f 53 2c 20 62 75 74 20  |or RISC OS, but |
00002490  69 74 20 6d 61 79 0a 20  20 20 20 20 20 20 20 70  |it may.        p|
000024a0  72 6f 76 65 20 75 73 65  66 75 6c 20 74 6f 20 68  |rove useful to h|
000024b0  61 76 65 20 74 68 65 6d  20 64 65 66 69 6e 65 64  |ave them defined|
000024c0  20 66 6f 72 20 73 6f 6d  65 20 70 75 72 70 6f 73  | for some purpos|
000024d0  65 73 29 2e 0a 0a 34 34  30 20 2a 20 20 20 47 65  |es)...440 *   Ge|
000024e0  74 55 73 65 72 49 6e 66  6f 0a 20 20 20 20 20 20  |tUserInfo.      |
000024f0  20 20 62 6c 6f 63 6b 21  26 31 38 20 3d 20 66 69  |  block!&18 = fi|
00002500  65 6c 64 20 74 6f 20 72  65 74 75 72 6e 0a 20 20  |eld to return.  |
00002510  20 20 20 20 20 20 24 28  62 6c 6f 63 6b 2b 26 32  |      $(block+&2|
00002520  30 29 20 3d 20 75 73 65  72 6e 61 6d 65 20 6f 72  |0) = username or|
00002530  20 70 61 74 74 65 72 6e  0a 20 20 20 20 20 20 20  | pattern.       |
00002540  20 46 69 65 6c 64 73 20  61 72 65 20 61 73 20 66  | Fields are as f|
00002550  6f 72 20 63 6f 6d 6d 61  6e 64 20 34 33 30 2c 20  |or command 430, |
00002560  77 69 74 68 20 74 68 65  20 65 78 63 65 70 74 69  |with the excepti|
00002570  6f 6e 20 6f 66 20 22 30  22 2c 20 77 68 69 63 68  |on of "0", which|
00002580  0a 20 20 20 20 20 20 20  20 72 65 74 75 72 6e 73  |.        returns|
00002590  20 61 20 73 65 72 69 65  73 20 6f 66 20 4e 65 77  | a series of New|
000025a0  73 42 61 73 65 5f 52 65  70 6c 79 20 6d 65 73 73  |sBase_Reply mess|
000025b0  61 67 65 73 20 72 65 70  72 65 73 65 6e 74 69 6e  |ages representin|
000025c0  67 20 61 6c 6c 0a 20 20  20 20 20 20 20 20 6b 6e  |g all.        kn|
000025d0  6f 77 6e 20 69 6e 66 6f  72 6d 61 74 69 6f 6e 2e  |own information.|
000025e0  0a 0a 2a 2a 2a 20 34 33  30 20 26 20 34 34 30 20  |..*** 430 & 440 |
000025f0  61 72 65 20 73 75 62 6a  65 63 74 20 74 6f 20 63  |are subject to c|
00002600  68 61 6e 67 65 21 20 2a  2a 2a 0a 0a 34 35 30 20  |hange! ***..450 |
00002610  20 20 20 20 53 65 74 20  6f 72 20 72 65 61 64 20  |    Set or read |
00002620  66 6f 72 77 61 72 64 69  6e 67 0a 20 20 20 20 20  |forwarding.     |
00002630  20 20 20 62 6c 6f 63 6b  21 26 31 38 20 3d 20 61  |   block!&18 = a|
00002640  63 74 69 6f 6e 3a 20 30  3d 72 65 61 64 2c 20 31  |ction: 0=read, 1|
00002650  3d 73 65 74 2c 20 32 3d  63 6c 65 61 72 0a 20 20  |=set, 2=clear.  |
00002660  20 20 20 20 20 20 24 28  62 6c 6f 63 6b 2b 26 32  |      $(block+&2|
00002670  30 29 20 3d 20 75 73 65  72 6e 61 6d 65 0a 20 20  |0) = username.  |
00002680  20 20 20 20 20 20 24 28  62 6c 6f 63 6b 2b 26 32  |      $(block+&2|
00002690  30 2b 78 29 20 3d 20 6e  65 77 20 76 61 6c 75 65  |0+x) = new value|
000026a0  20 28 69 66 20 61 63 74  69 6f 6e 3d 31 29 0a 0a  | (if action=1)..|
000026b0  34 36 30 20 20 20 20 20  53 65 74 20 6f 72 20 72  |460     Set or r|
000026c0  65 61 64 20 76 61 63 61  74 69 6f 6e 0a 20 20 20  |ead vacation.   |
000026d0  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 38 20 3d  |     block!&18 =|
000026e0  20 61 63 74 69 6f 6e 3a  20 30 3d 72 65 61 64 2c  | action: 0=read,|
000026f0  20 31 3d 73 65 74 2c 20  32 3d 63 6c 65 61 72 0a  | 1=set, 2=clear.|
00002700  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00002710  26 32 30 29 20 3d 20 75  73 65 72 6e 61 6d 65 0a  |&20) = username.|
00002720  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00002730  26 32 30 2b 78 29 20 3d  20 6d 65 73 73 61 67 65  |&20+x) = message|
00002740  20 62 6f 64 79 20 66 69  6c 65 6e 61 6d 65 20 28  | body filename (|
00002750  69 66 20 61 63 74 69 6f  6e 3d 31 29 0a 0a 47 72  |if action=1)..Gr|
00002760  6f 75 70 20 38 20 2d 20  71 75 65 75 65 20 63 6f  |oup 8 - queue co|
00002770  6e 74 72 6f 6c 0a 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |ntrol.----------|
00002780  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 0a 0a 38  |-------------..8|
00002790  30 30 20 20 20 20 20 52  65 2d 65 64 69 74 0a 20  |00     Re-edit. |
000027a0  20 20 20 20 20 20 20 62  6c 6f 63 6b 21 26 31 38  |       block!&18|
000027b0  20 3d 20 66 69 6c 65 20  74 79 70 65 3a 20 30 3d  | = file type: 0=|
000027c0  6d 61 69 6c 2c 20 31 3d  6e 65 77 73 0a 20 20 20  |mail, 1=news.   |
000027d0  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 43 20 3d  |     block!&1C =|
000027e0  20 72 65 66 65 72 65 6e  63 65 20 6e 75 6d 62 65  | reference numbe|
000027f0  72 0a 20 20 20 20 20 20  20 20 24 28 62 6c 6f 63  |r.        $(bloc|
00002800  6b 2b 26 32 30 29 20 3d  20 66 69 6c 65 6e 61 6d  |k+&20) = filenam|
00002810  65 20 74 6f 20 72 65 2d  65 64 69 74 0a 20 20 20  |e to re-edit.   |
00002820  20 20 20 20 20 54 68 69  73 20 6d 65 73 73 61 67  |     This messag|
00002830  65 20 73 68 6f 75 6c 64  20 62 65 20 62 72 6f 61  |e should be broa|
00002840  64 63 61 73 74 20 62 79  20 61 20 71 75 65 75 65  |dcast by a queue|
00002850  20 63 6f 6e 74 72 6f 6c  20 70 72 6f 67 72 61 6d  | control program|
00002860  2c 20 77 68 65 6e 0a 20  20 20 20 20 20 20 20 74  |, when.        t|
00002870  68 65 20 75 73 65 72 20  69 6e 64 69 63 61 74 65  |he user indicate|
00002880  73 20 74 68 65 79 20 77  69 73 68 20 74 6f 20 72  |s they wish to r|
00002890  65 2d 65 64 69 74 20 61  6e 20 61 6c 72 65 61 64  |e-edit an alread|
000028a0  79 2d 71 75 65 75 65 64  20 66 69 6c 65 2e 0a 20  |y-queued file.. |
000028b0  20 20 20 20 20 20 20 54  68 65 20 72 65 66 65 72  |       The refer|
000028c0  65 6e 63 65 20 6e 75 6d  62 65 72 20 69 73 20 67  |ence number is g|
000028d0  65 6e 65 72 61 74 65 64  20 62 79 20 74 68 65 20  |enerated by the |
000028e0  71 75 65 75 65 20 63 6f  6e 74 72 6f 6c 20 70 72  |queue control pr|
000028f0  6f 67 72 61 6d 2c 20 61  6e 64 0a 20 20 20 20 20  |ogram, and.     |
00002900  20 20 20 77 69 6c 6c 20  62 65 20 72 65 74 75 72  |   will be retur|
00002910  6e 65 64 20 62 79 20 61  6e 79 20 4e 65 77 73 62  |ned by any Newsb|
00002920  61 73 65 5f 52 65 70 6c  79 20 6d 65 73 73 61 67  |ase_Reply messag|
00002930  65 20 72 65 71 75 69 72  69 6e 67 20 66 75 72 74  |e requiring furt|
00002940  68 65 72 0a 20 20 20 20  20 20 20 20 61 63 74 69  |her.        acti|
00002950  6f 6e 20 28 73 75 63 68  20 61 73 20 64 65 6c 65  |on (such as dele|
00002960  74 69 6e 67 20 74 68 65  20 6f 72 69 67 69 6e 61  |ting the origina|
00002970  6c 20 71 75 65 75 65 20  65 6e 74 72 79 29 2e 20  |l queue entry). |
00002980  54 68 69 73 20 69 73 20  69 6e 74 65 6e 64 65 64  |This is intended|
00002990  0a 20 20 20 20 20 20 20  20 74 6f 20 61 69 64 20  |.        to aid |
000029a0  75 73 65 20 77 69 74 68  20 6d 75 6c 74 69 70 6c  |use with multipl|
000029b0  65 20 72 65 2d 65 64 69  74 20 73 65 73 73 69 6f  |e re-edit sessio|
000029c0  6e 73 2e 0a 0a 20 20 20  20 20 20 20 20 4e 6f 74  |ns...        Not|
000029d0  65 20 74 68 61 74 20 77  68 69 6c 65 20 61 20 72  |e that while a r|
000029e0  65 2d 65 64 69 74 20 73  65 73 73 69 6f 6e 20 69  |e-edit session i|
000029f0  73 20 69 6e 20 70 72 6f  67 72 65 73 73 2c 20 74  |s in progress, t|
00002a00  68 65 20 6d 65 73 73 61  67 65 20 73 68 6f 75 6c  |he message shoul|
00002a10  64 0a 20 20 20 20 20 20  20 20 62 65 20 6c 6f 63  |d.        be loc|
00002a20  6b 65 64 20 69 6e 20 73  6f 6d 65 20 77 61 79 20  |ked in some way |
00002a30  74 6f 20 70 72 65 76 65  6e 74 20 69 74 20 66 72  |to prevent it fr|
00002a40  6f 6d 20 62 65 69 6e 67  20 73 65 6e 74 2e 20 46  |om being sent. F|
00002a50  6f 72 20 6b 61 39 71 2c  20 61 0a 20 20 20 20 20  |or ka9q, a.     |
00002a60  20 20 20 66 69 6c 65 20  63 6f 75 6c 64 20 62 65  |   file could be|
00002a70  20 63 72 65 61 74 65 64  20 69 6e 20 74 68 65 20  | created in the |
00002a80  22 6c 6f 63 6b 22 20 64  69 72 65 63 74 6f 72 79  |"lock" directory|
00002a90  2e 20 4f 74 68 65 72 20  6d 65 74 68 6f 64 73 20  |. Other methods |
00002aa0  6d 61 79 20 62 65 0a 20  20 20 20 20 20 20 20 6e  |may be.        n|
00002ab0  65 65 64 65 64 20 66 6f  72 20 6f 74 68 65 72 20  |eeded for other |
00002ac0  74 72 61 6e 73 70 6f 72  74 20 74 79 70 65 73 2e  |transport types.|
00002ad0  0a 0a 20 20 20 20 20 20  20 20 2a 2a 20 6e 6f 74  |..        ** not|
00002ae0  20 75 73 65 64 20 61 74  20 70 72 65 73 65 6e 74  | used at present|
00002af0  20 2d 20 6d 61 79 20 62  65 20 64 69 73 63 61 72  | - may be discar|
00002b00  64 65 64 2c 20 61 73 20  6d 6f 72 65 20 63 6f 6d  |ded, as more com|
00002b10  70 6c 69 63 61 74 65 64  0a 20 20 20 20 20 20 20  |plicated.       |
00002b20  20 2a 2a 20 74 68 61 6e  20 6e 65 63 65 73 73 61  | ** than necessa|
00002b30  72 79 20 28 73 65 65 2c  20 65 67 2c 20 21 51 65  |ry (see, eg, !Qe|
00002b40  64 69 74 20 66 6f 72 20  73 69 6d 70 6c 65 72 20  |dit for simpler |
00002b50  6d 65 74 68 6f 64 29 2e  0a 0a 47 72 6f 75 70 20  |method)...Group |
00002b60  39 20 2d 20 73 70 65 63  69 61 6c 2d 70 75 72 70  |9 - special-purp|
00002b70  6f 73 65 20 63 6f 6d 6d  61 6e 64 73 0a 2d 2d 2d  |ose commands.---|
00002b80  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 2d  |----------------|
00002b90  2d 2d 2d 2d 2d 2d 2d 2d  2d 2d 2d 2d 2d 2d 2d 0a  |---------------.|
00002ba0  0a 43 6f 6d 6d 61 6e 64  73 20 77 68 69 63 68 20  |.Commands which |
00002bb0  64 6f 6e 27 74 20 66 69  74 20 69 6e 74 6f 20 61  |don't fit into a|
00002bc0  6e 79 20 6f 74 68 65 72  20 63 61 74 65 67 6f 72  |ny other categor|
00002bd0  79 2e 0a 0a 39 30 30 20  20 20 20 20 43 6c 69 65  |y...900     Clie|
00002be0  6e 74 50 72 65 73 65 6e  74 0a 20 20 20 20 20 20  |ntPresent.      |
00002bf0  20 20 54 68 69 73 20 69  73 20 73 65 6e 74 20 62  |  This is sent b|
00002c00  79 20 61 20 63 6c 69 65  6e 74 20 69 6e 20 72 65  |y a client in re|
00002c10  70 6c 79 20 74 6f 20 61  20 43 6c 69 65 6e 74 50  |ply to a ClientP|
00002c20  72 65 73 65 6e 74 20 4e  65 77 73 42 61 73 65 5f  |resent NewsBase_|
00002c30  52 65 70 6c 79 0a 20 20  20 20 20 20 20 20 6d 65  |Reply.        me|
00002c40  73 73 61 67 65 20 2d 20  62 72 6f 61 64 63 61 73  |ssage - broadcas|
00002c50  74 20 62 79 20 6e 65 77  73 62 61 73 65 20 70 72  |t by newsbase pr|
00002c60  69 6f 72 20 74 6f 20 73  74 61 72 74 69 6e 67 20  |ior to starting |
00002c70  61 20 6e 65 77 73 72 65  61 64 65 72 2e 0a 20 20  |a newsreader..  |
00002c80  20 20 20 20 20 20 4e 6f  20 64 61 74 61 20 69 73  |      No data is|
00002c90  20 61 73 73 6f 63 69 61  74 65 64 20 77 69 74 68  | associated with|
00002ca0  20 74 68 65 20 6d 65 73  73 61 67 65 2e 0a 0a 43  | the message...C|
00002cb0  6f 6d 6d 61 6e 64 73 20  6d 61 72 6b 65 64 20 77  |ommands marked w|
00002cc0  69 74 68 20 22 2a 22 20  61 72 65 20 6e 6f 74 20  |ith "*" are not |
00002cd0  69 6d 70 6c 65 6d 65 6e  74 65 64 20 61 74 20 74  |implemented at t|
00002ce0  69 6d 65 20 6f 66 20 77  72 69 74 69 6e 67 2e 0a  |ime of writing..|
00002cf0  0a 4e 65 77 73 42 61 73  65 5f 52 65 70 6c 79 3a  |.NewsBase_Reply:|
00002d00  0a 62 6c 6f 63 6b 21 26  31 30 3d 20 26 46 45 45  |.block!&10= &FEE|
00002d10  44 31 31 0a 62 6c 6f 63  6b 21 26 31 34 3d 20 63  |D11.block!&14= c|
00002d20  6f 6d 6d 61 6e 64 20 72  65 73 70 6f 6e 73 65 20  |ommand response |
00002d30  63 6f 64 65 0a 0a 52 65  70 6c 69 65 73 20 66 6f  |code..Replies fo|
00002d40  6c 6c 6f 77 20 74 68 65  20 73 61 6d 65 20 74 68  |llow the same th|
00002d50  72 65 65 20 67 72 6f 75  70 73 2c 20 62 75 74 20  |ree groups, but |
00002d60  75 73 65 20 74 68 65 20  6c 65 61 73 74 2d 73 69  |use the least-si|
00002d70  67 6e 69 66 69 63 61 6e  74 20 64 69 67 69 74 20  |gnificant digit |
00002d80  6f 66 0a 74 68 65 20 72  65 73 70 6f 6e 73 65 20  |of.the response |
00002d90  63 6f 64 65 20 74 6f 20  69 6e 64 69 63 61 74 65  |code to indicate|
00002da0  20 73 74 61 74 75 73 2e  0a 49 6e 20 67 65 6e 65  | status..In gene|
00002db0  72 61 6c 2c 20 74 68 65  20 6c 65 61 73 74 2d 73  |ral, the least-s|
00002dc0  69 67 6e 69 66 69 63 61  6e 74 20 64 69 67 69 74  |ignificant digit|
00002dd0  20 74 61 6b 65 73 20 74  68 65 20 66 6f 6c 6c 6f  | takes the follo|
00002de0  77 69 6e 67 20 6d 65 61  6e 69 6e 67 73 3a 0a 30  |wing meanings:.0|
00002df0  20 2d 20 63 6f 6d 6d 61  6e 64 20 6f 6b 20 28 6f  | - command ok (o|
00002e00  70 74 69 6f 6e 61 6c 20  64 61 74 61 20 6d 61 79  |ptional data may|
00002e10  20 66 6f 6c 6c 6f 77 29  0a 31 20 2d 20 63 6f 6d  | follow).1 - com|
00002e20  6d 61 6e 64 20 6f 6b 20  62 75 74 20 63 61 6e 6e  |mand ok but cann|
00002e30  6f 74 20 62 65 20 70 65  72 66 6f 72 6d 65 64 20  |ot be performed |
00002e40  66 6f 72 20 73 6f 6d 65  20 72 65 61 73 6f 6e 0a  |for some reason.|
00002e50  32 20 2d 20 63 6f 6d 6d  61 6e 64 20 6f 6b 61 79  |2 - command okay|
00002e60  20 62 75 74 20 63 61 6e  27 74 20 62 65 20 70 65  | but can't be pe|
00002e70  72 66 6f 72 6d 65 64 20  6a 75 73 74 20 6e 6f 77  |rformed just now|
00002e80  20 28 74 72 79 20 61 67  61 69 6e 20 6c 61 74 65  | (try again late|
00002e90  72 29 2e 0a 39 20 2d 20  62 61 64 20 63 6f 6d 6d  |r)..9 - bad comm|
00002ea0  61 6e 64 0a 0a 4e 65 77  73 42 61 73 65 5f 52 65  |and..NewsBase_Re|
00002eb0  70 6c 79 20 72 65 73 70  6f 6e 73 65 20 63 6f 64  |ply response cod|
00002ec0  65 73 20 61 6e 64 20 61  73 73 6f 63 69 61 74 65  |es and associate|
00002ed0  64 20 64 61 74 61 20 61  72 65 20 61 73 20 66 6f  |d data are as fo|
00002ee0  6c 6c 6f 77 73 3a 0a 0a  30 20 20 20 20 20 20 20  |llows:..0       |
00002ef0  53 74 61 72 74 75 70 52  65 70 6c 79 0a 20 20 20  |StartupReply.   |
00002f00  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 38 20 3d  |     block!&18 =|
00002f10  20 61 63 74 75 61 6c 20  6e 65 77 73 62 61 73 65  | actual newsbase|
00002f20  20 76 65 72 73 69 6f 6e  0a 20 20 20 20 20 20 20  | version.       |
00002f30  20 62 6c 6f 63 6b 21 26  31 43 20 3d 20 66 6c 61  | block!&1C = fla|
00002f40  67 73 0a 20 20 20 20 20  20 20 20 46 6c 61 67 73  |gs.        Flags|
00002f50  20 63 75 72 72 65 6e 74  6c 79 20 75 6e 64 65 66  | currently undef|
00002f60  69 6e 65 64 20 62 75 74  20 63 6f 75 6c 64 20 69  |ined but could i|
00002f70  6e 64 69 63 61 74 65 20  74 6f 20 74 68 65 20 63  |ndicate to the c|
00002f80  6c 69 65 6e 74 20 73 75  63 68 0a 20 20 20 20 20  |lient such.     |
00002f90  20 20 20 69 6e 66 6f 72  6d 61 74 69 6f 6e 20 61  |   information a|
00002fa0  73 20 77 68 65 74 68 65  72 20 61 72 74 69 63 6c  |s whether articl|
00002fb0  65 20 66 65 74 63 68 20  62 79 20 6e 75 6d 62 65  |e fetch by numbe|
00002fc0  72 20 6f 72 20 49 44 20  69 73 20 70 72 65 66 65  |r or ID is prefe|
00002fd0  72 72 65 64 0a 20 20 20  20 20 20 20 20 28 69 6e  |rred.        (in|
00002fe0  20 67 65 6e 65 72 61 6c  20 62 6f 74 68 20 77 69  | general both wi|
00002ff0  6c 6c 20 62 65 20 73 75  70 70 6f 72 74 65 64 2c  |ll be supported,|
00003000  20 62 75 74 20 6f 6e 65  20 77 69 6c 6c 20 63 61  | but one will ca|
00003010  72 72 79 20 61 20 67 72  65 61 74 65 72 0a 20 20  |rry a greater.  |
00003020  20 20 20 20 20 20 73 70  65 65 64 20 70 65 6e 61  |      speed pena|
00003030  6c 74 79 29 2e 0a 20 20  20 20 20 20 20 20 66 6c  |lty)..        fl|
00003040  61 67 20 62 69 74 20 30  20 3d 20 75 73 65 72 6e  |ag bit 0 = usern|
00003050  61 6d 65 20 63 6f 6e 74  72 6f 6c 20 65 6e 61 62  |ame control enab|
00003060  6c 65 64 2e 0a 20 20 20  20 20 20 20 20 4e 65 77  |led..        New|
00003070  73 42 61 73 65 20 77 69  6c 6c 20 61 6c 73 6f 20  |sBase will also |
00003080  62 72 6f 61 64 63 61 73  74 20 74 68 69 73 20 6d  |broadcast this m|
00003090  65 73 73 61 67 65 20 61  75 74 6f 6d 61 74 69 63  |essage automatic|
000030a0  61 6c 6c 79 20 6f 6e 20  73 74 61 72 74 75 70 2e  |ally on startup.|
000030b0  0a 0a 31 30 20 20 20 20  20 20 53 68 75 74 64 6f  |..10      Shutdo|
000030c0  77 6e 0a 20 20 20 20 20  20 20 20 24 28 62 6c 6f  |wn.        $(blo|
000030d0  63 6b 2b 26 32 30 29 20  3d 20 64 65 73 63 72 69  |ck+&20) = descri|
000030e0  70 74 69 76 65 20 73 74  72 69 6e 67 0a 20 20 20  |ptive string.   |
000030f0  20 20 20 20 20 4e 65 77  73 62 61 73 65 20 61 6c  |     Newsbase al|
00003100  73 6f 20 62 72 6f 61 64  63 61 73 74 73 20 74 68  |so broadcasts th|
00003110  69 73 20 6d 65 73 73 61  67 65 20 69 66 20 69 74  |is message if it|
00003120  20 73 68 75 74 73 20 64  6f 77 6e 20 64 75 65 20  | shuts down due |
00003130  74 6f 20 61 6e 0a 20 20  20 20 20 20 20 20 65 72  |to an.        er|
00003140  72 6f 72 20 6f 72 20 75  73 65 72 20 72 65 71 75  |ror or user requ|
00003150  65 73 74 20 28 69 65 20  51 75 69 74 20 66 72 6f  |est (ie Quit fro|
00003160  6d 20 74 68 65 20 69 63  6f 6e 62 61 72 20 6d 65  |m the iconbar me|
00003170  6e 75 29 2e 0a 0a 32 30  20 20 20 20 20 20 53 65  |nu)...20      Se|
00003180  74 55 73 65 72 0a 20 20  20 20 20 20 20 20 24 28  |tUser.        $(|
00003190  62 6c 6f 63 6b 2b 26 32  30 29 20 3d 20 63 75 72  |block+&20) = cur|
000031a0  72 65 6e 74 20 75 73 65  72 6e 61 6d 65 0a 0a 33  |rent username..3|
000031b0  30 20 20 20 20 20 20 53  69 74 65 49 6e 66 6f 0a  |0      SiteInfo.|
000031c0  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
000031d0  26 32 30 29 20 3d 20 69  6e 66 6f 72 6d 61 74 69  |&20) = informati|
000031e0  6f 6e 20 73 74 72 69 6e  67 0a 0a 34 30 20 20 20  |on string..40   |
000031f0  20 20 20 53 65 74 53 69  74 65 49 6e 66 6f 0a 20  |   SetSiteInfo. |
00003200  20 20 20 20 20 20 20 72  65 74 75 72 6e 73 20 73  |       returns s|
00003210  75 63 63 65 73 73 2f 66  61 69 6c 75 72 65 0a 0a  |uccess/failure..|
00003220  31 30 30 20 20 20 20 20  47 72 6f 75 70 4c 69 73  |100     GroupLis|
00003230  74 0a 20 20 20 20 20 20  20 20 62 6c 6f 63 6b 21  |t.        block!|
00003240  26 31 38 20 3d 20 6c 6f  77 65 73 74 2d 6e 75 6d  |&18 = lowest-num|
00003250  62 65 72 65 64 20 61 72  74 69 63 6c 65 20 69 6e  |bered article in|
00003260  20 67 72 6f 75 70 0a 20  20 20 20 20 20 20 20 62  | group.        b|
00003270  6c 6f 63 6b 21 26 31 43  20 3d 20 68 69 67 68 65  |lock!&1C = highe|
00003280  73 74 2d 6e 75 6d 62 65  72 65 64 20 61 72 74 69  |st-numbered arti|
00003290  63 6c 65 20 69 6e 20 67  72 6f 75 70 0a 20 20 20  |cle in group.   |
000032a0  20 20 20 20 20 62 6c 6f  63 6b 21 26 32 30 20 3d  |     block!&20 =|
000032b0  20 65 73 74 69 6d 61 74  65 64 20 6e 6f 2e 20 6f  | estimated no. o|
000032c0  66 20 61 72 74 69 63 6c  65 73 20 69 6e 20 67 72  |f articles in gr|
000032d0  6f 75 70 0a 20 20 20 20  20 20 20 20 24 28 62 6c  |oup.        $(bl|
000032e0  6f 63 6b 2b 26 32 34 29  20 3d 20 6e 65 77 73 67  |ock+&24) = newsg|
000032f0  72 6f 75 70 20 6e 61 6d  65 0a 20 20 20 20 20 20  |roup name.      |
00003300  20 20 24 28 62 6c 6f 63  6b 2b 6e 29 20 3d 20 67  |  $(block+n) = g|
00003310  72 6f 75 70 20 66 6c 61  67 20 73 74 72 69 6e 67  |roup flag string|
00003320  20 28 63 6f 6e 74 72 6f  6c 2d 63 68 61 72 20 74  | (control-char t|
00003330  65 72 6d 69 6e 61 74 65  64 29 0a 20 20 20 20 20  |erminated).     |
00003340  20 20 20 73 74 72 65 61  6d 20 6f 66 20 6d 65 73  |   stream of mes|
00003350  73 61 67 65 73 2c 20 6f  6e 65 20 70 65 72 20 61  |sages, one per a|
00003360  72 74 69 63 6c 65 2e 20  45 6e 64 20 6f 66 20 6c  |rticle. End of l|
00003370  69 73 74 20 69 73 20 73  69 67 6e 61 6c 6c 65 64  |ist is signalled|
00003380  20 62 79 0a 20 20 20 20  20 20 20 20 61 20 6e 75  | by.        a nu|
00003390  6c 6c 20 73 74 72 69 6e  67 20 61 6e 64 20 6c 6f  |ll string and lo|
000033a0  77 2f 68 69 67 68 20 61  72 74 69 63 6c 65 73 20  |w/high articles |
000033b0  73 65 74 20 74 6f 20 7a  65 72 6f 2e 0a 20 20 20  |set to zero..   |
000033c0  20 20 20 20 20 4f 74 68  65 72 77 69 73 65 2c 20  |     Otherwise, |
000033d0  61 20 66 69 72 73 74 20  61 72 74 69 63 6c 65 20  |a first article |
000033e0  6e 75 6d 62 65 72 20 6f  66 20 7a 65 72 6f 20 69  |number of zero i|
000033f0  6e 64 69 63 61 74 65 73  20 74 68 61 74 20 6e 6f  |ndicates that no|
00003400  20 61 72 74 69 63 6c 65  73 0a 20 20 20 20 20 20  | articles.      |
00003410  20 20 61 72 65 20 70 72  65 73 65 6e 74 20 69 6e  |  are present in|
00003420  20 74 68 65 20 67 72 6f  75 70 2e 0a 20 20 20 20  | the group..    |
00003430  20 20 20 20 43 75 72 72  65 6e 74 6c 79 2c 20 74  |    Currently, t|
00003440  68 65 20 6c 6f 63 6b 65  64 20 73 74 61 74 75 73  |he locked status|
00003450  20 69 73 20 74 68 65 20  6f 6e 6c 79 20 66 6c 61  | is the only fla|
00003460  67 20 72 65 74 75 72 6e  65 64 20 2d 20 65 69 74  |g returned - eit|
00003470  68 65 72 0a 20 20 20 20  20 20 20 20 22 4c 30 22  |her.        "L0"|
00003480  20 6f 72 20 22 4c 31 22  20 2d 20 74 6f 20 69 6e  | or "L1" - to in|
00003490  64 69 63 61 74 65 20 75  6e 6c 6f 63 6b 65 64 20  |dicate unlocked |
000034a0  28 63 6c 69 65 6e 74 20  69 73 20 61 6c 6c 6f 77  |(client is allow|
000034b0  65 64 20 74 6f 20 64 65  6c 65 74 65 0a 20 20 20  |ed to delete.   |
000034c0  20 20 20 20 20 61 72 74  69 63 6c 65 73 29 20 6f  |     articles) o|
000034d0  72 20 6c 6f 63 6b 65 64  2e 0a 0a 31 31 30 20 20  |r locked...110  |
000034e0  20 20 20 4e 65 77 47 72  6f 75 70 4c 69 73 74 0a  |   NewGroupList.|
000034f0  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00003500  26 32 30 29 20 3d 20 6e  65 77 73 67 72 6f 75 70  |&20) = newsgroup|
00003510  20 6e 61 6d 65 0a 20 20  20 20 20 20 20 20 73 74  | name.        st|
00003520  72 65 61 6d 20 6f 66 20  6d 65 73 73 61 67 65 73  |ream of messages|
00003530  2c 20 6f 6e 65 20 70 65  72 20 61 72 74 69 63 6c  |, one per articl|
00003540  65 2e 20 45 6e 64 20 6f  66 20 6c 69 73 74 20 69  |e. End of list i|
00003550  73 20 73 69 67 6e 61 6c  6c 65 64 20 62 79 0a 20  |s signalled by. |
00003560  20 20 20 20 20 20 20 61  20 6e 75 6c 6c 20 73 74  |       a null st|
00003570  72 69 6e 67 2e 0a 0a 31  32 30 20 20 20 20 20 41  |ring...120     A|
00003580  64 64 47 72 6f 75 70 20  4f 4b 0a 0a 31 33 30 20  |ddGroup OK..130 |
00003590  20 20 20 20 52 65 6d 6f  76 65 47 72 6f 75 70 20  |    RemoveGroup |
000035a0  4f 4b 0a 0a 31 34 30 20  20 20 20 20 45 78 70 69  |OK..140     Expi|
000035b0  72 65 47 72 6f 75 70 20  4f 4b 0a 0a 32 30 30 20  |reGroup OK..200 |
000035c0  20 20 20 20 41 72 74 4c  69 73 74 0a 20 20 20 20  |    ArtList.    |
000035d0  20 20 20 20 62 6c 6f 63  6b 21 26 31 38 20 3d 20  |    block!&18 = |
000035e0  61 72 74 69 63 6c 65 20  6e 75 6d 62 65 72 0a 20  |article number. |
000035f0  20 20 20 20 20 20 20 62  6c 6f 63 6b 21 26 31 63  |       block!&1c|
00003600  20 3d 20 61 72 74 69 63  6c 65 20 64 61 74 65 0a  | = article date.|
00003610  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00003620  26 32 30 29 20 3d 20 66  72 6f 6d 20 66 69 65 6c  |&20) = from fiel|
00003630  64 0a 20 20 20 20 20 20  20 20 24 28 62 6c 6f 63  |d.        $(bloc|
00003640  6b 2b 6e 29 20 3d 20 73  75 62 6a 65 63 74 20 66  |k+n) = subject f|
00003650  69 65 6c 64 0a 20 20 20  20 20 20 20 20 24 28 62  |ield.        $(b|
00003660  6c 6f 63 6b 2b 6d 29 20  3d 20 6d 65 73 73 61 67  |lock+m) = messag|
00003670  65 2d 49 44 0a 20 20 20  20 20 20 20 20 73 74 72  |e-ID.        str|
00003680  65 61 6d 20 6f 66 20 6d  65 73 73 61 67 65 73 2c  |eam of messages,|
00003690  20 6f 6e 65 20 70 65 72  20 61 72 74 69 63 6c 65  | one per article|
000036a0  2e 20 45 6e 64 20 6f 66  20 6c 69 73 74 20 69 73  |. End of list is|
000036b0  20 73 69 67 6e 61 6c 6c  65 64 20 62 79 0a 20 20  | signalled by.  |
000036c0  20 20 20 20 20 20 61 72  74 69 63 6c 65 20 6e 75  |      article nu|
000036d0  6d 62 65 72 20 30 2e 0a  0a 32 31 30 20 20 20 20  |mber 0...210    |
000036e0  20 41 72 74 54 68 72 65  61 64 49 6e 66 6f 0a 20  | ArtThreadInfo. |
000036f0  20 20 20 20 20 20 20 62  6c 6f 63 6b 21 26 31 38  |       block!&18|
00003700  20 3d 20 61 72 74 69 63  6c 65 20 6e 75 6d 62 65  | = article numbe|
00003710  72 0a 20 20 20 20 20 20  20 20 62 6c 6f 63 6b 21  |r.        block!|
00003720  26 31 63 20 3d 20 75 6e  64 65 66 69 6e 65 64 0a  |&1c = undefined.|
00003730  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00003740  26 32 30 29 20 3d 20 72  65 66 65 72 65 6e 63 65  |&20) = reference|
00003750  20 6c 69 73 74 0a 20 20  20 20 20 20 20 20 73 74  | list.        st|
00003760  72 65 61 6d 20 6f 66 20  6d 65 73 73 61 67 65 73  |ream of messages|
00003770  2c 20 6f 6e 65 20 70 65  72 20 61 72 74 69 63 6c  |, one per articl|
00003780  65 2e 20 45 6e 64 20 6f  66 20 6c 69 73 74 20 69  |e. End of list i|
00003790  73 20 73 69 67 6e 61 6c  6c 65 64 20 62 79 0a 20  |s signalled by. |
000037a0  20 20 20 20 20 20 20 61  72 74 69 63 6c 65 20 6e  |       article n|
000037b0  75 6d 62 65 72 20 30 2e  0a 0a 32 32 30 20 20 20  |umber 0...220   |
000037c0  20 20 47 65 74 41 72 74  69 63 6c 65 0a 20 20 20  |  GetArticle.   |
000037d0  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 38 20 3d  |     block!&18 =|
000037e0  20 61 72 74 69 63 6c 65  20 6e 75 6d 62 65 72 0a  | article number.|
000037f0  20 20 20 20 20 20 20 20  62 6c 6f 63 6b 21 26 31  |        block!&1|
00003800  43 20 3d 20 61 72 74 69  63 6c 65 20 73 69 7a 65  |C = article size|
00003810  0a 20 20 20 20 20 20 20  20 24 28 62 6c 6f 63 6b  |.        $(block|
00003820  2b 26 32 30 29 20 3d 20  66 69 6c 65 6e 61 6d 65  |+&20) = filename|
00003830  20 28 63 6f 6e 74 72 6f  6c 2d 63 68 61 72 20 74  | (control-char t|
00003840  65 72 6d 69 6e 61 74 65  64 29 0a 20 20 20 20 20  |erminated).     |
00003850  20 20 20 24 28 62 6c 6f  63 6b 2b 6e 29 20 3d 20  |   $(block+n) = |
00003860  61 72 74 69 63 6c 65 20  66 6c 61 67 20 73 74 72  |article flag str|
00003870  69 6e 67 20 28 63 6f 6e  74 72 6f 6c 2d 63 68 61  |ing (control-cha|
00003880  72 20 74 65 72 6d 69 6e  61 74 65 64 29 0a 20 20  |r terminated).  |
00003890  20 20 20 20 20 20 43 75  72 72 65 6e 74 6c 79 2c  |      Currently,|
000038a0  20 74 68 65 20 6c 6f 63  6b 65 64 20 73 74 61 74  | the locked stat|
000038b0  75 73 20 69 73 20 74 68  65 20 6f 6e 6c 79 20 66  |us is the only f|
000038c0  6c 61 67 20 72 65 74 75  72 6e 65 64 20 2d 20 65  |lag returned - e|
000038d0  69 74 68 65 72 0a 20 20  20 20 20 20 20 20 22 4c  |ither.        "L|
000038e0  30 22 20 6f 72 20 22 4c  31 22 20 74 6f 20 69 6e  |0" or "L1" to in|
000038f0  64 69 63 61 74 65 20 75  6e 6c 6f 63 6b 65 64 20  |dicate unlocked |
00003900  6f 72 20 6c 6f 63 6b 65  64 2e 0a 0a 32 33 30 20  |or locked...230 |
00003910  20 20 20 20 41 72 74 69  63 6c 65 28 73 29 20 6c  |    Article(s) l|
00003920  6f 63 6b 65 64 0a 0a 32  34 30 20 20 20 20 20 41  |ocked..240     A|
00003930  72 74 69 63 6c 65 28 73  29 20 75 6e 6c 6f 63 6b  |rticle(s) unlock|
00003940  65 64 0a 0a 32 35 30 20  20 20 20 20 41 72 74 69  |ed..250     Arti|
00003950  63 6c 65 28 73 29 20 64  65 6c 65 74 65 64 0a 0a  |cle(s) deleted..|
00003960  32 36 30 20 20 20 20 20  41 72 74 69 63 6c 65 28  |260     Article(|
00003970  73 29 20 6d 6f 76 65 64  0a 0a 32 37 30 20 20 20  |s) moved..270   |
00003980  20 20 41 72 74 69 63 6c  65 28 73 29 20 63 6f 70  |  Article(s) cop|
00003990  69 65 64 0a 0a 33 30 30  20 20 20 20 20 41 72 74  |ied..300     Art|
000039a0  69 63 6c 65 20 70 6f 73  74 65 64 0a 0a 33 31 30  |icle posted..310|
000039b0  20 20 20 20 20 4d 65 73  73 61 67 65 20 73 65 6e  |     Message sen|
000039c0  74 0a 0a 34 30 30 20 20  20 20 20 4c 69 73 74 55  |t..400     ListU|
000039d0  73 65 72 73 0a 20 20 20  20 20 20 20 20 62 6c 6f  |sers.        blo|
000039e0  63 6b 21 26 31 38 20 3d  20 75 73 65 72 27 73 20  |ck!&18 = user's |
000039f0  67 72 6f 75 70 20 6e 75  6d 62 65 72 0a 20 20 20  |group number.   |
00003a00  20 20 20 20 20 62 6c 6f  63 6b 21 26 31 43 20 3d  |     block!&1C =|
00003a10  20 66 6c 61 67 73 0a 20  20 20 20 20 20 20 20 24  | flags.        $|
00003a20  28 62 6c 6f 63 6b 2b 26  32 30 29 20 3d 20 75 73  |(block+&20) = us|
00003a30  65 72 6e 61 6d 65 0a 20  20 20 20 20 20 20 20 24  |ername.        $|
00003a40  28 62 6c 6f 63 6b 2b 26  32 30 2b 78 29 20 3d 20  |(block+&20+x) = |
00003a50  68 6f 6d 65 20 64 69 72  65 63 74 6f 72 79 0a 20  |home directory. |
00003a60  20 20 20 20 20 20 20 73  74 72 65 61 6d 20 6f 66  |       stream of|
00003a70  20 6d 65 73 73 61 67 65  73 2c 20 6f 6e 65 20 70  | messages, one p|
00003a80  65 72 20 75 73 65 72 2c  20 77 69 74 68 20 65 6e  |er user, with en|
00003a90  64 20 6f 66 20 6c 69 73  74 20 69 6e 64 69 63 61  |d of list indica|
00003aa0  74 65 64 20 62 79 0a 20  20 20 20 20 20 20 20 30  |ted by.        0|
00003ab0  2c 30 2c 22 22 2c 22 22  0a 20 20 20 20 20 20 20  |,0,"","".       |
00003ac0  20 46 6c 61 67 73 20 61  72 65 20 64 65 66 69 6e  | Flags are defin|
00003ad0  65 64 3a 0a 20 20 20 20  20 20 20 20 62 69 74 20  |ed:.        bit |
00003ae0  30 20 2d 20 70 61 73 73  77 6f 72 64 20 69 73 20  |0 - password is |
00003af0  72 65 71 75 69 72 65 64  2e 0a 0a 34 31 30 20 20  |required...410  |
00003b00  20 20 20 41 64 64 55 73  65 72 0a 0a 34 32 30 20  |   AddUser..420 |
00003b10  20 20 20 20 44 65 6c 65  74 65 55 73 65 72 0a 0a  |    DeleteUser..|
00003b20  34 33 30 20 20 20 20 20  4d 6f 64 69 66 79 55 73  |430     ModifyUs|
00003b30  65 72 0a 0a 34 34 30 20  20 20 20 20 47 65 74 55  |er..440     GetU|
00003b40  73 65 72 49 6e 66 6f 0a  20 20 20 20 20 20 20 20  |serInfo.        |
00003b50  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 72  |$(block+&20) = r|
00003b60  65 71 75 65 73 74 65 64  20 69 6e 66 6f 72 6d 61  |equested informa|
00003b70  74 69 6f 6e 0a 0a 34 35  30 20 20 20 20 20 53 65  |tion..450     Se|
00003b80  74 20 6f 72 20 72 65 61  64 20 66 6f 72 77 61 72  |t or read forwar|
00003b90  64 69 6e 67 0a 20 20 20  20 20 20 20 20 24 28 62  |ding.        $(b|
00003ba0  6c 6f 63 6b 2b 26 32 30  29 20 3d 20 75 73 65 72  |lock+&20) = user|
00003bb0  6e 61 6d 65 0a 20 20 20  20 20 20 20 20 24 28 62  |name.        $(b|
00003bc0  6c 6f 63 6b 2b 26 32 30  2b 78 29 20 3d 20 66 6f  |lock+&20+x) = fo|
00003bd0  72 77 61 72 64 69 6e 67  20 61 64 64 72 65 73 73  |rwarding address|
00003be0  20 6f 72 20 6e 75 6c 6c  20 69 66 20 75 6e 73 65  | or null if unse|
00003bf0  74 0a 0a 34 36 30 20 20  20 20 20 53 65 74 20 6f  |t..460     Set o|
00003c00  72 20 72 65 61 64 20 76  61 63 61 74 69 6f 6e 0a  |r read vacation.|
00003c10  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00003c20  26 32 30 29 20 3d 20 75  73 65 72 6e 61 6d 65 0a  |&20) = username.|
00003c30  20 20 20 20 20 20 20 20  24 28 62 6c 6f 63 6b 2b  |        $(block+|
00003c40  26 32 30 2b 78 29 20 3d  20 6d 65 73 73 61 67 65  |&20+x) = message|
00003c50  20 66 69 6c 65 6e 61 6d  65 2c 20 6f 72 20 6e 75  | filename, or nu|
00003c60  6c 6c 20 69 66 20 75 6e  73 65 74 0a 20 20 20 20  |ll if unset.    |
00003c70  20 20 20 20 54 68 65 20  74 65 6d 70 6c 61 74 65  |    The template|
00003c80  20 66 69 6c 65 20 72 65  74 75 72 6e 65 64 20 73  | file returned s|
00003c90  68 6f 75 6c 64 20 6e 6f  74 20 62 65 20 61 6c 74  |hould not be alt|
00003ca0  65 72 65 64 20 64 69 72  65 63 74 6c 79 20 62 79  |ered directly by|
00003cb0  0a 20 20 20 20 20 20 20  20 61 20 63 6c 69 65 6e  |.        a clien|
00003cc0  74 20 2d 20 66 75 74 75  72 65 20 76 65 72 73 69  |t - future versi|
00003cd0  6f 6e 73 20 6f 66 20 6e  65 77 73 62 61 73 65 20  |ons of newsbase |
00003ce0  6d 61 79 20 73 74 6f 72  65 20 74 68 65 20 69 6e  |may store the in|
00003cf0  66 6f 72 6d 61 74 69 6f  6e 0a 20 20 20 20 20 20  |formation.      |
00003d00  20 20 64 69 66 66 65 72  65 6e 74 6c 79 21 0a 0a  |  differently!..|
00003d10  38 30 30 20 20 20 20 20  51 75 65 75 65 45 64 69  |800     QueueEdi|
00003d20  74 0a 20 20 20 20 20 20  20 20 62 6c 6f 63 6b 21  |t.        block!|
00003d30  26 31 38 20 3d 20 61 63  74 69 6f 6e 20 72 65 71  |&18 = action req|
00003d40  75 69 72 65 64 0a 20 20  20 20 20 20 20 20 20 20  |uired.          |
00003d50  20 20 20 20 20 20 20 20  20 20 20 20 20 20 30 20  |              0 |
00003d60  3d 20 6e 6f 20 61 63 74  69 6f 6e 2c 20 31 20 3d  |= no action, 1 =|
00003d70  20 64 65 6c 65 74 65 20  65 6e 74 72 79 0a 20 20  | delete entry.  |
00003d80  20 20 20 20 20 20 62 6c  6f 63 6b 21 26 31 43 20  |      block!&1C |
00003d90  3d 20 72 65 66 65 72 65  6e 63 65 20 6e 75 6d 62  |= reference numb|
00003da0  65 72 2c 20 61 73 20 70  61 73 73 65 64 20 62 79  |er, as passed by|
00003db0  20 72 65 2d 65 64 69 74  20 63 6f 6d 6d 61 6e 64  | re-edit command|
00003dc0  0a 20 20 20 20 20 20 20  20 24 28 62 6c 6f 63 6b  |.        $(block|
00003dd0  2b 26 32 30 29 20 3d 20  66 69 6c 65 6e 61 6d 65  |+&20) = filename|
00003de0  20 70 61 73 73 65 64 20  62 79 20 6f 72 69 67 69  | passed by origi|
00003df0  6e 61 6c 20 72 65 2d 65  64 69 74 20 63 6f 6d 6d  |nal re-edit comm|
00003e00  61 6e 64 0a 20 20 20 20  20 20 20 20 42 72 6f 61  |and.        Broa|
00003e10  64 63 61 73 74 20 62 79  20 63 6c 69 65 6e 74 20  |dcast by client |
00003e20  72 65 61 64 65 72 20 70  72 6f 67 72 61 6d 20 77  |reader program w|
00003e30  68 65 6e 20 61 20 72 65  2d 65 64 69 74 69 6e 67  |hen a re-editing|
00003e40  20 73 65 73 73 69 6f 6e  20 6f 6e 20 61 0a 20 20  | session on a.  |
00003e50  20 20 20 20 20 20 71 75  65 75 65 64 20 6d 65 73  |      queued mes|
00003e60  73 61 67 65 20 69 73 20  63 6f 6d 70 6c 65 74 65  |sage is complete|
00003e70  2e 20 49 66 20 74 68 65  20 72 65 70 6c 79 20 63  |. If the reply c|
00003e80  6f 64 65 20 69 6e 64 69  63 61 74 65 73 20 73 75  |ode indicates su|
00003e90  63 63 65 73 73 2c 0a 20  20 20 20 20 20 20 20 74  |ccess,.        t|
00003ea0  68 65 20 6f 72 69 67 69  6e 61 6c 20 6f 75 74 67  |he original outg|
00003eb0  6f 69 6e 67 20 6d 65 73  73 61 67 65 20 73 68 6f  |oing message sho|
00003ec0  75 6c 64 20 62 65 20 61  63 74 65 64 20 75 70 6f  |uld be acted upo|
00003ed0  6e 20 61 63 63 6f 72 64  69 6e 67 20 74 6f 20 74  |n according to t|
00003ee0  68 65 0a 20 20 20 20 20  20 20 20 72 65 71 75 65  |he.        reque|
00003ef0  73 74 65 64 20 61 63 74  69 6f 6e 20 2d 20 63 75  |sted action - cu|
00003f00  72 72 65 6e 74 6c 79 20  6f 6e 6c 79 20 31 20 61  |rrently only 1 a|
00003f10  63 74 69 6f 6e 20 69 73  20 64 65 66 69 6e 65 64  |ction is defined|
00003f20  20 28 31 2c 20 64 65 6c  65 74 65 29 2e 0a 20 20  | (1, delete)..  |
00003f30  20 20 20 20 20 20 54 68  65 20 65 64 69 74 65 64  |      The edited|
00003f40  20 6d 65 73 73 61 67 65  20 77 69 6c 6c 20 62 65  | message will be|
00003f50  20 72 65 71 75 65 75 65  64 20 61 73 20 61 20 6e  | requeued as a n|
00003f60  65 77 20 65 6e 74 72 79  20 69 6e 20 69 74 73 20  |ew entry in its |
00003f70  72 65 2d 65 64 69 74 65  64 0a 20 20 20 20 20 20  |re-edited.      |
00003f80  20 20 66 6f 72 6d 2e 20  49 66 20 74 68 65 20 72  |  form. If the r|
00003f90  65 70 6c 79 20 69 6e 64  69 63 61 74 65 73 20 66  |eply indicates f|
00003fa0  61 69 6c 75 72 65 2c 20  74 68 65 20 72 65 2d 65  |ailure, the re-e|
00003fb0  64 69 74 20 77 61 73 20  63 61 6e 63 65 6c 6c 65  |dit was cancelle|
00003fc0  64 2c 20 61 6e 64 0a 20  20 20 20 20 20 20 20 74  |d, and.        t|
00003fd0  68 65 20 6f 72 69 67 69  6e 61 6c 20 6d 65 73 73  |he original mess|
00003fe0  61 67 65 20 73 68 6f 75  6c 64 20 62 65 20 6c 65  |age should be le|
00003ff0  66 74 20 69 6e 74 61 63  74 20 28 61 6e 64 20 75  |ft intact (and u|
00004000  6e 6c 6f 63 6b 65 64 2c  20 69 66 20 74 68 65 0a  |nlocked, if the.|
00004010  20 20 20 20 20 20 20 20  71 75 65 75 65 20 63 6f  |        queue co|
00004020  6e 74 72 6f 6c 20 70 72  6f 67 72 61 6d 20 6c 6f  |ntrol program lo|
00004030  63 6b 65 64 20 69 74 29  2e 0a 0a 39 30 30 20 20  |cked it)...900  |
00004040  20 20 20 43 6c 69 65 6e  74 50 72 65 73 65 6e 74  |   ClientPresent|
00004050  0a 20 20 20 20 20 20 20  20 54 68 69 73 20 4e 65  |.        This Ne|
00004060  77 73 62 61 73 65 5f 52  65 70 6c 79 20 6d 65 73  |wsbase_Reply mes|
00004070  73 61 67 65 20 69 73 20  62 72 6f 61 64 63 61 73  |sage is broadcas|
00004080  74 20 62 79 20 6e 65 77  73 62 61 73 65 20 62 65  |t by newsbase be|
00004090  66 6f 72 65 20 61 74 74  65 6d 70 74 69 6e 67 0a  |fore attempting.|
000040a0  20 20 20 20 20 20 20 20  74 6f 20 73 74 61 72 74  |        to start|
000040b0  20 61 20 6e 65 77 20 63  6c 69 65 6e 74 20 61 70  | a new client ap|
000040c0  70 6c 69 63 61 74 69 6f  6e 2e 20 49 66 20 61 20  |plication. If a |
000040d0  63 6c 69 65 6e 74 20 69  73 20 6c 6f 61 64 65 64  |client is loaded|
000040e0  20 61 6e 64 20 77 69 73  68 65 73 0a 20 20 20 20  | and wishes.    |
000040f0  20 20 20 20 74 6f 20 70  72 65 76 65 6e 74 20 61  |    to prevent a|
00004100  6e 6f 74 68 65 72 20 66  72 6f 6d 20 62 65 69 6e  |nother from bein|
00004110  67 20 73 74 61 72 74 65  64 2c 20 69 74 20 73 68  |g started, it sh|
00004120  6f 75 6c 64 20 72 65 70  6c 79 20 77 69 74 68 0a  |ould reply with.|
00004130  20 20 20 20 20 20 20 20  6e 65 77 73 62 61 73 65  |        newsbase|
00004140  5f 63 6f 6d 6d 61 6e 64  20 39 30 30 2e 0a 0a 78  |_command 900...x|
00004150  78 31 20 20 20 20 20 43  6f 6d 6d 61 6e 64 20 66  |x1     Command f|
00004160  61 69 6c 65 64 20 66 6f  72 20 73 6f 6d 65 20 72  |ailed for some r|
00004170  65 61 73 6f 6e 0a 20 20  20 20 20 20 20 20 24 28  |eason.        $(|
00004180  62 6c 6f 63 6b 2b 26 32  30 29 20 3d 20 64 65 73  |block+&20) = des|
00004190  63 72 69 70 74 69 76 65  20 6d 65 73 73 61 67 65  |criptive message|
000041a0  20 28 74 65 78 74 29 0a  0a 78 78 32 20 20 20 20  | (text)..xx2    |
000041b0  20 43 61 6e 27 74 20 70  65 72 66 6f 72 6d 20 63  | Can't perform c|
000041c0  6f 6d 6d 61 6e 64 20 2d  20 74 72 79 20 6c 61 74  |ommand - try lat|
000041d0  65 72 0a 20 20 20 20 20  20 20 20 24 28 62 6c 6f  |er.        $(blo|
000041e0  63 6b 2b 26 32 30 29 20  3d 20 64 65 73 63 72 69  |ck+&20) = descri|
000041f0  70 74 69 76 65 20 6d 65  73 73 61 67 65 20 28 74  |ptive message (t|
00004200  65 78 74 29 0a 0a 78 78  39 20 20 20 20 20 43 6f  |ext)..xx9     Co|
00004210  6d 6d 61 6e 64 20 69 6e  76 61 6c 69 64 20 6f 72  |mmand invalid or|
00004220  20 75 6e 69 6d 70 6c 65  6d 65 6e 74 65 64 0a 20  | unimplemented. |
00004230  20 20 20 20 20 20 20 24  28 62 6c 6f 63 6b 2b 26  |       $(block+&|
00004240  32 30 29 20 3d 20 64 65  73 63 72 69 70 74 69 76  |20) = descriptiv|
00004250  65 20 6d 65 73 73 61 67  65 20 28 74 65 78 74 29  |e message (text)|
00004260  0a 0a 4e 65 77 73 42 61  73 65 5f 55 70 64 61 74  |..NewsBase_Updat|
00004270  65 3a 0a 62 6c 6f 63 6b  21 26 31 30 3d 20 26 46  |e:.block!&10= &F|
00004280  45 45 44 31 32 0a 62 6c  6f 63 6b 21 26 31 34 3d  |EED12.block!&14=|
00004290  20 74 79 70 65 20 6f 66  20 75 70 64 61 74 65 3a  | type of update:|
000042a0  0a 20 20 20 20 20 20 20  20 20 20 20 30 20 2d 20  |.           0 - |
000042b0  67 72 6f 75 70 20 63 72  65 61 74 65 64 0a 20 20  |group created.  |
000042c0  20 20 20 20 20 20 20 20  20 31 20 2d 20 67 72 6f  |         1 - gro|
000042d0  75 70 20 64 65 6c 65 74  65 64 0a 20 20 20 20 20  |up deleted.     |
000042e0  20 20 20 20 20 20 32 20  2d 20 61 72 74 69 63 6c  |      2 - articl|
000042f0  65 20 63 72 65 61 74 65  64 0a 20 20 20 20 20 20  |e created.      |
00004300  20 20 20 20 20 33 20 2d  20 61 72 74 69 63 6c 65  |     3 - article|
00004310  20 64 65 6c 65 74 65 64  0a 20 20 20 20 20 20 20  | deleted.       |
00004320  20 20 20 20 34 20 2d 20  75 73 65 72 20 61 64 64  |    4 - user add|
00004330  65 64 0a 20 20 20 20 20  20 20 20 20 20 20 35 20  |ed.           5 |
00004340  2d 20 75 73 65 72 20 64  65 6c 65 74 65 64 0a 0a  |- user deleted..|
00004350  20 20 20 20 20 20 20 20  20 20 31 30 20 2d 20 64  |          10 - d|
00004360  65 62 61 74 63 68 20 66  69 6e 69 73 68 65 64 0a  |ebatch finished.|
00004370  20 20 20 20 20 20 20 20  20 20 31 31 20 2d 20 71  |          11 - q|
00004380  75 65 75 65 73 20 75 70  64 61 74 65 64 0a 0a 66  |ueues updated..f|
00004390  6f 72 20 75 70 64 61 74  65 20 74 79 70 65 20 3d  |or update type =|
000043a0  20 30 2c 31 3a 0a 20 20  24 28 62 6c 6f 63 6b 2b  | 0,1:.  $(block+|
000043b0  26 32 30 29 20 3d 20 6e  61 6d 65 20 6f 66 20 6e  |&20) = name of n|
000043c0  65 77 73 67 72 6f 75 70  0a 0a 66 6f 72 20 75 70  |ewsgroup..for up|
000043d0  64 61 74 65 20 74 79 70  65 20 3d 20 32 0a 20 20  |date type = 2.  |
000043e0  62 6c 6f 63 6b 21 26 31  38 20 20 20 20 3d 20 61  |block!&18    = a|
000043f0  72 74 69 63 6c 65 20 6e  75 6d 62 65 72 0a 20 20  |rticle number.  |
00004400  24 28 62 6c 6f 63 6b 2b  26 32 30 29 20 3d 20 6e  |$(block+&20) = n|
00004410  61 6d 65 20 6f 66 20 6e  65 77 73 67 72 6f 75 70  |ame of newsgroup|
00004420  0a 20 20 24 28 62 6c 6f  63 6b 2b 78 29 20 20 20  |.  $(block+x)   |
00004430  3d 20 46 72 6f 6d 20 66  69 65 6c 64 0a 20 20 24  |= From field.  $|
00004440  28 62 6c 6f 63 6b 2b 79  29 20 20 20 3d 20 53 75  |(block+y)   = Su|
00004450  62 6a 65 63 74 20 66 69  65 6c 64 0a 0a 66 6f 72  |bject field..for|
00004460  20 75 70 64 61 74 65 20  74 79 70 65 20 3d 20 33  | update type = 3|
00004470  0a 20 20 62 6c 6f 63 6b  21 26 31 38 20 20 20 20  |.  block!&18    |
00004480  3d 20 61 72 74 69 63 6c  65 20 6e 75 6d 62 65 72  |= article number|
00004490  0a 20 20 24 28 62 6c 6f  63 6b 2b 26 32 30 29 20  |.  $(block+&20) |
000044a0  3d 20 6e 61 6d 65 20 6f  66 20 6e 65 77 73 67 72  |= name of newsgr|
000044b0  6f 75 70 0a 0a 66 6f 72  20 75 70 64 61 74 65 20  |oup..for update |
000044c0  74 79 70 65 20 3d 20 34  2c 35 3a 0a 20 20 62 6c  |type = 4,5:.  bl|
000044d0  6f 63 6b 21 26 31 38 20  20 20 20 3d 20 75 73 65  |ock!&18    = use|
000044e0  72 27 73 20 67 72 6f 75  70 20 6e 75 6d 62 65 72  |r's group number|
000044f0  0a 20 20 24 28 62 6c 6f  63 6b 2b 26 32 30 29 20  |.  $(block+&20) |
00004500  3d 20 75 73 65 72 6e 61  6d 65 0a 20 20 24 28 62  |= username.  $(b|
00004510  6c 6f 63 6b 2b 78 29 20  20 20 3d 20 55 73 65 72  |lock+x)   = User|
00004520  20 66 6c 61 67 73 0a 0a  66 6f 72 20 75 70 64 61  | flags..for upda|
00004530  74 65 20 74 79 70 65 20  3d 20 31 30 0a 20 20 6e  |te type = 10.  n|
00004540  6f 20 64 61 74 61 0a 0a  66 6f 72 20 75 70 64 61  |o data..for upda|
00004550  74 65 20 74 79 70 65 20  3d 20 31 31 0a 20 20 62  |te type = 11.  b|
00004560  6c 6f 63 6b 21 26 31 38  20 20 20 20 3d 20 75 70  |lock!&18    = up|
00004570  64 61 74 65 20 74 79 70  65 20 28 30 20 3d 20 6d  |date type (0 = m|
00004580  61 69 6c 2c 20 31 20 3d  20 6e 65 77 73 29 0a 20  |ail, 1 = news). |
00004590  20 24 28 62 6c 6f 63 6b  2b 26 32 30 29 20 3d 20  | $(block+&20) = |
000045a0  74 72 61 6e 73 70 6f 72  74 20 6e 61 6d 65 2c 20  |transport name, |
000045b0  77 68 69 63 68 20 75 70  64 61 74 65 20 61 70 70  |which update app|
000045c0  6c 69 65 73 20 74 6f 20  28 65 67 2c 20 22 6b 61  |lies to (eg, "ka|
000045d0  39 71 22 29 2e 0a 20 20  20 20 20 20 20 20 42 72  |9q")..        Br|
000045e0  6f 61 64 63 61 73 74 20  62 79 20 4e 65 77 73 62  |oadcast by Newsb|
000045f0  61 73 65 20 77 68 65 6e  20 61 20 6e 65 77 20 6f  |ase when a new o|
00004600  75 74 67 6f 69 6e 67 20  6d 61 69 6c 20 6f 72 20  |utgoing mail or |
00004610  6e 65 77 73 20 66 69 6c  65 20 69 73 0a 20 20 20  |news file is.   |
00004620  20 20 20 20 20 71 75 65  75 65 64 2e 20 54 68 69  |     queued. Thi|
00004630  73 20 69 73 20 74 6f 20  70 65 72 6d 69 74 20 65  |s is to permit e|
00004640  78 74 65 72 6e 61 6c 20  71 75 65 75 65 20 63 6f  |xternal queue co|
00004650  6e 74 72 6f 6c 20 61 70  70 6c 69 63 61 74 69 6f  |ntrol applicatio|
00004660  6e 73 20 74 6f 0a 20 20  20 20 20 20 20 20 72 65  |ns to.        re|
00004670  2d 65 78 61 6d 69 6e 65  20 74 68 65 20 71 75 65  |-examine the que|
00004680  75 65 20 61 6e 64 20 75  70 64 61 74 65 20 74 68  |ue and update th|
00004690  65 69 72 20 64 69 73 70  6c 61 79 73 2e 0a        |eir displays..|
0000469e