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