Home » Personal collection » Acorn hard disk » apps » web » ReadMeDocs/Protocol
ReadMeDocs/Protocol
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 » Personal collection » Acorn hard disk » apps » web |
Filename: | ReadMeDocs/Protocol |
Read OK: | ✔ |
File size: | 8F4A bytes |
Load address: | 0000 |
Exec address: | 0000 |
Duplicates
There is 1 duplicate copy of this file in the archive:
- Personal collection » Acorn ADFS disks » Greaseweazled » adfs_1.6M_NetBits.adf » ReadMeDocs/Protocol
- Personal collection » Acorn hard disk » apps » web » ReadMeDocs/Protocol
File contents
/* * ArcWeb * * Copyright (C) Stewart Brodie, 1994, 1995, 1996, 1997 * * This product is supplied under the terms laid down in the `Terms' file. * * This file: Protocol * * For ArcWeb versions 1.77 and later (until superceded) * Added flags for management of FTP directories (+object delete/rename) * * * Changes from protocol in version 1.17 * Bits 6-13 in FetchRequest flags added - not all are implemented! *** arcweb_TYPES_... macros withdrawn - use proper RISC OS types instead * * Changes from protocol in version 0.35 * Bit 5 in ..Request flags added to * * Changes from protocol in version 0.31 * Bit 21 is reassigned in 'Done' messages for permanent relocation * which will enable ArcWeb to modify hotlist entries etc. when the * server has sent a 301 response. * Some bit descriptions corrected. The table was correct, but sometimes * the descriptions had not been. * * Changes from protocol in version 0.28 * Message_ArcwebWebBrowser added to allow a non-ArcWeb browser to * transmit its name and version to ArcWeb. OTHER BROWSERS MUST USE THIS * Notes on this message added * * Changes from protocol in version 0.26 * 'reload' and 'fast images' bits have been switched * the ExternalLaunch can accept non-extended URLs, although such use is * deprecated. * * Changes from protocol in version 0.25 * Message_ArcwebExternalLaunch added * Message_ArcwebConfigure added * Notes on both of the above added. * * Changes from protocol in version 0.20 * More flags added to FetchRequest & PostRequest messages. These are * for the information of the fetcher only and do not need to be preserved *** From version 0.25, the use on non-extended URLs is deprecated * * Changes from protocol in version 0.19 * Comments about bit 27 handling (arcweb_FLAGS_url_changed) changed * Comments in several other sections changed * Whole document should be reread by those implementing any part of * any of the ArcWeb protocols * * Changes from protocol in version 0.12 * Extensions to the Message_ArcwebRenderDone buffer. The image renderer * must insert the X and Y pixel size of a graphical image (to enable * ArcWeb to calculate URLs for imagemaps unless the information is not * available or not applicable (eg. for sound) * * * Changes from protocol in version 0.11 * Extended URL protocol defined * - in *Request message blocks * - notes about ownership of file handles * - in comments about the Flags word * - comments about how to handle Location: header from HTTP servers * Message_ArcwebEMailRequest/Done added * Handling of bit 27 in non-extended URL messages * In Other Notes: comment about expiry dates updated * Warning about setting type bits in Done messages * Renderer protocol warnings added * Sender protocol renamed to Poster protocol * EMail protocol added (uses a new bit in flags) * Suggestion about intelligent HTTP fetchers prefetching images * Message_ArcwebAbortRequest added + description * Message_ArcwebTransferStatus added + description * */ This file describes the protocols used by ArcWeb. There are nine protocols planned, although only the first eight are fully implemented so far. * Fetcher Protocol * Renderer Protocol * Quit Protocol * Extended URL Protocol * Poster Protocol * Email Protocol * External Launch Protocol * Configuration Protocol * Expire Protocol Programmers supporting these protocols must be extremely careful with their memory, message and protocol management. The protocols are allowed to be concurrent and nested. The obvious example is that a renderer may find an inline image in a document, and will hence want to issue a request to fetch it. A not so obvious example is an intelligent HTTP fetcher which tries to intelligently scan the returned document (if it was HTML) to pick out <img> tags and kick off requests for these in-lined images so that when ArcWeb comes to ask for them, a swifter reply can be made. The impact of such a system would be more noticable, the more images there are inlined in a document. General ======= Each protocol consists of 2 messages, a "Request" and a "Done". The Request is sent with event code 18 to force an acknowledgement. The fetcher/renderer should acknowledge with the Done message to prevent the Wimp returning the message to the originator. Should the fetcher/renderer wish to call Wimp_Poll before it is ready to send the Done reply, it MUST ack the message (ie. fill in the ref fields and reply with event type 19 to prevent the Wimp returning it to the originator), and then send the Done message when it is ready (having remembered to fill in the your_ref field from the my_ref of the original Request). Instead of sending a Wimp acknowledgement with event type 19 to prevent delivery failure, as mentioned above, it would be much better to actually reply with a Message_ArcwebTransferStatus, which doubles both as the ack and as a useful message. Further Message_ArcwebTransferStatus messages can be sent periodically (use event type 17 and zero the ref field for these) C programmers must use requester.h to define the structures used. The types have been divorced from any Wimp library, only char, void and int types have been used. Messages ======== buf is the buffer returned from Wimp_Poll (&e->data in Risc_OSlib). The obvious fields have been omitted (ie. buf+0 to buf+12). The 'Private ArcWeb handle' must always be preserved, as this is the only way ArcWeb can deliver replies to the request originator. The types of each entry are given: str0 = zero terminated string. strN = string whose length is defined elsewhere. str0/N = string zero terminated unless it is maximum length (defined elsewhere) in which case the terminator is missing; date5 = 5 byte date string (in UTC) as returned by OS_Word 14,3 The buffers are all defined together and then explained below. requester.h contains C structures for these messages. Message_ArcwebFetchRequest (msg_Arcweb__base + 0) buf+16 int Message_ArcwebFetchRequest (0x4A240) buf+20 void* Private ArcWeb handle buf+24 int Flags buf+28 int RISC OS file handle (source) EITHER buf+32 str0 Uniform Resource Locator (fully qualified) OR buf+32 int RISC OS file handle (URL) (if flags bit 22 set) Message_ArcwebFetchDone (msg_Arcweb__base + 1) buf+12 int my_ref from Message_ArcwebFetchRequest buf+16 int Message_ArcwebFetchDone (0x4A241) buf+20 void* Private ArcWeb handle buf+24 int Flags EITHER buf+28 str0 Error message OR buf+28 int Zero=this item has an expiry date buf+32 int Non-zero=use default expiry delay buf+36 date5 Expiry date in UTC (if buf+32 zero, and buf+28 zero) Message_ArcwebRenderRequest (msg_Arcweb__base + 2) buf+16 int Message_ArcwebRenderRequest (0x4A242) buf+20 void* Private ArcWeb handle buf+24 int flags buf+28 int RISC OS file handle (source) buf+32 int RISC OS file handle (temporary) buf+36 int RISC OS file handle (diagram) buf+40 int RISC OS file handle (link) buf+44 int size of data following buf+48 --- (contents of buf+44) bytes of source file Message_ArcwebRenderDone (msg_Arcweb__base + 3) buf+16 int Message_ArcwebRenderDone (0x4A243) buf+20 void* Private ArcWeb handle buf+24 int flags EITHER buf+28 int size of image in x pixels (0 if N/A) buf+32 int size of image in y pixesl (0 if N/A) OR buf+28 str0 error message Message_ArcwebPostRequest (msg_Arcweb__base + 4) buf+16 int Message_ArcwebPostRequest (0x4A244) buf+20 void* Private ArcWeb handle buf+24 int flags buf+28 int RISC OS file handle (source) buf+32 int RISC OS file handle (form) EITHER buf+36 str0 Uniform Resource Locator (if flags bit 22 clear) OR buf+36 int RISC OS file handle (URL) (if flags bit 22 set) Message_ArcwebPostDone (msg_Arcweb__base + 5) buf+12 int my_ref from Message_ArcwebPostRequest buf+16 int Message_ArcwebPostDone (0x4A245) buf+20 void* Private ArcWeb handle buf+24 int flags EITHER buf+28 str0 Error message OR buf+28 int Zero=this item has an expiry date buf+32 int Non-zero=use default expiry delay buf+36 date5 Expiry date in UTC (if buf+32 zero, and buf+28 zero) Message_ArcwebEMailRequest (msg_Arcweb__base + 6) buf+16 int Message_ArcwebEMailRequest (0x4A246) buf+20 void* Private ArcWeb handle buf+24 int flags buf+28 int RISC OS file handle (form file containing e-mail) Message_ArcwebEMailDone (msg_Arcweb__base + 7) buf+12 int my_ref from Message_ArcwebEMailRequest buf+16 int Message_ArcwebEMailDone (0x4A247) buf+20 void* Private ArcWeb handle buf+24 int flags Message_ArcwebQuit (msg_Arcweb__base + 32) buf+16 int Message_ArcwebQuit (0x4A260) Message_ArcwebExpire (msg_Arcweb__base + 33) buf+16 int Message_ArcwebExpire (0x4A261) buf+20 void* Private ArcWeb handle buf+24 int flags buf+28 int RISC OS file handle (source) Message_ArcwebAbortRequest (msg_Arcweb__base + 34) buf+16 int Message_ArcwebAbortRequest (0x4A262) buf+20 void* Private ArcWeb handle buf+24 int reserved buf+28 str0 reason for abort (could log this) Message_ArcwebTransferStatus (msg_Arcweb__base + 35) buf+16 int Message_ArcwebTransferStatus (0x4A263) buf+20 void* Private ArcWeb handle from ..Request buf+24 int reserved, must be zero buf+28 int status flags buf+32 int total size of data to be transmitted buf+36 int size of data transmitted so far buf+40 int total size of data to be received (if known) buf+44 int size of data received so far buf+48 str0 current status of communication Message_ArcwebConfigure (msg_Arcweb__base + 36) buf+16 int Message_ArcwebConfigure (0x4A264) buf+20 void* Unused buf+24 int Unused buf+28 str0 Application to be configured Message_ArcwebExternalLaunch (msg_Arcweb__base + 37) buf+16 int Message_ArcwebExternalLaunch (0x4A265) buf+20 void* Sender's private handle (not ArcWeb's) buf+24 int Flags (see notes on this Message) buf+28 int RISC OS file handle (URL) Message_ArcwebLaunchDone (msg_Arcweb__base + 38) buf+12 int my_ref from Message_ArcwebExternalLaunch buf+16 int Message_ArcwebLaunchDone (0x4A265 buf+20 void* Preserved from the Launch message buf+24 int Flags (will have bit 31 set on an error) buf+28 str0 Error message Ownership of File Handles ========================= Some people have expressed concern at the apparent capability to lose track of which task 'owns' the RISC OS file handles passed in the messages. There is never any ambiguity, and this section will clarify this. The task which sends the FetchRequest/RenderRequest/PostRequest message will have called OS_Find to open the file, and this task (normally ArcWeb itself) owns the returned file handle UNTIL it calls Wimp_Poll. At this point, the Wimp will start delivering the Request message to each task in turn. While the Wimp is doing this the file handle is in limbo (in effect, it is 'lost'). There are two possible continuations: i) As soon as a task receives the Request message and decides that it wishes to reply to the Request message, it will either send the corresponding Done message, OR just ack it with the intention on replying properly later. It is upon the sending of this Done message, or Ack, (the call to Wimp_SendMessage) that the task becomes the owner of the file handle, and hence responsible for closing the file handle when it is finished with. ii) The other scenario is when *no* task wants to reply to the Request message. In this case, the Wimp will deliver an event code 19 copy of the message to the originator. The originator now regains ownership of the file handle and is responsible for it (ArcWeb closes the file(s) and generates an error if this is sensible). In general, for any task, if it receives a Request message, it is guaranteed to have exclusive use of the file handle until it next calls Wimp_Poll. This system ensures that ownership of the file is guaranteed to be allocated to one particular task in the system at any time, and that a task has to 'claim' ownership explicitly, as shown in (i) above. Flags ===== The Flags word contains several useful bits of information: On ..Request messages: bit 0 Reserved - must be zero (was reload bit in old versions) bit 1 If set, the previous page was a local: URL bit 2 If set, fast images are being used - not implemented bit 3 If set, the POST request should be sent as a PUT bit 4 If set, the user has disabled image fetching bit 5 If set, browser allow InProgress response for THIS fetch bit 6 Reserved - must be zero bit 7 Internal use only - must be zero for non-ArcWeb tasks bit 8 If set, user has forced image fetching for this fetch bit 9 If set, user requested a PUT operation bit 10 If set, user requested the URI be created as a directory bit 11 If set, user requested the directory URI be deleted bit 12 If set, user requested deletion of URI bit 13 If set, user requested rename of URI bit 21 If set, the email message is already complete On ..Done messages bits 0-15 RISC OS file type/ArcWeb file type (see bits 16,30) bit 16 If set, bits 0-15 are ArcWeb file type, else RISC OS bit 21 If set (+bit 27 set), new URL is permanent (301 Moved) In both types of message: bits 17 and 18 Reserved (must preserve in replies) bit 19 If set, user requested a 'save to disc' bit 20 If set, user requested a reload on this document bit 21 If set, the email message is already complete bit 22 If set, an extended URL is in use bit 23 If set, ArcWeb will not display the results of the render bit 24 If set (+bit 31 set), ArcWeb will not raise an error bit 25 If set, this request is for an inlined resource bit 26 If set, ArcWeb will close the window which issued request bit 27 If set, extended URL has changed bit 28 If set, symbolic link request/confirm bit 29 If set, ArcWeb will not attempt to render the file bit 30 If set, bits 0-16 are valid, else they are invalid bit 31 If set, buffer contains an error message The error bit (31) determines which of the options in two of the messages above, is in force. If the error bit is set, ArcWeb will raise an error to the user UNLESS bit 24 is also set (indicating that the other application has already handled this - this is the preferred way of doing it). When a request to fetch a new page is issued, ArcWeb remembers which window (if any) launched the request. Once a successful RenderDone has been delivered to the window, it will self-destruct if bit 26 is set. ArcWeb will set this bit itself according to the user's choice, and so this bit should always be preserved, unless you absolutely want to set it (see bit 23 below). That window is not allowed to launch further requests until the whole transaction is completed. This blocked state is indicated to the user by the web animation in the information window for a busy page. If you find that bit 22 is set upon receipt of a Request involving a URL, then the buffer will not contain a URL, but a file handle of a file that does. The file will have been opened in R/W mode with OS_Find. You should read the whole of the file to obtain the URL. It may be terminated by a whitespace character, or by EOF. The same rules about responsibility for closing the file apply as for the other handles in ..Request messages. If, during a conversation with an HTTP server, you receive a Location: directive indicating a document relocation, then you should amend the contents of the extended URL file to represent the new target URL. You must set flag bit 27 in the Done message (which you don't send immediately - you pretend as though you had received the new URL from the Request message). The transparent obedience to Location: directives is not strictly required (and the change cannot be signalled to ArcWeb if the extended URL protocol is not being used), but is MOST HIGHLY ENCOURAGED. At some point in the future, only extended URLs will be used at all. If the response from the server was a 301 'moved permanently', then you should also set bit 21 in the ..Done message to inform ArcWeb. ArcWeb will then scan the hotlist and history for that URL and change them, as HTTP spec suggests. *** From version 0.25, the use on non-extended URLs is deprecated If bit 19 was set, then the user did a SHIFT-click on the link to force it to be loaded to disc only. If bit 23 is set in RenderDone, ArcWeb will not display the results of the render. This is to allow applications such as image renderers to open their own window to display the picture. This must NOT be done if bit 25 is set (as someone else is trying to render an inline image). If bit 25 is set, the application must convert the image into a sprite file and store it in the 'diagram' file. If you set bit 23, it is a good idea to clear bit 26 in order not to confuse the user. Make sure that you set the size of the image in pixels (if appropriate) in the RenderDone message, as this will enable image maps to work correctly. Upon receipt of a FetchRequest message, the application should check bit 28. If bit 28 is set, then the application may opt to retrieve the file to its own private directory and store the name of the file in the 'source' file. If it declines to do this (or bit 28 is clear anyway), bit 28 should be cleared on the response and the fetched file placed in 'source'. This facility is provided mainly for the benefit of ArcWebLcl to avoid copying files around the locally available filesystems. If bit 21 is set on receipt of a EMailRequest message, then this indicates that the form file contains a complete e-mail message ready to be mailed off (excluding From: header). If bit 21 is clear, then this indicates that the helper application needs to open some kind of editor to allow the user to complete the e-mail. The editor should be initialised with the contents of the form file. If it is going to do anything at all, then the helper application must reply with a EMailDone message. Bit 4 is used by ArcWeb to indicate to fetchers that the user has specifically requested that images are not fetched and rendered. This allows 'intelligent' HTTP fetchers mentioned at the start of this document, to parse the HTML responses to its fetches and immediately kick off the transfers for these images before the render of the document begins. If bit 4 is set, then the fetcher should not do this. Bits 10-13 are relevant only for Message_ArcwebFetchRequest messages. They indicate that the operation is targeted at direct manipulation of the URL. These are not yet fully implemented (MKDIR and RMDIR are implemented for FTP only) The two directory ops require a terminating / on the URL. Bits 10-13 are to be treated as a 4-bit unsigned value rather than a bit-field, and so it MUST be treated as such by applications. If bit 10 is set (directory creation), then an attempt to create the directory is made and upon a successful response, it is treated as if a redirection had occurred to the same resource (so the directory you just created is opened). However, if bit 11 is ALSO set, this redirection does NOT occur. ie. a value of 1 means create directory and enter it; a value of 3 means create directory but do not enter it; a value of 2 means delete directory. A value of 4 means delete the object, and a value of 8 means rename the object. Message_ArcwebAbortRequest ========================== Upon receipt of this message, the fetcher application retrieving a URL under the given ArcWeb Private handle, should terminate the fetch with an error. It should acknowledge this message with Message_ArcwebFetchDone, after setting the flags correctly indicating some kind of error. All active fetches associated with the handle should be stopped. This allows intelligent fetchers to stop any automatic fetches that they might have issued, to fetch inlined images. At the choice of the FETCHER, it may decide to ignore the AbortRequest and continue fetching data. The most obvious situation in which this is useful is if the fetch is large and nearly complete anyway - say less than 1 second estimated to completion. You must acknowledge the AbortRequest with a FetchDone, in the usual manner (ie. you can acknowledge the message first, then send a reply later). The amount of time may be configurable in the fetcher, but should not exceed a few seconds as this may confuse the user. Message_ArcwebTransferStatus ============================ A fetcher which wishes to inform the user of the status of the communication between itself and the remote information server (FTP, HTTP, Gopher, etc..) may use this message to inform the browser of its progress. The 4 size elements in the message may be used by the browser to create a graphical representation of the communication status. Values of -1 should be known for unknown quantities (0 is reserved for indicating no bytes yet transferred or expected). The browser may choose to ignore these values and rely on the description string, which should say something like: 1000 bytes out of 2000 byte document read 0 bytes out of 16384 bytes of inlined image read Looking up louis.ecs.soton.ac.uk ... or whatever it feels is appropriate. Fetcher writers must recognise that the browser may attempt to display these messages in an icon, and will hence be issuing redraw requests (even if only via Wimp_SetIconState) for each message received. The fetcher should provide a facility for disabling these messages, and not send them too frequently - two or three times per second is quite enough. If you are going to provide byte counts as in the examples above, I HIGHLY RECOMMEND using OS_Convert(Fixed)FileSize to give a useful display. It isn't terribly useful to know that 65539 bytes out of 268435456 bytes have been received. Far better, even if slightly inaccurate, to say '64K out of 256M' and maybe show the percentage that represents. Returned messages should typically be less than about 64 characters long. The browser may ignore these messages, and so the fetcher should not send them recorded delivery (Wimp event type 18). The flags for Message_ArcwebTransferStatus: bit 0 If set, transmission is in progress bit 1 If set, reception is in progress bit 2 If set, transmission is complete bit 3 If set, reception is complete bit 4 If set, other comms. are in progress eg. DNS lookup bits 5 - 31 Reserved Other Notes =========== You must preserve the ArcWeb Private Handle. This is a private pointer to a part of ArcWeb's application memory used to distribute the replies which ArcWeb receives. When specifying an expiry date in FetchDone messages, if you intend to specify a date rather than allow the default to be used, then you must specify this as an exact date. ie. not relative to the current time, you must add it up yourself. HTTP servers may supply expiry dates on documents which they return. These should be honoured (see documentation of the Territory module's handling of Time & Date). The 'source', 'temporary', 'diagram' and 'link' words in the FetchRequest and RenderRequest messages are RISC OS file handles to the appropriate files in ArcWeb's cache. If you acknowledge either of the Request messages, YOU are responsible for closing the files (ie. passing the handle to OS_Find 0). You must close ALL the file handles in the message even if you don't use them all. The reason for passing handles around is that filenames won't necessarily fit in the message buffer (particularly when you want to pass 5 of them). If just having the handle is inconvenient, you should use OS_Args 7 to convert the handle into a filename (as !ArcWebLcl does), close the file and reopen it how you want to do it. BUT BEWARE: only do this if you are going to acknowledge the message (otherwise other recipients of the message will find that they have an illegal file handle in the message). For FetchRequest, 'source' is opened as read/write (OS_Find 0x83 - [I always thought that was for output only, but my RO3 PRMs say otherwise]). For RenderRequest, 'source' is opened read only (OS_Find 0x43), and the others are read/write (OS_Find 0x83). For PostRequests, the source is as for FetchRequests, and the form file is read only. For EMailRequests, the form file is read-only. [An example of using OS_Args 7 in BASIC is in !ArcWebLcl which uses OS_CLI to issue a straight *COPY command when the symlink bit is clear] You do not need to fill in the file type bits (0-15,16 and 30) when sending the Fetch Done message, but it will assist the renderers in deciding what to do with the document if you do. The most common types returned are plain text (&FFF), HTML (&FAF), GIF (&695), JPEG (&C85) and XBM (&10104). WARNING: Most HTTP servers are configured with a default type to return in the case that it cannot work out the type of a file from its name or a specific directive telling it the file type. This default type is usually text/plain. This is a problem when you wish to store binary files (eg. arcweb.arc) on HTTP servers, as louis.ecs.soton.ac.uk's server will tell you that this is a text/plain file, when obviously it isn't. ArcWeb 0.12 and later will examine the data in the RenderRequest message* to ensure that it does not contain non-printable characters before attempting to render it. * see renderer protocol discussion below Renderer Protocol ================= The Renderer Protocol is used to transform a file into something which can be viewed in the ArcWeb window. ArcWeb generates a DrawFile (type &AFF) to represent the HTML document. I have written my own parser to read the HTML file (conforms with the HTML 2.0 specification, 13 June 1994) and display it. Renderers should convert images into sprites and store them in the 'diagram' file (but only if it is an inline data fetch - see discussion of bits 23 and 25 above). ArcWeb will be expecting a sprite file to be there which it can then import. It will take the first sprite out of the file. ArcWeb will handle RISC OS sprite files (&FF9) itself (although it will broadcast the message with the expectation of receiving it back). You should not acknowledge render requests for files of type &FF9 Renderers should inspect the file type bits in the RenderRequest to see whether the file is of a type which they can handle. If the type is not known* (bit 30 is clear), then the renderer may inspect the first few bytes of the file. Before sending the RenderRequest message, ArcWeb will have loaded in as much of the file as possible to the message (to fill it up to 256 bytes). The amount of data in the message is in buf+44, and the data starts at buf+48. Thus up to 208 bytes of data will be present (currently it is 208 unless the file is not that long, in which case the whole file is there). If 208 bytes is not enough, the renderer may use the file handle given in the message to read more of the file in. The file pointer should be reset to zero if it decides that it can't handle it. As a safeguard, Renderers MUST NOT assume that the file pointer will be zero, and should set it explicitly. * The renderer may decide that it doesn't 'trust' the given file type. If that is the case, then it is allowed to ignore bit 30 and attempt to recognise the file type from the data in the message buffer and act on that alone. Quit Protocol ============= Fetchers and Renderers should have a configurable option to allow them to quit when ArcWeb dies. This provides a clean way of shutting ArcWeb and all its related programs down in one go. Upon receipt of a Message_ArcwebQuit message, store the task handle (in buf+4) and wait for the Wimp task closedown message (Message_TaskCloseDown 0x400C3) to arrive with the given task handle. [To prevent ArcWeb closing down, acknowledge the Message_ArcwebQuit message - not in version 0.08. ArcWeb will exit anyway.] By using an extra message, this avoids the need for the auxiliary apps to lookup the task name from the handle to check whether it was ArcWeb or not, and this also guards against the task name changing. Do not acknowledge Message_ArcwebQuit unless you wish to prevent the shutdown (treat it like you would treat Message_PreQuit) Expire Protocol =============== If a fetcher has used a symbolic link when fetching a file then that file should be expired upon receipt of Message_ArcwebExpire. ArcWeb will pass you a handle to the file in the cache. If the symbolic link bit (bit 28) is set in the flags, then the file to be removed is really the file whose name is in the file whose handle you have been given. !ArcwebLcl ignores this message completely (as it should). This protocol is not fixed and should not yet be used (there is a particular problem with extended URLs), but fetcher authors should be aware of its future existence. ArcWeb does not currently send Message_ArcwebExpire messages. Poster Protocol =============== This protocol will be used when ArcWeb wants to send information to a URL rather than retrieve it, ie. when an HTML form with a method of POST has been completed and the SUBMIT button has been pressed. If the form did not override the default (GET) or chooses the GET method, the the FetchRequest protocol is used, and the fetcher is not aware of the fact that the data transfer has happened (an extended URL will have been used). PostRequest should be treated exactly like Message_ArcwebFetchRequest, except that the 'form' file handle is a RISC OS file handle pointing to a read-only file containing data to tag onto the end of the request. Some forms use the PUT method instead. The fetcher can determine whether the submission was a post or put by checking arcweb_FLAGS_post_was_put bit and sending a PUT instead of a POST if it was set. Obviously, the fetcher should issue a POST command to the HTTP server instead of a GET. The data in the form file will be suitable for tacking on IMMEDIATELY after the POST and other usual headers, as it will contain a Content-Length: header followed by a blank line, followed by the form data with all the appropriate escape characters already substituted in. This data should be passed transparently to the HTTP server. The fetcher should respond to ArcWeb with a Message_ArcwebPostDone in exactly the same format as a response to Message_ArcwebFetchRequest. The buffer for PostDone is the same as the buffer for FetchDone. This is because the target script on the server responds with a new virtual document, usually confirming that the data entry was successful/failed etc. EMail Protocol ============== This protocol will be used when ArcWeb wants to send some e-mail. ArcWeb will send this message when the users attempts to follow a mailto: hypertext link, or when a form with a mailto: method is submitted. In the former case, the message remains to be constructed, so the contents of the form file should be taken as the initial text to be placed in the editor. ArcWeb guarantees to make the first line of the file the To: header. Furthermore, bit 21 will be clear indicating that the message is not yet complete. In the latter case (the invoked form), bit 21 will be set, indicating a complete message is in the buffer and ready for mailing. ArcWeb will still guarantee that the first line in the form file is the To: header, but will also add an X-Mailer: header, a Date: header and any other headers as directed by MH tags in the form (eg. Subject: headers) Upon receipt of the EMailRequest, the e-mail application should take over the process of sending e-mail and return an EMailDone, after taking a copy of the form file contents and closing the form file. ArcWeb is not concerned with what happens to the e-mail next, as far as it is concerned, the email is sent. There is no virtual document returned from an EMailRequest. The e-mail application may flag an error in the usual way (and choose whether to report the error itself of not). ArcWeb will open a dialogue box indicating the status of the e-mail, rather than generating a complete new page. ArcWebTCP will provide the email facility only if it is configured to do so. To configure it, you must give it your email address and SMTP gateway name. Configuration Protocol ====================== This protocol is used when the user invokes an option off the Configure menu on ArcWeb's icon bar menu. It allows the configuration windows of the helper applications to be accessed even when no icon bar icon is installed. The name of the application (case insensitive) will be in the message. The name may also be a string of length 1, that character being * which indicates that all applications are to open their configuration windows. There is no acknowledgement required for this protocol. External Launch Protocol ======================== This protocol is used when an external application, such as a mail reader, wishes to launch a URL fetch. The 'Private handle' field will be preserved in any response from ArcWeb allowing the client to have multiple outstanding requests, although ArcWeb does not guarantee to be able to support multiple concurrent external requests at this time. The flags field corresponds to the usual flags specified for ..Request messages with the following exceptions: It should have bit 22 set indicating that a file handle is present which contains a fully qualified URL. It should have no other flags may be set except for arcweb_FLAGS_reload, arcweb_FLAGS_load_to_disc, or arcweb_FLAGS_images_disabled This message should be sent recorded delivery (ie. Wimp event type 18) and upon receipt of a failure (Wimp returns a Wimp event type 19) the external application must close the URL file and issue its own error. It must assume that ArcWeb was not loaded or was otherwise unable to respond. ArcWeb will respond with a Message_ArcwebLaunchDone message if it can (and thus assume full responsibility for the URL file handle). The error status is indicated by the error bit in the flags, and if this is set, then the buffer contains an error message, otherwise the buffer contents are indeterminate. Message_ArcwebWebBrowser ======================== ArcWebTCP sends browser identification to HTTP servers when it talks to them. By default, it sends the latest known version of ArcWeb when it was compiled. However, since other web browsers can use the facilities provided by ArcWebTCP, I have added this message to allow the browser to identify itself to remote servers. The content of the buffer (see requester.h) is a control character terminated string of the form String/0.00 where String is the browser name (may contain spaces) and 0.00 is the version number. ArcWebTCP will insert this string into the headers and append string " (Acorn RISC OS; ARM) ArcWebTCP/v.vv" to it, substituing its version number. Any control characters or top bit set characters are treated as terminators to prevent any security breaches. ==END==
00000000 2f 2a 0a 20 2a 20 41 72 63 57 65 62 0a 20 2a 0a |/*. * ArcWeb. *.| 00000010 20 2a 20 43 6f 70 79 72 69 67 68 74 20 28 43 29 | * Copyright (C)| 00000020 20 53 74 65 77 61 72 74 20 42 72 6f 64 69 65 2c | Stewart Brodie,| 00000030 20 31 39 39 34 2c 20 31 39 39 35 2c 20 31 39 39 | 1994, 1995, 199| 00000040 36 2c 20 31 39 39 37 0a 20 2a 0a 20 2a 20 54 68 |6, 1997. *. * Th| 00000050 69 73 20 70 72 6f 64 75 63 74 20 69 73 20 73 75 |is product is su| 00000060 70 70 6c 69 65 64 20 75 6e 64 65 72 20 74 68 65 |pplied under the| 00000070 20 74 65 72 6d 73 20 6c 61 69 64 20 64 6f 77 6e | terms laid down| 00000080 20 69 6e 20 74 68 65 20 60 54 65 72 6d 73 27 20 | in the `Terms' | 00000090 66 69 6c 65 2e 0a 20 2a 0a 20 2a 20 54 68 69 73 |file.. *. * This| 000000a0 20 66 69 6c 65 3a 20 50 72 6f 74 6f 63 6f 6c 0a | file: Protocol.| 000000b0 20 2a 0a 20 2a 20 20 20 46 6f 72 20 41 72 63 57 | *. * For ArcW| 000000c0 65 62 20 76 65 72 73 69 6f 6e 73 20 31 2e 37 37 |eb versions 1.77| 000000d0 20 61 6e 64 20 6c 61 74 65 72 20 28 75 6e 74 69 | and later (unti| 000000e0 6c 20 73 75 70 65 72 63 65 64 65 64 29 0a 20 2a |l superceded). *| 000000f0 09 41 64 64 65 64 20 66 6c 61 67 73 20 66 6f 72 |.Added flags for| 00000100 20 6d 61 6e 61 67 65 6d 65 6e 74 20 6f 66 20 46 | management of F| 00000110 54 50 20 64 69 72 65 63 74 6f 72 69 65 73 20 28 |TP directories (| 00000120 2b 6f 62 6a 65 63 74 20 64 65 6c 65 74 65 2f 72 |+object delete/r| 00000130 65 6e 61 6d 65 29 0a 20 2a 0a 20 2a 0a 20 2a 20 |ename). *. *. * | 00000140 20 20 43 68 61 6e 67 65 73 20 66 72 6f 6d 20 70 | Changes from p| 00000150 72 6f 74 6f 63 6f 6c 20 69 6e 20 76 65 72 73 69 |rotocol in versi| 00000160 6f 6e 20 31 2e 31 37 0a 20 2a 09 42 69 74 73 20 |on 1.17. *.Bits | 00000170 36 2d 31 33 20 69 6e 20 46 65 74 63 68 52 65 71 |6-13 in FetchReq| 00000180 75 65 73 74 20 66 6c 61 67 73 20 61 64 64 65 64 |uest flags added| 00000190 20 2d 20 6e 6f 74 20 61 6c 6c 20 61 72 65 20 69 | - not all are i| 000001a0 6d 70 6c 65 6d 65 6e 74 65 64 21 0a 2a 2a 2a 09 |mplemented!.***.| 000001b0 61 72 63 77 65 62 5f 54 59 50 45 53 5f 2e 2e 2e |arcweb_TYPES_...| 000001c0 20 6d 61 63 72 6f 73 20 77 69 74 68 64 72 61 77 | macros withdraw| 000001d0 6e 20 2d 20 75 73 65 20 70 72 6f 70 65 72 20 52 |n - use proper R| 000001e0 49 53 43 20 4f 53 20 74 79 70 65 73 20 69 6e 73 |ISC OS types ins| 000001f0 74 65 61 64 0a 20 2a 0a 20 2a 20 20 20 43 68 61 |tead. *. * Cha| 00000200 6e 67 65 73 20 66 72 6f 6d 20 70 72 6f 74 6f 63 |nges from protoc| 00000210 6f 6c 20 69 6e 20 76 65 72 73 69 6f 6e 20 30 2e |ol in version 0.| 00000220 33 35 0a 20 2a 09 42 69 74 20 35 20 69 6e 20 2e |35. *.Bit 5 in .| 00000230 2e 52 65 71 75 65 73 74 20 66 6c 61 67 73 20 61 |.Request flags a| 00000240 64 64 65 64 20 74 6f 20 0a 20 2a 0a 20 2a 20 20 |dded to . *. * | 00000250 20 43 68 61 6e 67 65 73 20 66 72 6f 6d 20 70 72 | Changes from pr| 00000260 6f 74 6f 63 6f 6c 20 69 6e 20 76 65 72 73 69 6f |otocol in versio| 00000270 6e 20 30 2e 33 31 0a 20 2a 20 20 20 20 20 20 42 |n 0.31. * B| 00000280 69 74 20 32 31 20 69 73 20 72 65 61 73 73 69 67 |it 21 is reassig| 00000290 6e 65 64 20 69 6e 20 27 44 6f 6e 65 27 20 6d 65 |ned in 'Done' me| 000002a0 73 73 61 67 65 73 20 66 6f 72 20 70 65 72 6d 61 |ssages for perma| 000002b0 6e 65 6e 74 20 72 65 6c 6f 63 61 74 69 6f 6e 0a |nent relocation.| 000002c0 20 2a 20 20 20 20 20 20 77 68 69 63 68 20 77 69 | * which wi| 000002d0 6c 6c 20 65 6e 61 62 6c 65 20 41 72 63 57 65 62 |ll enable ArcWeb| 000002e0 20 74 6f 20 6d 6f 64 69 66 79 20 68 6f 74 6c 69 | to modify hotli| 000002f0 73 74 20 65 6e 74 72 69 65 73 20 65 74 63 2e 20 |st entries etc. | 00000300 77 68 65 6e 20 74 68 65 0a 20 2a 20 20 20 20 20 |when the. * | 00000310 20 73 65 72 76 65 72 20 68 61 73 20 73 65 6e 74 | server has sent| 00000320 20 61 20 33 30 31 20 72 65 73 70 6f 6e 73 65 2e | a 301 response.| 00000330 0a 20 2a 20 20 20 20 20 20 53 6f 6d 65 20 62 69 |. * Some bi| 00000340 74 20 64 65 73 63 72 69 70 74 69 6f 6e 73 20 63 |t descriptions c| 00000350 6f 72 72 65 63 74 65 64 2e 20 20 54 68 65 20 74 |orrected. The t| 00000360 61 62 6c 65 20 77 61 73 20 63 6f 72 72 65 63 74 |able was correct| 00000370 2c 20 62 75 74 20 73 6f 6d 65 74 69 6d 65 73 0a |, but sometimes.| 00000380 20 2a 20 20 20 20 20 20 74 68 65 20 64 65 73 63 | * the desc| 00000390 72 69 70 74 69 6f 6e 73 20 68 61 64 20 6e 6f 74 |riptions had not| 000003a0 20 62 65 65 6e 2e 0a 20 2a 0a 20 2a 20 20 20 43 | been.. *. * C| 000003b0 68 61 6e 67 65 73 20 66 72 6f 6d 20 70 72 6f 74 |hanges from prot| 000003c0 6f 63 6f 6c 20 69 6e 20 76 65 72 73 69 6f 6e 20 |ocol in version | 000003d0 30 2e 32 38 0a 20 2a 20 20 20 20 20 20 4d 65 73 |0.28. * Mes| 000003e0 73 61 67 65 5f 41 72 63 77 65 62 57 65 62 42 72 |sage_ArcwebWebBr| 000003f0 6f 77 73 65 72 20 61 64 64 65 64 20 74 6f 20 61 |owser added to a| 00000400 6c 6c 6f 77 20 61 20 6e 6f 6e 2d 41 72 63 57 65 |llow a non-ArcWe| 00000410 62 20 62 72 6f 77 73 65 72 20 74 6f 0a 20 2a 09 |b browser to. *.| 00000420 74 72 61 6e 73 6d 69 74 20 69 74 73 20 6e 61 6d |transmit its nam| 00000430 65 20 61 6e 64 20 76 65 72 73 69 6f 6e 20 74 6f |e and version to| 00000440 20 41 72 63 57 65 62 2e 20 20 4f 54 48 45 52 20 | ArcWeb. OTHER | 00000450 42 52 4f 57 53 45 52 53 20 4d 55 53 54 20 55 53 |BROWSERS MUST US| 00000460 45 20 54 48 49 53 0a 20 2a 09 4e 6f 74 65 73 20 |E THIS. *.Notes | 00000470 6f 6e 20 74 68 69 73 20 6d 65 73 73 61 67 65 20 |on this message | 00000480 61 64 64 65 64 0a 20 2a 0a 20 2a 20 20 20 43 68 |added. *. * Ch| 00000490 61 6e 67 65 73 20 66 72 6f 6d 20 70 72 6f 74 6f |anges from proto| 000004a0 63 6f 6c 20 69 6e 20 76 65 72 73 69 6f 6e 20 30 |col in version 0| 000004b0 2e 32 36 0a 20 2a 20 20 20 20 20 20 27 72 65 6c |.26. * 'rel| 000004c0 6f 61 64 27 20 61 6e 64 20 27 66 61 73 74 20 69 |oad' and 'fast i| 000004d0 6d 61 67 65 73 27 20 62 69 74 73 20 68 61 76 65 |mages' bits have| 000004e0 20 62 65 65 6e 20 73 77 69 74 63 68 65 64 0a 20 | been switched. | 000004f0 2a 20 20 20 20 20 20 74 68 65 20 45 78 74 65 72 |* the Exter| 00000500 6e 61 6c 4c 61 75 6e 63 68 20 63 61 6e 20 61 63 |nalLaunch can ac| 00000510 63 65 70 74 20 6e 6f 6e 2d 65 78 74 65 6e 64 65 |cept non-extende| 00000520 64 20 55 52 4c 73 2c 20 61 6c 74 68 6f 75 67 68 |d URLs, although| 00000530 20 73 75 63 68 20 75 73 65 20 69 73 0a 20 2a 20 | such use is. * | 00000540 20 20 20 20 20 64 65 70 72 65 63 61 74 65 64 2e | deprecated.| 00000550 0a 20 2a 0a 20 2a 20 20 20 43 68 61 6e 67 65 73 |. *. * Changes| 00000560 20 66 72 6f 6d 20 70 72 6f 74 6f 63 6f 6c 20 69 | from protocol i| 00000570 6e 20 76 65 72 73 69 6f 6e 20 30 2e 32 35 0a 20 |n version 0.25. | 00000580 2a 20 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 |* Message_A| 00000590 72 63 77 65 62 45 78 74 65 72 6e 61 6c 4c 61 75 |rcwebExternalLau| 000005a0 6e 63 68 20 61 64 64 65 64 0a 20 2a 20 20 20 20 |nch added. * | 000005b0 20 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 | Message_Arcweb| 000005c0 43 6f 6e 66 69 67 75 72 65 20 61 64 64 65 64 0a |Configure added.| 000005d0 20 2a 20 20 20 20 20 20 4e 6f 74 65 73 20 6f 6e | * Notes on| 000005e0 20 62 6f 74 68 20 6f 66 20 74 68 65 20 61 62 6f | both of the abo| 000005f0 76 65 20 61 64 64 65 64 2e 0a 20 2a 0a 20 2a 20 |ve added.. *. * | 00000600 20 20 43 68 61 6e 67 65 73 20 66 72 6f 6d 20 70 | Changes from p| 00000610 72 6f 74 6f 63 6f 6c 20 69 6e 20 76 65 72 73 69 |rotocol in versi| 00000620 6f 6e 20 30 2e 32 30 0a 20 2a 20 20 20 20 20 20 |on 0.20. * | 00000630 4d 6f 72 65 20 66 6c 61 67 73 20 61 64 64 65 64 |More flags added| 00000640 20 74 6f 20 46 65 74 63 68 52 65 71 75 65 73 74 | to FetchRequest| 00000650 20 26 20 50 6f 73 74 52 65 71 75 65 73 74 20 6d | & PostRequest m| 00000660 65 73 73 61 67 65 73 2e 20 20 54 68 65 73 65 20 |essages. These | 00000670 61 72 65 0a 20 2a 20 20 20 20 20 20 66 6f 72 20 |are. * for | 00000680 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 |the information | 00000690 6f 66 20 74 68 65 20 66 65 74 63 68 65 72 20 6f |of the fetcher o| 000006a0 6e 6c 79 20 61 6e 64 20 64 6f 20 6e 6f 74 20 6e |nly and do not n| 000006b0 65 65 64 20 74 6f 20 62 65 20 70 72 65 73 65 72 |eed to be preser| 000006c0 76 65 64 0a 2a 2a 2a 20 20 20 20 20 46 72 6f 6d |ved.*** From| 000006d0 20 76 65 72 73 69 6f 6e 20 30 2e 32 35 2c 20 74 | version 0.25, t| 000006e0 68 65 20 75 73 65 20 6f 6e 20 6e 6f 6e 2d 65 78 |he use on non-ex| 000006f0 74 65 6e 64 65 64 20 55 52 4c 73 20 69 73 20 64 |tended URLs is d| 00000700 65 70 72 65 63 61 74 65 64 0a 20 2a 0a 20 2a 20 |eprecated. *. * | 00000710 20 20 43 68 61 6e 67 65 73 20 66 72 6f 6d 20 70 | Changes from p| 00000720 72 6f 74 6f 63 6f 6c 20 69 6e 20 76 65 72 73 69 |rotocol in versi| 00000730 6f 6e 20 30 2e 31 39 0a 20 2a 20 20 20 20 20 20 |on 0.19. * | 00000740 43 6f 6d 6d 65 6e 74 73 20 61 62 6f 75 74 20 62 |Comments about b| 00000750 69 74 20 32 37 20 68 61 6e 64 6c 69 6e 67 20 28 |it 27 handling (| 00000760 61 72 63 77 65 62 5f 46 4c 41 47 53 5f 75 72 6c |arcweb_FLAGS_url| 00000770 5f 63 68 61 6e 67 65 64 29 20 63 68 61 6e 67 65 |_changed) change| 00000780 64 0a 20 2a 20 20 20 20 20 20 43 6f 6d 6d 65 6e |d. * Commen| 00000790 74 73 20 69 6e 20 73 65 76 65 72 61 6c 20 6f 74 |ts in several ot| 000007a0 68 65 72 20 73 65 63 74 69 6f 6e 73 20 63 68 61 |her sections cha| 000007b0 6e 67 65 64 0a 20 2a 20 20 20 20 20 20 57 68 6f |nged. * Who| 000007c0 6c 65 20 64 6f 63 75 6d 65 6e 74 20 73 68 6f 75 |le document shou| 000007d0 6c 64 20 62 65 20 72 65 72 65 61 64 20 62 79 20 |ld be reread by | 000007e0 74 68 6f 73 65 20 69 6d 70 6c 65 6d 65 6e 74 69 |those implementi| 000007f0 6e 67 20 61 6e 79 20 70 61 72 74 20 6f 66 0a 20 |ng any part of. | 00000800 2a 20 20 20 20 20 20 61 6e 79 20 6f 66 20 74 68 |* any of th| 00000810 65 20 41 72 63 57 65 62 20 70 72 6f 74 6f 63 6f |e ArcWeb protoco| 00000820 6c 73 0a 20 2a 0a 20 2a 20 20 20 43 68 61 6e 67 |ls. *. * Chang| 00000830 65 73 20 66 72 6f 6d 20 70 72 6f 74 6f 63 6f 6c |es from protocol| 00000840 20 69 6e 20 76 65 72 73 69 6f 6e 20 30 2e 31 32 | in version 0.12| 00000850 0a 20 2a 20 20 20 20 20 20 45 78 74 65 6e 73 69 |. * Extensi| 00000860 6f 6e 73 20 74 6f 20 74 68 65 20 4d 65 73 73 61 |ons to the Messa| 00000870 67 65 5f 41 72 63 77 65 62 52 65 6e 64 65 72 44 |ge_ArcwebRenderD| 00000880 6f 6e 65 20 62 75 66 66 65 72 2e 20 20 54 68 65 |one buffer. The| 00000890 20 69 6d 61 67 65 20 72 65 6e 64 65 72 65 72 0a | image renderer.| 000008a0 20 2a 20 20 20 20 20 20 6d 75 73 74 20 69 6e 73 | * must ins| 000008b0 65 72 74 20 74 68 65 20 58 20 61 6e 64 20 59 20 |ert the X and Y | 000008c0 70 69 78 65 6c 20 73 69 7a 65 20 6f 66 20 61 20 |pixel size of a | 000008d0 67 72 61 70 68 69 63 61 6c 20 69 6d 61 67 65 20 |graphical image | 000008e0 28 74 6f 20 65 6e 61 62 6c 65 0a 20 2a 20 20 20 |(to enable. * | 000008f0 20 20 20 41 72 63 57 65 62 20 74 6f 20 63 61 6c | ArcWeb to cal| 00000900 63 75 6c 61 74 65 20 55 52 4c 73 20 66 6f 72 20 |culate URLs for | 00000910 69 6d 61 67 65 6d 61 70 73 20 75 6e 6c 65 73 73 |imagemaps unless| 00000920 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 69 6f 6e | the information| 00000930 20 69 73 20 6e 6f 74 0a 20 2a 20 20 20 20 20 20 | is not. * | 00000940 61 76 61 69 6c 61 62 6c 65 20 6f 72 20 6e 6f 74 |available or not| 00000950 20 61 70 70 6c 69 63 61 62 6c 65 20 28 65 67 2e | applicable (eg.| 00000960 20 66 6f 72 20 73 6f 75 6e 64 29 0a 20 2a 0a 20 | for sound). *. | 00000970 2a 0a 20 2a 20 20 20 43 68 61 6e 67 65 73 20 66 |*. * Changes f| 00000980 72 6f 6d 20 70 72 6f 74 6f 63 6f 6c 20 69 6e 20 |rom protocol in | 00000990 76 65 72 73 69 6f 6e 20 30 2e 31 31 0a 20 2a 20 |version 0.11. * | 000009a0 20 20 20 20 20 45 78 74 65 6e 64 65 64 20 55 52 | Extended UR| 000009b0 4c 20 70 72 6f 74 6f 63 6f 6c 20 64 65 66 69 6e |L protocol defin| 000009c0 65 64 0a 20 2a 20 20 20 20 20 20 2d 20 69 6e 20 |ed. * - in | 000009d0 2a 52 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 |*Request message| 000009e0 20 62 6c 6f 63 6b 73 0a 20 2a 20 20 20 20 20 20 | blocks. * | 000009f0 2d 20 6e 6f 74 65 73 20 61 62 6f 75 74 20 6f 77 |- notes about ow| 00000a00 6e 65 72 73 68 69 70 20 6f 66 20 66 69 6c 65 20 |nership of file | 00000a10 68 61 6e 64 6c 65 73 0a 20 2a 20 20 20 20 20 20 |handles. * | 00000a20 2d 20 69 6e 20 63 6f 6d 6d 65 6e 74 73 20 61 62 |- in comments ab| 00000a30 6f 75 74 20 74 68 65 20 46 6c 61 67 73 20 77 6f |out the Flags wo| 00000a40 72 64 0a 20 2a 20 20 20 20 20 20 2d 20 63 6f 6d |rd. * - com| 00000a50 6d 65 6e 74 73 20 61 62 6f 75 74 20 68 6f 77 20 |ments about how | 00000a60 74 6f 20 68 61 6e 64 6c 65 20 4c 6f 63 61 74 69 |to handle Locati| 00000a70 6f 6e 3a 20 68 65 61 64 65 72 20 66 72 6f 6d 20 |on: header from | 00000a80 48 54 54 50 20 73 65 72 76 65 72 73 0a 20 2a 20 |HTTP servers. * | 00000a90 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 63 | Message_Arc| 00000aa0 77 65 62 45 4d 61 69 6c 52 65 71 75 65 73 74 2f |webEMailRequest/| 00000ab0 44 6f 6e 65 20 61 64 64 65 64 0a 20 2a 20 20 20 |Done added. * | 00000ac0 20 20 20 48 61 6e 64 6c 69 6e 67 20 6f 66 20 62 | Handling of b| 00000ad0 69 74 20 32 37 20 69 6e 20 6e 6f 6e 2d 65 78 74 |it 27 in non-ext| 00000ae0 65 6e 64 65 64 20 55 52 4c 20 6d 65 73 73 61 67 |ended URL messag| 00000af0 65 73 0a 20 2a 20 20 20 20 20 20 49 6e 20 4f 74 |es. * In Ot| 00000b00 68 65 72 20 4e 6f 74 65 73 3a 20 63 6f 6d 6d 65 |her Notes: comme| 00000b10 6e 74 20 61 62 6f 75 74 20 65 78 70 69 72 79 20 |nt about expiry | 00000b20 64 61 74 65 73 20 75 70 64 61 74 65 64 0a 20 2a |dates updated. *| 00000b30 20 20 20 20 20 20 57 61 72 6e 69 6e 67 20 61 62 | Warning ab| 00000b40 6f 75 74 20 73 65 74 74 69 6e 67 20 74 79 70 65 |out setting type| 00000b50 20 62 69 74 73 20 69 6e 20 44 6f 6e 65 20 6d 65 | bits in Done me| 00000b60 73 73 61 67 65 73 0a 20 2a 20 20 20 20 20 20 52 |ssages. * R| 00000b70 65 6e 64 65 72 65 72 20 70 72 6f 74 6f 63 6f 6c |enderer protocol| 00000b80 20 77 61 72 6e 69 6e 67 73 20 61 64 64 65 64 0a | warnings added.| 00000b90 20 2a 20 20 20 20 20 20 53 65 6e 64 65 72 20 70 | * Sender p| 00000ba0 72 6f 74 6f 63 6f 6c 20 72 65 6e 61 6d 65 64 20 |rotocol renamed | 00000bb0 74 6f 20 50 6f 73 74 65 72 20 70 72 6f 74 6f 63 |to Poster protoc| 00000bc0 6f 6c 0a 20 2a 20 20 20 20 20 20 45 4d 61 69 6c |ol. * EMail| 00000bd0 20 70 72 6f 74 6f 63 6f 6c 20 61 64 64 65 64 20 | protocol added | 00000be0 28 75 73 65 73 20 61 20 6e 65 77 20 62 69 74 20 |(uses a new bit | 00000bf0 69 6e 20 66 6c 61 67 73 29 0a 20 2a 20 20 20 20 |in flags). * | 00000c00 20 20 53 75 67 67 65 73 74 69 6f 6e 20 61 62 6f | Suggestion abo| 00000c10 75 74 20 69 6e 74 65 6c 6c 69 67 65 6e 74 20 48 |ut intelligent H| 00000c20 54 54 50 20 66 65 74 63 68 65 72 73 20 70 72 65 |TTP fetchers pre| 00000c30 66 65 74 63 68 69 6e 67 20 69 6d 61 67 65 73 0a |fetching images.| 00000c40 20 2a 20 20 20 20 20 20 4d 65 73 73 61 67 65 5f | * Message_| 00000c50 41 72 63 77 65 62 41 62 6f 72 74 52 65 71 75 65 |ArcwebAbortReque| 00000c60 73 74 20 61 64 64 65 64 20 20 20 2b 20 64 65 73 |st added + des| 00000c70 63 72 69 70 74 69 6f 6e 0a 20 2a 20 20 20 20 20 |cription. * | 00000c80 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 54 | Message_ArcwebT| 00000c90 72 61 6e 73 66 65 72 53 74 61 74 75 73 20 61 64 |ransferStatus ad| 00000ca0 64 65 64 20 2b 20 64 65 73 63 72 69 70 74 69 6f |ded + descriptio| 00000cb0 6e 0a 20 2a 0a 20 2a 2f 0a 0a 54 68 69 73 20 66 |n. *. */..This f| 00000cc0 69 6c 65 20 64 65 73 63 72 69 62 65 73 20 74 68 |ile describes th| 00000cd0 65 20 70 72 6f 74 6f 63 6f 6c 73 20 75 73 65 64 |e protocols used| 00000ce0 20 62 79 20 41 72 63 57 65 62 2e 20 20 54 68 65 | by ArcWeb. The| 00000cf0 72 65 20 61 72 65 20 6e 69 6e 65 20 70 72 6f 74 |re are nine prot| 00000d00 6f 63 6f 6c 73 0a 70 6c 61 6e 6e 65 64 2c 20 61 |ocols.planned, a| 00000d10 6c 74 68 6f 75 67 68 20 6f 6e 6c 79 20 74 68 65 |lthough only the| 00000d20 20 66 69 72 73 74 20 65 69 67 68 74 20 61 72 65 | first eight are| 00000d30 20 66 75 6c 6c 79 20 69 6d 70 6c 65 6d 65 6e 74 | fully implement| 00000d40 65 64 20 73 6f 20 66 61 72 2e 0a 0a 0a 20 20 2a |ed so far.... *| 00000d50 20 46 65 74 63 68 65 72 20 50 72 6f 74 6f 63 6f | Fetcher Protoco| 00000d60 6c 0a 20 20 2a 20 52 65 6e 64 65 72 65 72 20 50 |l. * Renderer P| 00000d70 72 6f 74 6f 63 6f 6c 0a 20 20 2a 20 51 75 69 74 |rotocol. * Quit| 00000d80 20 50 72 6f 74 6f 63 6f 6c 0a 20 20 2a 20 45 78 | Protocol. * Ex| 00000d90 74 65 6e 64 65 64 20 55 52 4c 20 50 72 6f 74 6f |tended URL Proto| 00000da0 63 6f 6c 0a 20 20 2a 20 50 6f 73 74 65 72 20 50 |col. * Poster P| 00000db0 72 6f 74 6f 63 6f 6c 0a 20 20 2a 20 45 6d 61 69 |rotocol. * Emai| 00000dc0 6c 20 50 72 6f 74 6f 63 6f 6c 0a 20 20 2a 20 45 |l Protocol. * E| 00000dd0 78 74 65 72 6e 61 6c 20 4c 61 75 6e 63 68 20 50 |xternal Launch P| 00000de0 72 6f 74 6f 63 6f 6c 0a 20 20 2a 20 43 6f 6e 66 |rotocol. * Conf| 00000df0 69 67 75 72 61 74 69 6f 6e 20 50 72 6f 74 6f 63 |iguration Protoc| 00000e00 6f 6c 0a 20 20 2a 20 45 78 70 69 72 65 20 50 72 |ol. * Expire Pr| 00000e10 6f 74 6f 63 6f 6c 0a 0a 0a 50 72 6f 67 72 61 6d |otocol...Program| 00000e20 6d 65 72 73 20 73 75 70 70 6f 72 74 69 6e 67 20 |mers supporting | 00000e30 74 68 65 73 65 20 70 72 6f 74 6f 63 6f 6c 73 20 |these protocols | 00000e40 6d 75 73 74 20 62 65 20 65 78 74 72 65 6d 65 6c |must be extremel| 00000e50 79 20 63 61 72 65 66 75 6c 20 77 69 74 68 20 74 |y careful with t| 00000e60 68 65 69 72 0a 6d 65 6d 6f 72 79 2c 20 6d 65 73 |heir.memory, mes| 00000e70 73 61 67 65 20 61 6e 64 20 70 72 6f 74 6f 63 6f |sage and protoco| 00000e80 6c 20 6d 61 6e 61 67 65 6d 65 6e 74 2e 20 20 54 |l management. T| 00000e90 68 65 20 70 72 6f 74 6f 63 6f 6c 73 20 61 72 65 |he protocols are| 00000ea0 20 61 6c 6c 6f 77 65 64 20 74 6f 20 62 65 0a 63 | allowed to be.c| 00000eb0 6f 6e 63 75 72 72 65 6e 74 20 61 6e 64 20 6e 65 |oncurrent and ne| 00000ec0 73 74 65 64 2e 0a 0a 54 68 65 20 6f 62 76 69 6f |sted...The obvio| 00000ed0 75 73 20 65 78 61 6d 70 6c 65 20 69 73 20 74 68 |us example is th| 00000ee0 61 74 20 61 20 72 65 6e 64 65 72 65 72 20 6d 61 |at a renderer ma| 00000ef0 79 20 66 69 6e 64 20 61 6e 20 69 6e 6c 69 6e 65 |y find an inline| 00000f00 20 69 6d 61 67 65 20 69 6e 20 61 0a 64 6f 63 75 | image in a.docu| 00000f10 6d 65 6e 74 2c 20 61 6e 64 20 77 69 6c 6c 20 68 |ment, and will h| 00000f20 65 6e 63 65 20 77 61 6e 74 20 74 6f 20 69 73 73 |ence want to iss| 00000f30 75 65 20 61 20 72 65 71 75 65 73 74 20 74 6f 20 |ue a request to | 00000f40 66 65 74 63 68 20 69 74 2e 20 20 41 20 6e 6f 74 |fetch it. A not| 00000f50 20 73 6f 0a 6f 62 76 69 6f 75 73 20 65 78 61 6d | so.obvious exam| 00000f60 70 6c 65 20 69 73 20 61 6e 20 69 6e 74 65 6c 6c |ple is an intell| 00000f70 69 67 65 6e 74 20 48 54 54 50 20 66 65 74 63 68 |igent HTTP fetch| 00000f80 65 72 20 77 68 69 63 68 20 74 72 69 65 73 20 74 |er which tries t| 00000f90 6f 20 69 6e 74 65 6c 6c 69 67 65 6e 74 6c 79 0a |o intelligently.| 00000fa0 73 63 61 6e 20 74 68 65 20 72 65 74 75 72 6e 65 |scan the returne| 00000fb0 64 20 64 6f 63 75 6d 65 6e 74 20 28 69 66 20 69 |d document (if i| 00000fc0 74 20 77 61 73 20 48 54 4d 4c 29 20 74 6f 20 70 |t was HTML) to p| 00000fd0 69 63 6b 20 6f 75 74 20 3c 69 6d 67 3e 20 74 61 |ick out <img> ta| 00000fe0 67 73 20 61 6e 64 20 6b 69 63 6b 0a 6f 66 66 20 |gs and kick.off | 00000ff0 72 65 71 75 65 73 74 73 20 66 6f 72 20 74 68 65 |requests for the| 00001000 73 65 20 69 6e 2d 6c 69 6e 65 64 20 69 6d 61 67 |se in-lined imag| 00001010 65 73 20 73 6f 20 74 68 61 74 20 77 68 65 6e 20 |es so that when | 00001020 41 72 63 57 65 62 20 63 6f 6d 65 73 20 74 6f 20 |ArcWeb comes to | 00001030 61 73 6b 20 66 6f 72 0a 74 68 65 6d 2c 20 61 20 |ask for.them, a | 00001040 73 77 69 66 74 65 72 20 72 65 70 6c 79 20 63 61 |swifter reply ca| 00001050 6e 20 62 65 20 6d 61 64 65 2e 20 20 54 68 65 20 |n be made. The | 00001060 69 6d 70 61 63 74 20 6f 66 20 73 75 63 68 20 61 |impact of such a| 00001070 20 73 79 73 74 65 6d 20 77 6f 75 6c 64 20 62 65 | system would be| 00001080 0a 6d 6f 72 65 20 6e 6f 74 69 63 61 62 6c 65 2c |.more noticable,| 00001090 20 74 68 65 20 6d 6f 72 65 20 69 6d 61 67 65 73 | the more images| 000010a0 20 74 68 65 72 65 20 61 72 65 20 69 6e 6c 69 6e | there are inlin| 000010b0 65 64 20 69 6e 20 61 20 64 6f 63 75 6d 65 6e 74 |ed in a document| 000010c0 2e 0a 0a 0a 47 65 6e 65 72 61 6c 0a 3d 3d 3d 3d |....General.====| 000010d0 3d 3d 3d 0a 0a 20 20 45 61 63 68 20 70 72 6f 74 |===.. Each prot| 000010e0 6f 63 6f 6c 20 63 6f 6e 73 69 73 74 73 20 6f 66 |ocol consists of| 000010f0 20 32 20 6d 65 73 73 61 67 65 73 2c 20 61 20 22 | 2 messages, a "| 00001100 52 65 71 75 65 73 74 22 20 61 6e 64 20 61 20 22 |Request" and a "| 00001110 44 6f 6e 65 22 2e 20 54 68 65 0a 52 65 71 75 65 |Done". The.Reque| 00001120 73 74 20 69 73 20 73 65 6e 74 20 77 69 74 68 20 |st is sent with | 00001130 65 76 65 6e 74 20 63 6f 64 65 20 31 38 20 74 6f |event code 18 to| 00001140 20 66 6f 72 63 65 20 61 6e 20 61 63 6b 6e 6f 77 | force an acknow| 00001150 6c 65 64 67 65 6d 65 6e 74 2e 20 20 54 68 65 0a |ledgement. The.| 00001160 66 65 74 63 68 65 72 2f 72 65 6e 64 65 72 65 72 |fetcher/renderer| 00001170 20 73 68 6f 75 6c 64 20 61 63 6b 6e 6f 77 6c 65 | should acknowle| 00001180 64 67 65 20 77 69 74 68 20 74 68 65 20 44 6f 6e |dge with the Don| 00001190 65 20 6d 65 73 73 61 67 65 20 74 6f 20 70 72 65 |e message to pre| 000011a0 76 65 6e 74 20 74 68 65 0a 57 69 6d 70 20 72 65 |vent the.Wimp re| 000011b0 74 75 72 6e 69 6e 67 20 74 68 65 20 6d 65 73 73 |turning the mess| 000011c0 61 67 65 20 74 6f 20 74 68 65 20 6f 72 69 67 69 |age to the origi| 000011d0 6e 61 74 6f 72 2e 20 20 53 68 6f 75 6c 64 20 74 |nator. Should t| 000011e0 68 65 20 66 65 74 63 68 65 72 2f 72 65 6e 64 65 |he fetcher/rende| 000011f0 72 65 72 0a 77 69 73 68 20 74 6f 20 63 61 6c 6c |rer.wish to call| 00001200 20 57 69 6d 70 5f 50 6f 6c 6c 20 62 65 66 6f 72 | Wimp_Poll befor| 00001210 65 20 69 74 20 69 73 20 72 65 61 64 79 20 74 6f |e it is ready to| 00001220 20 73 65 6e 64 20 74 68 65 20 44 6f 6e 65 20 72 | send the Done r| 00001230 65 70 6c 79 2c 20 69 74 20 4d 55 53 54 20 61 63 |eply, it MUST ac| 00001240 6b 0a 74 68 65 20 6d 65 73 73 61 67 65 20 28 69 |k.the message (i| 00001250 65 2e 20 66 69 6c 6c 20 69 6e 20 74 68 65 20 72 |e. fill in the r| 00001260 65 66 20 66 69 65 6c 64 73 20 61 6e 64 20 72 65 |ef fields and re| 00001270 70 6c 79 20 77 69 74 68 20 65 76 65 6e 74 20 74 |ply with event t| 00001280 79 70 65 20 31 39 20 74 6f 0a 70 72 65 76 65 6e |ype 19 to.preven| 00001290 74 20 74 68 65 20 57 69 6d 70 20 72 65 74 75 72 |t the Wimp retur| 000012a0 6e 69 6e 67 20 69 74 20 74 6f 20 74 68 65 20 6f |ning it to the o| 000012b0 72 69 67 69 6e 61 74 6f 72 29 2c 20 61 6e 64 20 |riginator), and | 000012c0 74 68 65 6e 20 73 65 6e 64 20 74 68 65 20 44 6f |then send the Do| 000012d0 6e 65 0a 6d 65 73 73 61 67 65 20 77 68 65 6e 20 |ne.message when | 000012e0 69 74 20 69 73 20 72 65 61 64 79 20 28 68 61 76 |it is ready (hav| 000012f0 69 6e 67 20 72 65 6d 65 6d 62 65 72 65 64 20 74 |ing remembered t| 00001300 6f 20 66 69 6c 6c 20 69 6e 20 74 68 65 20 79 6f |o fill in the yo| 00001310 75 72 5f 72 65 66 20 66 69 65 6c 64 0a 66 72 6f |ur_ref field.fro| 00001320 6d 20 74 68 65 20 6d 79 5f 72 65 66 20 6f 66 20 |m the my_ref of | 00001330 74 68 65 20 6f 72 69 67 69 6e 61 6c 20 52 65 71 |the original Req| 00001340 75 65 73 74 29 2e 0a 0a 20 20 49 6e 73 74 65 61 |uest)... Instea| 00001350 64 20 6f 66 20 73 65 6e 64 69 6e 67 20 61 20 57 |d of sending a W| 00001360 69 6d 70 20 61 63 6b 6e 6f 77 6c 65 64 67 65 6d |imp acknowledgem| 00001370 65 6e 74 20 77 69 74 68 20 65 76 65 6e 74 20 74 |ent with event t| 00001380 79 70 65 20 31 39 20 74 6f 20 70 72 65 76 65 6e |ype 19 to preven| 00001390 74 0a 64 65 6c 69 76 65 72 79 20 66 61 69 6c 75 |t.delivery failu| 000013a0 72 65 2c 20 61 73 20 6d 65 6e 74 69 6f 6e 65 64 |re, as mentioned| 000013b0 20 61 62 6f 76 65 2c 20 69 74 20 77 6f 75 6c 64 | above, it would| 000013c0 20 62 65 20 6d 75 63 68 20 62 65 74 74 65 72 20 | be much better | 000013d0 74 6f 20 61 63 74 75 61 6c 6c 79 0a 72 65 70 6c |to actually.repl| 000013e0 79 20 77 69 74 68 20 61 20 4d 65 73 73 61 67 65 |y with a Message| 000013f0 5f 41 72 63 77 65 62 54 72 61 6e 73 66 65 72 53 |_ArcwebTransferS| 00001400 74 61 74 75 73 2c 20 77 68 69 63 68 20 64 6f 75 |tatus, which dou| 00001410 62 6c 65 73 20 62 6f 74 68 20 61 73 20 74 68 65 |bles both as the| 00001420 20 61 63 6b 20 61 6e 64 0a 61 73 20 61 20 75 73 | ack and.as a us| 00001430 65 66 75 6c 20 6d 65 73 73 61 67 65 2e 20 20 46 |eful message. F| 00001440 75 72 74 68 65 72 20 4d 65 73 73 61 67 65 5f 41 |urther Message_A| 00001450 72 63 77 65 62 54 72 61 6e 73 66 65 72 53 74 61 |rcwebTransferSta| 00001460 74 75 73 20 6d 65 73 73 61 67 65 73 20 63 61 6e |tus messages can| 00001470 20 62 65 0a 73 65 6e 74 20 70 65 72 69 6f 64 69 | be.sent periodi| 00001480 63 61 6c 6c 79 20 28 75 73 65 20 65 76 65 6e 74 |cally (use event| 00001490 20 74 79 70 65 20 31 37 20 61 6e 64 20 7a 65 72 | type 17 and zer| 000014a0 6f 20 74 68 65 20 72 65 66 20 66 69 65 6c 64 20 |o the ref field | 000014b0 66 6f 72 20 74 68 65 73 65 29 0a 0a 20 20 43 20 |for these).. C | 000014c0 70 72 6f 67 72 61 6d 6d 65 72 73 20 6d 75 73 74 |programmers must| 000014d0 20 75 73 65 20 72 65 71 75 65 73 74 65 72 2e 68 | use requester.h| 000014e0 20 74 6f 20 64 65 66 69 6e 65 20 74 68 65 20 73 | to define the s| 000014f0 74 72 75 63 74 75 72 65 73 20 75 73 65 64 2e 20 |tructures used. | 00001500 0a 54 68 65 20 74 79 70 65 73 20 68 61 76 65 20 |.The types have | 00001510 62 65 65 6e 20 64 69 76 6f 72 63 65 64 20 66 72 |been divorced fr| 00001520 6f 6d 20 61 6e 79 20 57 69 6d 70 20 6c 69 62 72 |om any Wimp libr| 00001530 61 72 79 2c 20 6f 6e 6c 79 20 63 68 61 72 2c 20 |ary, only char, | 00001540 76 6f 69 64 20 61 6e 64 20 69 6e 74 0a 74 79 70 |void and int.typ| 00001550 65 73 20 68 61 76 65 20 62 65 65 6e 20 75 73 65 |es have been use| 00001560 64 2e 0a 0a 0a 4d 65 73 73 61 67 65 73 0a 3d 3d |d....Messages.==| 00001570 3d 3d 3d 3d 3d 3d 0a 0a 62 75 66 20 69 73 20 74 |======..buf is t| 00001580 68 65 20 62 75 66 66 65 72 20 72 65 74 75 72 6e |he buffer return| 00001590 65 64 20 66 72 6f 6d 20 57 69 6d 70 5f 50 6f 6c |ed from Wimp_Pol| 000015a0 6c 20 28 26 65 2d 3e 64 61 74 61 20 69 6e 20 52 |l (&e->data in R| 000015b0 69 73 63 5f 4f 53 6c 69 62 29 2e 20 20 54 68 65 |isc_OSlib). The| 000015c0 0a 6f 62 76 69 6f 75 73 20 66 69 65 6c 64 73 20 |.obvious fields | 000015d0 68 61 76 65 20 62 65 65 6e 20 6f 6d 69 74 74 65 |have been omitte| 000015e0 64 20 28 69 65 2e 20 62 75 66 2b 30 20 74 6f 20 |d (ie. buf+0 to | 000015f0 62 75 66 2b 31 32 29 2e 0a 54 68 65 20 27 50 72 |buf+12)..The 'Pr| 00001600 69 76 61 74 65 20 41 72 63 57 65 62 20 68 61 6e |ivate ArcWeb han| 00001610 64 6c 65 27 20 6d 75 73 74 20 61 6c 77 61 79 73 |dle' must always| 00001620 20 62 65 20 70 72 65 73 65 72 76 65 64 2c 20 61 | be preserved, a| 00001630 73 20 74 68 69 73 20 69 73 20 74 68 65 20 6f 6e |s this is the on| 00001640 6c 79 0a 77 61 79 20 41 72 63 57 65 62 20 63 61 |ly.way ArcWeb ca| 00001650 6e 20 64 65 6c 69 76 65 72 20 72 65 70 6c 69 65 |n deliver replie| 00001660 73 20 74 6f 20 74 68 65 20 72 65 71 75 65 73 74 |s to the request| 00001670 20 6f 72 69 67 69 6e 61 74 6f 72 2e 0a 0a 54 68 | originator...Th| 00001680 65 20 74 79 70 65 73 20 6f 66 20 65 61 63 68 20 |e types of each | 00001690 65 6e 74 72 79 20 61 72 65 20 67 69 76 65 6e 3a |entry are given:| 000016a0 20 20 73 74 72 30 20 3d 20 7a 65 72 6f 20 74 65 | str0 = zero te| 000016b0 72 6d 69 6e 61 74 65 64 20 73 74 72 69 6e 67 2e |rminated string.| 000016c0 20 20 73 74 72 4e 20 3d 20 0a 73 74 72 69 6e 67 | strN = .string| 000016d0 20 77 68 6f 73 65 20 6c 65 6e 67 74 68 20 69 73 | whose length is| 000016e0 20 64 65 66 69 6e 65 64 20 65 6c 73 65 77 68 65 | defined elsewhe| 000016f0 72 65 2e 20 20 73 74 72 30 2f 4e 20 3d 20 73 74 |re. str0/N = st| 00001700 72 69 6e 67 20 7a 65 72 6f 20 74 65 72 6d 69 6e |ring zero termin| 00001710 61 74 65 64 0a 75 6e 6c 65 73 73 20 69 74 20 69 |ated.unless it i| 00001720 73 20 6d 61 78 69 6d 75 6d 20 6c 65 6e 67 74 68 |s maximum length| 00001730 20 28 64 65 66 69 6e 65 64 20 65 6c 73 65 77 68 | (defined elsewh| 00001740 65 72 65 29 20 69 6e 20 77 68 69 63 68 20 63 61 |ere) in which ca| 00001750 73 65 20 74 68 65 20 74 65 72 6d 69 6e 61 74 6f |se the terminato| 00001760 72 0a 69 73 20 6d 69 73 73 69 6e 67 3b 20 64 61 |r.is missing; da| 00001770 74 65 35 20 3d 20 35 20 62 79 74 65 20 64 61 74 |te5 = 5 byte dat| 00001780 65 20 73 74 72 69 6e 67 20 28 69 6e 20 55 54 43 |e string (in UTC| 00001790 29 20 61 73 20 72 65 74 75 72 6e 65 64 20 62 79 |) as returned by| 000017a0 20 4f 53 5f 57 6f 72 64 20 31 34 2c 33 0a 0a 54 | OS_Word 14,3..T| 000017b0 68 65 20 62 75 66 66 65 72 73 20 61 72 65 20 61 |he buffers are a| 000017c0 6c 6c 20 64 65 66 69 6e 65 64 20 74 6f 67 65 74 |ll defined toget| 000017d0 68 65 72 20 61 6e 64 20 74 68 65 6e 20 65 78 70 |her and then exp| 000017e0 6c 61 69 6e 65 64 20 62 65 6c 6f 77 2e 20 20 72 |lained below. r| 000017f0 65 71 75 65 73 74 65 72 2e 68 0a 63 6f 6e 74 61 |equester.h.conta| 00001800 69 6e 73 20 43 20 73 74 72 75 63 74 75 72 65 73 |ins C structures| 00001810 20 66 6f 72 20 74 68 65 73 65 20 6d 65 73 73 61 | for these messa| 00001820 67 65 73 2e 0a 0a 0a 0a 0a 4d 65 73 73 61 67 65 |ges......Message| 00001830 5f 41 72 63 77 65 62 46 65 74 63 68 52 65 71 75 |_ArcwebFetchRequ| 00001840 65 73 74 20 20 20 20 20 20 28 6d 73 67 5f 41 72 |est (msg_Ar| 00001850 63 77 65 62 5f 5f 62 61 73 65 20 2b 20 20 30 29 |cweb__base + 0)| 00001860 0a 0a 20 20 20 20 20 20 20 20 62 75 66 2b 31 36 |.. buf+16| 00001870 20 20 69 6e 74 20 20 20 20 20 4d 65 73 73 61 67 | int Messag| 00001880 65 5f 41 72 63 77 65 62 46 65 74 63 68 52 65 71 |e_ArcwebFetchReq| 00001890 75 65 73 74 20 20 20 20 20 20 28 30 78 34 41 32 |uest (0x4A2| 000018a0 34 30 29 0a 20 20 20 20 20 20 20 20 62 75 66 2b |40). buf+| 000018b0 32 30 20 20 76 6f 69 64 2a 20 20 20 50 72 69 76 |20 void* Priv| 000018c0 61 74 65 20 41 72 63 57 65 62 20 68 61 6e 64 6c |ate ArcWeb handl| 000018d0 65 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 34 |e. buf+24| 000018e0 20 20 69 6e 74 20 20 20 20 20 46 6c 61 67 73 0a | int Flags.| 000018f0 20 20 20 20 20 20 20 20 62 75 66 2b 32 38 20 20 | buf+28 | 00001900 69 6e 74 20 20 20 20 20 52 49 53 43 20 4f 53 20 |int RISC OS | 00001910 66 69 6c 65 20 68 61 6e 64 6c 65 20 28 73 6f 75 |file handle (sou| 00001920 72 63 65 29 0a 0a 45 49 54 48 45 52 20 20 62 75 |rce)..EITHER bu| 00001930 66 2b 33 32 20 20 73 74 72 30 20 20 20 20 55 6e |f+32 str0 Un| 00001940 69 66 6f 72 6d 20 52 65 73 6f 75 72 63 65 20 4c |iform Resource L| 00001950 6f 63 61 74 6f 72 20 28 66 75 6c 6c 79 20 71 75 |ocator (fully qu| 00001960 61 6c 69 66 69 65 64 29 0a 0a 20 20 20 20 4f 52 |alified).. OR| 00001970 20 20 62 75 66 2b 33 32 20 20 69 6e 74 20 20 20 | buf+32 int | 00001980 20 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 68 | RISC OS file h| 00001990 61 6e 64 6c 65 20 28 55 52 4c 29 20 28 69 66 20 |andle (URL) (if | 000019a0 66 6c 61 67 73 20 62 69 74 20 32 32 20 73 65 74 |flags bit 22 set| 000019b0 29 0a 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 |)...Message_Arcw| 000019c0 65 62 46 65 74 63 68 44 6f 6e 65 20 20 20 20 20 |ebFetchDone | 000019d0 20 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 5f | (msg_Arcweb_| 000019e0 5f 62 61 73 65 20 2b 20 20 31 29 0a 0a 20 20 20 |_base + 1).. | 000019f0 20 20 20 20 20 62 75 66 2b 31 32 20 20 69 6e 74 | buf+12 int| 00001a00 20 20 20 20 20 6d 79 5f 72 65 66 20 66 72 6f 6d | my_ref from| 00001a10 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 46 | Message_ArcwebF| 00001a20 65 74 63 68 52 65 71 75 65 73 74 0a 20 20 20 20 |etchRequest. | 00001a30 20 20 20 20 62 75 66 2b 31 36 20 20 69 6e 74 20 | buf+16 int | 00001a40 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 63 77 | Message_Arcw| 00001a50 65 62 46 65 74 63 68 44 6f 6e 65 20 20 20 20 20 |ebFetchDone | 00001a60 20 20 20 20 28 30 78 34 41 32 34 31 29 0a 20 20 | (0x4A241). | 00001a70 20 20 20 20 20 20 62 75 66 2b 32 30 20 20 76 6f | buf+20 vo| 00001a80 69 64 2a 20 20 20 50 72 69 76 61 74 65 20 41 72 |id* Private Ar| 00001a90 63 57 65 62 20 68 61 6e 64 6c 65 0a 20 20 20 20 |cWeb handle. | 00001aa0 20 20 20 20 62 75 66 2b 32 34 20 20 69 6e 74 20 | buf+24 int | 00001ab0 20 20 20 20 46 6c 61 67 73 0a 0a 20 45 49 54 48 | Flags.. EITH| 00001ac0 45 52 20 62 75 66 2b 32 38 20 20 73 74 72 30 20 |ER buf+28 str0 | 00001ad0 20 20 20 45 72 72 6f 72 20 6d 65 73 73 61 67 65 | Error message| 00001ae0 0a 0a 20 20 20 20 20 4f 52 20 62 75 66 2b 32 38 |.. OR buf+28| 00001af0 20 20 69 6e 74 20 20 20 20 20 5a 65 72 6f 3d 74 | int Zero=t| 00001b00 68 69 73 20 69 74 65 6d 20 68 61 73 20 61 6e 20 |his item has an | 00001b10 65 78 70 69 72 79 20 64 61 74 65 0a 20 20 20 20 |expiry date. | 00001b20 20 20 20 20 62 75 66 2b 33 32 20 20 69 6e 74 20 | buf+32 int | 00001b30 20 20 20 20 4e 6f 6e 2d 7a 65 72 6f 3d 75 73 65 | Non-zero=use| 00001b40 20 64 65 66 61 75 6c 74 20 65 78 70 69 72 79 20 | default expiry | 00001b50 64 65 6c 61 79 0a 20 20 20 20 20 20 20 20 62 75 |delay. bu| 00001b60 66 2b 33 36 20 20 64 61 74 65 35 20 20 20 45 78 |f+36 date5 Ex| 00001b70 70 69 72 79 20 64 61 74 65 20 69 6e 20 55 54 43 |piry date in UTC| 00001b80 20 28 69 66 20 62 75 66 2b 33 32 20 7a 65 72 6f | (if buf+32 zero| 00001b90 2c 20 61 6e 64 20 62 75 66 2b 32 38 20 7a 65 72 |, and buf+28 zer| 00001ba0 6f 29 0a 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 |o)...Message_Arc| 00001bb0 77 65 62 52 65 6e 64 65 72 52 65 71 75 65 73 74 |webRenderRequest| 00001bc0 20 20 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 | (msg_Arcweb| 00001bd0 5f 5f 62 61 73 65 20 2b 20 20 32 29 0a 0a 20 20 |__base + 2).. | 00001be0 20 20 20 20 20 20 62 75 66 2b 31 36 20 20 69 6e | buf+16 in| 00001bf0 74 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 |t Message_Ar| 00001c00 63 77 65 62 52 65 6e 64 65 72 52 65 71 75 65 73 |cwebRenderReques| 00001c10 74 20 20 20 20 20 28 30 78 34 41 32 34 32 29 0a |t (0x4A242).| 00001c20 20 20 20 20 20 20 20 20 62 75 66 2b 32 30 20 20 | buf+20 | 00001c30 76 6f 69 64 2a 20 20 20 50 72 69 76 61 74 65 20 |void* Private | 00001c40 41 72 63 57 65 62 20 68 61 6e 64 6c 65 0a 20 20 |ArcWeb handle. | 00001c50 20 20 20 20 20 20 62 75 66 2b 32 34 20 20 69 6e | buf+24 in| 00001c60 74 20 20 20 20 20 66 6c 61 67 73 0a 20 20 20 20 |t flags. | 00001c70 20 20 20 20 62 75 66 2b 32 38 20 20 69 6e 74 20 | buf+28 int | 00001c80 20 20 20 20 52 49 53 43 20 4f 53 20 66 69 6c 65 | RISC OS file| 00001c90 20 68 61 6e 64 6c 65 20 28 73 6f 75 72 63 65 29 | handle (source)| 00001ca0 0a 20 20 20 20 20 20 20 20 62 75 66 2b 33 32 20 |. buf+32 | 00001cb0 20 69 6e 74 20 20 20 20 20 52 49 53 43 20 4f 53 | int RISC OS| 00001cc0 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 28 74 65 | file handle (te| 00001cd0 6d 70 6f 72 61 72 79 29 0a 20 20 20 20 20 20 20 |mporary). | 00001ce0 20 62 75 66 2b 33 36 20 20 69 6e 74 20 20 20 20 | buf+36 int | 00001cf0 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 68 61 | RISC OS file ha| 00001d00 6e 64 6c 65 20 28 64 69 61 67 72 61 6d 29 0a 20 |ndle (diagram). | 00001d10 20 20 20 20 20 20 20 62 75 66 2b 34 30 20 20 69 | buf+40 i| 00001d20 6e 74 20 20 20 20 20 52 49 53 43 20 4f 53 20 66 |nt RISC OS f| 00001d30 69 6c 65 20 68 61 6e 64 6c 65 20 28 6c 69 6e 6b |ile handle (link| 00001d40 29 0a 20 20 20 20 20 20 20 20 62 75 66 2b 34 34 |). buf+44| 00001d50 20 20 69 6e 74 20 20 20 20 20 73 69 7a 65 20 6f | int size o| 00001d60 66 20 64 61 74 61 20 66 6f 6c 6c 6f 77 69 6e 67 |f data following| 00001d70 0a 20 20 20 20 20 20 20 20 62 75 66 2b 34 38 20 |. buf+48 | 00001d80 20 2d 2d 2d 20 20 20 20 20 28 63 6f 6e 74 65 6e | --- (conten| 00001d90 74 73 20 6f 66 20 62 75 66 2b 34 34 29 20 62 79 |ts of buf+44) by| 00001da0 74 65 73 20 6f 66 20 73 6f 75 72 63 65 20 66 69 |tes of source fi| 00001db0 6c 65 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 |le..Message_Arcw| 00001dc0 65 62 52 65 6e 64 65 72 44 6f 6e 65 20 20 20 20 |ebRenderDone | 00001dd0 20 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 5f | (msg_Arcweb_| 00001de0 5f 62 61 73 65 20 2b 20 20 33 29 0a 0a 20 20 20 |_base + 3).. | 00001df0 20 20 20 20 20 62 75 66 2b 31 36 20 20 69 6e 74 | buf+16 int| 00001e00 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 63 | Message_Arc| 00001e10 77 65 62 52 65 6e 64 65 72 44 6f 6e 65 20 20 20 |webRenderDone | 00001e20 20 20 20 20 20 28 30 78 34 41 32 34 33 29 0a 20 | (0x4A243). | 00001e30 20 20 20 20 20 20 20 62 75 66 2b 32 30 20 20 76 | buf+20 v| 00001e40 6f 69 64 2a 20 20 20 50 72 69 76 61 74 65 20 41 |oid* Private A| 00001e50 72 63 57 65 62 20 68 61 6e 64 6c 65 0a 20 20 20 |rcWeb handle. | 00001e60 20 20 20 20 20 62 75 66 2b 32 34 20 20 69 6e 74 | buf+24 int| 00001e70 20 20 20 20 20 66 6c 61 67 73 0a 0a 45 49 54 48 | flags..EITH| 00001e80 45 52 20 20 62 75 66 2b 32 38 20 20 69 6e 74 20 |ER buf+28 int | 00001e90 20 20 20 20 73 69 7a 65 20 6f 66 20 69 6d 61 67 | size of imag| 00001ea0 65 20 69 6e 20 78 20 70 69 78 65 6c 73 20 28 30 |e in x pixels (0| 00001eb0 20 69 66 20 4e 2f 41 29 0a 20 20 20 20 20 20 20 | if N/A). | 00001ec0 20 62 75 66 2b 33 32 20 20 69 6e 74 20 20 20 20 | buf+32 int | 00001ed0 20 73 69 7a 65 20 6f 66 20 69 6d 61 67 65 20 69 | size of image i| 00001ee0 6e 20 79 20 70 69 78 65 73 6c 20 28 30 20 69 66 |n y pixesl (0 if| 00001ef0 20 4e 2f 41 29 0a 0a 4f 52 20 20 20 20 20 20 62 | N/A)..OR b| 00001f00 75 66 2b 32 38 20 20 73 74 72 30 20 20 20 20 65 |uf+28 str0 e| 00001f10 72 72 6f 72 20 6d 65 73 73 61 67 65 0a 0a 0a 4d |rror message...M| 00001f20 65 73 73 61 67 65 5f 41 72 63 77 65 62 50 6f 73 |essage_ArcwebPos| 00001f30 74 52 65 71 75 65 73 74 20 20 20 20 20 20 20 28 |tRequest (| 00001f40 6d 73 67 5f 41 72 63 77 65 62 5f 5f 62 61 73 65 |msg_Arcweb__base| 00001f50 20 2b 20 20 34 29 0a 0a 20 20 20 20 20 20 20 20 | + 4).. | 00001f60 62 75 66 2b 31 36 20 20 69 6e 74 20 20 20 20 20 |buf+16 int | 00001f70 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 50 6f |Message_ArcwebPo| 00001f80 73 74 52 65 71 75 65 73 74 20 20 20 20 20 20 20 |stRequest | 00001f90 28 30 78 34 41 32 34 34 29 0a 20 20 20 20 20 20 |(0x4A244). | 00001fa0 20 20 62 75 66 2b 32 30 20 20 76 6f 69 64 2a 20 | buf+20 void* | 00001fb0 20 20 50 72 69 76 61 74 65 20 41 72 63 57 65 62 | Private ArcWeb| 00001fc0 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 20 | handle. | 00001fd0 62 75 66 2b 32 34 20 20 69 6e 74 20 20 20 20 20 |buf+24 int | 00001fe0 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 62 75 |flags. bu| 00001ff0 66 2b 32 38 20 20 69 6e 74 20 20 20 20 20 52 49 |f+28 int RI| 00002000 53 43 20 4f 53 20 66 69 6c 65 20 68 61 6e 64 6c |SC OS file handl| 00002010 65 20 28 73 6f 75 72 63 65 29 0a 20 20 20 20 20 |e (source). | 00002020 20 20 20 62 75 66 2b 33 32 20 20 69 6e 74 20 20 | buf+32 int | 00002030 20 20 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 | RISC OS file | 00002040 68 61 6e 64 6c 65 20 28 66 6f 72 6d 29 0a 0a 45 |handle (form)..E| 00002050 49 54 48 45 52 20 20 62 75 66 2b 33 36 20 20 73 |ITHER buf+36 s| 00002060 74 72 30 20 20 20 20 55 6e 69 66 6f 72 6d 20 52 |tr0 Uniform R| 00002070 65 73 6f 75 72 63 65 20 4c 6f 63 61 74 6f 72 20 |esource Locator | 00002080 28 69 66 20 66 6c 61 67 73 20 62 69 74 20 32 32 |(if flags bit 22| 00002090 20 63 6c 65 61 72 29 0a 0a 20 20 20 20 4f 52 20 | clear).. OR | 000020a0 20 62 75 66 2b 33 36 20 20 69 6e 74 20 20 20 20 | buf+36 int | 000020b0 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 68 61 | RISC OS file ha| 000020c0 6e 64 6c 65 20 28 55 52 4c 29 20 28 69 66 20 66 |ndle (URL) (if f| 000020d0 6c 61 67 73 20 62 69 74 20 32 32 20 73 65 74 29 |lags bit 22 set)| 000020e0 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 |..Message_Arcweb| 000020f0 50 6f 73 74 44 6f 6e 65 20 20 20 20 20 20 20 20 |PostDone | 00002100 20 20 28 6d 73 67 5f 41 72 63 77 65 62 5f 5f 62 | (msg_Arcweb__b| 00002110 61 73 65 20 2b 20 20 35 29 0a 0a 20 20 20 20 20 |ase + 5).. | 00002120 20 20 20 62 75 66 2b 31 32 20 20 69 6e 74 20 20 | buf+12 int | 00002130 20 20 20 6d 79 5f 72 65 66 20 66 72 6f 6d 20 4d | my_ref from M| 00002140 65 73 73 61 67 65 5f 41 72 63 77 65 62 50 6f 73 |essage_ArcwebPos| 00002150 74 52 65 71 75 65 73 74 0a 20 20 20 20 20 20 20 |tRequest. | 00002160 20 62 75 66 2b 31 36 20 20 69 6e 74 20 20 20 20 | buf+16 int | 00002170 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 50 | Message_ArcwebP| 00002180 6f 73 74 44 6f 6e 65 20 20 20 20 20 20 20 20 20 |ostDone | 00002190 20 28 30 78 34 41 32 34 35 29 0a 20 20 20 20 20 | (0x4A245). | 000021a0 20 20 20 62 75 66 2b 32 30 20 20 76 6f 69 64 2a | buf+20 void*| 000021b0 20 20 20 50 72 69 76 61 74 65 20 41 72 63 57 65 | Private ArcWe| 000021c0 62 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 20 |b handle. | 000021d0 20 62 75 66 2b 32 34 20 20 69 6e 74 20 20 20 20 | buf+24 int | 000021e0 20 66 6c 61 67 73 0a 0a 20 45 49 54 48 45 52 20 | flags.. EITHER | 000021f0 62 75 66 2b 32 38 20 20 73 74 72 30 20 20 20 20 |buf+28 str0 | 00002200 45 72 72 6f 72 20 6d 65 73 73 61 67 65 0a 0a 20 |Error message.. | 00002210 20 20 20 20 4f 52 20 62 75 66 2b 32 38 20 20 69 | OR buf+28 i| 00002220 6e 74 20 20 20 20 20 5a 65 72 6f 3d 74 68 69 73 |nt Zero=this| 00002230 20 69 74 65 6d 20 68 61 73 20 61 6e 20 65 78 70 | item has an exp| 00002240 69 72 79 20 64 61 74 65 0a 20 20 20 20 20 20 20 |iry date. | 00002250 20 62 75 66 2b 33 32 20 20 69 6e 74 20 20 20 20 | buf+32 int | 00002260 20 4e 6f 6e 2d 7a 65 72 6f 3d 75 73 65 20 64 65 | Non-zero=use de| 00002270 66 61 75 6c 74 20 65 78 70 69 72 79 20 64 65 6c |fault expiry del| 00002280 61 79 0a 20 20 20 20 20 20 20 20 62 75 66 2b 33 |ay. buf+3| 00002290 36 20 20 64 61 74 65 35 20 20 20 45 78 70 69 72 |6 date5 Expir| 000022a0 79 20 64 61 74 65 20 69 6e 20 55 54 43 20 28 69 |y date in UTC (i| 000022b0 66 20 62 75 66 2b 33 32 20 7a 65 72 6f 2c 20 61 |f buf+32 zero, a| 000022c0 6e 64 20 62 75 66 2b 32 38 20 7a 65 72 6f 29 0a |nd buf+28 zero).| 000022d0 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 45 |.Message_ArcwebE| 000022e0 4d 61 69 6c 52 65 71 75 65 73 74 20 20 20 20 20 |MailRequest | 000022f0 20 28 6d 73 67 5f 41 72 63 77 65 62 5f 5f 62 61 | (msg_Arcweb__ba| 00002300 73 65 20 2b 20 20 36 29 0a 0a 20 20 20 20 20 20 |se + 6).. | 00002310 20 20 62 75 66 2b 31 36 20 20 69 6e 74 20 20 20 | buf+16 int | 00002320 20 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 | Message_Arcweb| 00002330 45 4d 61 69 6c 52 65 71 75 65 73 74 20 20 20 20 |EMailRequest | 00002340 20 20 28 30 78 34 41 32 34 36 29 0a 20 20 20 20 | (0x4A246). | 00002350 20 20 20 20 62 75 66 2b 32 30 20 20 76 6f 69 64 | buf+20 void| 00002360 2a 20 20 20 50 72 69 76 61 74 65 20 41 72 63 57 |* Private ArcW| 00002370 65 62 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 20 |eb handle. | 00002380 20 20 62 75 66 2b 32 34 20 20 69 6e 74 20 20 20 | buf+24 int | 00002390 20 20 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 | flags. | 000023a0 62 75 66 2b 32 38 20 20 69 6e 74 20 20 20 20 20 |buf+28 int | 000023b0 52 49 53 43 20 4f 53 20 66 69 6c 65 20 68 61 6e |RISC OS file han| 000023c0 64 6c 65 20 28 66 6f 72 6d 20 66 69 6c 65 20 63 |dle (form file c| 000023d0 6f 6e 74 61 69 6e 69 6e 67 20 65 2d 6d 61 69 6c |ontaining e-mail| 000023e0 29 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 65 |)..Message_Arcwe| 000023f0 62 45 4d 61 69 6c 44 6f 6e 65 20 20 20 20 20 20 |bEMailDone | 00002400 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 5f 5f | (msg_Arcweb__| 00002410 62 61 73 65 20 2b 20 20 37 29 0a 0a 20 20 20 20 |base + 7).. | 00002420 20 20 20 20 62 75 66 2b 31 32 20 20 69 6e 74 20 | buf+12 int | 00002430 20 20 20 20 6d 79 5f 72 65 66 20 66 72 6f 6d 20 | my_ref from | 00002440 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 45 4d |Message_ArcwebEM| 00002450 61 69 6c 52 65 71 75 65 73 74 0a 20 20 20 20 20 |ailRequest. | 00002460 20 20 20 62 75 66 2b 31 36 20 20 69 6e 74 20 20 | buf+16 int | 00002470 20 20 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 | Message_Arcwe| 00002480 62 45 4d 61 69 6c 44 6f 6e 65 20 20 20 20 20 20 |bEMailDone | 00002490 20 20 20 28 30 78 34 41 32 34 37 29 0a 20 20 20 | (0x4A247). | 000024a0 20 20 20 20 20 62 75 66 2b 32 30 20 20 76 6f 69 | buf+20 voi| 000024b0 64 2a 20 20 20 50 72 69 76 61 74 65 20 41 72 63 |d* Private Arc| 000024c0 57 65 62 20 68 61 6e 64 6c 65 0a 20 20 20 20 20 |Web handle. | 000024d0 20 20 20 62 75 66 2b 32 34 20 20 69 6e 74 20 20 | buf+24 int | 000024e0 20 20 20 66 6c 61 67 73 0a 0a 0a 4d 65 73 73 61 | flags...Messa| 000024f0 67 65 5f 41 72 63 77 65 62 51 75 69 74 20 20 20 |ge_ArcwebQuit | 00002500 20 20 20 20 20 20 20 20 20 20 20 28 6d 73 67 5f | (msg_| 00002510 41 72 63 77 65 62 5f 5f 62 61 73 65 20 2b 20 33 |Arcweb__base + 3| 00002520 32 29 0a 0a 20 20 20 20 20 20 20 20 62 75 66 2b |2).. buf+| 00002530 31 36 20 20 69 6e 74 20 20 20 20 20 4d 65 73 73 |16 int Mess| 00002540 61 67 65 5f 41 72 63 77 65 62 51 75 69 74 20 20 |age_ArcwebQuit | 00002550 20 20 20 20 20 20 20 20 20 20 20 20 28 30 78 34 | (0x4| 00002560 41 32 36 30 29 0a 0a 0a 4d 65 73 73 61 67 65 5f |A260)...Message_| 00002570 41 72 63 77 65 62 45 78 70 69 72 65 20 20 20 20 |ArcwebExpire | 00002580 20 20 20 20 20 20 20 20 28 6d 73 67 5f 41 72 63 | (msg_Arc| 00002590 77 65 62 5f 5f 62 61 73 65 20 2b 20 33 33 29 0a |web__base + 33).| 000025a0 0a 20 20 20 20 20 20 20 20 62 75 66 2b 31 36 20 |. buf+16 | 000025b0 20 69 6e 74 20 20 20 20 20 4d 65 73 73 61 67 65 | int Message| 000025c0 5f 41 72 63 77 65 62 45 78 70 69 72 65 20 20 20 |_ArcwebExpire | 000025d0 20 20 20 20 20 20 20 20 20 28 30 78 34 41 32 36 | (0x4A26| 000025e0 31 29 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 |1). buf+2| 000025f0 30 20 20 76 6f 69 64 2a 20 20 20 50 72 69 76 61 |0 void* Priva| 00002600 74 65 20 41 72 63 57 65 62 20 68 61 6e 64 6c 65 |te ArcWeb handle| 00002610 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 34 20 |. buf+24 | 00002620 20 69 6e 74 20 20 20 20 20 66 6c 61 67 73 0a 20 | int flags. | 00002630 20 20 20 20 20 20 20 62 75 66 2b 32 38 20 20 69 | buf+28 i| 00002640 6e 74 20 20 20 20 20 52 49 53 43 20 4f 53 20 66 |nt RISC OS f| 00002650 69 6c 65 20 68 61 6e 64 6c 65 20 28 73 6f 75 72 |ile handle (sour| 00002660 63 65 29 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 |ce)..Message_Arc| 00002670 77 65 62 41 62 6f 72 74 52 65 71 75 65 73 74 20 |webAbortRequest | 00002680 20 20 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 | (msg_Arcweb| 00002690 5f 5f 62 61 73 65 20 2b 20 33 34 29 0a 0a 20 20 |__base + 34).. | 000026a0 20 20 20 20 20 20 62 75 66 2b 31 36 20 20 69 6e | buf+16 in| 000026b0 74 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 |t Message_Ar| 000026c0 63 77 65 62 41 62 6f 72 74 52 65 71 75 65 73 74 |cwebAbortRequest| 000026d0 20 20 20 20 20 20 28 30 78 34 41 32 36 32 29 0a | (0x4A262).| 000026e0 20 20 20 20 20 20 20 20 62 75 66 2b 32 30 20 20 | buf+20 | 000026f0 76 6f 69 64 2a 20 20 20 50 72 69 76 61 74 65 20 |void* Private | 00002700 41 72 63 57 65 62 20 68 61 6e 64 6c 65 0a 20 20 |ArcWeb handle. | 00002710 20 20 20 20 20 20 62 75 66 2b 32 34 20 20 69 6e | buf+24 in| 00002720 74 20 20 20 20 20 72 65 73 65 72 76 65 64 0a 20 |t reserved. | 00002730 20 20 20 20 20 20 20 62 75 66 2b 32 38 20 20 73 | buf+28 s| 00002740 74 72 30 20 20 20 20 72 65 61 73 6f 6e 20 66 6f |tr0 reason fo| 00002750 72 20 61 62 6f 72 74 20 28 63 6f 75 6c 64 20 6c |r abort (could l| 00002760 6f 67 20 74 68 69 73 29 0a 0a 4d 65 73 73 61 67 |og this)..Messag| 00002770 65 5f 41 72 63 77 65 62 54 72 61 6e 73 66 65 72 |e_ArcwebTransfer| 00002780 53 74 61 74 75 73 20 20 20 20 28 6d 73 67 5f 41 |Status (msg_A| 00002790 72 63 77 65 62 5f 5f 62 61 73 65 20 2b 20 33 35 |rcweb__base + 35| 000027a0 29 0a 0a 20 20 20 20 20 20 20 20 62 75 66 2b 31 |).. buf+1| 000027b0 36 20 20 69 6e 74 20 20 20 20 20 4d 65 73 73 61 |6 int Messa| 000027c0 67 65 5f 41 72 63 77 65 62 54 72 61 6e 73 66 65 |ge_ArcwebTransfe| 000027d0 72 53 74 61 74 75 73 20 20 20 20 28 30 78 34 41 |rStatus (0x4A| 000027e0 32 36 33 29 0a 20 20 20 20 20 20 20 20 62 75 66 |263). buf| 000027f0 2b 32 30 20 20 76 6f 69 64 2a 20 20 20 50 72 69 |+20 void* Pri| 00002800 76 61 74 65 20 41 72 63 57 65 62 20 68 61 6e 64 |vate ArcWeb hand| 00002810 6c 65 20 66 72 6f 6d 20 2e 2e 52 65 71 75 65 73 |le from ..Reques| 00002820 74 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 34 |t. buf+24| 00002830 20 20 69 6e 74 20 20 20 20 20 72 65 73 65 72 76 | int reserv| 00002840 65 64 2c 20 6d 75 73 74 20 62 65 20 7a 65 72 6f |ed, must be zero| 00002850 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 38 20 |. buf+28 | 00002860 20 69 6e 74 20 20 20 20 20 73 74 61 74 75 73 20 | int status | 00002870 66 6c 61 67 73 0a 20 20 20 20 20 20 20 20 62 75 |flags. bu| 00002880 66 2b 33 32 20 20 69 6e 74 20 20 20 20 20 74 6f |f+32 int to| 00002890 74 61 6c 20 73 69 7a 65 20 6f 66 20 64 61 74 61 |tal size of data| 000028a0 20 74 6f 20 62 65 20 74 72 61 6e 73 6d 69 74 74 | to be transmitt| 000028b0 65 64 0a 20 20 20 20 20 20 20 20 62 75 66 2b 33 |ed. buf+3| 000028c0 36 20 20 69 6e 74 20 20 20 20 20 73 69 7a 65 20 |6 int size | 000028d0 6f 66 20 64 61 74 61 20 74 72 61 6e 73 6d 69 74 |of data transmit| 000028e0 74 65 64 20 73 6f 20 66 61 72 0a 20 20 20 20 20 |ted so far. | 000028f0 20 20 20 62 75 66 2b 34 30 20 20 69 6e 74 20 20 | buf+40 int | 00002900 20 20 20 74 6f 74 61 6c 20 73 69 7a 65 20 6f 66 | total size of| 00002910 20 64 61 74 61 20 74 6f 20 62 65 20 72 65 63 65 | data to be rece| 00002920 69 76 65 64 20 28 69 66 20 6b 6e 6f 77 6e 29 0a |ived (if known).| 00002930 20 20 20 20 20 20 20 20 62 75 66 2b 34 34 20 20 | buf+44 | 00002940 69 6e 74 20 20 20 20 20 73 69 7a 65 20 6f 66 20 |int size of | 00002950 64 61 74 61 20 72 65 63 65 69 76 65 64 20 73 6f |data received so| 00002960 20 66 61 72 0a 20 20 20 20 20 20 20 20 62 75 66 | far. buf| 00002970 2b 34 38 20 20 73 74 72 30 20 20 20 20 63 75 72 |+48 str0 cur| 00002980 72 65 6e 74 20 73 74 61 74 75 73 20 6f 66 20 63 |rent status of c| 00002990 6f 6d 6d 75 6e 69 63 61 74 69 6f 6e 0a 0a 4d 65 |ommunication..Me| 000029a0 73 73 61 67 65 5f 41 72 63 77 65 62 43 6f 6e 66 |ssage_ArcwebConf| 000029b0 69 67 75 72 65 20 20 20 20 20 20 20 20 20 28 6d |igure (m| 000029c0 73 67 5f 41 72 63 77 65 62 5f 5f 62 61 73 65 20 |sg_Arcweb__base | 000029d0 2b 20 33 36 29 0a 0a 20 20 20 20 20 20 20 20 62 |+ 36).. b| 000029e0 75 66 2b 31 36 20 20 69 6e 74 20 20 20 20 20 4d |uf+16 int M| 000029f0 65 73 73 61 67 65 5f 41 72 63 77 65 62 43 6f 6e |essage_ArcwebCon| 00002a00 66 69 67 75 72 65 20 20 20 20 20 20 20 20 20 28 |figure (| 00002a10 30 78 34 41 32 36 34 29 0a 20 20 20 20 20 20 20 |0x4A264). | 00002a20 20 62 75 66 2b 32 30 20 20 76 6f 69 64 2a 20 20 | buf+20 void* | 00002a30 20 55 6e 75 73 65 64 0a 20 20 20 20 20 20 20 20 | Unused. | 00002a40 62 75 66 2b 32 34 20 20 69 6e 74 20 20 20 20 20 |buf+24 int | 00002a50 55 6e 75 73 65 64 0a 20 20 20 20 20 20 20 20 62 |Unused. b| 00002a60 75 66 2b 32 38 20 20 73 74 72 30 20 20 20 20 41 |uf+28 str0 A| 00002a70 70 70 6c 69 63 61 74 69 6f 6e 20 74 6f 20 62 65 |pplication to be| 00002a80 20 63 6f 6e 66 69 67 75 72 65 64 0a 20 20 20 20 | configured. | 00002a90 20 20 20 20 0a 4d 65 73 73 61 67 65 5f 41 72 63 | .Message_Arc| 00002aa0 77 65 62 45 78 74 65 72 6e 61 6c 4c 61 75 6e 63 |webExternalLaunc| 00002ab0 68 20 20 20 20 28 6d 73 67 5f 41 72 63 77 65 62 |h (msg_Arcweb| 00002ac0 5f 5f 62 61 73 65 20 2b 20 33 37 29 0a 0a 20 20 |__base + 37).. | 00002ad0 20 20 20 20 20 20 62 75 66 2b 31 36 20 20 69 6e | buf+16 in| 00002ae0 74 20 20 20 20 20 4d 65 73 73 61 67 65 5f 41 72 |t Message_Ar| 00002af0 63 77 65 62 45 78 74 65 72 6e 61 6c 4c 61 75 6e |cwebExternalLaun| 00002b00 63 68 20 20 20 20 28 30 78 34 41 32 36 35 29 0a |ch (0x4A265).| 00002b10 20 20 20 20 20 20 20 20 62 75 66 2b 32 30 20 20 | buf+20 | 00002b20 76 6f 69 64 2a 20 20 20 53 65 6e 64 65 72 27 73 |void* Sender's| 00002b30 20 70 72 69 76 61 74 65 20 68 61 6e 64 6c 65 20 | private handle | 00002b40 28 6e 6f 74 20 41 72 63 57 65 62 27 73 29 0a 20 |(not ArcWeb's). | 00002b50 20 20 20 20 20 20 20 62 75 66 2b 32 34 20 20 69 | buf+24 i| 00002b60 6e 74 20 20 20 20 20 46 6c 61 67 73 20 28 73 65 |nt Flags (se| 00002b70 65 20 6e 6f 74 65 73 20 6f 6e 20 74 68 69 73 20 |e notes on this | 00002b80 4d 65 73 73 61 67 65 29 0a 20 20 20 20 20 20 20 |Message). | 00002b90 20 62 75 66 2b 32 38 20 20 69 6e 74 20 20 20 20 | buf+28 int | 00002ba0 20 52 49 53 43 20 4f 53 20 66 69 6c 65 20 68 61 | RISC OS file ha| 00002bb0 6e 64 6c 65 20 28 55 52 4c 29 0a 0a 4d 65 73 73 |ndle (URL)..Mess| 00002bc0 61 67 65 5f 41 72 63 77 65 62 4c 61 75 6e 63 68 |age_ArcwebLaunch| 00002bd0 44 6f 6e 65 20 20 20 20 20 20 20 20 28 6d 73 67 |Done (msg| 00002be0 5f 41 72 63 77 65 62 5f 5f 62 61 73 65 20 2b 20 |_Arcweb__base + | 00002bf0 33 38 29 0a 0a 20 20 20 20 20 20 20 20 62 75 66 |38).. buf| 00002c00 2b 31 32 20 20 69 6e 74 20 20 20 20 20 6d 79 5f |+12 int my_| 00002c10 72 65 66 20 66 72 6f 6d 20 4d 65 73 73 61 67 65 |ref from Message| 00002c20 5f 41 72 63 77 65 62 45 78 74 65 72 6e 61 6c 4c |_ArcwebExternalL| 00002c30 61 75 6e 63 68 0a 20 20 20 20 20 20 20 20 62 75 |aunch. bu| 00002c40 66 2b 31 36 20 20 69 6e 74 20 20 20 20 20 4d 65 |f+16 int Me| 00002c50 73 73 61 67 65 5f 41 72 63 77 65 62 4c 61 75 6e |ssage_ArcwebLaun| 00002c60 63 68 44 6f 6e 65 20 20 20 20 20 20 20 20 28 30 |chDone (0| 00002c70 78 34 41 32 36 35 0a 20 20 20 20 20 20 20 20 62 |x4A265. b| 00002c80 75 66 2b 32 30 20 20 76 6f 69 64 2a 20 20 20 50 |uf+20 void* P| 00002c90 72 65 73 65 72 76 65 64 20 66 72 6f 6d 20 74 68 |reserved from th| 00002ca0 65 20 4c 61 75 6e 63 68 20 6d 65 73 73 61 67 65 |e Launch message| 00002cb0 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 34 20 |. buf+24 | 00002cc0 20 69 6e 74 20 20 20 20 20 46 6c 61 67 73 20 28 | int Flags (| 00002cd0 77 69 6c 6c 20 68 61 76 65 20 62 69 74 20 33 31 |will have bit 31| 00002ce0 20 73 65 74 20 6f 6e 20 61 6e 20 65 72 72 6f 72 | set on an error| 00002cf0 29 0a 20 20 20 20 20 20 20 20 62 75 66 2b 32 38 |). buf+28| 00002d00 20 20 73 74 72 30 20 20 20 20 45 72 72 6f 72 20 | str0 Error | 00002d10 6d 65 73 73 61 67 65 0a 0a 0a 4f 77 6e 65 72 73 |message...Owners| 00002d20 68 69 70 20 6f 66 20 46 69 6c 65 20 48 61 6e 64 |hip of File Hand| 00002d30 6c 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |les.============| 00002d40 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 53 |=============..S| 00002d50 6f 6d 65 20 70 65 6f 70 6c 65 20 68 61 76 65 20 |ome people have | 00002d60 65 78 70 72 65 73 73 65 64 20 63 6f 6e 63 65 72 |expressed concer| 00002d70 6e 20 61 74 20 74 68 65 20 61 70 70 61 72 65 6e |n at the apparen| 00002d80 74 20 63 61 70 61 62 69 6c 69 74 79 20 74 6f 20 |t capability to | 00002d90 6c 6f 73 65 20 74 72 61 63 6b 0a 6f 66 20 77 68 |lose track.of wh| 00002da0 69 63 68 20 74 61 73 6b 20 27 6f 77 6e 73 27 20 |ich task 'owns' | 00002db0 74 68 65 20 52 49 53 43 20 4f 53 20 66 69 6c 65 |the RISC OS file| 00002dc0 20 68 61 6e 64 6c 65 73 20 70 61 73 73 65 64 20 | handles passed | 00002dd0 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 73 2e |in the messages.| 00002de0 20 20 54 68 65 72 65 0a 69 73 20 6e 65 76 65 72 | There.is never| 00002df0 20 61 6e 79 20 61 6d 62 69 67 75 69 74 79 2c 20 | any ambiguity, | 00002e00 61 6e 64 20 74 68 69 73 20 73 65 63 74 69 6f 6e |and this section| 00002e10 20 77 69 6c 6c 20 63 6c 61 72 69 66 79 20 74 68 | will clarify th| 00002e20 69 73 2e 0a 0a 54 68 65 20 74 61 73 6b 20 77 68 |is...The task wh| 00002e30 69 63 68 20 73 65 6e 64 73 20 74 68 65 20 46 65 |ich sends the Fe| 00002e40 74 63 68 52 65 71 75 65 73 74 2f 52 65 6e 64 65 |tchRequest/Rende| 00002e50 72 52 65 71 75 65 73 74 2f 50 6f 73 74 52 65 71 |rRequest/PostReq| 00002e60 75 65 73 74 20 6d 65 73 73 61 67 65 20 77 69 6c |uest message wil| 00002e70 6c 0a 68 61 76 65 20 63 61 6c 6c 65 64 20 4f 53 |l.have called OS| 00002e80 5f 46 69 6e 64 20 74 6f 20 6f 70 65 6e 20 74 68 |_Find to open th| 00002e90 65 20 66 69 6c 65 2c 20 61 6e 64 20 74 68 69 73 |e file, and this| 00002ea0 20 74 61 73 6b 20 28 6e 6f 72 6d 61 6c 6c 79 20 | task (normally | 00002eb0 41 72 63 57 65 62 20 69 74 73 65 6c 66 29 0a 6f |ArcWeb itself).o| 00002ec0 77 6e 73 20 74 68 65 20 72 65 74 75 72 6e 65 64 |wns the returned| 00002ed0 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 55 4e 54 | file handle UNT| 00002ee0 49 4c 20 69 74 20 63 61 6c 6c 73 20 57 69 6d 70 |IL it calls Wimp| 00002ef0 5f 50 6f 6c 6c 2e 20 20 41 74 20 74 68 69 73 20 |_Poll. At this | 00002f00 70 6f 69 6e 74 2c 20 74 68 65 0a 57 69 6d 70 20 |point, the.Wimp | 00002f10 77 69 6c 6c 20 73 74 61 72 74 20 64 65 6c 69 76 |will start deliv| 00002f20 65 72 69 6e 67 20 74 68 65 20 52 65 71 75 65 73 |ering the Reques| 00002f30 74 20 6d 65 73 73 61 67 65 20 74 6f 20 65 61 63 |t message to eac| 00002f40 68 20 74 61 73 6b 20 69 6e 20 74 75 72 6e 2e 20 |h task in turn. | 00002f50 20 57 68 69 6c 65 0a 74 68 65 20 57 69 6d 70 20 | While.the Wimp | 00002f60 69 73 20 64 6f 69 6e 67 20 74 68 69 73 20 74 68 |is doing this th| 00002f70 65 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 69 73 |e file handle is| 00002f80 20 69 6e 20 6c 69 6d 62 6f 20 28 69 6e 20 65 66 | in limbo (in ef| 00002f90 66 65 63 74 2c 20 69 74 20 69 73 0a 27 6c 6f 73 |fect, it is.'los| 00002fa0 74 27 29 2e 0a 0a 54 68 65 72 65 20 61 72 65 20 |t')...There are | 00002fb0 74 77 6f 20 70 6f 73 73 69 62 6c 65 20 63 6f 6e |two possible con| 00002fc0 74 69 6e 75 61 74 69 6f 6e 73 3a 0a 0a 69 29 20 |tinuations:..i) | 00002fd0 41 73 20 73 6f 6f 6e 20 61 73 20 61 20 74 61 73 |As soon as a tas| 00002fe0 6b 20 72 65 63 65 69 76 65 73 20 74 68 65 20 52 |k receives the R| 00002ff0 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 20 61 |equest message a| 00003000 6e 64 20 64 65 63 69 64 65 73 20 74 68 61 74 20 |nd decides that | 00003010 69 74 20 77 69 73 68 65 73 0a 74 6f 20 72 65 70 |it wishes.to rep| 00003020 6c 79 20 74 6f 20 74 68 65 20 52 65 71 75 65 73 |ly to the Reques| 00003030 74 20 6d 65 73 73 61 67 65 2c 20 69 74 20 77 69 |t message, it wi| 00003040 6c 6c 20 65 69 74 68 65 72 20 73 65 6e 64 20 74 |ll either send t| 00003050 68 65 20 63 6f 72 72 65 73 70 6f 6e 64 69 6e 67 |he corresponding| 00003060 20 44 6f 6e 65 0a 6d 65 73 73 61 67 65 2c 20 4f | Done.message, O| 00003070 52 20 6a 75 73 74 20 61 63 6b 20 69 74 20 77 69 |R just ack it wi| 00003080 74 68 20 74 68 65 20 69 6e 74 65 6e 74 69 6f 6e |th the intention| 00003090 20 6f 6e 20 72 65 70 6c 79 69 6e 67 20 70 72 6f | on replying pro| 000030a0 70 65 72 6c 79 20 6c 61 74 65 72 2e 20 20 49 74 |perly later. It| 000030b0 0a 69 73 20 75 70 6f 6e 20 74 68 65 20 73 65 6e |.is upon the sen| 000030c0 64 69 6e 67 20 6f 66 20 74 68 69 73 20 44 6f 6e |ding of this Don| 000030d0 65 20 6d 65 73 73 61 67 65 2c 20 6f 72 20 41 63 |e message, or Ac| 000030e0 6b 2c 20 28 74 68 65 20 63 61 6c 6c 20 74 6f 0a |k, (the call to.| 000030f0 57 69 6d 70 5f 53 65 6e 64 4d 65 73 73 61 67 65 |Wimp_SendMessage| 00003100 29 20 74 68 61 74 20 74 68 65 20 74 61 73 6b 20 |) that the task | 00003110 62 65 63 6f 6d 65 73 20 74 68 65 20 6f 77 6e 65 |becomes the owne| 00003120 72 20 6f 66 20 74 68 65 20 66 69 6c 65 20 68 61 |r of the file ha| 00003130 6e 64 6c 65 2c 20 61 6e 64 0a 68 65 6e 63 65 20 |ndle, and.hence | 00003140 72 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 |responsible for | 00003150 63 6c 6f 73 69 6e 67 20 74 68 65 20 66 69 6c 65 |closing the file| 00003160 20 68 61 6e 64 6c 65 20 77 68 65 6e 20 69 74 20 | handle when it | 00003170 69 73 20 66 69 6e 69 73 68 65 64 20 77 69 74 68 |is finished with| 00003180 2e 0a 0a 69 69 29 20 54 68 65 20 6f 74 68 65 72 |...ii) The other| 00003190 20 73 63 65 6e 61 72 69 6f 20 69 73 20 77 68 65 | scenario is whe| 000031a0 6e 20 2a 6e 6f 2a 20 74 61 73 6b 20 77 61 6e 74 |n *no* task want| 000031b0 73 20 74 6f 20 72 65 70 6c 79 20 74 6f 20 74 68 |s to reply to th| 000031c0 65 20 52 65 71 75 65 73 74 0a 6d 65 73 73 61 67 |e Request.messag| 000031d0 65 2e 20 49 6e 20 74 68 69 73 20 63 61 73 65 2c |e. In this case,| 000031e0 20 74 68 65 20 57 69 6d 70 20 77 69 6c 6c 20 64 | the Wimp will d| 000031f0 65 6c 69 76 65 72 20 61 6e 20 65 76 65 6e 74 20 |eliver an event | 00003200 63 6f 64 65 20 31 39 20 63 6f 70 79 20 6f 66 20 |code 19 copy of | 00003210 74 68 65 0a 6d 65 73 73 61 67 65 20 74 6f 20 74 |the.message to t| 00003220 68 65 20 6f 72 69 67 69 6e 61 74 6f 72 2e 20 20 |he originator. | 00003230 54 68 65 20 6f 72 69 67 69 6e 61 74 6f 72 20 6e |The originator n| 00003240 6f 77 20 72 65 67 61 69 6e 73 20 6f 77 6e 65 72 |ow regains owner| 00003250 73 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 |ship of the file| 00003260 0a 68 61 6e 64 6c 65 20 61 6e 64 20 69 73 20 72 |.handle and is r| 00003270 65 73 70 6f 6e 73 69 62 6c 65 20 66 6f 72 20 69 |esponsible for i| 00003280 74 20 28 41 72 63 57 65 62 20 63 6c 6f 73 65 73 |t (ArcWeb closes| 00003290 20 74 68 65 20 66 69 6c 65 28 73 29 20 61 6e 64 | the file(s) and| 000032a0 20 67 65 6e 65 72 61 74 65 73 0a 61 6e 20 65 72 | generates.an er| 000032b0 72 6f 72 20 69 66 20 74 68 69 73 20 69 73 20 73 |ror if this is s| 000032c0 65 6e 73 69 62 6c 65 29 2e 0a 0a 49 6e 20 67 65 |ensible)...In ge| 000032d0 6e 65 72 61 6c 2c 20 66 6f 72 20 61 6e 79 20 74 |neral, for any t| 000032e0 61 73 6b 2c 20 69 66 20 69 74 20 72 65 63 65 69 |ask, if it recei| 000032f0 76 65 73 20 61 20 52 65 71 75 65 73 74 20 6d 65 |ves a Request me| 00003300 73 73 61 67 65 2c 20 69 74 20 69 73 20 67 75 61 |ssage, it is gua| 00003310 72 61 6e 74 65 65 64 0a 74 6f 20 68 61 76 65 20 |ranteed.to have | 00003320 65 78 63 6c 75 73 69 76 65 20 75 73 65 20 6f 66 |exclusive use of| 00003330 20 74 68 65 20 66 69 6c 65 20 68 61 6e 64 6c 65 | the file handle| 00003340 20 75 6e 74 69 6c 20 69 74 20 6e 65 78 74 20 63 | until it next c| 00003350 61 6c 6c 73 20 57 69 6d 70 5f 50 6f 6c 6c 2e 0a |alls Wimp_Poll..| 00003360 0a 54 68 69 73 20 73 79 73 74 65 6d 20 65 6e 73 |.This system ens| 00003370 75 72 65 73 20 74 68 61 74 20 6f 77 6e 65 72 73 |ures that owners| 00003380 68 69 70 20 6f 66 20 74 68 65 20 66 69 6c 65 20 |hip of the file | 00003390 69 73 20 67 75 61 72 61 6e 74 65 65 64 20 74 6f |is guaranteed to| 000033a0 20 62 65 20 61 6c 6c 6f 63 61 74 65 64 0a 74 6f | be allocated.to| 000033b0 20 6f 6e 65 20 70 61 72 74 69 63 75 6c 61 72 20 | one particular | 000033c0 74 61 73 6b 20 69 6e 20 74 68 65 20 73 79 73 74 |task in the syst| 000033d0 65 6d 20 61 74 20 61 6e 79 20 74 69 6d 65 2c 20 |em at any time, | 000033e0 61 6e 64 20 74 68 61 74 20 61 20 74 61 73 6b 20 |and that a task | 000033f0 68 61 73 20 74 6f 0a 27 63 6c 61 69 6d 27 20 6f |has to.'claim' o| 00003400 77 6e 65 72 73 68 69 70 20 65 78 70 6c 69 63 69 |wnership explici| 00003410 74 6c 79 2c 20 61 73 20 73 68 6f 77 6e 20 69 6e |tly, as shown in| 00003420 20 28 69 29 20 61 62 6f 76 65 2e 0a 0a 0a 0a 46 | (i) above.....F| 00003430 6c 61 67 73 0a 3d 3d 3d 3d 3d 0a 0a 54 68 65 20 |lags.=====..The | 00003440 46 6c 61 67 73 20 77 6f 72 64 20 63 6f 6e 74 61 |Flags word conta| 00003450 69 6e 73 20 73 65 76 65 72 61 6c 20 75 73 65 66 |ins several usef| 00003460 75 6c 20 62 69 74 73 20 6f 66 20 69 6e 66 6f 72 |ul bits of infor| 00003470 6d 61 74 69 6f 6e 3a 0a 0a 20 20 20 4f 6e 20 2e |mation:.. On .| 00003480 2e 52 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 |.Request message| 00003490 73 3a 0a 20 20 20 0a 09 62 69 74 20 20 30 09 09 |s:. ..bit 0..| 000034a0 52 65 73 65 72 76 65 64 20 2d 20 6d 75 73 74 20 |Reserved - must | 000034b0 62 65 20 7a 65 72 6f 20 28 77 61 73 20 72 65 6c |be zero (was rel| 000034c0 6f 61 64 20 62 69 74 20 69 6e 20 6f 6c 64 20 76 |oad bit in old v| 000034d0 65 72 73 69 6f 6e 73 29 0a 20 20 20 20 20 20 20 |ersions). | 000034e0 20 62 69 74 20 20 31 20 20 20 20 20 20 20 20 20 | bit 1 | 000034f0 20 49 66 20 73 65 74 2c 20 74 68 65 20 70 72 65 | If set, the pre| 00003500 76 69 6f 75 73 20 70 61 67 65 20 77 61 73 20 61 |vious page was a| 00003510 20 6c 6f 63 61 6c 3a 20 55 52 4c 0a 20 20 20 20 | local: URL. | 00003520 20 20 20 20 62 69 74 20 20 32 20 20 20 20 20 20 | bit 2 | 00003530 20 20 20 20 49 66 20 73 65 74 2c 20 66 61 73 74 | If set, fast| 00003540 20 69 6d 61 67 65 73 20 61 72 65 20 62 65 69 6e | images are bein| 00003550 67 20 75 73 65 64 20 2d 20 6e 6f 74 20 69 6d 70 |g used - not imp| 00003560 6c 65 6d 65 6e 74 65 64 0a 20 20 20 20 20 20 20 |lemented. | 00003570 20 62 69 74 20 20 33 20 20 20 20 20 20 20 20 20 | bit 3 | 00003580 20 49 66 20 73 65 74 2c 20 74 68 65 20 50 4f 53 | If set, the POS| 00003590 54 20 72 65 71 75 65 73 74 20 73 68 6f 75 6c 64 |T request should| 000035a0 20 62 65 20 73 65 6e 74 20 61 73 20 61 20 50 55 | be sent as a PU| 000035b0 54 0a 20 20 20 20 20 20 20 20 62 69 74 20 20 34 |T. bit 4| 000035c0 20 20 20 20 20 20 20 20 20 20 49 66 20 73 65 74 | If set| 000035d0 2c 20 74 68 65 20 75 73 65 72 20 68 61 73 20 64 |, the user has d| 000035e0 69 73 61 62 6c 65 64 20 69 6d 61 67 65 20 66 65 |isabled image fe| 000035f0 74 63 68 69 6e 67 0a 09 62 69 74 20 20 35 09 09 |tching..bit 5..| 00003600 49 66 20 73 65 74 2c 20 62 72 6f 77 73 65 72 20 |If set, browser | 00003610 61 6c 6c 6f 77 20 49 6e 50 72 6f 67 72 65 73 73 |allow InProgress| 00003620 20 72 65 73 70 6f 6e 73 65 20 66 6f 72 20 54 48 | response for TH| 00003630 49 53 20 66 65 74 63 68 0a 09 62 69 74 20 20 36 |IS fetch..bit 6| 00003640 09 09 52 65 73 65 72 76 65 64 20 2d 20 6d 75 73 |..Reserved - mus| 00003650 74 20 62 65 20 7a 65 72 6f 0a 09 62 69 74 20 20 |t be zero..bit | 00003660 37 09 09 49 6e 74 65 72 6e 61 6c 20 75 73 65 20 |7..Internal use | 00003670 6f 6e 6c 79 20 2d 20 6d 75 73 74 20 62 65 20 7a |only - must be z| 00003680 65 72 6f 20 66 6f 72 20 6e 6f 6e 2d 41 72 63 57 |ero for non-ArcW| 00003690 65 62 20 74 61 73 6b 73 0a 09 62 69 74 20 20 38 |eb tasks..bit 8| 000036a0 09 09 49 66 20 73 65 74 2c 20 75 73 65 72 20 68 |..If set, user h| 000036b0 61 73 20 66 6f 72 63 65 64 20 69 6d 61 67 65 20 |as forced image | 000036c0 66 65 74 63 68 69 6e 67 20 66 6f 72 20 74 68 69 |fetching for thi| 000036d0 73 20 66 65 74 63 68 0a 09 62 69 74 20 20 39 09 |s fetch..bit 9.| 000036e0 09 49 66 20 73 65 74 2c 20 75 73 65 72 20 72 65 |.If set, user re| 000036f0 71 75 65 73 74 65 64 20 61 20 50 55 54 20 6f 70 |quested a PUT op| 00003700 65 72 61 74 69 6f 6e 0a 09 62 69 74 20 20 31 30 |eration..bit 10| 00003710 09 09 49 66 20 73 65 74 2c 20 75 73 65 72 20 72 |..If set, user r| 00003720 65 71 75 65 73 74 65 64 20 74 68 65 20 55 52 49 |equested the URI| 00003730 20 62 65 20 63 72 65 61 74 65 64 20 61 73 20 61 | be created as a| 00003740 20 64 69 72 65 63 74 6f 72 79 0a 09 62 69 74 20 | directory..bit | 00003750 20 31 31 09 09 49 66 20 73 65 74 2c 20 75 73 65 | 11..If set, use| 00003760 72 20 72 65 71 75 65 73 74 65 64 20 74 68 65 20 |r requested the | 00003770 64 69 72 65 63 74 6f 72 79 20 55 52 49 20 62 65 |directory URI be| 00003780 20 64 65 6c 65 74 65 64 0a 09 62 69 74 20 20 31 | deleted..bit 1| 00003790 32 09 09 49 66 20 73 65 74 2c 20 75 73 65 72 20 |2..If set, user | 000037a0 72 65 71 75 65 73 74 65 64 20 64 65 6c 65 74 69 |requested deleti| 000037b0 6f 6e 20 6f 66 20 55 52 49 0a 09 62 69 74 20 20 |on of URI..bit | 000037c0 31 33 09 09 49 66 20 73 65 74 2c 20 75 73 65 72 |13..If set, user| 000037d0 20 72 65 71 75 65 73 74 65 64 20 72 65 6e 61 6d | requested renam| 000037e0 65 20 6f 66 20 55 52 49 0a 09 62 69 74 20 20 32 |e of URI..bit 2| 000037f0 31 09 09 49 66 20 73 65 74 2c 20 74 68 65 20 65 |1..If set, the e| 00003800 6d 61 69 6c 20 6d 65 73 73 61 67 65 20 69 73 20 |mail message is | 00003810 61 6c 72 65 61 64 79 20 63 6f 6d 70 6c 65 74 65 |already complete| 00003820 0a 20 20 20 0a 20 20 20 4f 6e 20 2e 2e 44 6f 6e |. . On ..Don| 00003830 65 20 6d 65 73 73 61 67 65 73 0a 20 20 20 0a 20 |e messages. . | 00003840 20 20 20 20 20 20 20 62 69 74 73 20 30 2d 31 35 | bits 0-15| 00003850 20 20 20 20 20 20 20 52 49 53 43 20 4f 53 20 66 | RISC OS f| 00003860 69 6c 65 20 74 79 70 65 2f 41 72 63 57 65 62 20 |ile type/ArcWeb | 00003870 66 69 6c 65 20 74 79 70 65 20 28 73 65 65 20 62 |file type (see b| 00003880 69 74 73 20 31 36 2c 33 30 29 0a 20 20 20 20 20 |its 16,30). | 00003890 20 20 20 62 69 74 20 20 31 36 20 20 20 20 20 20 | bit 16 | 000038a0 20 20 20 49 66 20 73 65 74 2c 20 62 69 74 73 20 | If set, bits | 000038b0 30 2d 31 35 20 61 72 65 20 41 72 63 57 65 62 20 |0-15 are ArcWeb | 000038c0 66 69 6c 65 20 74 79 70 65 2c 20 65 6c 73 65 20 |file type, else | 000038d0 52 49 53 43 20 4f 53 0a 20 20 20 20 20 20 20 20 |RISC OS. | 000038e0 62 69 74 20 20 32 31 09 09 49 66 20 73 65 74 20 |bit 21..If set | 000038f0 28 2b 62 69 74 20 32 37 20 73 65 74 29 2c 20 6e |(+bit 27 set), n| 00003900 65 77 20 55 52 4c 20 69 73 20 70 65 72 6d 61 6e |ew URL is perman| 00003910 65 6e 74 20 28 33 30 31 20 4d 6f 76 65 64 29 0a |ent (301 Moved).| 00003920 0a 20 20 20 49 6e 20 62 6f 74 68 20 74 79 70 65 |. In both type| 00003930 73 20 6f 66 20 6d 65 73 73 61 67 65 3a 0a 0a 20 |s of message:.. | 00003940 20 20 20 20 20 20 20 62 69 74 73 20 31 37 20 61 | bits 17 a| 00003950 6e 64 20 31 38 20 20 52 65 73 65 72 76 65 64 20 |nd 18 Reserved | 00003960 28 6d 75 73 74 20 70 72 65 73 65 72 76 65 20 69 |(must preserve i| 00003970 6e 20 72 65 70 6c 69 65 73 29 0a 20 20 20 20 20 |n replies). | 00003980 20 20 20 62 69 74 20 20 31 39 20 20 20 20 20 20 | bit 19 | 00003990 20 20 20 49 66 20 73 65 74 2c 20 75 73 65 72 20 | If set, user | 000039a0 72 65 71 75 65 73 74 65 64 20 61 20 27 73 61 76 |requested a 'sav| 000039b0 65 20 74 6f 20 64 69 73 63 27 0a 20 20 20 09 62 |e to disc'. .b| 000039c0 69 74 20 20 32 30 09 09 49 66 20 73 65 74 2c 20 |it 20..If set, | 000039d0 75 73 65 72 20 72 65 71 75 65 73 74 65 64 20 61 |user requested a| 000039e0 20 72 65 6c 6f 61 64 20 6f 6e 20 74 68 69 73 20 | reload on this | 000039f0 64 6f 63 75 6d 65 6e 74 0a 20 20 20 20 20 20 20 |document. | 00003a00 20 62 69 74 20 20 32 31 20 20 20 20 20 20 20 20 | bit 21 | 00003a10 20 49 66 20 73 65 74 2c 20 74 68 65 20 65 6d 61 | If set, the ema| 00003a20 69 6c 20 6d 65 73 73 61 67 65 20 69 73 20 61 6c |il message is al| 00003a30 72 65 61 64 79 20 63 6f 6d 70 6c 65 74 65 0a 20 |ready complete. | 00003a40 20 20 20 20 20 20 20 62 69 74 20 20 32 32 20 20 | bit 22 | 00003a50 20 20 20 20 20 20 20 49 66 20 73 65 74 2c 20 61 | If set, a| 00003a60 6e 20 65 78 74 65 6e 64 65 64 20 55 52 4c 20 69 |n extended URL i| 00003a70 73 20 69 6e 20 75 73 65 0a 20 20 20 20 20 20 20 |s in use. | 00003a80 20 62 69 74 20 20 32 33 20 20 20 20 20 20 20 20 | bit 23 | 00003a90 20 49 66 20 73 65 74 2c 20 41 72 63 57 65 62 20 | If set, ArcWeb | 00003aa0 77 69 6c 6c 20 6e 6f 74 20 64 69 73 70 6c 61 79 |will not display| 00003ab0 20 74 68 65 20 72 65 73 75 6c 74 73 20 6f 66 20 | the results of | 00003ac0 74 68 65 20 72 65 6e 64 65 72 0a 20 20 20 20 20 |the render. | 00003ad0 20 20 20 62 69 74 20 20 32 34 20 20 20 20 20 20 | bit 24 | 00003ae0 20 20 20 49 66 20 73 65 74 20 28 2b 62 69 74 20 | If set (+bit | 00003af0 33 31 20 73 65 74 29 2c 20 41 72 63 57 65 62 20 |31 set), ArcWeb | 00003b00 77 69 6c 6c 20 6e 6f 74 20 72 61 69 73 65 20 61 |will not raise a| 00003b10 6e 20 65 72 72 6f 72 0a 20 20 20 20 20 20 20 20 |n error. | 00003b20 62 69 74 20 20 32 35 20 20 20 20 20 20 20 20 20 |bit 25 | 00003b30 49 66 20 73 65 74 2c 20 74 68 69 73 20 72 65 71 |If set, this req| 00003b40 75 65 73 74 20 69 73 20 66 6f 72 20 61 6e 20 69 |uest is for an i| 00003b50 6e 6c 69 6e 65 64 20 72 65 73 6f 75 72 63 65 0a |nlined resource.| 00003b60 20 20 20 20 20 20 20 20 62 69 74 20 20 32 36 20 | bit 26 | 00003b70 20 20 20 20 20 20 20 20 49 66 20 73 65 74 2c 20 | If set, | 00003b80 41 72 63 57 65 62 20 77 69 6c 6c 20 63 6c 6f 73 |ArcWeb will clos| 00003b90 65 20 74 68 65 20 77 69 6e 64 6f 77 20 77 68 69 |e the window whi| 00003ba0 63 68 20 69 73 73 75 65 64 20 72 65 71 75 65 73 |ch issued reques| 00003bb0 74 0a 20 20 20 20 20 20 20 20 62 69 74 20 20 32 |t. bit 2| 00003bc0 37 20 20 20 20 20 20 20 20 20 49 66 20 73 65 74 |7 If set| 00003bd0 2c 20 65 78 74 65 6e 64 65 64 20 55 52 4c 20 68 |, extended URL h| 00003be0 61 73 20 63 68 61 6e 67 65 64 0a 20 20 20 20 20 |as changed. | 00003bf0 20 20 20 62 69 74 20 20 32 38 20 20 20 20 20 20 | bit 28 | 00003c00 20 20 20 49 66 20 73 65 74 2c 20 73 79 6d 62 6f | If set, symbo| 00003c10 6c 69 63 20 6c 69 6e 6b 20 72 65 71 75 65 73 74 |lic link request| 00003c20 2f 63 6f 6e 66 69 72 6d 0a 20 20 20 20 20 20 20 |/confirm. | 00003c30 20 62 69 74 20 20 32 39 20 20 20 20 20 20 20 20 | bit 29 | 00003c40 20 49 66 20 73 65 74 2c 20 41 72 63 57 65 62 20 | If set, ArcWeb | 00003c50 77 69 6c 6c 20 6e 6f 74 20 61 74 74 65 6d 70 74 |will not attempt| 00003c60 20 74 6f 20 72 65 6e 64 65 72 20 74 68 65 20 66 | to render the f| 00003c70 69 6c 65 0a 20 20 20 20 20 20 20 20 62 69 74 20 |ile. bit | 00003c80 20 33 30 20 20 20 20 20 20 20 20 20 49 66 20 73 | 30 If s| 00003c90 65 74 2c 20 62 69 74 73 20 30 2d 31 36 20 61 72 |et, bits 0-16 ar| 00003ca0 65 20 76 61 6c 69 64 2c 20 65 6c 73 65 20 74 68 |e valid, else th| 00003cb0 65 79 20 61 72 65 20 69 6e 76 61 6c 69 64 0a 20 |ey are invalid. | 00003cc0 20 20 20 20 20 20 20 62 69 74 20 20 33 31 20 20 | bit 31 | 00003cd0 20 20 20 20 20 20 20 49 66 20 73 65 74 2c 20 62 | If set, b| 00003ce0 75 66 66 65 72 20 63 6f 6e 74 61 69 6e 73 20 61 |uffer contains a| 00003cf0 6e 20 65 72 72 6f 72 20 6d 65 73 73 61 67 65 0a |n error message.| 00003d00 0a 54 68 65 20 65 72 72 6f 72 20 62 69 74 20 28 |.The error bit (| 00003d10 33 31 29 20 64 65 74 65 72 6d 69 6e 65 73 20 77 |31) determines w| 00003d20 68 69 63 68 20 6f 66 20 74 68 65 20 6f 70 74 69 |hich of the opti| 00003d30 6f 6e 73 20 69 6e 20 74 77 6f 20 6f 66 20 74 68 |ons in two of th| 00003d40 65 20 6d 65 73 73 61 67 65 73 0a 61 62 6f 76 65 |e messages.above| 00003d50 2c 20 69 73 20 69 6e 20 66 6f 72 63 65 2e 20 20 |, is in force. | 00003d60 49 66 20 74 68 65 20 65 72 72 6f 72 20 62 69 74 |If the error bit| 00003d70 20 69 73 20 73 65 74 2c 20 41 72 63 57 65 62 20 | is set, ArcWeb | 00003d80 77 69 6c 6c 20 72 61 69 73 65 20 61 6e 20 65 72 |will raise an er| 00003d90 72 6f 72 20 74 6f 0a 74 68 65 20 75 73 65 72 20 |ror to.the user | 00003da0 55 4e 4c 45 53 53 20 62 69 74 20 32 34 20 69 73 |UNLESS bit 24 is| 00003db0 20 61 6c 73 6f 20 73 65 74 20 28 69 6e 64 69 63 | also set (indic| 00003dc0 61 74 69 6e 67 20 74 68 61 74 20 74 68 65 20 6f |ating that the o| 00003dd0 74 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e |ther application| 00003de0 0a 68 61 73 20 61 6c 72 65 61 64 79 20 68 61 6e |.has already han| 00003df0 64 6c 65 64 20 74 68 69 73 20 2d 20 74 68 69 73 |dled this - this| 00003e00 20 69 73 20 74 68 65 20 70 72 65 66 65 72 72 65 | is the preferre| 00003e10 64 20 77 61 79 20 6f 66 20 64 6f 69 6e 67 20 69 |d way of doing i| 00003e20 74 29 2e 0a 0a 57 68 65 6e 20 61 20 72 65 71 75 |t)...When a requ| 00003e30 65 73 74 20 74 6f 20 66 65 74 63 68 20 61 20 6e |est to fetch a n| 00003e40 65 77 20 70 61 67 65 20 69 73 20 69 73 73 75 65 |ew page is issue| 00003e50 64 2c 20 41 72 63 57 65 62 20 72 65 6d 65 6d 62 |d, ArcWeb rememb| 00003e60 65 72 73 20 77 68 69 63 68 20 77 69 6e 64 6f 77 |ers which window| 00003e70 0a 28 69 66 20 61 6e 79 29 20 6c 61 75 6e 63 68 |.(if any) launch| 00003e80 65 64 20 74 68 65 20 72 65 71 75 65 73 74 2e 20 |ed the request. | 00003e90 20 4f 6e 63 65 20 61 20 73 75 63 63 65 73 73 66 | Once a successf| 00003ea0 75 6c 20 52 65 6e 64 65 72 44 6f 6e 65 20 68 61 |ul RenderDone ha| 00003eb0 73 20 62 65 65 6e 0a 64 65 6c 69 76 65 72 65 64 |s been.delivered| 00003ec0 20 74 6f 20 74 68 65 20 77 69 6e 64 6f 77 2c 20 | to the window, | 00003ed0 69 74 20 77 69 6c 6c 20 73 65 6c 66 2d 64 65 73 |it will self-des| 00003ee0 74 72 75 63 74 20 69 66 20 62 69 74 20 32 36 20 |truct if bit 26 | 00003ef0 69 73 20 73 65 74 2e 20 20 41 72 63 57 65 62 0a |is set. ArcWeb.| 00003f00 77 69 6c 6c 20 73 65 74 20 74 68 69 73 20 62 69 |will set this bi| 00003f10 74 20 69 74 73 65 6c 66 20 61 63 63 6f 72 64 69 |t itself accordi| 00003f20 6e 67 20 74 6f 20 74 68 65 20 75 73 65 72 27 73 |ng to the user's| 00003f30 20 63 68 6f 69 63 65 2c 20 61 6e 64 20 73 6f 20 | choice, and so | 00003f40 74 68 69 73 20 62 69 74 0a 73 68 6f 75 6c 64 20 |this bit.should | 00003f50 61 6c 77 61 79 73 20 62 65 20 70 72 65 73 65 72 |always be preser| 00003f60 76 65 64 2c 20 75 6e 6c 65 73 73 20 79 6f 75 20 |ved, unless you | 00003f70 61 62 73 6f 6c 75 74 65 6c 79 20 77 61 6e 74 20 |absolutely want | 00003f80 74 6f 20 73 65 74 20 69 74 20 28 73 65 65 20 62 |to set it (see b| 00003f90 69 74 20 32 33 0a 62 65 6c 6f 77 29 2e 20 20 54 |it 23.below). T| 00003fa0 68 61 74 20 77 69 6e 64 6f 77 20 69 73 20 6e 6f |hat window is no| 00003fb0 74 20 61 6c 6c 6f 77 65 64 20 74 6f 20 6c 61 75 |t allowed to lau| 00003fc0 6e 63 68 20 66 75 72 74 68 65 72 20 72 65 71 75 |nch further requ| 00003fd0 65 73 74 73 20 75 6e 74 69 6c 20 74 68 65 0a 77 |ests until the.w| 00003fe0 68 6f 6c 65 20 74 72 61 6e 73 61 63 74 69 6f 6e |hole transaction| 00003ff0 20 69 73 20 63 6f 6d 70 6c 65 74 65 64 2e 20 20 | is completed. | 00004000 54 68 69 73 20 62 6c 6f 63 6b 65 64 20 73 74 61 |This blocked sta| 00004010 74 65 20 69 73 20 69 6e 64 69 63 61 74 65 64 20 |te is indicated | 00004020 74 6f 20 74 68 65 20 75 73 65 72 0a 62 79 20 74 |to the user.by t| 00004030 68 65 20 77 65 62 20 61 6e 69 6d 61 74 69 6f 6e |he web animation| 00004040 20 69 6e 20 74 68 65 20 69 6e 66 6f 72 6d 61 74 | in the informat| 00004050 69 6f 6e 20 77 69 6e 64 6f 77 20 66 6f 72 20 61 |ion window for a| 00004060 20 62 75 73 79 20 70 61 67 65 2e 0a 0a 49 66 20 | busy page...If | 00004070 79 6f 75 20 66 69 6e 64 20 74 68 61 74 20 62 69 |you find that bi| 00004080 74 20 32 32 20 69 73 20 73 65 74 20 75 70 6f 6e |t 22 is set upon| 00004090 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 52 65 | receipt of a Re| 000040a0 71 75 65 73 74 20 69 6e 76 6f 6c 76 69 6e 67 20 |quest involving | 000040b0 61 20 55 52 4c 2c 0a 74 68 65 6e 20 74 68 65 20 |a URL,.then the | 000040c0 62 75 66 66 65 72 20 77 69 6c 6c 20 6e 6f 74 20 |buffer will not | 000040d0 63 6f 6e 74 61 69 6e 20 61 20 55 52 4c 2c 20 62 |contain a URL, b| 000040e0 75 74 20 61 20 66 69 6c 65 20 68 61 6e 64 6c 65 |ut a file handle| 000040f0 20 6f 66 20 61 20 66 69 6c 65 20 74 68 61 74 0a | of a file that.| 00004100 64 6f 65 73 2e 20 20 54 68 65 20 66 69 6c 65 20 |does. The file | 00004110 77 69 6c 6c 20 68 61 76 65 20 62 65 65 6e 20 6f |will have been o| 00004120 70 65 6e 65 64 20 69 6e 20 52 2f 57 20 6d 6f 64 |pened in R/W mod| 00004130 65 20 77 69 74 68 20 4f 53 5f 46 69 6e 64 2e 20 |e with OS_Find. | 00004140 20 59 6f 75 20 73 68 6f 75 6c 64 0a 72 65 61 64 | You should.read| 00004150 20 74 68 65 20 77 68 6f 6c 65 20 6f 66 20 74 68 | the whole of th| 00004160 65 20 66 69 6c 65 20 74 6f 20 6f 62 74 61 69 6e |e file to obtain| 00004170 20 74 68 65 20 55 52 4c 2e 20 20 49 74 20 6d 61 | the URL. It ma| 00004180 79 20 62 65 20 74 65 72 6d 69 6e 61 74 65 64 20 |y be terminated | 00004190 62 79 20 61 0a 77 68 69 74 65 73 70 61 63 65 20 |by a.whitespace | 000041a0 63 68 61 72 61 63 74 65 72 2c 20 6f 72 20 62 79 |character, or by| 000041b0 20 45 4f 46 2e 20 20 54 68 65 20 73 61 6d 65 20 | EOF. The same | 000041c0 72 75 6c 65 73 20 61 62 6f 75 74 20 72 65 73 70 |rules about resp| 000041d0 6f 6e 73 69 62 69 6c 69 74 79 20 66 6f 72 0a 63 |onsibility for.c| 000041e0 6c 6f 73 69 6e 67 20 74 68 65 20 66 69 6c 65 20 |losing the file | 000041f0 61 70 70 6c 79 20 61 73 20 66 6f 72 20 74 68 65 |apply as for the| 00004200 20 6f 74 68 65 72 20 68 61 6e 64 6c 65 73 20 69 | other handles i| 00004210 6e 20 2e 2e 52 65 71 75 65 73 74 20 6d 65 73 73 |n ..Request mess| 00004220 61 67 65 73 2e 0a 0a 49 66 2c 20 64 75 72 69 6e |ages...If, durin| 00004230 67 20 61 20 63 6f 6e 76 65 72 73 61 74 69 6f 6e |g a conversation| 00004240 20 77 69 74 68 20 61 6e 20 48 54 54 50 20 73 65 | with an HTTP se| 00004250 72 76 65 72 2c 20 79 6f 75 20 72 65 63 65 69 76 |rver, you receiv| 00004260 65 20 61 20 4c 6f 63 61 74 69 6f 6e 3a 0a 64 69 |e a Location:.di| 00004270 72 65 63 74 69 76 65 20 69 6e 64 69 63 61 74 69 |rective indicati| 00004280 6e 67 20 61 20 64 6f 63 75 6d 65 6e 74 20 72 65 |ng a document re| 00004290 6c 6f 63 61 74 69 6f 6e 2c 20 74 68 65 6e 20 79 |location, then y| 000042a0 6f 75 20 73 68 6f 75 6c 64 20 61 6d 65 6e 64 20 |ou should amend | 000042b0 74 68 65 0a 63 6f 6e 74 65 6e 74 73 20 6f 66 20 |the.contents of | 000042c0 74 68 65 20 65 78 74 65 6e 64 65 64 20 55 52 4c |the extended URL| 000042d0 20 66 69 6c 65 20 74 6f 20 72 65 70 72 65 73 65 | file to represe| 000042e0 6e 74 20 74 68 65 20 6e 65 77 20 74 61 72 67 65 |nt the new targe| 000042f0 74 20 55 52 4c 2e 20 20 59 6f 75 20 6d 75 73 74 |t URL. You must| 00004300 0a 73 65 74 20 66 6c 61 67 20 62 69 74 20 32 37 |.set flag bit 27| 00004310 20 69 6e 20 74 68 65 20 44 6f 6e 65 20 6d 65 73 | in the Done mes| 00004320 73 61 67 65 20 28 77 68 69 63 68 20 79 6f 75 20 |sage (which you | 00004330 64 6f 6e 27 74 20 73 65 6e 64 20 69 6d 6d 65 64 |don't send immed| 00004340 69 61 74 65 6c 79 20 2d 20 79 6f 75 0a 70 72 65 |iately - you.pre| 00004350 74 65 6e 64 20 61 73 20 74 68 6f 75 67 68 20 79 |tend as though y| 00004360 6f 75 20 68 61 64 20 72 65 63 65 69 76 65 64 20 |ou had received | 00004370 74 68 65 20 6e 65 77 20 55 52 4c 20 66 72 6f 6d |the new URL from| 00004380 20 74 68 65 20 52 65 71 75 65 73 74 20 6d 65 73 | the Request mes| 00004390 73 61 67 65 29 2e 20 0a 54 68 65 20 74 72 61 6e |sage). .The tran| 000043a0 73 70 61 72 65 6e 74 20 6f 62 65 64 69 65 6e 63 |sparent obedienc| 000043b0 65 20 74 6f 20 4c 6f 63 61 74 69 6f 6e 3a 20 64 |e to Location: d| 000043c0 69 72 65 63 74 69 76 65 73 20 69 73 20 6e 6f 74 |irectives is not| 000043d0 20 73 74 72 69 63 74 6c 79 20 72 65 71 75 69 72 | strictly requir| 000043e0 65 64 0a 28 61 6e 64 20 74 68 65 20 63 68 61 6e |ed.(and the chan| 000043f0 67 65 20 63 61 6e 6e 6f 74 20 62 65 20 73 69 67 |ge cannot be sig| 00004400 6e 61 6c 6c 65 64 20 74 6f 20 41 72 63 57 65 62 |nalled to ArcWeb| 00004410 20 69 66 20 74 68 65 20 65 78 74 65 6e 64 65 64 | if the extended| 00004420 20 55 52 4c 20 70 72 6f 74 6f 63 6f 6c 0a 69 73 | URL protocol.is| 00004430 20 6e 6f 74 20 62 65 69 6e 67 20 75 73 65 64 29 | not being used)| 00004440 2c 20 62 75 74 20 69 73 20 4d 4f 53 54 20 48 49 |, but is MOST HI| 00004450 47 48 4c 59 20 45 4e 43 4f 55 52 41 47 45 44 2e |GHLY ENCOURAGED.| 00004460 20 20 41 74 20 73 6f 6d 65 20 70 6f 69 6e 74 20 | At some point | 00004470 69 6e 20 74 68 65 0a 66 75 74 75 72 65 2c 20 6f |in the.future, o| 00004480 6e 6c 79 20 65 78 74 65 6e 64 65 64 20 55 52 4c |nly extended URL| 00004490 73 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 61 |s will be used a| 000044a0 74 20 61 6c 6c 2e 20 20 49 66 20 74 68 65 20 72 |t all. If the r| 000044b0 65 73 70 6f 6e 73 65 20 66 72 6f 6d 20 74 68 65 |esponse from the| 000044c0 0a 73 65 72 76 65 72 20 77 61 73 20 61 20 33 30 |.server was a 30| 000044d0 31 20 27 6d 6f 76 65 64 20 70 65 72 6d 61 6e 65 |1 'moved permane| 000044e0 6e 74 6c 79 27 2c 20 74 68 65 6e 20 79 6f 75 20 |ntly', then you | 000044f0 73 68 6f 75 6c 64 20 61 6c 73 6f 20 73 65 74 20 |should also set | 00004500 62 69 74 20 32 31 20 69 6e 0a 74 68 65 20 2e 2e |bit 21 in.the ..| 00004510 44 6f 6e 65 20 6d 65 73 73 61 67 65 20 74 6f 20 |Done message to | 00004520 69 6e 66 6f 72 6d 20 41 72 63 57 65 62 2e 20 20 |inform ArcWeb. | 00004530 41 72 63 57 65 62 20 77 69 6c 6c 20 74 68 65 6e |ArcWeb will then| 00004540 20 73 63 61 6e 20 74 68 65 20 68 6f 74 6c 69 73 | scan the hotlis| 00004550 74 0a 61 6e 64 20 68 69 73 74 6f 72 79 20 66 6f |t.and history fo| 00004560 72 20 74 68 61 74 20 55 52 4c 20 61 6e 64 20 63 |r that URL and c| 00004570 68 61 6e 67 65 20 74 68 65 6d 2c 20 61 73 20 48 |hange them, as H| 00004580 54 54 50 20 73 70 65 63 20 73 75 67 67 65 73 74 |TTP spec suggest| 00004590 73 2e 0a 0a 2a 2a 2a 20 46 72 6f 6d 20 76 65 72 |s...*** From ver| 000045a0 73 69 6f 6e 20 30 2e 32 35 2c 20 74 68 65 20 75 |sion 0.25, the u| 000045b0 73 65 20 6f 6e 20 6e 6f 6e 2d 65 78 74 65 6e 64 |se on non-extend| 000045c0 65 64 20 55 52 4c 73 20 69 73 20 64 65 70 72 65 |ed URLs is depre| 000045d0 63 61 74 65 64 0a 0a 49 66 20 62 69 74 20 31 39 |cated..If bit 19| 000045e0 20 77 61 73 20 73 65 74 2c 20 74 68 65 6e 20 74 | was set, then t| 000045f0 68 65 20 75 73 65 72 20 64 69 64 20 61 20 53 48 |he user did a SH| 00004600 49 46 54 2d 63 6c 69 63 6b 20 6f 6e 20 74 68 65 |IFT-click on the| 00004610 20 6c 69 6e 6b 20 74 6f 20 66 6f 72 63 65 20 69 | link to force i| 00004620 74 0a 74 6f 20 62 65 20 6c 6f 61 64 65 64 20 74 |t.to be loaded t| 00004630 6f 20 64 69 73 63 20 6f 6e 6c 79 2e 0a 0a 49 66 |o disc only...If| 00004640 20 62 69 74 20 32 33 20 69 73 20 73 65 74 20 69 | bit 23 is set i| 00004650 6e 20 52 65 6e 64 65 72 44 6f 6e 65 2c 20 41 72 |n RenderDone, Ar| 00004660 63 57 65 62 20 77 69 6c 6c 20 6e 6f 74 20 64 69 |cWeb will not di| 00004670 73 70 6c 61 79 20 74 68 65 20 72 65 73 75 6c 74 |splay the result| 00004680 73 20 6f 66 20 74 68 65 0a 72 65 6e 64 65 72 2e |s of the.render.| 00004690 20 20 54 68 69 73 20 69 73 20 74 6f 20 61 6c 6c | This is to all| 000046a0 6f 77 20 61 70 70 6c 69 63 61 74 69 6f 6e 73 20 |ow applications | 000046b0 73 75 63 68 20 61 73 20 69 6d 61 67 65 20 72 65 |such as image re| 000046c0 6e 64 65 72 65 72 73 20 74 6f 20 6f 70 65 6e 20 |nderers to open | 000046d0 74 68 65 69 72 0a 6f 77 6e 20 77 69 6e 64 6f 77 |their.own window| 000046e0 20 74 6f 20 64 69 73 70 6c 61 79 20 74 68 65 20 | to display the | 000046f0 70 69 63 74 75 72 65 2e 20 20 54 68 69 73 20 6d |picture. This m| 00004700 75 73 74 20 4e 4f 54 20 62 65 20 64 6f 6e 65 20 |ust NOT be done | 00004710 69 66 20 62 69 74 20 32 35 20 69 73 20 73 65 74 |if bit 25 is set| 00004720 0a 28 61 73 20 73 6f 6d 65 6f 6e 65 20 65 6c 73 |.(as someone els| 00004730 65 20 69 73 20 74 72 79 69 6e 67 20 74 6f 20 72 |e is trying to r| 00004740 65 6e 64 65 72 20 61 6e 20 69 6e 6c 69 6e 65 20 |ender an inline | 00004750 69 6d 61 67 65 29 2e 20 20 49 66 20 62 69 74 20 |image). If bit | 00004760 32 35 20 69 73 20 73 65 74 2c 0a 74 68 65 20 61 |25 is set,.the a| 00004770 70 70 6c 69 63 61 74 69 6f 6e 20 6d 75 73 74 20 |pplication must | 00004780 63 6f 6e 76 65 72 74 20 74 68 65 20 69 6d 61 67 |convert the imag| 00004790 65 20 69 6e 74 6f 20 61 20 73 70 72 69 74 65 20 |e into a sprite | 000047a0 66 69 6c 65 20 61 6e 64 20 73 74 6f 72 65 20 69 |file and store i| 000047b0 74 20 69 6e 0a 74 68 65 20 27 64 69 61 67 72 61 |t in.the 'diagra| 000047c0 6d 27 20 66 69 6c 65 2e 20 20 49 66 20 79 6f 75 |m' file. If you| 000047d0 20 73 65 74 20 62 69 74 20 32 33 2c 20 69 74 20 | set bit 23, it | 000047e0 69 73 20 61 20 67 6f 6f 64 20 69 64 65 61 20 74 |is a good idea t| 000047f0 6f 20 63 6c 65 61 72 20 62 69 74 20 32 36 20 69 |o clear bit 26 i| 00004800 6e 0a 6f 72 64 65 72 20 6e 6f 74 20 74 6f 20 63 |n.order not to c| 00004810 6f 6e 66 75 73 65 20 74 68 65 20 75 73 65 72 2e |onfuse the user.| 00004820 20 20 4d 61 6b 65 20 73 75 72 65 20 74 68 61 74 | Make sure that| 00004830 20 79 6f 75 20 73 65 74 20 74 68 65 20 73 69 7a | you set the siz| 00004840 65 20 6f 66 20 74 68 65 20 69 6d 61 67 65 0a 69 |e of the image.i| 00004850 6e 20 70 69 78 65 6c 73 20 28 69 66 20 61 70 70 |n pixels (if app| 00004860 72 6f 70 72 69 61 74 65 29 20 69 6e 20 74 68 65 |ropriate) in the| 00004870 20 52 65 6e 64 65 72 44 6f 6e 65 20 6d 65 73 73 | RenderDone mess| 00004880 61 67 65 2c 20 61 73 20 74 68 69 73 20 77 69 6c |age, as this wil| 00004890 6c 20 65 6e 61 62 6c 65 0a 69 6d 61 67 65 20 6d |l enable.image m| 000048a0 61 70 73 20 74 6f 20 77 6f 72 6b 20 63 6f 72 72 |aps to work corr| 000048b0 65 63 74 6c 79 2e 0a 0a 55 70 6f 6e 20 72 65 63 |ectly...Upon rec| 000048c0 65 69 70 74 20 6f 66 20 61 20 46 65 74 63 68 52 |eipt of a FetchR| 000048d0 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 2c 20 |equest message, | 000048e0 74 68 65 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |the application | 000048f0 73 68 6f 75 6c 64 20 63 68 65 63 6b 20 62 69 74 |should check bit| 00004900 20 32 38 2e 20 0a 49 66 20 62 69 74 20 32 38 20 | 28. .If bit 28 | 00004910 69 73 20 73 65 74 2c 20 74 68 65 6e 20 74 68 65 |is set, then the| 00004920 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6d 61 79 | application may| 00004930 20 6f 70 74 20 74 6f 20 72 65 74 72 69 65 76 65 | opt to retrieve| 00004940 20 74 68 65 20 66 69 6c 65 20 74 6f 20 69 74 73 | the file to its| 00004950 0a 6f 77 6e 20 70 72 69 76 61 74 65 20 64 69 72 |.own private dir| 00004960 65 63 74 6f 72 79 20 61 6e 64 20 73 74 6f 72 65 |ectory and store| 00004970 20 74 68 65 20 6e 61 6d 65 20 6f 66 20 74 68 65 | the name of the| 00004980 20 66 69 6c 65 20 69 6e 20 74 68 65 20 27 73 6f | file in the 'so| 00004990 75 72 63 65 27 20 66 69 6c 65 2e 20 0a 49 66 20 |urce' file. .If | 000049a0 69 74 20 64 65 63 6c 69 6e 65 73 20 74 6f 20 64 |it declines to d| 000049b0 6f 20 74 68 69 73 20 28 6f 72 20 62 69 74 20 32 |o this (or bit 2| 000049c0 38 20 69 73 20 63 6c 65 61 72 20 61 6e 79 77 61 |8 is clear anywa| 000049d0 79 29 2c 20 62 69 74 20 32 38 20 73 68 6f 75 6c |y), bit 28 shoul| 000049e0 64 20 62 65 0a 63 6c 65 61 72 65 64 20 6f 6e 20 |d be.cleared on | 000049f0 74 68 65 20 72 65 73 70 6f 6e 73 65 20 61 6e 64 |the response and| 00004a00 20 74 68 65 20 66 65 74 63 68 65 64 20 66 69 6c | the fetched fil| 00004a10 65 20 70 6c 61 63 65 64 20 69 6e 20 27 73 6f 75 |e placed in 'sou| 00004a20 72 63 65 27 2e 20 20 54 68 69 73 0a 66 61 63 69 |rce'. This.faci| 00004a30 6c 69 74 79 20 69 73 20 70 72 6f 76 69 64 65 64 |lity is provided| 00004a40 20 6d 61 69 6e 6c 79 20 66 6f 72 20 74 68 65 20 | mainly for the | 00004a50 62 65 6e 65 66 69 74 20 6f 66 20 41 72 63 57 65 |benefit of ArcWe| 00004a60 62 4c 63 6c 20 74 6f 20 61 76 6f 69 64 20 63 6f |bLcl to avoid co| 00004a70 70 79 69 6e 67 0a 66 69 6c 65 73 20 61 72 6f 75 |pying.files arou| 00004a80 6e 64 20 74 68 65 20 6c 6f 63 61 6c 6c 79 20 61 |nd the locally a| 00004a90 76 61 69 6c 61 62 6c 65 20 66 69 6c 65 73 79 73 |vailable filesys| 00004aa0 74 65 6d 73 2e 0a 0a 49 66 20 62 69 74 20 32 31 |tems...If bit 21| 00004ab0 20 69 73 20 73 65 74 20 6f 6e 20 72 65 63 65 69 | is set on recei| 00004ac0 70 74 20 6f 66 20 61 20 45 4d 61 69 6c 52 65 71 |pt of a EMailReq| 00004ad0 75 65 73 74 20 6d 65 73 73 61 67 65 2c 20 74 68 |uest message, th| 00004ae0 65 6e 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 |en this indicate| 00004af0 73 0a 74 68 61 74 20 74 68 65 20 66 6f 72 6d 20 |s.that the form | 00004b00 66 69 6c 65 20 63 6f 6e 74 61 69 6e 73 20 61 20 |file contains a | 00004b10 63 6f 6d 70 6c 65 74 65 20 65 2d 6d 61 69 6c 20 |complete e-mail | 00004b20 6d 65 73 73 61 67 65 20 72 65 61 64 79 20 74 6f |message ready to| 00004b30 20 62 65 20 6d 61 69 6c 65 64 0a 6f 66 66 20 28 | be mailed.off (| 00004b40 65 78 63 6c 75 64 69 6e 67 20 46 72 6f 6d 3a 20 |excluding From: | 00004b50 68 65 61 64 65 72 29 2e 20 20 49 66 20 62 69 74 |header). If bit| 00004b60 20 32 31 20 69 73 20 63 6c 65 61 72 2c 20 74 68 | 21 is clear, th| 00004b70 65 6e 20 74 68 69 73 20 69 6e 64 69 63 61 74 65 |en this indicate| 00004b80 73 20 74 68 61 74 0a 74 68 65 20 68 65 6c 70 65 |s that.the helpe| 00004b90 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6e 65 |r application ne| 00004ba0 65 64 73 20 74 6f 20 6f 70 65 6e 20 73 6f 6d 65 |eds to open some| 00004bb0 20 6b 69 6e 64 20 6f 66 20 65 64 69 74 6f 72 20 | kind of editor | 00004bc0 74 6f 20 61 6c 6c 6f 77 20 74 68 65 20 75 73 65 |to allow the use| 00004bd0 72 0a 74 6f 20 63 6f 6d 70 6c 65 74 65 20 74 68 |r.to complete th| 00004be0 65 20 65 2d 6d 61 69 6c 2e 20 20 54 68 65 20 65 |e e-mail. The e| 00004bf0 64 69 74 6f 72 20 73 68 6f 75 6c 64 20 62 65 20 |ditor should be | 00004c00 69 6e 69 74 69 61 6c 69 73 65 64 20 77 69 74 68 |initialised with| 00004c10 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 0a 6f 66 | the contents.of| 00004c20 20 74 68 65 20 66 6f 72 6d 20 66 69 6c 65 2e 20 | the form file. | 00004c30 20 49 66 20 69 74 20 69 73 20 67 6f 69 6e 67 20 | If it is going | 00004c40 74 6f 20 64 6f 20 61 6e 79 74 68 69 6e 67 20 61 |to do anything a| 00004c50 74 20 61 6c 6c 2c 20 74 68 65 6e 20 74 68 65 20 |t all, then the | 00004c60 68 65 6c 70 65 72 0a 61 70 70 6c 69 63 61 74 69 |helper.applicati| 00004c70 6f 6e 20 6d 75 73 74 20 72 65 70 6c 79 20 77 69 |on must reply wi| 00004c80 74 68 20 61 20 45 4d 61 69 6c 44 6f 6e 65 20 6d |th a EMailDone m| 00004c90 65 73 73 61 67 65 2e 0a 0a 42 69 74 20 34 20 69 |essage...Bit 4 i| 00004ca0 73 20 75 73 65 64 20 62 79 20 41 72 63 57 65 62 |s used by ArcWeb| 00004cb0 20 74 6f 20 69 6e 64 69 63 61 74 65 20 74 6f 20 | to indicate to | 00004cc0 66 65 74 63 68 65 72 73 20 74 68 61 74 20 74 68 |fetchers that th| 00004cd0 65 20 75 73 65 72 20 68 61 73 0a 73 70 65 63 69 |e user has.speci| 00004ce0 66 69 63 61 6c 6c 79 20 72 65 71 75 65 73 74 65 |fically requeste| 00004cf0 64 20 74 68 61 74 20 69 6d 61 67 65 73 20 61 72 |d that images ar| 00004d00 65 20 6e 6f 74 20 66 65 74 63 68 65 64 20 61 6e |e not fetched an| 00004d10 64 20 72 65 6e 64 65 72 65 64 2e 20 20 54 68 69 |d rendered. Thi| 00004d20 73 0a 61 6c 6c 6f 77 73 20 27 69 6e 74 65 6c 6c |s.allows 'intell| 00004d30 69 67 65 6e 74 27 20 48 54 54 50 20 66 65 74 63 |igent' HTTP fetc| 00004d40 68 65 72 73 20 6d 65 6e 74 69 6f 6e 65 64 20 61 |hers mentioned a| 00004d50 74 20 74 68 65 20 73 74 61 72 74 20 6f 66 20 74 |t the start of t| 00004d60 68 69 73 20 64 6f 63 75 6d 65 6e 74 2c 0a 74 6f |his document,.to| 00004d70 20 70 61 72 73 65 20 74 68 65 20 48 54 4d 4c 20 | parse the HTML | 00004d80 72 65 73 70 6f 6e 73 65 73 20 74 6f 20 69 74 73 |responses to its| 00004d90 20 66 65 74 63 68 65 73 20 61 6e 64 20 69 6d 6d | fetches and imm| 00004da0 65 64 69 61 74 65 6c 79 20 6b 69 63 6b 20 6f 66 |ediately kick of| 00004db0 66 20 74 68 65 0a 74 72 61 6e 73 66 65 72 73 20 |f the.transfers | 00004dc0 66 6f 72 20 74 68 65 73 65 20 69 6d 61 67 65 73 |for these images| 00004dd0 20 62 65 66 6f 72 65 20 74 68 65 20 72 65 6e 64 | before the rend| 00004de0 65 72 20 6f 66 20 74 68 65 20 64 6f 63 75 6d 65 |er of the docume| 00004df0 6e 74 20 62 65 67 69 6e 73 2e 20 20 49 66 20 62 |nt begins. If b| 00004e00 69 74 0a 34 20 69 73 20 73 65 74 2c 20 74 68 65 |it.4 is set, the| 00004e10 6e 20 74 68 65 20 66 65 74 63 68 65 72 20 73 68 |n the fetcher sh| 00004e20 6f 75 6c 64 20 6e 6f 74 20 64 6f 20 74 68 69 73 |ould not do this| 00004e30 2e 0a 0a 42 69 74 73 20 31 30 2d 31 33 20 61 72 |...Bits 10-13 ar| 00004e40 65 20 72 65 6c 65 76 61 6e 74 20 6f 6e 6c 79 20 |e relevant only | 00004e50 66 6f 72 20 4d 65 73 73 61 67 65 5f 41 72 63 77 |for Message_Arcw| 00004e60 65 62 46 65 74 63 68 52 65 71 75 65 73 74 20 6d |ebFetchRequest m| 00004e70 65 73 73 61 67 65 73 2e 20 20 54 68 65 79 0a 69 |essages. They.i| 00004e80 6e 64 69 63 61 74 65 20 74 68 61 74 20 74 68 65 |ndicate that the| 00004e90 20 6f 70 65 72 61 74 69 6f 6e 20 69 73 20 74 61 | operation is ta| 00004ea0 72 67 65 74 65 64 20 61 74 20 64 69 72 65 63 74 |rgeted at direct| 00004eb0 20 6d 61 6e 69 70 75 6c 61 74 69 6f 6e 20 6f 66 | manipulation of| 00004ec0 20 74 68 65 20 55 52 4c 2e 0a 54 68 65 73 65 20 | the URL..These | 00004ed0 61 72 65 20 6e 6f 74 20 79 65 74 20 66 75 6c 6c |are not yet full| 00004ee0 79 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 28 4d |y implemented (M| 00004ef0 4b 44 49 52 20 61 6e 64 20 52 4d 44 49 52 20 61 |KDIR and RMDIR a| 00004f00 72 65 20 69 6d 70 6c 65 6d 65 6e 74 65 64 20 66 |re implemented f| 00004f10 6f 72 20 46 54 50 0a 6f 6e 6c 79 29 20 20 54 68 |or FTP.only) Th| 00004f20 65 20 74 77 6f 20 64 69 72 65 63 74 6f 72 79 20 |e two directory | 00004f30 6f 70 73 20 72 65 71 75 69 72 65 20 61 20 74 65 |ops require a te| 00004f40 72 6d 69 6e 61 74 69 6e 67 20 2f 20 6f 6e 20 74 |rminating / on t| 00004f50 68 65 20 55 52 4c 2e 20 20 42 69 74 73 20 31 30 |he URL. Bits 10| 00004f60 2d 31 33 0a 61 72 65 20 74 6f 20 62 65 20 74 72 |-13.are to be tr| 00004f70 65 61 74 65 64 20 61 73 20 61 20 34 2d 62 69 74 |eated as a 4-bit| 00004f80 20 75 6e 73 69 67 6e 65 64 20 76 61 6c 75 65 20 | unsigned value | 00004f90 72 61 74 68 65 72 20 74 68 61 6e 20 61 20 62 69 |rather than a bi| 00004fa0 74 2d 66 69 65 6c 64 2c 20 61 6e 64 20 73 6f 0a |t-field, and so.| 00004fb0 69 74 20 4d 55 53 54 20 62 65 20 74 72 65 61 74 |it MUST be treat| 00004fc0 65 64 20 61 73 20 73 75 63 68 20 62 79 20 61 70 |ed as such by ap| 00004fd0 70 6c 69 63 61 74 69 6f 6e 73 2e 0a 0a 49 66 20 |plications...If | 00004fe0 62 69 74 20 31 30 20 69 73 20 73 65 74 20 28 64 |bit 10 is set (d| 00004ff0 69 72 65 63 74 6f 72 79 20 63 72 65 61 74 69 6f |irectory creatio| 00005000 6e 29 2c 20 74 68 65 6e 20 61 6e 20 61 74 74 65 |n), then an atte| 00005010 6d 70 74 20 74 6f 20 63 72 65 61 74 65 20 74 68 |mpt to create th| 00005020 65 0a 64 69 72 65 63 74 6f 72 79 20 69 73 20 6d |e.directory is m| 00005030 61 64 65 20 61 6e 64 20 75 70 6f 6e 20 61 20 73 |ade and upon a s| 00005040 75 63 63 65 73 73 66 75 6c 20 72 65 73 70 6f 6e |uccessful respon| 00005050 73 65 2c 20 69 74 20 69 73 20 74 72 65 61 74 65 |se, it is treate| 00005060 64 20 61 73 20 69 66 20 61 0a 72 65 64 69 72 65 |d as if a.redire| 00005070 63 74 69 6f 6e 20 68 61 64 20 6f 63 63 75 72 72 |ction had occurr| 00005080 65 64 20 74 6f 20 74 68 65 20 73 61 6d 65 20 72 |ed to the same r| 00005090 65 73 6f 75 72 63 65 20 28 73 6f 20 74 68 65 20 |esource (so the | 000050a0 64 69 72 65 63 74 6f 72 79 20 79 6f 75 20 6a 75 |directory you ju| 000050b0 73 74 0a 63 72 65 61 74 65 64 20 69 73 20 6f 70 |st.created is op| 000050c0 65 6e 65 64 29 2e 20 20 48 6f 77 65 76 65 72 2c |ened). However,| 000050d0 20 69 66 20 62 69 74 20 31 31 20 69 73 20 41 4c | if bit 11 is AL| 000050e0 53 4f 20 73 65 74 2c 20 74 68 69 73 20 72 65 64 |SO set, this red| 000050f0 69 72 65 63 74 69 6f 6e 20 64 6f 65 73 0a 4e 4f |irection does.NO| 00005100 54 20 6f 63 63 75 72 2e 20 20 69 65 2e 20 61 20 |T occur. ie. a | 00005110 76 61 6c 75 65 20 6f 66 20 31 20 6d 65 61 6e 73 |value of 1 means| 00005120 20 63 72 65 61 74 65 20 64 69 72 65 63 74 6f 72 | create director| 00005130 79 20 61 6e 64 20 65 6e 74 65 72 20 69 74 3b 20 |y and enter it; | 00005140 61 20 76 61 6c 75 65 0a 6f 66 20 33 20 6d 65 61 |a value.of 3 mea| 00005150 6e 73 20 63 72 65 61 74 65 20 64 69 72 65 63 74 |ns create direct| 00005160 6f 72 79 20 62 75 74 20 64 6f 20 6e 6f 74 20 65 |ory but do not e| 00005170 6e 74 65 72 20 69 74 3b 20 61 20 76 61 6c 75 65 |nter it; a value| 00005180 20 6f 66 20 32 20 6d 65 61 6e 73 0a 64 65 6c 65 | of 2 means.dele| 00005190 74 65 20 64 69 72 65 63 74 6f 72 79 2e 20 20 41 |te directory. A| 000051a0 20 76 61 6c 75 65 20 6f 66 20 34 20 6d 65 61 6e | value of 4 mean| 000051b0 73 20 64 65 6c 65 74 65 20 74 68 65 20 6f 62 6a |s delete the obj| 000051c0 65 63 74 2c 20 61 6e 64 20 61 20 76 61 6c 75 65 |ect, and a value| 000051d0 20 6f 66 20 38 0a 6d 65 61 6e 73 20 72 65 6e 61 | of 8.means rena| 000051e0 6d 65 20 74 68 65 20 6f 62 6a 65 63 74 2e 0a 0a |me the object...| 000051f0 0a 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 65 |...Message_Arcwe| 00005200 62 41 62 6f 72 74 52 65 71 75 65 73 74 0a 3d 3d |bAbortRequest.==| 00005210 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00005220 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 55 70 6f 6e 20 72 |========..Upon r| 00005230 65 63 65 69 70 74 20 6f 66 20 74 68 69 73 20 6d |eceipt of this m| 00005240 65 73 73 61 67 65 2c 20 74 68 65 20 66 65 74 63 |essage, the fetc| 00005250 68 65 72 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |her application | 00005260 72 65 74 72 69 65 76 69 6e 67 20 61 20 55 52 4c |retrieving a URL| 00005270 20 75 6e 64 65 72 0a 74 68 65 20 67 69 76 65 6e | under.the given| 00005280 20 41 72 63 57 65 62 20 50 72 69 76 61 74 65 20 | ArcWeb Private | 00005290 68 61 6e 64 6c 65 2c 20 73 68 6f 75 6c 64 20 74 |handle, should t| 000052a0 65 72 6d 69 6e 61 74 65 20 74 68 65 20 66 65 74 |erminate the fet| 000052b0 63 68 20 77 69 74 68 20 61 6e 20 65 72 72 6f 72 |ch with an error| 000052c0 2e 20 0a 49 74 20 73 68 6f 75 6c 64 20 61 63 6b |. .It should ack| 000052d0 6e 6f 77 6c 65 64 67 65 20 74 68 69 73 20 6d 65 |nowledge this me| 000052e0 73 73 61 67 65 20 77 69 74 68 20 4d 65 73 73 61 |ssage with Messa| 000052f0 67 65 5f 41 72 63 77 65 62 46 65 74 63 68 44 6f |ge_ArcwebFetchDo| 00005300 6e 65 2c 20 61 66 74 65 72 0a 73 65 74 74 69 6e |ne, after.settin| 00005310 67 20 74 68 65 20 66 6c 61 67 73 20 63 6f 72 72 |g the flags corr| 00005320 65 63 74 6c 79 20 69 6e 64 69 63 61 74 69 6e 67 |ectly indicating| 00005330 20 73 6f 6d 65 20 6b 69 6e 64 20 6f 66 20 65 72 | some kind of er| 00005340 72 6f 72 2e 20 20 41 6c 6c 20 61 63 74 69 76 65 |ror. All active| 00005350 0a 66 65 74 63 68 65 73 20 61 73 73 6f 63 69 61 |.fetches associa| 00005360 74 65 64 20 77 69 74 68 20 74 68 65 20 68 61 6e |ted with the han| 00005370 64 6c 65 20 73 68 6f 75 6c 64 20 62 65 20 73 74 |dle should be st| 00005380 6f 70 70 65 64 2e 20 20 54 68 69 73 20 61 6c 6c |opped. This all| 00005390 6f 77 73 0a 69 6e 74 65 6c 6c 69 67 65 6e 74 20 |ows.intelligent | 000053a0 66 65 74 63 68 65 72 73 20 74 6f 20 73 74 6f 70 |fetchers to stop| 000053b0 20 61 6e 79 20 61 75 74 6f 6d 61 74 69 63 20 66 | any automatic f| 000053c0 65 74 63 68 65 73 20 74 68 61 74 20 74 68 65 79 |etches that they| 000053d0 20 6d 69 67 68 74 20 68 61 76 65 0a 69 73 73 75 | might have.issu| 000053e0 65 64 2c 20 74 6f 20 66 65 74 63 68 20 69 6e 6c |ed, to fetch inl| 000053f0 69 6e 65 64 20 69 6d 61 67 65 73 2e 0a 0a 41 74 |ined images...At| 00005400 20 74 68 65 20 63 68 6f 69 63 65 20 6f 66 20 74 | the choice of t| 00005410 68 65 20 46 45 54 43 48 45 52 2c 20 69 74 20 6d |he FETCHER, it m| 00005420 61 79 20 64 65 63 69 64 65 20 74 6f 20 69 67 6e |ay decide to ign| 00005430 6f 72 65 20 74 68 65 20 41 62 6f 72 74 52 65 71 |ore the AbortReq| 00005440 75 65 73 74 20 61 6e 64 0a 63 6f 6e 74 69 6e 75 |uest and.continu| 00005450 65 20 66 65 74 63 68 69 6e 67 20 64 61 74 61 2e |e fetching data.| 00005460 20 20 54 68 65 20 6d 6f 73 74 20 6f 62 76 69 6f | The most obvio| 00005470 75 73 20 73 69 74 75 61 74 69 6f 6e 20 69 6e 20 |us situation in | 00005480 77 68 69 63 68 20 74 68 69 73 20 69 73 20 75 73 |which this is us| 00005490 65 66 75 6c 0a 69 73 20 69 66 20 74 68 65 20 66 |eful.is if the f| 000054a0 65 74 63 68 20 69 73 20 6c 61 72 67 65 20 61 6e |etch is large an| 000054b0 64 20 6e 65 61 72 6c 79 20 63 6f 6d 70 6c 65 74 |d nearly complet| 000054c0 65 20 61 6e 79 77 61 79 20 2d 20 73 61 79 20 6c |e anyway - say l| 000054d0 65 73 73 20 74 68 61 6e 20 31 20 73 65 63 6f 6e |ess than 1 secon| 000054e0 64 0a 65 73 74 69 6d 61 74 65 64 20 74 6f 20 63 |d.estimated to c| 000054f0 6f 6d 70 6c 65 74 69 6f 6e 2e 20 20 59 6f 75 20 |ompletion. You | 00005500 6d 75 73 74 20 61 63 6b 6e 6f 77 6c 65 64 67 65 |must acknowledge| 00005510 20 74 68 65 20 41 62 6f 72 74 52 65 71 75 65 73 | the AbortReques| 00005520 74 20 77 69 74 68 20 61 0a 46 65 74 63 68 44 6f |t with a.FetchDo| 00005530 6e 65 2c 20 69 6e 20 74 68 65 20 75 73 75 61 6c |ne, in the usual| 00005540 20 6d 61 6e 6e 65 72 20 28 69 65 2e 20 79 6f 75 | manner (ie. you| 00005550 20 63 61 6e 20 61 63 6b 6e 6f 77 6c 65 64 67 65 | can acknowledge| 00005560 20 74 68 65 20 6d 65 73 73 61 67 65 20 66 69 72 | the message fir| 00005570 73 74 2c 0a 74 68 65 6e 20 73 65 6e 64 20 61 20 |st,.then send a | 00005580 72 65 70 6c 79 20 6c 61 74 65 72 29 2e 20 20 54 |reply later). T| 00005590 68 65 20 61 6d 6f 75 6e 74 20 6f 66 20 74 69 6d |he amount of tim| 000055a0 65 20 6d 61 79 20 62 65 20 63 6f 6e 66 69 67 75 |e may be configu| 000055b0 72 61 62 6c 65 20 69 6e 20 74 68 65 0a 66 65 74 |rable in the.fet| 000055c0 63 68 65 72 2c 20 62 75 74 20 73 68 6f 75 6c 64 |cher, but should| 000055d0 20 6e 6f 74 20 65 78 63 65 65 64 20 61 20 66 65 | not exceed a fe| 000055e0 77 20 73 65 63 6f 6e 64 73 20 61 73 20 74 68 69 |w seconds as thi| 000055f0 73 20 6d 61 79 20 63 6f 6e 66 75 73 65 20 74 68 |s may confuse th| 00005600 65 20 75 73 65 72 2e 0a 0a 0a 0a 4d 65 73 73 61 |e user.....Messa| 00005610 67 65 5f 41 72 63 77 65 62 54 72 61 6e 73 66 65 |ge_ArcwebTransfe| 00005620 72 53 74 61 74 75 73 0a 3d 3d 3d 3d 3d 3d 3d 3d |rStatus.========| 00005630 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00005640 3d 3d 3d 3d 0a 0a 41 20 66 65 74 63 68 65 72 20 |====..A fetcher | 00005650 77 68 69 63 68 20 77 69 73 68 65 73 20 74 6f 20 |which wishes to | 00005660 69 6e 66 6f 72 6d 20 74 68 65 20 75 73 65 72 20 |inform the user | 00005670 6f 66 20 74 68 65 20 73 74 61 74 75 73 20 6f 66 |of the status of| 00005680 20 74 68 65 20 63 6f 6d 6d 75 6e 69 63 61 74 69 | the communicati| 00005690 6f 6e 0a 62 65 74 77 65 65 6e 20 69 74 73 65 6c |on.between itsel| 000056a0 66 20 61 6e 64 20 74 68 65 20 72 65 6d 6f 74 65 |f and the remote| 000056b0 20 69 6e 66 6f 72 6d 61 74 69 6f 6e 20 73 65 72 | information ser| 000056c0 76 65 72 20 28 46 54 50 2c 20 48 54 54 50 2c 20 |ver (FTP, HTTP, | 000056d0 47 6f 70 68 65 72 2c 20 65 74 63 2e 2e 29 0a 6d |Gopher, etc..).m| 000056e0 61 79 20 75 73 65 20 74 68 69 73 20 6d 65 73 73 |ay use this mess| 000056f0 61 67 65 20 74 6f 20 69 6e 66 6f 72 6d 20 74 68 |age to inform th| 00005700 65 20 62 72 6f 77 73 65 72 20 6f 66 20 69 74 73 |e browser of its| 00005710 20 70 72 6f 67 72 65 73 73 2e 20 20 54 68 65 20 | progress. The | 00005720 34 20 73 69 7a 65 0a 65 6c 65 6d 65 6e 74 73 20 |4 size.elements | 00005730 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 6d |in the message m| 00005740 61 79 20 62 65 20 75 73 65 64 20 62 79 20 74 68 |ay be used by th| 00005750 65 20 62 72 6f 77 73 65 72 20 74 6f 20 63 72 65 |e browser to cre| 00005760 61 74 65 20 61 20 67 72 61 70 68 69 63 61 6c 0a |ate a graphical.| 00005770 72 65 70 72 65 73 65 6e 74 61 74 69 6f 6e 20 6f |representation o| 00005780 66 20 74 68 65 20 63 6f 6d 6d 75 6e 69 63 61 74 |f the communicat| 00005790 69 6f 6e 20 73 74 61 74 75 73 2e 20 20 56 61 6c |ion status. Val| 000057a0 75 65 73 20 6f 66 20 2d 31 20 73 68 6f 75 6c 64 |ues of -1 should| 000057b0 20 62 65 20 6b 6e 6f 77 6e 0a 66 6f 72 20 75 6e | be known.for un| 000057c0 6b 6e 6f 77 6e 20 71 75 61 6e 74 69 74 69 65 73 |known quantities| 000057d0 20 28 30 20 69 73 20 72 65 73 65 72 76 65 64 20 | (0 is reserved | 000057e0 66 6f 72 20 69 6e 64 69 63 61 74 69 6e 67 20 6e |for indicating n| 000057f0 6f 20 62 79 74 65 73 20 79 65 74 0a 74 72 61 6e |o bytes yet.tran| 00005800 73 66 65 72 72 65 64 20 6f 72 20 65 78 70 65 63 |sferred or expec| 00005810 74 65 64 29 2e 20 20 54 68 65 20 62 72 6f 77 73 |ted). The brows| 00005820 65 72 20 6d 61 79 20 63 68 6f 6f 73 65 20 74 6f |er may choose to| 00005830 20 69 67 6e 6f 72 65 20 74 68 65 73 65 20 76 61 | ignore these va| 00005840 6c 75 65 73 20 61 6e 64 0a 72 65 6c 79 20 6f 6e |lues and.rely on| 00005850 20 74 68 65 20 64 65 73 63 72 69 70 74 69 6f 6e | the description| 00005860 20 73 74 72 69 6e 67 2c 20 77 68 69 63 68 20 73 | string, which s| 00005870 68 6f 75 6c 64 20 73 61 79 20 73 6f 6d 65 74 68 |hould say someth| 00005880 69 6e 67 20 6c 69 6b 65 3a 0a 0a 31 30 30 30 20 |ing like:..1000 | 00005890 62 79 74 65 73 20 6f 75 74 20 6f 66 20 32 30 30 |bytes out of 200| 000058a0 30 20 62 79 74 65 20 64 6f 63 75 6d 65 6e 74 20 |0 byte document | 000058b0 72 65 61 64 0a 30 20 62 79 74 65 73 20 6f 75 74 |read.0 bytes out| 000058c0 20 6f 66 20 31 36 33 38 34 20 62 79 74 65 73 20 | of 16384 bytes | 000058d0 6f 66 20 69 6e 6c 69 6e 65 64 20 69 6d 61 67 65 |of inlined image| 000058e0 20 72 65 61 64 0a 4c 6f 6f 6b 69 6e 67 20 75 70 | read.Looking up| 000058f0 20 6c 6f 75 69 73 2e 65 63 73 2e 73 6f 74 6f 6e | louis.ecs.soton| 00005900 2e 61 63 2e 75 6b 20 2e 2e 2e 0a 0a 6f 72 20 77 |.ac.uk .....or w| 00005910 68 61 74 65 76 65 72 20 69 74 20 66 65 65 6c 73 |hatever it feels| 00005920 20 69 73 20 61 70 70 72 6f 70 72 69 61 74 65 2e | is appropriate.| 00005930 20 20 46 65 74 63 68 65 72 20 77 72 69 74 65 72 | Fetcher writer| 00005940 73 20 6d 75 73 74 20 72 65 63 6f 67 6e 69 73 65 |s must recognise| 00005950 20 74 68 61 74 0a 74 68 65 20 62 72 6f 77 73 65 | that.the browse| 00005960 72 20 6d 61 79 20 61 74 74 65 6d 70 74 20 74 6f |r may attempt to| 00005970 20 64 69 73 70 6c 61 79 20 74 68 65 73 65 20 6d | display these m| 00005980 65 73 73 61 67 65 73 20 69 6e 20 61 6e 20 69 63 |essages in an ic| 00005990 6f 6e 2c 20 61 6e 64 20 77 69 6c 6c 20 68 65 6e |on, and will hen| 000059a0 63 65 0a 62 65 20 69 73 73 75 69 6e 67 20 72 65 |ce.be issuing re| 000059b0 64 72 61 77 20 72 65 71 75 65 73 74 73 20 28 65 |draw requests (e| 000059c0 76 65 6e 20 69 66 20 6f 6e 6c 79 20 76 69 61 20 |ven if only via | 000059d0 57 69 6d 70 5f 53 65 74 49 63 6f 6e 53 74 61 74 |Wimp_SetIconStat| 000059e0 65 29 20 66 6f 72 20 65 61 63 68 0a 6d 65 73 73 |e) for each.mess| 000059f0 61 67 65 20 72 65 63 65 69 76 65 64 2e 20 20 54 |age received. T| 00005a00 68 65 20 66 65 74 63 68 65 72 20 73 68 6f 75 6c |he fetcher shoul| 00005a10 64 20 70 72 6f 76 69 64 65 20 61 20 66 61 63 69 |d provide a faci| 00005a20 6c 69 74 79 20 66 6f 72 20 64 69 73 61 62 6c 69 |lity for disabli| 00005a30 6e 67 20 74 68 65 73 65 0a 6d 65 73 73 61 67 65 |ng these.message| 00005a40 73 2c 20 61 6e 64 20 6e 6f 74 20 73 65 6e 64 20 |s, and not send | 00005a50 74 68 65 6d 20 74 6f 6f 20 66 72 65 71 75 65 6e |them too frequen| 00005a60 74 6c 79 20 2d 20 74 77 6f 20 6f 72 20 74 68 72 |tly - two or thr| 00005a70 65 65 20 74 69 6d 65 73 20 70 65 72 20 73 65 63 |ee times per sec| 00005a80 6f 6e 64 0a 69 73 20 71 75 69 74 65 20 65 6e 6f |ond.is quite eno| 00005a90 75 67 68 2e 0a 0a 0a 49 66 20 79 6f 75 20 61 72 |ugh....If you ar| 00005aa0 65 20 67 6f 69 6e 67 20 74 6f 20 70 72 6f 76 69 |e going to provi| 00005ab0 64 65 20 62 79 74 65 20 63 6f 75 6e 74 73 20 61 |de byte counts a| 00005ac0 73 20 69 6e 20 74 68 65 20 65 78 61 6d 70 6c 65 |s in the example| 00005ad0 73 20 61 62 6f 76 65 2c 20 49 20 48 49 47 48 4c |s above, I HIGHL| 00005ae0 59 0a 52 45 43 4f 4d 4d 45 4e 44 20 75 73 69 6e |Y.RECOMMEND usin| 00005af0 67 20 4f 53 5f 43 6f 6e 76 65 72 74 28 46 69 78 |g OS_Convert(Fix| 00005b00 65 64 29 46 69 6c 65 53 69 7a 65 20 74 6f 20 67 |ed)FileSize to g| 00005b10 69 76 65 20 61 20 75 73 65 66 75 6c 20 64 69 73 |ive a useful dis| 00005b20 70 6c 61 79 2e 20 20 49 74 0a 69 73 6e 27 74 20 |play. It.isn't | 00005b30 74 65 72 72 69 62 6c 79 20 75 73 65 66 75 6c 20 |terribly useful | 00005b40 74 6f 20 6b 6e 6f 77 20 74 68 61 74 20 36 35 35 |to know that 655| 00005b50 33 39 20 62 79 74 65 73 20 6f 75 74 20 6f 66 20 |39 bytes out of | 00005b60 32 36 38 34 33 35 34 35 36 20 62 79 74 65 73 20 |268435456 bytes | 00005b70 68 61 76 65 0a 62 65 65 6e 20 72 65 63 65 69 76 |have.been receiv| 00005b80 65 64 2e 20 20 46 61 72 20 62 65 74 74 65 72 2c |ed. Far better,| 00005b90 20 65 76 65 6e 20 69 66 20 73 6c 69 67 68 74 6c | even if slightl| 00005ba0 79 20 69 6e 61 63 63 75 72 61 74 65 2c 20 74 6f |y inaccurate, to| 00005bb0 20 73 61 79 20 27 36 34 4b 20 6f 75 74 20 6f 66 | say '64K out of| 00005bc0 0a 32 35 36 4d 27 20 61 6e 64 20 6d 61 79 62 65 |.256M' and maybe| 00005bd0 20 73 68 6f 77 20 74 68 65 20 70 65 72 63 65 6e | show the percen| 00005be0 74 61 67 65 20 74 68 61 74 20 72 65 70 72 65 73 |tage that repres| 00005bf0 65 6e 74 73 2e 0a 0a 52 65 74 75 72 6e 65 64 20 |ents...Returned | 00005c00 6d 65 73 73 61 67 65 73 20 73 68 6f 75 6c 64 20 |messages should | 00005c10 74 79 70 69 63 61 6c 6c 79 20 62 65 20 6c 65 73 |typically be les| 00005c20 73 20 74 68 61 6e 20 61 62 6f 75 74 20 36 34 20 |s than about 64 | 00005c30 63 68 61 72 61 63 74 65 72 73 20 6c 6f 6e 67 2e |characters long.| 00005c40 0a 0a 54 68 65 20 62 72 6f 77 73 65 72 20 6d 61 |..The browser ma| 00005c50 79 20 69 67 6e 6f 72 65 20 74 68 65 73 65 20 6d |y ignore these m| 00005c60 65 73 73 61 67 65 73 2c 20 61 6e 64 20 73 6f 20 |essages, and so | 00005c70 74 68 65 20 66 65 74 63 68 65 72 20 73 68 6f 75 |the fetcher shou| 00005c80 6c 64 20 6e 6f 74 20 73 65 6e 64 0a 74 68 65 6d |ld not send.them| 00005c90 20 72 65 63 6f 72 64 65 64 20 64 65 6c 69 76 65 | recorded delive| 00005ca0 72 79 20 28 57 69 6d 70 20 65 76 65 6e 74 20 74 |ry (Wimp event t| 00005cb0 79 70 65 20 31 38 29 2e 0a 0a 54 68 65 20 66 6c |ype 18)...The fl| 00005cc0 61 67 73 20 66 6f 72 20 4d 65 73 73 61 67 65 5f |ags for Message_| 00005cd0 41 72 63 77 65 62 54 72 61 6e 73 66 65 72 53 74 |ArcwebTransferSt| 00005ce0 61 74 75 73 3a 0a 0a 20 20 20 20 20 20 20 20 62 |atus:.. b| 00005cf0 69 74 20 20 20 30 20 20 20 20 20 20 20 20 20 49 |it 0 I| 00005d00 66 20 73 65 74 2c 20 74 72 61 6e 73 6d 69 73 73 |f set, transmiss| 00005d10 69 6f 6e 20 69 73 20 69 6e 20 70 72 6f 67 72 65 |ion is in progre| 00005d20 73 73 0a 20 20 20 20 20 20 20 20 62 69 74 20 20 |ss. bit | 00005d30 20 31 20 20 20 20 20 20 20 20 20 49 66 20 73 65 | 1 If se| 00005d40 74 2c 20 72 65 63 65 70 74 69 6f 6e 20 69 73 20 |t, reception is | 00005d50 69 6e 20 70 72 6f 67 72 65 73 73 0a 20 20 20 20 |in progress. | 00005d60 20 20 20 20 62 69 74 20 20 20 32 20 20 20 20 20 | bit 2 | 00005d70 20 20 20 20 49 66 20 73 65 74 2c 20 74 72 61 6e | If set, tran| 00005d80 73 6d 69 73 73 69 6f 6e 20 69 73 20 63 6f 6d 70 |smission is comp| 00005d90 6c 65 74 65 0a 20 20 20 20 20 20 20 20 62 69 74 |lete. bit| 00005da0 20 20 20 33 20 20 20 20 20 20 20 20 20 49 66 20 | 3 If | 00005db0 73 65 74 2c 20 72 65 63 65 70 74 69 6f 6e 20 69 |set, reception i| 00005dc0 73 20 63 6f 6d 70 6c 65 74 65 0a 20 20 20 20 20 |s complete. | 00005dd0 20 20 20 62 69 74 20 20 20 34 20 20 20 20 20 20 | bit 4 | 00005de0 20 20 20 49 66 20 73 65 74 2c 20 6f 74 68 65 72 | If set, other| 00005df0 20 63 6f 6d 6d 73 2e 20 61 72 65 20 69 6e 20 70 | comms. are in p| 00005e00 72 6f 67 72 65 73 73 20 65 67 2e 20 44 4e 53 20 |rogress eg. DNS | 00005e10 6c 6f 6f 6b 75 70 0a 20 20 20 20 20 20 20 20 62 |lookup. b| 00005e20 69 74 73 20 20 35 20 2d 20 33 31 20 20 20 20 52 |its 5 - 31 R| 00005e30 65 73 65 72 76 65 64 0a 0a 0a 0a 4f 74 68 65 72 |eserved....Other| 00005e40 20 4e 6f 74 65 73 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d | Notes.=========| 00005e50 3d 3d 0a 0a 59 6f 75 20 6d 75 73 74 20 70 72 65 |==..You must pre| 00005e60 73 65 72 76 65 20 74 68 65 20 41 72 63 57 65 62 |serve the ArcWeb| 00005e70 20 50 72 69 76 61 74 65 20 48 61 6e 64 6c 65 2e | Private Handle.| 00005e80 20 20 54 68 69 73 20 69 73 20 61 20 70 72 69 76 | This is a priv| 00005e90 61 74 65 20 70 6f 69 6e 74 65 72 20 74 6f 20 61 |ate pointer to a| 00005ea0 0a 70 61 72 74 20 6f 66 20 41 72 63 57 65 62 27 |.part of ArcWeb'| 00005eb0 73 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 6d 65 |s application me| 00005ec0 6d 6f 72 79 20 75 73 65 64 20 74 6f 20 64 69 73 |mory used to dis| 00005ed0 74 72 69 62 75 74 65 20 74 68 65 20 72 65 70 6c |tribute the repl| 00005ee0 69 65 73 20 77 68 69 63 68 0a 41 72 63 57 65 62 |ies which.ArcWeb| 00005ef0 20 72 65 63 65 69 76 65 73 2e 0a 0a 57 68 65 6e | receives...When| 00005f00 20 73 70 65 63 69 66 79 69 6e 67 20 61 6e 20 65 | specifying an e| 00005f10 78 70 69 72 79 20 64 61 74 65 20 69 6e 20 46 65 |xpiry date in Fe| 00005f20 74 63 68 44 6f 6e 65 20 6d 65 73 73 61 67 65 73 |tchDone messages| 00005f30 2c 20 69 66 20 79 6f 75 20 69 6e 74 65 6e 64 20 |, if you intend | 00005f40 74 6f 0a 73 70 65 63 69 66 79 20 61 20 64 61 74 |to.specify a dat| 00005f50 65 20 72 61 74 68 65 72 20 74 68 61 6e 20 61 6c |e rather than al| 00005f60 6c 6f 77 20 74 68 65 20 64 65 66 61 75 6c 74 20 |low the default | 00005f70 74 6f 20 62 65 20 75 73 65 64 2c 20 74 68 65 6e |to be used, then| 00005f80 20 79 6f 75 20 6d 75 73 74 0a 73 70 65 63 69 66 | you must.specif| 00005f90 79 20 74 68 69 73 20 61 73 20 61 6e 20 65 78 61 |y this as an exa| 00005fa0 63 74 20 64 61 74 65 2e 20 20 69 65 2e 20 6e 6f |ct date. ie. no| 00005fb0 74 20 72 65 6c 61 74 69 76 65 20 74 6f 20 74 68 |t relative to th| 00005fc0 65 20 63 75 72 72 65 6e 74 20 74 69 6d 65 2c 20 |e current time, | 00005fd0 79 6f 75 0a 6d 75 73 74 20 61 64 64 20 69 74 20 |you.must add it | 00005fe0 75 70 20 79 6f 75 72 73 65 6c 66 2e 20 20 48 54 |up yourself. HT| 00005ff0 54 50 20 73 65 72 76 65 72 73 20 6d 61 79 20 73 |TP servers may s| 00006000 75 70 70 6c 79 20 65 78 70 69 72 79 20 64 61 74 |upply expiry dat| 00006010 65 73 20 6f 6e 20 64 6f 63 75 6d 65 6e 74 73 0a |es on documents.| 00006020 77 68 69 63 68 20 74 68 65 79 20 72 65 74 75 72 |which they retur| 00006030 6e 2e 20 20 54 68 65 73 65 20 73 68 6f 75 6c 64 |n. These should| 00006040 20 62 65 20 68 6f 6e 6f 75 72 65 64 20 28 73 65 | be honoured (se| 00006050 65 20 64 6f 63 75 6d 65 6e 74 61 74 69 6f 6e 20 |e documentation | 00006060 6f 66 20 74 68 65 0a 54 65 72 72 69 74 6f 72 79 |of the.Territory| 00006070 20 6d 6f 64 75 6c 65 27 73 20 68 61 6e 64 6c 69 | module's handli| 00006080 6e 67 20 6f 66 20 54 69 6d 65 20 26 20 44 61 74 |ng of Time & Dat| 00006090 65 29 2e 0a 0a 54 68 65 20 27 73 6f 75 72 63 65 |e)...The 'source| 000060a0 27 2c 20 27 74 65 6d 70 6f 72 61 72 79 27 2c 20 |', 'temporary', | 000060b0 27 64 69 61 67 72 61 6d 27 20 61 6e 64 20 27 6c |'diagram' and 'l| 000060c0 69 6e 6b 27 20 77 6f 72 64 73 20 69 6e 20 74 68 |ink' words in th| 000060d0 65 20 46 65 74 63 68 52 65 71 75 65 73 74 0a 61 |e FetchRequest.a| 000060e0 6e 64 20 52 65 6e 64 65 72 52 65 71 75 65 73 74 |nd RenderRequest| 000060f0 20 6d 65 73 73 61 67 65 73 20 61 72 65 20 52 49 | messages are RI| 00006100 53 43 20 4f 53 20 66 69 6c 65 20 68 61 6e 64 6c |SC OS file handl| 00006110 65 73 20 74 6f 20 74 68 65 20 61 70 70 72 6f 70 |es to the approp| 00006120 72 69 61 74 65 20 66 69 6c 65 73 0a 69 6e 20 41 |riate files.in A| 00006130 72 63 57 65 62 27 73 20 63 61 63 68 65 2e 20 20 |rcWeb's cache. | 00006140 49 66 20 79 6f 75 20 61 63 6b 6e 6f 77 6c 65 64 |If you acknowled| 00006150 67 65 20 65 69 74 68 65 72 20 6f 66 20 74 68 65 |ge either of the| 00006160 20 52 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 | Request message| 00006170 73 2c 20 59 4f 55 0a 61 72 65 20 72 65 73 70 6f |s, YOU.are respo| 00006180 6e 73 69 62 6c 65 20 66 6f 72 20 63 6c 6f 73 69 |nsible for closi| 00006190 6e 67 20 74 68 65 20 66 69 6c 65 73 20 28 69 65 |ng the files (ie| 000061a0 2e 20 70 61 73 73 69 6e 67 20 74 68 65 20 68 61 |. passing the ha| 000061b0 6e 64 6c 65 20 74 6f 20 4f 53 5f 46 69 6e 64 20 |ndle to OS_Find | 000061c0 30 29 2e 0a 59 6f 75 20 6d 75 73 74 20 63 6c 6f |0)..You must clo| 000061d0 73 65 20 41 4c 4c 20 74 68 65 20 66 69 6c 65 20 |se ALL the file | 000061e0 68 61 6e 64 6c 65 73 20 69 6e 20 74 68 65 20 6d |handles in the m| 000061f0 65 73 73 61 67 65 20 65 76 65 6e 20 69 66 20 79 |essage even if y| 00006200 6f 75 20 64 6f 6e 27 74 20 75 73 65 0a 74 68 65 |ou don't use.the| 00006210 6d 20 61 6c 6c 2e 20 20 54 68 65 20 72 65 61 73 |m all. The reas| 00006220 6f 6e 20 66 6f 72 20 70 61 73 73 69 6e 67 20 68 |on for passing h| 00006230 61 6e 64 6c 65 73 20 61 72 6f 75 6e 64 20 69 73 |andles around is| 00006240 20 74 68 61 74 20 66 69 6c 65 6e 61 6d 65 73 20 | that filenames | 00006250 20 77 6f 6e 27 74 0a 6e 65 63 65 73 73 61 72 69 | won't.necessari| 00006260 6c 79 20 66 69 74 20 69 6e 20 74 68 65 20 6d 65 |ly fit in the me| 00006270 73 73 61 67 65 20 62 75 66 66 65 72 20 28 70 61 |ssage buffer (pa| 00006280 72 74 69 63 75 6c 61 72 6c 79 20 77 68 65 6e 20 |rticularly when | 00006290 79 6f 75 20 77 61 6e 74 20 74 6f 20 70 61 73 73 |you want to pass| 000062a0 20 35 0a 6f 66 20 74 68 65 6d 29 2e 20 20 49 66 | 5.of them). If| 000062b0 20 6a 75 73 74 20 68 61 76 69 6e 67 20 74 68 65 | just having the| 000062c0 20 68 61 6e 64 6c 65 20 69 73 20 69 6e 63 6f 6e | handle is incon| 000062d0 76 65 6e 69 65 6e 74 2c 20 79 6f 75 20 73 68 6f |venient, you sho| 000062e0 75 6c 64 20 75 73 65 20 4f 53 5f 41 72 67 73 0a |uld use OS_Args.| 000062f0 37 20 74 6f 20 63 6f 6e 76 65 72 74 20 74 68 65 |7 to convert the| 00006300 20 68 61 6e 64 6c 65 20 69 6e 74 6f 20 61 20 66 | handle into a f| 00006310 69 6c 65 6e 61 6d 65 20 28 61 73 20 21 41 72 63 |ilename (as !Arc| 00006320 57 65 62 4c 63 6c 20 64 6f 65 73 29 2c 20 63 6c |WebLcl does), cl| 00006330 6f 73 65 20 74 68 65 20 66 69 6c 65 0a 61 6e 64 |ose the file.and| 00006340 20 72 65 6f 70 65 6e 20 69 74 20 68 6f 77 20 79 | reopen it how y| 00006350 6f 75 20 77 61 6e 74 20 74 6f 20 64 6f 20 69 74 |ou want to do it| 00006360 2e 20 20 42 55 54 20 42 45 57 41 52 45 3a 20 6f |. BUT BEWARE: o| 00006370 6e 6c 79 20 64 6f 20 74 68 69 73 20 69 66 20 79 |nly do this if y| 00006380 6f 75 20 61 72 65 0a 67 6f 69 6e 67 20 74 6f 20 |ou are.going to | 00006390 61 63 6b 6e 6f 77 6c 65 64 67 65 20 74 68 65 20 |acknowledge the | 000063a0 6d 65 73 73 61 67 65 20 28 6f 74 68 65 72 77 69 |message (otherwi| 000063b0 73 65 20 6f 74 68 65 72 20 72 65 63 69 70 69 65 |se other recipie| 000063c0 6e 74 73 20 6f 66 20 74 68 65 20 6d 65 73 73 61 |nts of the messa| 000063d0 67 65 0a 77 69 6c 6c 20 66 69 6e 64 20 74 68 61 |ge.will find tha| 000063e0 74 20 74 68 65 79 20 68 61 76 65 20 61 6e 20 69 |t they have an i| 000063f0 6c 6c 65 67 61 6c 20 66 69 6c 65 20 68 61 6e 64 |llegal file hand| 00006400 6c 65 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 |le in the messag| 00006410 65 29 2e 20 20 46 6f 72 0a 46 65 74 63 68 52 65 |e). For.FetchRe| 00006420 71 75 65 73 74 2c 20 27 73 6f 75 72 63 65 27 20 |quest, 'source' | 00006430 69 73 20 6f 70 65 6e 65 64 20 61 73 20 72 65 61 |is opened as rea| 00006440 64 2f 77 72 69 74 65 20 28 4f 53 5f 46 69 6e 64 |d/write (OS_Find| 00006450 20 30 78 38 33 20 2d 20 5b 49 20 61 6c 77 61 79 | 0x83 - [I alway| 00006460 73 0a 74 68 6f 75 67 68 74 20 74 68 61 74 20 77 |s.thought that w| 00006470 61 73 20 66 6f 72 20 6f 75 74 70 75 74 20 6f 6e |as for output on| 00006480 6c 79 2c 20 62 75 74 20 6d 79 20 52 4f 33 20 50 |ly, but my RO3 P| 00006490 52 4d 73 20 73 61 79 20 6f 74 68 65 72 77 69 73 |RMs say otherwis| 000064a0 65 5d 29 2e 20 20 46 6f 72 0a 52 65 6e 64 65 72 |e]). For.Render| 000064b0 52 65 71 75 65 73 74 2c 20 27 73 6f 75 72 63 65 |Request, 'source| 000064c0 27 20 69 73 20 6f 70 65 6e 65 64 20 72 65 61 64 |' is opened read| 000064d0 20 6f 6e 6c 79 20 28 4f 53 5f 46 69 6e 64 20 30 | only (OS_Find 0| 000064e0 78 34 33 29 2c 20 61 6e 64 20 74 68 65 20 6f 74 |x43), and the ot| 000064f0 68 65 72 73 0a 61 72 65 20 72 65 61 64 2f 77 72 |hers.are read/wr| 00006500 69 74 65 20 28 4f 53 5f 46 69 6e 64 20 30 78 38 |ite (OS_Find 0x8| 00006510 33 29 2e 20 20 46 6f 72 20 50 6f 73 74 52 65 71 |3). For PostReq| 00006520 75 65 73 74 73 2c 20 74 68 65 20 73 6f 75 72 63 |uests, the sourc| 00006530 65 20 69 73 20 61 73 20 66 6f 72 0a 46 65 74 63 |e is as for.Fetc| 00006540 68 52 65 71 75 65 73 74 73 2c 20 61 6e 64 20 74 |hRequests, and t| 00006550 68 65 20 66 6f 72 6d 20 66 69 6c 65 20 69 73 20 |he form file is | 00006560 72 65 61 64 20 6f 6e 6c 79 2e 20 20 46 6f 72 20 |read only. For | 00006570 45 4d 61 69 6c 52 65 71 75 65 73 74 73 2c 20 74 |EMailRequests, t| 00006580 68 65 20 66 6f 72 6d 0a 66 69 6c 65 20 69 73 20 |he form.file is | 00006590 72 65 61 64 2d 6f 6e 6c 79 2e 0a 0a 5b 41 6e 20 |read-only...[An | 000065a0 65 78 61 6d 70 6c 65 20 6f 66 20 75 73 69 6e 67 |example of using| 000065b0 20 4f 53 5f 41 72 67 73 20 37 20 69 6e 20 42 41 | OS_Args 7 in BA| 000065c0 53 49 43 20 69 73 20 69 6e 20 21 41 72 63 57 65 |SIC is in !ArcWe| 000065d0 62 4c 63 6c 20 77 68 69 63 68 20 75 73 65 73 20 |bLcl which uses | 000065e0 4f 53 5f 43 4c 49 0a 74 6f 20 69 73 73 75 65 20 |OS_CLI.to issue | 000065f0 61 20 73 74 72 61 69 67 68 74 20 2a 43 4f 50 59 |a straight *COPY| 00006600 20 63 6f 6d 6d 61 6e 64 20 77 68 65 6e 20 74 68 | command when th| 00006610 65 20 73 79 6d 6c 69 6e 6b 20 62 69 74 20 69 73 |e symlink bit is| 00006620 20 63 6c 65 61 72 5d 0a 0a 0a 59 6f 75 20 64 6f | clear]...You do| 00006630 20 6e 6f 74 20 6e 65 65 64 20 74 6f 20 66 69 6c | not need to fil| 00006640 6c 20 69 6e 20 74 68 65 20 66 69 6c 65 20 74 79 |l in the file ty| 00006650 70 65 20 62 69 74 73 20 28 30 2d 31 35 2c 31 36 |pe bits (0-15,16| 00006660 20 61 6e 64 20 33 30 29 20 77 68 65 6e 20 73 65 | and 30) when se| 00006670 6e 64 69 6e 67 0a 74 68 65 20 46 65 74 63 68 20 |nding.the Fetch | 00006680 44 6f 6e 65 20 6d 65 73 73 61 67 65 2c 20 62 75 |Done message, bu| 00006690 74 20 69 74 20 77 69 6c 6c 20 61 73 73 69 73 74 |t it will assist| 000066a0 20 74 68 65 20 72 65 6e 64 65 72 65 72 73 20 69 | the renderers i| 000066b0 6e 20 64 65 63 69 64 69 6e 67 20 77 68 61 74 20 |n deciding what | 000066c0 74 6f 0a 64 6f 20 77 69 74 68 20 74 68 65 20 64 |to.do with the d| 000066d0 6f 63 75 6d 65 6e 74 20 69 66 20 79 6f 75 20 64 |ocument if you d| 000066e0 6f 2e 20 20 54 68 65 20 6d 6f 73 74 20 63 6f 6d |o. The most com| 000066f0 6d 6f 6e 20 74 79 70 65 73 20 72 65 74 75 72 6e |mon types return| 00006700 65 64 20 61 72 65 20 70 6c 61 69 6e 0a 74 65 78 |ed are plain.tex| 00006710 74 20 28 26 46 46 46 29 2c 20 48 54 4d 4c 20 28 |t (&FFF), HTML (| 00006720 26 46 41 46 29 2c 20 47 49 46 20 28 26 36 39 35 |&FAF), GIF (&695| 00006730 29 2c 20 4a 50 45 47 20 28 26 43 38 35 29 20 61 |), JPEG (&C85) a| 00006740 6e 64 20 58 42 4d 20 28 26 31 30 31 30 34 29 2e |nd XBM (&10104).| 00006750 0a 0a 57 41 52 4e 49 4e 47 3a 20 4d 6f 73 74 20 |..WARNING: Most | 00006760 48 54 54 50 20 73 65 72 76 65 72 73 20 61 72 65 |HTTP servers are| 00006770 20 63 6f 6e 66 69 67 75 72 65 64 20 77 69 74 68 | configured with| 00006780 20 61 20 64 65 66 61 75 6c 74 20 74 79 70 65 20 | a default type | 00006790 74 6f 20 72 65 74 75 72 6e 20 69 6e 0a 74 68 65 |to return in.the| 000067a0 20 63 61 73 65 20 74 68 61 74 20 69 74 20 63 61 | case that it ca| 000067b0 6e 6e 6f 74 20 77 6f 72 6b 20 6f 75 74 20 74 68 |nnot work out th| 000067c0 65 20 74 79 70 65 20 6f 66 20 61 20 66 69 6c 65 |e type of a file| 000067d0 20 66 72 6f 6d 20 69 74 73 20 6e 61 6d 65 20 6f | from its name o| 000067e0 72 20 61 0a 73 70 65 63 69 66 69 63 20 64 69 72 |r a.specific dir| 000067f0 65 63 74 69 76 65 20 74 65 6c 6c 69 6e 67 20 69 |ective telling i| 00006800 74 20 74 68 65 20 66 69 6c 65 20 74 79 70 65 2e |t the file type.| 00006810 20 20 54 68 69 73 20 64 65 66 61 75 6c 74 20 74 | This default t| 00006820 79 70 65 20 69 73 20 75 73 75 61 6c 6c 79 0a 74 |ype is usually.t| 00006830 65 78 74 2f 70 6c 61 69 6e 2e 20 20 54 68 69 73 |ext/plain. This| 00006840 20 69 73 20 61 20 70 72 6f 62 6c 65 6d 20 77 68 | is a problem wh| 00006850 65 6e 20 79 6f 75 20 77 69 73 68 20 74 6f 20 73 |en you wish to s| 00006860 74 6f 72 65 20 62 69 6e 61 72 79 20 66 69 6c 65 |tore binary file| 00006870 73 20 28 65 67 2e 0a 61 72 63 77 65 62 2e 61 72 |s (eg..arcweb.ar| 00006880 63 29 20 6f 6e 20 48 54 54 50 20 73 65 72 76 65 |c) on HTTP serve| 00006890 72 73 2c 20 61 73 20 6c 6f 75 69 73 2e 65 63 73 |rs, as louis.ecs| 000068a0 2e 73 6f 74 6f 6e 2e 61 63 2e 75 6b 27 73 20 73 |.soton.ac.uk's s| 000068b0 65 72 76 65 72 20 77 69 6c 6c 20 74 65 6c 6c 20 |erver will tell | 000068c0 79 6f 75 0a 74 68 61 74 20 74 68 69 73 20 69 73 |you.that this is| 000068d0 20 61 20 74 65 78 74 2f 70 6c 61 69 6e 20 66 69 | a text/plain fi| 000068e0 6c 65 2c 20 77 68 65 6e 20 6f 62 76 69 6f 75 73 |le, when obvious| 000068f0 6c 79 20 69 74 20 69 73 6e 27 74 2e 20 20 41 72 |ly it isn't. Ar| 00006900 63 57 65 62 20 30 2e 31 32 20 61 6e 64 0a 6c 61 |cWeb 0.12 and.la| 00006910 74 65 72 20 77 69 6c 6c 20 65 78 61 6d 69 6e 65 |ter will examine| 00006920 20 74 68 65 20 64 61 74 61 20 69 6e 20 74 68 65 | the data in the| 00006930 20 52 65 6e 64 65 72 52 65 71 75 65 73 74 20 6d | RenderRequest m| 00006940 65 73 73 61 67 65 2a 20 74 6f 20 65 6e 73 75 72 |essage* to ensur| 00006950 65 20 74 68 61 74 20 69 74 0a 64 6f 65 73 20 6e |e that it.does n| 00006960 6f 74 20 63 6f 6e 74 61 69 6e 20 6e 6f 6e 2d 70 |ot contain non-p| 00006970 72 69 6e 74 61 62 6c 65 20 63 68 61 72 61 63 74 |rintable charact| 00006980 65 72 73 20 62 65 66 6f 72 65 20 61 74 74 65 6d |ers before attem| 00006990 70 74 69 6e 67 20 74 6f 20 72 65 6e 64 65 72 20 |pting to render | 000069a0 69 74 2e 0a 0a 2a 20 73 65 65 20 72 65 6e 64 65 |it...* see rende| 000069b0 72 65 72 20 70 72 6f 74 6f 63 6f 6c 20 64 69 73 |rer protocol dis| 000069c0 63 75 73 73 69 6f 6e 20 62 65 6c 6f 77 0a 0a 0a |cussion below...| 000069d0 52 65 6e 64 65 72 65 72 20 50 72 6f 74 6f 63 6f |Renderer Protoco| 000069e0 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |l.==============| 000069f0 3d 3d 3d 0a 0a 20 20 54 68 65 20 52 65 6e 64 65 |===.. The Rende| 00006a00 72 65 72 20 50 72 6f 74 6f 63 6f 6c 20 69 73 20 |rer Protocol is | 00006a10 75 73 65 64 20 74 6f 20 74 72 61 6e 73 66 6f 72 |used to transfor| 00006a20 6d 20 61 20 66 69 6c 65 20 69 6e 74 6f 20 73 6f |m a file into so| 00006a30 6d 65 74 68 69 6e 67 20 77 68 69 63 68 20 63 61 |mething which ca| 00006a40 6e 0a 62 65 20 76 69 65 77 65 64 20 69 6e 20 74 |n.be viewed in t| 00006a50 68 65 20 41 72 63 57 65 62 20 77 69 6e 64 6f 77 |he ArcWeb window| 00006a60 2e 20 20 41 72 63 57 65 62 20 67 65 6e 65 72 61 |. ArcWeb genera| 00006a70 74 65 73 20 61 20 44 72 61 77 46 69 6c 65 20 28 |tes a DrawFile (| 00006a80 74 79 70 65 20 26 41 46 46 29 0a 74 6f 20 72 65 |type &AFF).to re| 00006a90 70 72 65 73 65 6e 74 20 74 68 65 20 48 54 4d 4c |present the HTML| 00006aa0 20 64 6f 63 75 6d 65 6e 74 2e 20 20 49 20 68 61 | document. I ha| 00006ab0 76 65 20 77 72 69 74 74 65 6e 20 6d 79 20 6f 77 |ve written my ow| 00006ac0 6e 20 70 61 72 73 65 72 20 74 6f 20 72 65 61 64 |n parser to read| 00006ad0 20 74 68 65 0a 48 54 4d 4c 20 66 69 6c 65 20 28 | the.HTML file (| 00006ae0 63 6f 6e 66 6f 72 6d 73 20 77 69 74 68 20 74 68 |conforms with th| 00006af0 65 20 48 54 4d 4c 20 32 2e 30 20 73 70 65 63 69 |e HTML 2.0 speci| 00006b00 66 69 63 61 74 69 6f 6e 2c 20 31 33 20 4a 75 6e |fication, 13 Jun| 00006b10 65 20 31 39 39 34 29 20 61 6e 64 0a 64 69 73 70 |e 1994) and.disp| 00006b20 6c 61 79 20 69 74 2e 20 20 52 65 6e 64 65 72 65 |lay it. Rendere| 00006b30 72 73 20 73 68 6f 75 6c 64 20 63 6f 6e 76 65 72 |rs should conver| 00006b40 74 20 69 6d 61 67 65 73 20 69 6e 74 6f 20 73 70 |t images into sp| 00006b50 72 69 74 65 73 20 61 6e 64 20 73 74 6f 72 65 20 |rites and store | 00006b60 74 68 65 6d 20 69 6e 0a 74 68 65 20 27 64 69 61 |them in.the 'dia| 00006b70 67 72 61 6d 27 20 66 69 6c 65 20 28 62 75 74 20 |gram' file (but | 00006b80 6f 6e 6c 79 20 69 66 20 69 74 20 69 73 20 61 6e |only if it is an| 00006b90 20 69 6e 6c 69 6e 65 20 64 61 74 61 20 66 65 74 | inline data fet| 00006ba0 63 68 20 2d 20 73 65 65 20 64 69 73 63 75 73 73 |ch - see discuss| 00006bb0 69 6f 6e 0a 6f 66 20 62 69 74 73 20 32 33 20 61 |ion.of bits 23 a| 00006bc0 6e 64 20 32 35 20 61 62 6f 76 65 29 2e 20 20 41 |nd 25 above). A| 00006bd0 72 63 57 65 62 20 77 69 6c 6c 20 62 65 20 65 78 |rcWeb will be ex| 00006be0 70 65 63 74 69 6e 67 20 61 20 73 70 72 69 74 65 |pecting a sprite| 00006bf0 20 66 69 6c 65 20 74 6f 20 62 65 0a 74 68 65 72 | file to be.ther| 00006c00 65 20 77 68 69 63 68 20 69 74 20 63 61 6e 20 74 |e which it can t| 00006c10 68 65 6e 20 69 6d 70 6f 72 74 2e 20 20 49 74 20 |hen import. It | 00006c20 77 69 6c 6c 20 74 61 6b 65 20 74 68 65 20 66 69 |will take the fi| 00006c30 72 73 74 20 73 70 72 69 74 65 20 6f 75 74 20 6f |rst sprite out o| 00006c40 66 20 74 68 65 0a 66 69 6c 65 2e 20 20 41 72 63 |f the.file. Arc| 00006c50 57 65 62 20 77 69 6c 6c 20 68 61 6e 64 6c 65 20 |Web will handle | 00006c60 52 49 53 43 20 4f 53 20 73 70 72 69 74 65 20 66 |RISC OS sprite f| 00006c70 69 6c 65 73 20 28 26 46 46 39 29 20 69 74 73 65 |iles (&FF9) itse| 00006c80 6c 66 20 28 61 6c 74 68 6f 75 67 68 20 69 74 0a |lf (although it.| 00006c90 77 69 6c 6c 20 62 72 6f 61 64 63 61 73 74 20 74 |will broadcast t| 00006ca0 68 65 20 6d 65 73 73 61 67 65 20 77 69 74 68 20 |he message with | 00006cb0 74 68 65 20 65 78 70 65 63 74 61 74 69 6f 6e 20 |the expectation | 00006cc0 6f 66 20 72 65 63 65 69 76 69 6e 67 20 69 74 20 |of receiving it | 00006cd0 62 61 63 6b 29 2e 20 20 59 6f 75 0a 73 68 6f 75 |back). You.shou| 00006ce0 6c 64 20 6e 6f 74 20 61 63 6b 6e 6f 77 6c 65 64 |ld not acknowled| 00006cf0 67 65 20 72 65 6e 64 65 72 20 72 65 71 75 65 73 |ge render reques| 00006d00 74 73 20 66 6f 72 20 66 69 6c 65 73 20 6f 66 20 |ts for files of | 00006d10 74 79 70 65 20 26 46 46 39 0a 0a 20 20 52 65 6e |type &FF9.. Ren| 00006d20 64 65 72 65 72 73 20 73 68 6f 75 6c 64 20 69 6e |derers should in| 00006d30 73 70 65 63 74 20 74 68 65 20 66 69 6c 65 20 74 |spect the file t| 00006d40 79 70 65 20 62 69 74 73 20 69 6e 20 74 68 65 20 |ype bits in the | 00006d50 52 65 6e 64 65 72 52 65 71 75 65 73 74 20 74 6f |RenderRequest to| 00006d60 20 73 65 65 0a 77 68 65 74 68 65 72 20 74 68 65 | see.whether the| 00006d70 20 66 69 6c 65 20 69 73 20 6f 66 20 61 20 74 79 | file is of a ty| 00006d80 70 65 20 77 68 69 63 68 20 74 68 65 79 20 63 61 |pe which they ca| 00006d90 6e 20 68 61 6e 64 6c 65 2e 20 20 49 66 20 74 68 |n handle. If th| 00006da0 65 20 74 79 70 65 20 69 73 20 6e 6f 74 0a 6b 6e |e type is not.kn| 00006db0 6f 77 6e 2a 20 28 62 69 74 20 33 30 20 69 73 20 |own* (bit 30 is | 00006dc0 63 6c 65 61 72 29 2c 20 74 68 65 6e 20 74 68 65 |clear), then the| 00006dd0 20 72 65 6e 64 65 72 65 72 20 6d 61 79 20 69 6e | renderer may in| 00006de0 73 70 65 63 74 20 74 68 65 20 66 69 72 73 74 20 |spect the first | 00006df0 66 65 77 20 62 79 74 65 73 0a 6f 66 20 74 68 65 |few bytes.of the| 00006e00 20 66 69 6c 65 2e 20 20 42 65 66 6f 72 65 20 73 | file. Before s| 00006e10 65 6e 64 69 6e 67 20 74 68 65 20 52 65 6e 64 65 |ending the Rende| 00006e20 72 52 65 71 75 65 73 74 20 6d 65 73 73 61 67 65 |rRequest message| 00006e30 2c 20 41 72 63 57 65 62 20 77 69 6c 6c 20 68 61 |, ArcWeb will ha| 00006e40 76 65 0a 6c 6f 61 64 65 64 20 69 6e 20 61 73 20 |ve.loaded in as | 00006e50 6d 75 63 68 20 6f 66 20 74 68 65 20 66 69 6c 65 |much of the file| 00006e60 20 61 73 20 70 6f 73 73 69 62 6c 65 20 74 6f 20 | as possible to | 00006e70 74 68 65 20 6d 65 73 73 61 67 65 20 28 74 6f 20 |the message (to | 00006e80 66 69 6c 6c 20 69 74 20 75 70 20 74 6f 0a 32 35 |fill it up to.25| 00006e90 36 20 62 79 74 65 73 29 2e 20 20 54 68 65 20 61 |6 bytes). The a| 00006ea0 6d 6f 75 6e 74 20 6f 66 20 64 61 74 61 20 69 6e |mount of data in| 00006eb0 20 74 68 65 20 6d 65 73 73 61 67 65 20 69 73 20 | the message is | 00006ec0 69 6e 20 62 75 66 2b 34 34 2c 20 61 6e 64 20 74 |in buf+44, and t| 00006ed0 68 65 20 64 61 74 61 0a 73 74 61 72 74 73 20 61 |he data.starts a| 00006ee0 74 20 62 75 66 2b 34 38 2e 20 20 54 68 75 73 20 |t buf+48. Thus | 00006ef0 75 70 20 74 6f 20 32 30 38 20 62 79 74 65 73 20 |up to 208 bytes | 00006f00 6f 66 20 64 61 74 61 20 77 69 6c 6c 20 62 65 20 |of data will be | 00006f10 70 72 65 73 65 6e 74 20 28 63 75 72 72 65 6e 74 |present (current| 00006f20 6c 79 0a 69 74 20 69 73 20 32 30 38 20 75 6e 6c |ly.it is 208 unl| 00006f30 65 73 73 20 74 68 65 20 66 69 6c 65 20 69 73 20 |ess the file is | 00006f40 6e 6f 74 20 74 68 61 74 20 6c 6f 6e 67 2c 20 69 |not that long, i| 00006f50 6e 20 77 68 69 63 68 20 63 61 73 65 20 74 68 65 |n which case the| 00006f60 20 77 68 6f 6c 65 20 66 69 6c 65 20 69 73 0a 74 | whole file is.t| 00006f70 68 65 72 65 29 2e 20 20 49 66 20 32 30 38 20 62 |here). If 208 b| 00006f80 79 74 65 73 20 69 73 20 6e 6f 74 20 65 6e 6f 75 |ytes is not enou| 00006f90 67 68 2c 20 74 68 65 20 72 65 6e 64 65 72 65 72 |gh, the renderer| 00006fa0 20 6d 61 79 20 75 73 65 20 74 68 65 20 66 69 6c | may use the fil| 00006fb0 65 20 68 61 6e 64 6c 65 0a 67 69 76 65 6e 20 69 |e handle.given i| 00006fc0 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 74 6f |n the message to| 00006fd0 20 72 65 61 64 20 6d 6f 72 65 20 6f 66 20 74 68 | read more of th| 00006fe0 65 20 66 69 6c 65 20 69 6e 2e 20 20 54 68 65 20 |e file in. The | 00006ff0 66 69 6c 65 20 70 6f 69 6e 74 65 72 20 73 68 6f |file pointer sho| 00007000 75 6c 64 0a 62 65 20 72 65 73 65 74 20 74 6f 20 |uld.be reset to | 00007010 7a 65 72 6f 20 69 66 20 69 74 20 64 65 63 69 64 |zero if it decid| 00007020 65 73 20 74 68 61 74 20 69 74 20 63 61 6e 27 74 |es that it can't| 00007030 20 68 61 6e 64 6c 65 20 69 74 2e 20 20 41 73 20 | handle it. As | 00007040 61 20 73 61 66 65 67 75 61 72 64 2c 0a 52 65 6e |a safeguard,.Ren| 00007050 64 65 72 65 72 73 20 4d 55 53 54 20 4e 4f 54 20 |derers MUST NOT | 00007060 61 73 73 75 6d 65 20 74 68 61 74 20 74 68 65 20 |assume that the | 00007070 66 69 6c 65 20 70 6f 69 6e 74 65 72 20 77 69 6c |file pointer wil| 00007080 6c 20 62 65 20 7a 65 72 6f 2c 20 61 6e 64 20 73 |l be zero, and s| 00007090 68 6f 75 6c 64 20 73 65 74 0a 69 74 20 65 78 70 |hould set.it exp| 000070a0 6c 69 63 69 74 6c 79 2e 0a 0a 2a 20 54 68 65 20 |licitly...* The | 000070b0 72 65 6e 64 65 72 65 72 20 6d 61 79 20 64 65 63 |renderer may dec| 000070c0 69 64 65 20 74 68 61 74 20 69 74 20 64 6f 65 73 |ide that it does| 000070d0 6e 27 74 20 27 74 72 75 73 74 27 20 74 68 65 20 |n't 'trust' the | 000070e0 67 69 76 65 6e 20 66 69 6c 65 20 74 79 70 65 2e |given file type.| 000070f0 20 20 49 66 0a 74 68 61 74 20 69 73 20 74 68 65 | If.that is the| 00007100 20 63 61 73 65 2c 20 74 68 65 6e 20 69 74 20 69 | case, then it i| 00007110 73 20 61 6c 6c 6f 77 65 64 20 74 6f 20 69 67 6e |s allowed to ign| 00007120 6f 72 65 20 62 69 74 20 33 30 20 61 6e 64 20 61 |ore bit 30 and a| 00007130 74 74 65 6d 70 74 20 74 6f 0a 72 65 63 6f 67 6e |ttempt to.recogn| 00007140 69 73 65 20 74 68 65 20 66 69 6c 65 20 74 79 70 |ise the file typ| 00007150 65 20 66 72 6f 6d 20 74 68 65 20 64 61 74 61 20 |e from the data | 00007160 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 20 62 |in the message b| 00007170 75 66 66 65 72 20 61 6e 64 20 61 63 74 20 6f 6e |uffer and act on| 00007180 20 74 68 61 74 0a 61 6c 6f 6e 65 2e 0a 0a 0a 0a | that.alone.....| 00007190 51 75 69 74 20 50 72 6f 74 6f 63 6f 6c 0a 3d 3d |Quit Protocol.==| 000071a0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 20 46 |===========.. F| 000071b0 65 74 63 68 65 72 73 20 61 6e 64 20 52 65 6e 64 |etchers and Rend| 000071c0 65 72 65 72 73 20 73 68 6f 75 6c 64 20 68 61 76 |erers should hav| 000071d0 65 20 61 20 63 6f 6e 66 69 67 75 72 61 62 6c 65 |e a configurable| 000071e0 20 6f 70 74 69 6f 6e 20 74 6f 20 61 6c 6c 6f 77 | option to allow| 000071f0 20 74 68 65 6d 20 74 6f 0a 71 75 69 74 20 77 68 | them to.quit wh| 00007200 65 6e 20 41 72 63 57 65 62 20 64 69 65 73 2e 20 |en ArcWeb dies. | 00007210 20 54 68 69 73 20 70 72 6f 76 69 64 65 73 20 61 | This provides a| 00007220 20 63 6c 65 61 6e 20 77 61 79 20 6f 66 20 73 68 | clean way of sh| 00007230 75 74 74 69 6e 67 20 41 72 63 57 65 62 20 61 6e |utting ArcWeb an| 00007240 64 20 61 6c 6c 0a 69 74 73 20 72 65 6c 61 74 65 |d all.its relate| 00007250 64 20 70 72 6f 67 72 61 6d 73 20 64 6f 77 6e 20 |d programs down | 00007260 69 6e 20 6f 6e 65 20 67 6f 2e 20 20 55 70 6f 6e |in one go. Upon| 00007270 20 72 65 63 65 69 70 74 20 6f 66 20 61 20 4d 65 | receipt of a Me| 00007280 73 73 61 67 65 5f 41 72 63 77 65 62 51 75 69 74 |ssage_ArcwebQuit| 00007290 0a 6d 65 73 73 61 67 65 2c 20 73 74 6f 72 65 20 |.message, store | 000072a0 74 68 65 20 74 61 73 6b 20 68 61 6e 64 6c 65 20 |the task handle | 000072b0 28 69 6e 20 62 75 66 2b 34 29 20 61 6e 64 20 77 |(in buf+4) and w| 000072c0 61 69 74 20 66 6f 72 20 74 68 65 20 57 69 6d 70 |ait for the Wimp| 000072d0 20 74 61 73 6b 0a 63 6c 6f 73 65 64 6f 77 6e 20 | task.closedown | 000072e0 6d 65 73 73 61 67 65 20 28 4d 65 73 73 61 67 65 |message (Message| 000072f0 5f 54 61 73 6b 43 6c 6f 73 65 44 6f 77 6e 20 30 |_TaskCloseDown 0| 00007300 78 34 30 30 43 33 29 20 74 6f 20 61 72 72 69 76 |x400C3) to arriv| 00007310 65 20 77 69 74 68 20 74 68 65 20 67 69 76 65 6e |e with the given| 00007320 0a 74 61 73 6b 20 68 61 6e 64 6c 65 2e 20 20 5b |.task handle. [| 00007330 54 6f 20 70 72 65 76 65 6e 74 20 41 72 63 57 65 |To prevent ArcWe| 00007340 62 20 63 6c 6f 73 69 6e 67 20 64 6f 77 6e 2c 20 |b closing down, | 00007350 61 63 6b 6e 6f 77 6c 65 64 67 65 20 74 68 65 0a |acknowledge the.| 00007360 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 51 75 |Message_ArcwebQu| 00007370 69 74 20 6d 65 73 73 61 67 65 20 2d 20 6e 6f 74 |it message - not| 00007380 20 69 6e 20 76 65 72 73 69 6f 6e 20 30 2e 30 38 | in version 0.08| 00007390 2e 20 20 41 72 63 57 65 62 20 77 69 6c 6c 20 65 |. ArcWeb will e| 000073a0 78 69 74 20 61 6e 79 77 61 79 2e 5d 0a 0a 20 20 |xit anyway.].. | 000073b0 42 79 20 75 73 69 6e 67 20 61 6e 20 65 78 74 72 |By using an extr| 000073c0 61 20 6d 65 73 73 61 67 65 2c 20 74 68 69 73 20 |a message, this | 000073d0 61 76 6f 69 64 73 20 74 68 65 20 6e 65 65 64 20 |avoids the need | 000073e0 66 6f 72 20 74 68 65 20 61 75 78 69 6c 69 61 72 |for the auxiliar| 000073f0 79 20 61 70 70 73 20 74 6f 0a 6c 6f 6f 6b 75 70 |y apps to.lookup| 00007400 20 74 68 65 20 74 61 73 6b 20 6e 61 6d 65 20 66 | the task name f| 00007410 72 6f 6d 20 74 68 65 20 68 61 6e 64 6c 65 20 74 |rom the handle t| 00007420 6f 20 63 68 65 63 6b 20 77 68 65 74 68 65 72 20 |o check whether | 00007430 69 74 20 77 61 73 20 41 72 63 57 65 62 20 6f 72 |it was ArcWeb or| 00007440 20 6e 6f 74 2c 0a 61 6e 64 20 74 68 69 73 20 61 | not,.and this a| 00007450 6c 73 6f 20 67 75 61 72 64 73 20 61 67 61 69 6e |lso guards again| 00007460 73 74 20 74 68 65 20 74 61 73 6b 20 6e 61 6d 65 |st the task name| 00007470 20 63 68 61 6e 67 69 6e 67 2e 0a 0a 20 20 44 6f | changing... Do| 00007480 20 6e 6f 74 20 61 63 6b 6e 6f 77 6c 65 64 67 65 | not acknowledge| 00007490 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 51 | Message_ArcwebQ| 000074a0 75 69 74 20 75 6e 6c 65 73 73 20 79 6f 75 20 77 |uit unless you w| 000074b0 69 73 68 20 74 6f 20 70 72 65 76 65 6e 74 20 74 |ish to prevent t| 000074c0 68 65 0a 73 68 75 74 64 6f 77 6e 20 28 74 72 65 |he.shutdown (tre| 000074d0 61 74 20 69 74 20 6c 69 6b 65 20 79 6f 75 20 77 |at it like you w| 000074e0 6f 75 6c 64 20 74 72 65 61 74 20 4d 65 73 73 61 |ould treat Messa| 000074f0 67 65 5f 50 72 65 51 75 69 74 29 0a 0a 0a 45 78 |ge_PreQuit)...Ex| 00007500 70 69 72 65 20 50 72 6f 74 6f 63 6f 6c 0a 3d 3d |pire Protocol.==| 00007510 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 20 |=============.. | 00007520 20 49 66 20 61 20 66 65 74 63 68 65 72 20 68 61 | If a fetcher ha| 00007530 73 20 75 73 65 64 20 61 20 73 79 6d 62 6f 6c 69 |s used a symboli| 00007540 63 20 6c 69 6e 6b 20 77 68 65 6e 20 66 65 74 63 |c link when fetc| 00007550 68 69 6e 67 20 61 20 66 69 6c 65 20 74 68 65 6e |hing a file then| 00007560 20 74 68 61 74 20 66 69 6c 65 0a 73 68 6f 75 6c | that file.shoul| 00007570 64 20 62 65 20 65 78 70 69 72 65 64 20 75 70 6f |d be expired upo| 00007580 6e 20 72 65 63 65 69 70 74 20 6f 66 20 4d 65 73 |n receipt of Mes| 00007590 73 61 67 65 5f 41 72 63 77 65 62 45 78 70 69 72 |sage_ArcwebExpir| 000075a0 65 2e 20 20 41 72 63 57 65 62 20 77 69 6c 6c 20 |e. ArcWeb will | 000075b0 70 61 73 73 20 79 6f 75 0a 61 20 68 61 6e 64 6c |pass you.a handl| 000075c0 65 20 74 6f 20 74 68 65 20 66 69 6c 65 20 69 6e |e to the file in| 000075d0 20 74 68 65 20 63 61 63 68 65 2e 20 20 49 66 20 | the cache. If | 000075e0 74 68 65 20 73 79 6d 62 6f 6c 69 63 20 6c 69 6e |the symbolic lin| 000075f0 6b 20 62 69 74 20 28 62 69 74 20 32 38 29 20 69 |k bit (bit 28) i| 00007600 73 20 73 65 74 0a 69 6e 20 74 68 65 20 66 6c 61 |s set.in the fla| 00007610 67 73 2c 20 74 68 65 6e 20 74 68 65 20 66 69 6c |gs, then the fil| 00007620 65 20 74 6f 20 62 65 20 72 65 6d 6f 76 65 64 20 |e to be removed | 00007630 69 73 20 72 65 61 6c 6c 79 20 74 68 65 20 66 69 |is really the fi| 00007640 6c 65 20 77 68 6f 73 65 20 6e 61 6d 65 20 69 73 |le whose name is| 00007650 0a 69 6e 20 74 68 65 20 66 69 6c 65 20 77 68 6f |.in the file who| 00007660 73 65 20 68 61 6e 64 6c 65 20 79 6f 75 20 68 61 |se handle you ha| 00007670 76 65 20 62 65 65 6e 20 67 69 76 65 6e 2e 20 20 |ve been given. | 00007680 21 41 72 63 77 65 62 4c 63 6c 20 69 67 6e 6f 72 |!ArcwebLcl ignor| 00007690 65 73 20 74 68 69 73 0a 6d 65 73 73 61 67 65 20 |es this.message | 000076a0 63 6f 6d 70 6c 65 74 65 6c 79 20 28 61 73 20 69 |completely (as i| 000076b0 74 20 73 68 6f 75 6c 64 29 2e 20 20 54 68 69 73 |t should). This| 000076c0 20 70 72 6f 74 6f 63 6f 6c 20 69 73 20 6e 6f 74 | protocol is not| 000076d0 20 66 69 78 65 64 20 61 6e 64 20 73 68 6f 75 6c | fixed and shoul| 000076e0 64 0a 6e 6f 74 20 79 65 74 20 62 65 20 75 73 65 |d.not yet be use| 000076f0 64 20 28 74 68 65 72 65 20 69 73 20 61 20 70 61 |d (there is a pa| 00007700 72 74 69 63 75 6c 61 72 20 70 72 6f 62 6c 65 6d |rticular problem| 00007710 20 77 69 74 68 20 65 78 74 65 6e 64 65 64 20 55 | with extended U| 00007720 52 4c 73 29 2c 20 62 75 74 0a 66 65 74 63 68 65 |RLs), but.fetche| 00007730 72 20 61 75 74 68 6f 72 73 20 73 68 6f 75 6c 64 |r authors should| 00007740 20 62 65 20 61 77 61 72 65 20 6f 66 20 69 74 73 | be aware of its| 00007750 20 66 75 74 75 72 65 20 65 78 69 73 74 65 6e 63 | future existenc| 00007760 65 2e 20 20 41 72 63 57 65 62 20 64 6f 65 73 20 |e. ArcWeb does | 00007770 6e 6f 74 0a 63 75 72 72 65 6e 74 6c 79 20 73 65 |not.currently se| 00007780 6e 64 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 |nd Message_Arcwe| 00007790 62 45 78 70 69 72 65 20 6d 65 73 73 61 67 65 73 |bExpire messages| 000077a0 2e 0a 0a 0a 50 6f 73 74 65 72 20 50 72 6f 74 6f |....Poster Proto| 000077b0 63 6f 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |col.============| 000077c0 3d 3d 3d 0a 0a 54 68 69 73 20 70 72 6f 74 6f 63 |===..This protoc| 000077d0 6f 6c 20 77 69 6c 6c 20 62 65 20 75 73 65 64 20 |ol will be used | 000077e0 77 68 65 6e 20 41 72 63 57 65 62 20 77 61 6e 74 |when ArcWeb want| 000077f0 73 20 74 6f 20 73 65 6e 64 20 69 6e 66 6f 72 6d |s to send inform| 00007800 61 74 69 6f 6e 20 74 6f 20 61 20 55 52 4c 0a 72 |ation to a URL.r| 00007810 61 74 68 65 72 20 74 68 61 6e 20 72 65 74 72 69 |ather than retri| 00007820 65 76 65 20 69 74 2c 20 69 65 2e 20 77 68 65 6e |eve it, ie. when| 00007830 20 61 6e 20 48 54 4d 4c 20 66 6f 72 6d 20 77 69 | an HTML form wi| 00007840 74 68 20 61 20 6d 65 74 68 6f 64 20 6f 66 20 50 |th a method of P| 00007850 4f 53 54 20 68 61 73 0a 62 65 65 6e 20 63 6f 6d |OST has.been com| 00007860 70 6c 65 74 65 64 20 61 6e 64 20 74 68 65 20 53 |pleted and the S| 00007870 55 42 4d 49 54 20 62 75 74 74 6f 6e 20 68 61 73 |UBMIT button has| 00007880 20 62 65 65 6e 20 70 72 65 73 73 65 64 2e 20 20 | been pressed. | 00007890 49 66 20 74 68 65 20 66 6f 72 6d 20 64 69 64 20 |If the form did | 000078a0 6e 6f 74 0a 6f 76 65 72 72 69 64 65 20 74 68 65 |not.override the| 000078b0 20 64 65 66 61 75 6c 74 20 28 47 45 54 29 20 6f | default (GET) o| 000078c0 72 20 63 68 6f 6f 73 65 73 20 74 68 65 20 47 45 |r chooses the GE| 000078d0 54 20 6d 65 74 68 6f 64 2c 20 74 68 65 20 74 68 |T method, the th| 000078e0 65 20 46 65 74 63 68 52 65 71 75 65 73 74 0a 70 |e FetchRequest.p| 000078f0 72 6f 74 6f 63 6f 6c 20 69 73 20 75 73 65 64 2c |rotocol is used,| 00007900 20 61 6e 64 20 74 68 65 20 66 65 74 63 68 65 72 | and the fetcher| 00007910 20 69 73 20 6e 6f 74 20 61 77 61 72 65 20 6f 66 | is not aware of| 00007920 20 74 68 65 20 66 61 63 74 20 74 68 61 74 20 74 | the fact that t| 00007930 68 65 20 64 61 74 61 0a 74 72 61 6e 73 66 65 72 |he data.transfer| 00007940 20 68 61 73 20 68 61 70 70 65 6e 65 64 20 28 61 | has happened (a| 00007950 6e 20 65 78 74 65 6e 64 65 64 20 55 52 4c 20 77 |n extended URL w| 00007960 69 6c 6c 20 68 61 76 65 20 62 65 65 6e 20 75 73 |ill have been us| 00007970 65 64 29 2e 0a 0a 50 6f 73 74 52 65 71 75 65 73 |ed)...PostReques| 00007980 74 20 73 68 6f 75 6c 64 20 62 65 20 74 72 65 61 |t should be trea| 00007990 74 65 64 20 65 78 61 63 74 6c 79 20 6c 69 6b 65 |ted exactly like| 000079a0 20 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 46 | Message_ArcwebF| 000079b0 65 74 63 68 52 65 71 75 65 73 74 2c 0a 65 78 63 |etchRequest,.exc| 000079c0 65 70 74 20 74 68 61 74 20 74 68 65 20 27 66 6f |ept that the 'fo| 000079d0 72 6d 27 20 66 69 6c 65 20 68 61 6e 64 6c 65 20 |rm' file handle | 000079e0 69 73 20 61 20 52 49 53 43 20 4f 53 20 66 69 6c |is a RISC OS fil| 000079f0 65 20 68 61 6e 64 6c 65 20 70 6f 69 6e 74 69 6e |e handle pointin| 00007a00 67 20 74 6f 20 61 0a 72 65 61 64 2d 6f 6e 6c 79 |g to a.read-only| 00007a10 20 66 69 6c 65 20 63 6f 6e 74 61 69 6e 69 6e 67 | file containing| 00007a20 20 64 61 74 61 20 74 6f 20 74 61 67 20 6f 6e 74 | data to tag ont| 00007a30 6f 20 74 68 65 20 65 6e 64 20 6f 66 20 74 68 65 |o the end of the| 00007a40 20 72 65 71 75 65 73 74 2e 20 0a 53 6f 6d 65 20 | request. .Some | 00007a50 66 6f 72 6d 73 20 75 73 65 20 74 68 65 20 50 55 |forms use the PU| 00007a60 54 20 6d 65 74 68 6f 64 20 69 6e 73 74 65 61 64 |T method instead| 00007a70 2e 20 20 54 68 65 20 66 65 74 63 68 65 72 20 63 |. The fetcher c| 00007a80 61 6e 20 64 65 74 65 72 6d 69 6e 65 20 77 68 65 |an determine whe| 00007a90 74 68 65 72 0a 74 68 65 20 73 75 62 6d 69 73 73 |ther.the submiss| 00007aa0 69 6f 6e 20 77 61 73 20 61 20 70 6f 73 74 20 6f |ion was a post o| 00007ab0 72 20 70 75 74 20 62 79 20 63 68 65 63 6b 69 6e |r put by checkin| 00007ac0 67 20 61 72 63 77 65 62 5f 46 4c 41 47 53 5f 70 |g arcweb_FLAGS_p| 00007ad0 6f 73 74 5f 77 61 73 5f 70 75 74 20 62 69 74 0a |ost_was_put bit.| 00007ae0 61 6e 64 20 73 65 6e 64 69 6e 67 20 61 20 50 55 |and sending a PU| 00007af0 54 20 69 6e 73 74 65 61 64 20 6f 66 20 61 20 50 |T instead of a P| 00007b00 4f 53 54 20 69 66 20 69 74 20 77 61 73 20 73 65 |OST if it was se| 00007b10 74 2e 0a 4f 62 76 69 6f 75 73 6c 79 2c 20 74 68 |t..Obviously, th| 00007b20 65 20 66 65 74 63 68 65 72 20 73 68 6f 75 6c 64 |e fetcher should| 00007b30 20 69 73 73 75 65 20 61 20 50 4f 53 54 20 63 6f | issue a POST co| 00007b40 6d 6d 61 6e 64 20 74 6f 20 74 68 65 20 48 54 54 |mmand to the HTT| 00007b50 50 20 73 65 72 76 65 72 0a 69 6e 73 74 65 61 64 |P server.instead| 00007b60 20 6f 66 20 61 20 47 45 54 2e 20 20 54 68 65 20 | of a GET. The | 00007b70 64 61 74 61 20 69 6e 20 74 68 65 20 66 6f 72 6d |data in the form| 00007b80 20 66 69 6c 65 20 77 69 6c 6c 20 62 65 20 73 75 | file will be su| 00007b90 69 74 61 62 6c 65 20 66 6f 72 20 74 61 63 6b 69 |itable for tacki| 00007ba0 6e 67 20 6f 6e 0a 49 4d 4d 45 44 49 41 54 45 4c |ng on.IMMEDIATEL| 00007bb0 59 20 61 66 74 65 72 20 74 68 65 20 50 4f 53 54 |Y after the POST| 00007bc0 20 61 6e 64 20 6f 74 68 65 72 20 75 73 75 61 6c | and other usual| 00007bd0 20 68 65 61 64 65 72 73 2c 20 61 73 20 69 74 20 | headers, as it | 00007be0 77 69 6c 6c 20 63 6f 6e 74 61 69 6e 20 61 0a 43 |will contain a.C| 00007bf0 6f 6e 74 65 6e 74 2d 4c 65 6e 67 74 68 3a 20 68 |ontent-Length: h| 00007c00 65 61 64 65 72 20 66 6f 6c 6c 6f 77 65 64 20 62 |eader followed b| 00007c10 79 20 61 20 62 6c 61 6e 6b 20 6c 69 6e 65 2c 20 |y a blank line, | 00007c20 66 6f 6c 6c 6f 77 65 64 20 62 79 20 74 68 65 20 |followed by the | 00007c30 66 6f 72 6d 20 64 61 74 61 0a 77 69 74 68 20 61 |form data.with a| 00007c40 6c 6c 20 74 68 65 20 61 70 70 72 6f 70 72 69 61 |ll the appropria| 00007c50 74 65 20 65 73 63 61 70 65 20 63 68 61 72 61 63 |te escape charac| 00007c60 74 65 72 73 20 61 6c 72 65 61 64 79 20 73 75 62 |ters already sub| 00007c70 73 74 69 74 75 74 65 64 20 69 6e 2e 20 20 54 68 |stituted in. Th| 00007c80 69 73 0a 64 61 74 61 20 73 68 6f 75 6c 64 20 62 |is.data should b| 00007c90 65 20 70 61 73 73 65 64 20 74 72 61 6e 73 70 61 |e passed transpa| 00007ca0 72 65 6e 74 6c 79 20 74 6f 20 74 68 65 20 48 54 |rently to the HT| 00007cb0 54 50 20 73 65 72 76 65 72 2e 20 20 54 68 65 20 |TP server. The | 00007cc0 66 65 74 63 68 65 72 20 73 68 6f 75 6c 64 0a 72 |fetcher should.r| 00007cd0 65 73 70 6f 6e 64 20 74 6f 20 41 72 63 57 65 62 |espond to ArcWeb| 00007ce0 20 77 69 74 68 20 61 20 4d 65 73 73 61 67 65 5f | with a Message_| 00007cf0 41 72 63 77 65 62 50 6f 73 74 44 6f 6e 65 20 69 |ArcwebPostDone i| 00007d00 6e 20 65 78 61 63 74 6c 79 20 74 68 65 20 73 61 |n exactly the sa| 00007d10 6d 65 20 66 6f 72 6d 61 74 0a 61 73 20 61 20 72 |me format.as a r| 00007d20 65 73 70 6f 6e 73 65 20 74 6f 20 4d 65 73 73 61 |esponse to Messa| 00007d30 67 65 5f 41 72 63 77 65 62 46 65 74 63 68 52 65 |ge_ArcwebFetchRe| 00007d40 71 75 65 73 74 2e 20 20 54 68 65 20 62 75 66 66 |quest. The buff| 00007d50 65 72 20 66 6f 72 20 50 6f 73 74 44 6f 6e 65 20 |er for PostDone | 00007d60 69 73 20 74 68 65 0a 73 61 6d 65 20 61 73 20 74 |is the.same as t| 00007d70 68 65 20 62 75 66 66 65 72 20 66 6f 72 20 46 65 |he buffer for Fe| 00007d80 74 63 68 44 6f 6e 65 2e 20 20 54 68 69 73 20 69 |tchDone. This i| 00007d90 73 20 62 65 63 61 75 73 65 20 74 68 65 20 74 61 |s because the ta| 00007da0 72 67 65 74 20 73 63 72 69 70 74 20 6f 6e 20 74 |rget script on t| 00007db0 68 65 0a 73 65 72 76 65 72 20 72 65 73 70 6f 6e |he.server respon| 00007dc0 64 73 20 77 69 74 68 20 61 20 6e 65 77 20 76 69 |ds with a new vi| 00007dd0 72 74 75 61 6c 20 64 6f 63 75 6d 65 6e 74 2c 20 |rtual document, | 00007de0 75 73 75 61 6c 6c 79 20 63 6f 6e 66 69 72 6d 69 |usually confirmi| 00007df0 6e 67 20 74 68 61 74 20 74 68 65 0a 64 61 74 61 |ng that the.data| 00007e00 20 65 6e 74 72 79 20 77 61 73 20 73 75 63 63 65 | entry was succe| 00007e10 73 73 66 75 6c 2f 66 61 69 6c 65 64 20 65 74 63 |ssful/failed etc| 00007e20 2e 0a 0a 45 4d 61 69 6c 20 50 72 6f 74 6f 63 6f |...EMail Protoco| 00007e30 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |l.==============| 00007e40 0a 0a 54 68 69 73 20 70 72 6f 74 6f 63 6f 6c 20 |..This protocol | 00007e50 77 69 6c 6c 20 62 65 20 75 73 65 64 20 77 68 65 |will be used whe| 00007e60 6e 20 41 72 63 57 65 62 20 77 61 6e 74 73 20 74 |n ArcWeb wants t| 00007e70 6f 20 73 65 6e 64 20 73 6f 6d 65 20 65 2d 6d 61 |o send some e-ma| 00007e80 69 6c 2e 20 20 41 72 63 57 65 62 0a 77 69 6c 6c |il. ArcWeb.will| 00007e90 20 73 65 6e 64 20 74 68 69 73 20 6d 65 73 73 61 | send this messa| 00007ea0 67 65 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 |ge when the user| 00007eb0 73 20 61 74 74 65 6d 70 74 73 20 74 6f 20 66 6f |s attempts to fo| 00007ec0 6c 6c 6f 77 20 61 20 6d 61 69 6c 74 6f 3a 20 68 |llow a mailto: h| 00007ed0 79 70 65 72 74 65 78 74 0a 6c 69 6e 6b 2c 20 6f |ypertext.link, o| 00007ee0 72 20 77 68 65 6e 20 61 20 66 6f 72 6d 20 77 69 |r when a form wi| 00007ef0 74 68 20 61 20 6d 61 69 6c 74 6f 3a 20 6d 65 74 |th a mailto: met| 00007f00 68 6f 64 20 69 73 20 73 75 62 6d 69 74 74 65 64 |hod is submitted| 00007f10 2e 20 20 49 6e 20 74 68 65 20 66 6f 72 6d 65 72 |. In the former| 00007f20 0a 63 61 73 65 2c 20 74 68 65 20 6d 65 73 73 61 |.case, the messa| 00007f30 67 65 20 72 65 6d 61 69 6e 73 20 74 6f 20 62 65 |ge remains to be| 00007f40 20 63 6f 6e 73 74 72 75 63 74 65 64 2c 20 73 6f | constructed, so| 00007f50 20 74 68 65 20 63 6f 6e 74 65 6e 74 73 20 6f 66 | the contents of| 00007f60 20 74 68 65 20 66 6f 72 6d 0a 66 69 6c 65 20 73 | the form.file s| 00007f70 68 6f 75 6c 64 20 62 65 20 74 61 6b 65 6e 20 61 |hould be taken a| 00007f80 73 20 74 68 65 20 69 6e 69 74 69 61 6c 20 74 65 |s the initial te| 00007f90 78 74 20 74 6f 20 62 65 20 70 6c 61 63 65 64 20 |xt to be placed | 00007fa0 69 6e 20 74 68 65 20 65 64 69 74 6f 72 2e 20 20 |in the editor. | 00007fb0 41 72 63 57 65 62 0a 67 75 61 72 61 6e 74 65 65 |ArcWeb.guarantee| 00007fc0 73 20 74 6f 20 6d 61 6b 65 20 74 68 65 20 66 69 |s to make the fi| 00007fd0 72 73 74 20 6c 69 6e 65 20 6f 66 20 74 68 65 20 |rst line of the | 00007fe0 66 69 6c 65 20 74 68 65 20 54 6f 3a 20 68 65 61 |file the To: hea| 00007ff0 64 65 72 2e 20 20 46 75 72 74 68 65 72 6d 6f 72 |der. Furthermor| 00008000 65 2c 0a 62 69 74 20 32 31 20 77 69 6c 6c 20 62 |e,.bit 21 will b| 00008010 65 20 63 6c 65 61 72 20 69 6e 64 69 63 61 74 69 |e clear indicati| 00008020 6e 67 20 74 68 61 74 20 74 68 65 20 6d 65 73 73 |ng that the mess| 00008030 61 67 65 20 69 73 20 6e 6f 74 20 79 65 74 20 63 |age is not yet c| 00008040 6f 6d 70 6c 65 74 65 2e 20 20 49 6e 0a 74 68 65 |omplete. In.the| 00008050 20 6c 61 74 74 65 72 20 63 61 73 65 20 28 74 68 | latter case (th| 00008060 65 20 69 6e 76 6f 6b 65 64 20 66 6f 72 6d 29 2c |e invoked form),| 00008070 20 62 69 74 20 32 31 20 77 69 6c 6c 20 62 65 20 | bit 21 will be | 00008080 73 65 74 2c 20 69 6e 64 69 63 61 74 69 6e 67 20 |set, indicating | 00008090 61 0a 63 6f 6d 70 6c 65 74 65 20 6d 65 73 73 61 |a.complete messa| 000080a0 67 65 20 69 73 20 69 6e 20 74 68 65 20 62 75 66 |ge is in the buf| 000080b0 66 65 72 20 61 6e 64 20 72 65 61 64 79 20 66 6f |fer and ready fo| 000080c0 72 20 6d 61 69 6c 69 6e 67 2e 20 20 41 72 63 57 |r mailing. ArcW| 000080d0 65 62 20 77 69 6c 6c 20 73 74 69 6c 6c 0a 67 75 |eb will still.gu| 000080e0 61 72 61 6e 74 65 65 20 74 68 61 74 20 74 68 65 |arantee that the| 000080f0 20 66 69 72 73 74 20 6c 69 6e 65 20 69 6e 20 74 | first line in t| 00008100 68 65 20 66 6f 72 6d 20 66 69 6c 65 20 69 73 20 |he form file is | 00008110 74 68 65 20 54 6f 3a 20 68 65 61 64 65 72 2c 20 |the To: header, | 00008120 62 75 74 20 77 69 6c 6c 0a 61 6c 73 6f 20 61 64 |but will.also ad| 00008130 64 20 61 6e 20 58 2d 4d 61 69 6c 65 72 3a 20 68 |d an X-Mailer: h| 00008140 65 61 64 65 72 2c 20 61 20 44 61 74 65 3a 20 68 |eader, a Date: h| 00008150 65 61 64 65 72 20 61 6e 64 20 61 6e 79 20 6f 74 |eader and any ot| 00008160 68 65 72 20 68 65 61 64 65 72 73 20 61 73 0a 64 |her headers as.d| 00008170 69 72 65 63 74 65 64 20 62 79 20 4d 48 20 74 61 |irected by MH ta| 00008180 67 73 20 69 6e 20 74 68 65 20 66 6f 72 6d 20 28 |gs in the form (| 00008190 65 67 2e 20 53 75 62 6a 65 63 74 3a 20 68 65 61 |eg. Subject: hea| 000081a0 64 65 72 73 29 0a 0a 55 70 6f 6e 20 72 65 63 65 |ders)..Upon rece| 000081b0 69 70 74 20 6f 66 20 74 68 65 20 45 4d 61 69 6c |ipt of the EMail| 000081c0 52 65 71 75 65 73 74 2c 20 74 68 65 20 65 2d 6d |Request, the e-m| 000081d0 61 69 6c 20 61 70 70 6c 69 63 61 74 69 6f 6e 20 |ail application | 000081e0 73 68 6f 75 6c 64 20 74 61 6b 65 20 6f 76 65 72 |should take over| 000081f0 0a 74 68 65 20 70 72 6f 63 65 73 73 20 6f 66 20 |.the process of | 00008200 73 65 6e 64 69 6e 67 20 65 2d 6d 61 69 6c 20 61 |sending e-mail a| 00008210 6e 64 20 72 65 74 75 72 6e 20 61 6e 20 45 4d 61 |nd return an EMa| 00008220 69 6c 44 6f 6e 65 2c 20 61 66 74 65 72 20 74 61 |ilDone, after ta| 00008230 6b 69 6e 67 20 61 20 63 6f 70 79 0a 6f 66 20 74 |king a copy.of t| 00008240 68 65 20 66 6f 72 6d 20 66 69 6c 65 20 63 6f 6e |he form file con| 00008250 74 65 6e 74 73 20 61 6e 64 20 63 6c 6f 73 69 6e |tents and closin| 00008260 67 20 74 68 65 20 66 6f 72 6d 20 66 69 6c 65 2e |g the form file.| 00008270 20 20 41 72 63 57 65 62 20 69 73 20 6e 6f 74 0a | ArcWeb is not.| 00008280 63 6f 6e 63 65 72 6e 65 64 20 77 69 74 68 20 77 |concerned with w| 00008290 68 61 74 20 68 61 70 70 65 6e 73 20 74 6f 20 74 |hat happens to t| 000082a0 68 65 20 65 2d 6d 61 69 6c 20 6e 65 78 74 2c 20 |he e-mail next, | 000082b0 61 73 20 66 61 72 20 61 73 20 69 74 20 69 73 20 |as far as it is | 000082c0 63 6f 6e 63 65 72 6e 65 64 2c 0a 74 68 65 20 65 |concerned,.the e| 000082d0 6d 61 69 6c 20 69 73 20 73 65 6e 74 2e 0a 0a 54 |mail is sent...T| 000082e0 68 65 72 65 20 69 73 20 6e 6f 20 76 69 72 74 75 |here is no virtu| 000082f0 61 6c 20 64 6f 63 75 6d 65 6e 74 20 72 65 74 75 |al document retu| 00008300 72 6e 65 64 20 66 72 6f 6d 20 61 6e 20 45 4d 61 |rned from an EMa| 00008310 69 6c 52 65 71 75 65 73 74 2e 20 20 54 68 65 20 |ilRequest. The | 00008320 65 2d 6d 61 69 6c 0a 61 70 70 6c 69 63 61 74 69 |e-mail.applicati| 00008330 6f 6e 20 6d 61 79 20 66 6c 61 67 20 61 6e 20 65 |on may flag an e| 00008340 72 72 6f 72 20 69 6e 20 74 68 65 20 75 73 75 61 |rror in the usua| 00008350 6c 20 77 61 79 20 28 61 6e 64 20 63 68 6f 6f 73 |l way (and choos| 00008360 65 20 77 68 65 74 68 65 72 20 74 6f 20 72 65 70 |e whether to rep| 00008370 6f 72 74 0a 74 68 65 20 65 72 72 6f 72 20 69 74 |ort.the error it| 00008380 73 65 6c 66 20 6f 66 20 6e 6f 74 29 2e 20 20 41 |self of not). A| 00008390 72 63 57 65 62 20 77 69 6c 6c 20 6f 70 65 6e 20 |rcWeb will open | 000083a0 61 20 64 69 61 6c 6f 67 75 65 20 62 6f 78 20 69 |a dialogue box i| 000083b0 6e 64 69 63 61 74 69 6e 67 20 74 68 65 0a 73 74 |ndicating the.st| 000083c0 61 74 75 73 20 6f 66 20 74 68 65 20 65 2d 6d 61 |atus of the e-ma| 000083d0 69 6c 2c 20 72 61 74 68 65 72 20 74 68 61 6e 20 |il, rather than | 000083e0 67 65 6e 65 72 61 74 69 6e 67 20 61 20 63 6f 6d |generating a com| 000083f0 70 6c 65 74 65 20 6e 65 77 20 70 61 67 65 2e 0a |plete new page..| 00008400 0a 41 72 63 57 65 62 54 43 50 20 77 69 6c 6c 20 |.ArcWebTCP will | 00008410 70 72 6f 76 69 64 65 20 74 68 65 20 65 6d 61 69 |provide the emai| 00008420 6c 20 66 61 63 69 6c 69 74 79 20 6f 6e 6c 79 20 |l facility only | 00008430 69 66 20 69 74 20 69 73 20 63 6f 6e 66 69 67 75 |if it is configu| 00008440 72 65 64 20 74 6f 20 64 6f 20 73 6f 2e 0a 54 6f |red to do so..To| 00008450 20 63 6f 6e 66 69 67 75 72 65 20 69 74 2c 20 79 | configure it, y| 00008460 6f 75 20 6d 75 73 74 20 67 69 76 65 20 69 74 20 |ou must give it | 00008470 79 6f 75 72 20 65 6d 61 69 6c 20 61 64 64 72 65 |your email addre| 00008480 73 73 20 61 6e 64 20 53 4d 54 50 20 67 61 74 65 |ss and SMTP gate| 00008490 77 61 79 20 6e 61 6d 65 2e 0a 0a 0a 43 6f 6e 66 |way name....Conf| 000084a0 69 67 75 72 61 74 69 6f 6e 20 50 72 6f 74 6f 63 |iguration Protoc| 000084b0 6f 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |ol.=============| 000084c0 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a 54 68 69 73 20 |=========..This | 000084d0 70 72 6f 74 6f 63 6f 6c 20 69 73 20 75 73 65 64 |protocol is used| 000084e0 20 77 68 65 6e 20 74 68 65 20 75 73 65 72 20 69 | when the user i| 000084f0 6e 76 6f 6b 65 73 20 61 6e 20 6f 70 74 69 6f 6e |nvokes an option| 00008500 20 6f 66 66 20 74 68 65 20 43 6f 6e 66 69 67 75 | off the Configu| 00008510 72 65 20 6d 65 6e 75 0a 6f 6e 20 41 72 63 57 65 |re menu.on ArcWe| 00008520 62 27 73 20 69 63 6f 6e 20 62 61 72 20 6d 65 6e |b's icon bar men| 00008530 75 2e 20 20 49 74 20 61 6c 6c 6f 77 73 20 74 68 |u. It allows th| 00008540 65 20 63 6f 6e 66 69 67 75 72 61 74 69 6f 6e 20 |e configuration | 00008550 77 69 6e 64 6f 77 73 20 6f 66 20 74 68 65 0a 68 |windows of the.h| 00008560 65 6c 70 65 72 20 61 70 70 6c 69 63 61 74 69 6f |elper applicatio| 00008570 6e 73 20 74 6f 20 62 65 20 61 63 63 65 73 73 65 |ns to be accesse| 00008580 64 20 65 76 65 6e 20 77 68 65 6e 20 6e 6f 20 69 |d even when no i| 00008590 63 6f 6e 20 62 61 72 20 69 63 6f 6e 20 69 73 20 |con bar icon is | 000085a0 69 6e 73 74 61 6c 6c 65 64 2e 0a 54 68 65 20 6e |installed..The n| 000085b0 61 6d 65 20 6f 66 20 74 68 65 20 61 70 70 6c 69 |ame of the appli| 000085c0 63 61 74 69 6f 6e 20 28 63 61 73 65 20 69 6e 73 |cation (case ins| 000085d0 65 6e 73 69 74 69 76 65 29 20 77 69 6c 6c 20 62 |ensitive) will b| 000085e0 65 20 69 6e 20 74 68 65 20 6d 65 73 73 61 67 65 |e in the message| 000085f0 2e 0a 54 68 65 20 6e 61 6d 65 20 6d 61 79 20 61 |..The name may a| 00008600 6c 73 6f 20 62 65 20 61 20 73 74 72 69 6e 67 20 |lso be a string | 00008610 6f 66 20 6c 65 6e 67 74 68 20 31 2c 20 74 68 61 |of length 1, tha| 00008620 74 20 63 68 61 72 61 63 74 65 72 20 62 65 69 6e |t character bein| 00008630 67 20 2a 20 77 68 69 63 68 0a 69 6e 64 69 63 61 |g * which.indica| 00008640 74 65 73 20 74 68 61 74 20 61 6c 6c 20 61 70 70 |tes that all app| 00008650 6c 69 63 61 74 69 6f 6e 73 20 61 72 65 20 74 6f |lications are to| 00008660 20 6f 70 65 6e 20 74 68 65 69 72 20 63 6f 6e 66 | open their conf| 00008670 69 67 75 72 61 74 69 6f 6e 20 77 69 6e 64 6f 77 |iguration window| 00008680 73 2e 0a 54 68 65 72 65 20 69 73 20 6e 6f 20 61 |s..There is no a| 00008690 63 6b 6e 6f 77 6c 65 64 67 65 6d 65 6e 74 20 72 |cknowledgement r| 000086a0 65 71 75 69 72 65 64 20 66 6f 72 20 74 68 69 73 |equired for this| 000086b0 20 70 72 6f 74 6f 63 6f 6c 2e 0a 0a 0a 45 78 74 | protocol....Ext| 000086c0 65 72 6e 61 6c 20 4c 61 75 6e 63 68 20 50 72 6f |ernal Launch Pro| 000086d0 74 6f 63 6f 6c 0a 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |tocol.==========| 000086e0 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 0a 0a |==============..| 000086f0 54 68 69 73 20 70 72 6f 74 6f 63 6f 6c 20 69 73 |This protocol is| 00008700 20 75 73 65 64 20 77 68 65 6e 20 61 6e 20 65 78 | used when an ex| 00008710 74 65 72 6e 61 6c 20 61 70 70 6c 69 63 61 74 69 |ternal applicati| 00008720 6f 6e 2c 20 73 75 63 68 20 61 73 20 61 20 6d 61 |on, such as a ma| 00008730 69 6c 20 72 65 61 64 65 72 2c 0a 77 69 73 68 65 |il reader,.wishe| 00008740 73 20 74 6f 20 6c 61 75 6e 63 68 20 61 20 55 52 |s to launch a UR| 00008750 4c 20 66 65 74 63 68 2e 20 20 54 68 65 20 27 50 |L fetch. The 'P| 00008760 72 69 76 61 74 65 20 68 61 6e 64 6c 65 27 20 66 |rivate handle' f| 00008770 69 65 6c 64 20 77 69 6c 6c 20 62 65 0a 70 72 65 |ield will be.pre| 00008780 73 65 72 76 65 64 20 69 6e 20 61 6e 79 20 72 65 |served in any re| 00008790 73 70 6f 6e 73 65 20 66 72 6f 6d 20 41 72 63 57 |sponse from ArcW| 000087a0 65 62 20 61 6c 6c 6f 77 69 6e 67 20 74 68 65 20 |eb allowing the | 000087b0 63 6c 69 65 6e 74 20 74 6f 20 68 61 76 65 0a 6d |client to have.m| 000087c0 75 6c 74 69 70 6c 65 20 6f 75 74 73 74 61 6e 64 |ultiple outstand| 000087d0 69 6e 67 20 72 65 71 75 65 73 74 73 2c 20 61 6c |ing requests, al| 000087e0 74 68 6f 75 67 68 20 41 72 63 57 65 62 20 64 6f |though ArcWeb do| 000087f0 65 73 20 6e 6f 74 20 67 75 61 72 61 6e 74 65 65 |es not guarantee| 00008800 20 74 6f 20 62 65 0a 61 62 6c 65 20 74 6f 20 73 | to be.able to s| 00008810 75 70 70 6f 72 74 20 6d 75 6c 74 69 70 6c 65 20 |upport multiple | 00008820 63 6f 6e 63 75 72 72 65 6e 74 20 65 78 74 65 72 |concurrent exter| 00008830 6e 61 6c 20 72 65 71 75 65 73 74 73 20 61 74 20 |nal requests at | 00008840 74 68 69 73 20 74 69 6d 65 2e 20 54 68 65 20 66 |this time. The f| 00008850 6c 61 67 73 0a 66 69 65 6c 64 20 63 6f 72 72 65 |lags.field corre| 00008860 73 70 6f 6e 64 73 20 74 6f 20 74 68 65 20 75 73 |sponds to the us| 00008870 75 61 6c 20 66 6c 61 67 73 20 73 70 65 63 69 66 |ual flags specif| 00008880 69 65 64 20 66 6f 72 20 2e 2e 52 65 71 75 65 73 |ied for ..Reques| 00008890 74 20 6d 65 73 73 61 67 65 73 20 77 69 74 68 0a |t messages with.| 000088a0 74 68 65 20 66 6f 6c 6c 6f 77 69 6e 67 20 65 78 |the following ex| 000088b0 63 65 70 74 69 6f 6e 73 3a 20 20 49 74 20 73 68 |ceptions: It sh| 000088c0 6f 75 6c 64 20 68 61 76 65 20 62 69 74 20 32 32 |ould have bit 22| 000088d0 20 73 65 74 20 69 6e 64 69 63 61 74 69 6e 67 20 | set indicating | 000088e0 74 68 61 74 20 61 20 66 69 6c 65 0a 68 61 6e 64 |that a file.hand| 000088f0 6c 65 20 69 73 20 70 72 65 73 65 6e 74 20 77 68 |le is present wh| 00008900 69 63 68 20 63 6f 6e 74 61 69 6e 73 20 61 20 66 |ich contains a f| 00008910 75 6c 6c 79 20 71 75 61 6c 69 66 69 65 64 20 55 |ully qualified U| 00008920 52 4c 2e 20 20 49 74 20 73 68 6f 75 6c 64 20 68 |RL. It should h| 00008930 61 76 65 20 6e 6f 0a 6f 74 68 65 72 20 66 6c 61 |ave no.other fla| 00008940 67 73 20 6d 61 79 20 62 65 20 73 65 74 20 65 78 |gs may be set ex| 00008950 63 65 70 74 20 66 6f 72 20 61 72 63 77 65 62 5f |cept for arcweb_| 00008960 46 4c 41 47 53 5f 72 65 6c 6f 61 64 2c 0a 61 72 |FLAGS_reload,.ar| 00008970 63 77 65 62 5f 46 4c 41 47 53 5f 6c 6f 61 64 5f |cweb_FLAGS_load_| 00008980 74 6f 5f 64 69 73 63 2c 20 6f 72 20 61 72 63 77 |to_disc, or arcw| 00008990 65 62 5f 46 4c 41 47 53 5f 69 6d 61 67 65 73 5f |eb_FLAGS_images_| 000089a0 64 69 73 61 62 6c 65 64 0a 0a 54 68 69 73 20 6d |disabled..This m| 000089b0 65 73 73 61 67 65 20 73 68 6f 75 6c 64 20 62 65 |essage should be| 000089c0 20 73 65 6e 74 20 72 65 63 6f 72 64 65 64 20 64 | sent recorded d| 000089d0 65 6c 69 76 65 72 79 20 28 69 65 2e 20 57 69 6d |elivery (ie. Wim| 000089e0 70 20 65 76 65 6e 74 20 74 79 70 65 20 31 38 29 |p event type 18)| 000089f0 20 61 6e 64 0a 75 70 6f 6e 20 72 65 63 65 69 70 | and.upon receip| 00008a00 74 20 6f 66 20 61 20 66 61 69 6c 75 72 65 20 28 |t of a failure (| 00008a10 57 69 6d 70 20 72 65 74 75 72 6e 73 20 61 20 57 |Wimp returns a W| 00008a20 69 6d 70 20 65 76 65 6e 74 20 74 79 70 65 20 31 |imp event type 1| 00008a30 39 29 20 74 68 65 20 65 78 74 65 72 6e 61 6c 0a |9) the external.| 00008a40 61 70 70 6c 69 63 61 74 69 6f 6e 20 6d 75 73 74 |application must| 00008a50 20 63 6c 6f 73 65 20 74 68 65 20 55 52 4c 20 66 | close the URL f| 00008a60 69 6c 65 20 61 6e 64 20 69 73 73 75 65 20 69 74 |ile and issue it| 00008a70 73 20 6f 77 6e 20 65 72 72 6f 72 2e 20 20 49 74 |s own error. It| 00008a80 20 6d 75 73 74 0a 61 73 73 75 6d 65 20 74 68 61 | must.assume tha| 00008a90 74 20 41 72 63 57 65 62 20 77 61 73 20 6e 6f 74 |t ArcWeb was not| 00008aa0 20 6c 6f 61 64 65 64 20 6f 72 20 77 61 73 20 6f | loaded or was o| 00008ab0 74 68 65 72 77 69 73 65 20 75 6e 61 62 6c 65 20 |therwise unable | 00008ac0 74 6f 20 72 65 73 70 6f 6e 64 2e 20 0a 41 72 63 |to respond. .Arc| 00008ad0 57 65 62 20 77 69 6c 6c 20 72 65 73 70 6f 6e 64 |Web will respond| 00008ae0 20 77 69 74 68 20 61 20 4d 65 73 73 61 67 65 5f | with a Message_| 00008af0 41 72 63 77 65 62 4c 61 75 6e 63 68 44 6f 6e 65 |ArcwebLaunchDone| 00008b00 20 6d 65 73 73 61 67 65 20 69 66 20 69 74 20 63 | message if it c| 00008b10 61 6e 20 28 61 6e 64 0a 74 68 75 73 20 61 73 73 |an (and.thus ass| 00008b20 75 6d 65 20 66 75 6c 6c 20 72 65 73 70 6f 6e 73 |ume full respons| 00008b30 69 62 69 6c 69 74 79 20 66 6f 72 20 74 68 65 20 |ibility for the | 00008b40 55 52 4c 20 66 69 6c 65 20 68 61 6e 64 6c 65 29 |URL file handle)| 00008b50 2e 20 20 54 68 65 20 65 72 72 6f 72 20 73 74 61 |. The error sta| 00008b60 74 75 73 0a 69 73 20 69 6e 64 69 63 61 74 65 64 |tus.is indicated| 00008b70 20 62 79 20 74 68 65 20 65 72 72 6f 72 20 62 69 | by the error bi| 00008b80 74 20 69 6e 20 74 68 65 20 66 6c 61 67 73 2c 20 |t in the flags, | 00008b90 61 6e 64 20 69 66 20 74 68 69 73 20 69 73 20 73 |and if this is s| 00008ba0 65 74 2c 20 74 68 65 6e 20 74 68 65 0a 62 75 66 |et, then the.buf| 00008bb0 66 65 72 20 63 6f 6e 74 61 69 6e 73 20 61 6e 20 |fer contains an | 00008bc0 65 72 72 6f 72 20 6d 65 73 73 61 67 65 2c 20 6f |error message, o| 00008bd0 74 68 65 72 77 69 73 65 20 74 68 65 20 62 75 66 |therwise the buf| 00008be0 66 65 72 20 63 6f 6e 74 65 6e 74 73 20 61 72 65 |fer contents are| 00008bf0 0a 69 6e 64 65 74 65 72 6d 69 6e 61 74 65 2e 0a |.indeterminate..| 00008c00 0a 0a 4d 65 73 73 61 67 65 5f 41 72 63 77 65 62 |..Message_Arcweb| 00008c10 57 65 62 42 72 6f 77 73 65 72 0a 3d 3d 3d 3d 3d |WebBrowser.=====| 00008c20 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d 3d |================| 00008c30 3d 3d 3d 0a 0a 41 72 63 57 65 62 54 43 50 20 73 |===..ArcWebTCP s| 00008c40 65 6e 64 73 20 62 72 6f 77 73 65 72 20 69 64 65 |ends browser ide| 00008c50 6e 74 69 66 69 63 61 74 69 6f 6e 20 74 6f 20 48 |ntification to H| 00008c60 54 54 50 20 73 65 72 76 65 72 73 20 77 68 65 6e |TTP servers when| 00008c70 20 69 74 20 74 61 6c 6b 73 20 74 6f 20 74 68 65 | it talks to the| 00008c80 6d 2e 20 0a 42 79 20 64 65 66 61 75 6c 74 2c 20 |m. .By default, | 00008c90 69 74 20 73 65 6e 64 73 20 74 68 65 20 6c 61 74 |it sends the lat| 00008ca0 65 73 74 20 6b 6e 6f 77 6e 20 76 65 72 73 69 6f |est known versio| 00008cb0 6e 20 6f 66 20 41 72 63 57 65 62 20 77 68 65 6e |n of ArcWeb when| 00008cc0 20 69 74 20 77 61 73 20 63 6f 6d 70 69 6c 65 64 | it was compiled| 00008cd0 2e 20 0a 48 6f 77 65 76 65 72 2c 20 73 69 6e 63 |. .However, sinc| 00008ce0 65 20 6f 74 68 65 72 20 77 65 62 20 62 72 6f 77 |e other web brow| 00008cf0 73 65 72 73 20 63 61 6e 20 75 73 65 20 74 68 65 |sers can use the| 00008d00 20 66 61 63 69 6c 69 74 69 65 73 20 70 72 6f 76 | facilities prov| 00008d10 69 64 65 64 20 62 79 0a 41 72 63 57 65 62 54 43 |ided by.ArcWebTC| 00008d20 50 2c 20 49 20 68 61 76 65 20 61 64 64 65 64 20 |P, I have added | 00008d30 74 68 69 73 20 6d 65 73 73 61 67 65 20 74 6f 20 |this message to | 00008d40 61 6c 6c 6f 77 20 74 68 65 20 62 72 6f 77 73 65 |allow the browse| 00008d50 72 20 74 6f 20 69 64 65 6e 74 69 66 79 20 69 74 |r to identify it| 00008d60 73 65 6c 66 0a 74 6f 20 72 65 6d 6f 74 65 20 73 |self.to remote s| 00008d70 65 72 76 65 72 73 2e 20 20 54 68 65 20 63 6f 6e |ervers. The con| 00008d80 74 65 6e 74 20 6f 66 20 74 68 65 20 62 75 66 66 |tent of the buff| 00008d90 65 72 20 28 73 65 65 20 72 65 71 75 65 73 74 65 |er (see requeste| 00008da0 72 2e 68 29 20 69 73 20 61 20 63 6f 6e 74 72 6f |r.h) is a contro| 00008db0 6c 0a 63 68 61 72 61 63 74 65 72 20 74 65 72 6d |l.character term| 00008dc0 69 6e 61 74 65 64 20 73 74 72 69 6e 67 20 6f 66 |inated string of| 00008dd0 20 74 68 65 20 66 6f 72 6d 20 53 74 72 69 6e 67 | the form String| 00008de0 2f 30 2e 30 30 20 77 68 65 72 65 20 53 74 72 69 |/0.00 where Stri| 00008df0 6e 67 20 69 73 20 74 68 65 0a 62 72 6f 77 73 65 |ng is the.browse| 00008e00 72 20 6e 61 6d 65 20 28 6d 61 79 20 63 6f 6e 74 |r name (may cont| 00008e10 61 69 6e 20 73 70 61 63 65 73 29 20 61 6e 64 20 |ain spaces) and | 00008e20 30 2e 30 30 20 69 73 20 74 68 65 20 76 65 72 73 |0.00 is the vers| 00008e30 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 20 41 72 63 |ion number. Arc| 00008e40 57 65 62 54 43 50 0a 77 69 6c 6c 20 69 6e 73 65 |WebTCP.will inse| 00008e50 72 74 20 74 68 69 73 20 73 74 72 69 6e 67 20 69 |rt this string i| 00008e60 6e 74 6f 20 74 68 65 20 68 65 61 64 65 72 73 20 |nto the headers | 00008e70 61 6e 64 20 61 70 70 65 6e 64 20 73 74 72 69 6e |and append strin| 00008e80 67 20 22 20 28 41 63 6f 72 6e 20 52 49 53 43 20 |g " (Acorn RISC | 00008e90 4f 53 3b 0a 41 52 4d 29 20 41 72 63 57 65 62 54 |OS;.ARM) ArcWebT| 00008ea0 43 50 2f 76 2e 76 76 22 20 74 6f 20 69 74 2c 20 |CP/v.vv" to it, | 00008eb0 73 75 62 73 74 69 74 75 69 6e 67 20 69 74 73 20 |substituing its | 00008ec0 76 65 72 73 69 6f 6e 20 6e 75 6d 62 65 72 2e 20 |version number. | 00008ed0 20 41 6e 79 20 63 6f 6e 74 72 6f 6c 0a 63 68 61 | Any control.cha| 00008ee0 72 61 63 74 65 72 73 20 6f 72 20 74 6f 70 20 62 |racters or top b| 00008ef0 69 74 20 73 65 74 20 63 68 61 72 61 63 74 65 72 |it set character| 00008f00 73 20 61 72 65 20 74 72 65 61 74 65 64 20 61 73 |s are treated as| 00008f10 20 74 65 72 6d 69 6e 61 74 6f 72 73 20 74 6f 20 | terminators to | 00008f20 70 72 65 76 65 6e 74 0a 61 6e 79 20 73 65 63 75 |prevent.any secu| 00008f30 72 69 74 79 20 62 72 65 61 63 68 65 73 2e 0a 0a |rity breaches...| 00008f40 0a 0a 3d 3d 45 4e 44 3d 3d 0a |..==END==.| 00008f4a