Home » Archimedes archive » Acorn User » AU 1998-05 B.adf » PRMs » InetSWIs
InetSWIs
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 » Archimedes archive » Acorn User » AU 1998-05 B.adf » PRMs |
Filename: | InetSWIs |
Read OK: | ✔ |
File size: | 7A54 bytes |
Load address: | 0000 |
Exec address: | 0000 |
File contents
HELP( � ����, ��� � $ DIR$� � H����yw+J !Root L H���\��+� DNSResolver_ � H����+, Ec_ � H���N��+� HTMLDecode_ # H������+L HTTP_ �% H������+` Internet_ (5 H���^��+, KA9QAUN_ 6 H���ӵ�+, Mbuf_ �6 H���G��+, SLIPdriver_ \7 H������+X SysLog_ LO H������+ URI_ �X H���0��+, WebFTP_ Y H������+, WebGopher_ |Y G����(GԄ 3 !Pre Z H���.��+t RGB_ ^ H���^��+, PPPdriver_ �^ H�����+P MimeMap_ pb H�����+; about �h H������+� Msg_ ln H����À+( Service_ Hv H���:ŀ+t Resolver_ DATAJ Internet SWIs #Parent StrongHelp:!Menu #Postfix _ #Table Columns 4 <DNSResolver> <Ec> <HTMLDecode> <HTTP> <Internet> <KA9QAUN> <Mbuf> <MimeMap> <PPPdriver> <Resolver> <RGB> <SLIPdriver> <Socket=>InetSocket:!Root> <SysLog> <URI> <WebFTP> <WebGopher> #EndTable #Line #align centre {/}<Internet SWIs manual=>about>, v1.02{/} DIR$� � � G���<YЇ !Root T G�����X�k CacheFlush � G����֖� Check l G���lݖ� Dispose � G���fI�� DnComp � G����D��� DnExpand � G���w>�� GetAnswer � G���f<��� GetAnswerRaw p G����7�� GetHostByAddr h G���E2��� GetHostByName 0 G����-�� GetHostName � G����+�� GetMXQueryAnswer \ G��� *�� GetNSQueryAnswer G���7(�� GetSOAQueryAnswer � G����$�� MTGetHostByAddr d G����� MTGetHostByName � G������3 NameServers $ G���6�X�L ResDebug p G���2��� ResQuery \ G�����X�M ResStatus � G�����X�M ResUseVC � G������� ShowAnswer � G���(���� Start � G���1���Q Version DATA� DNSResolver (version 1.08) #Prefix DNSResolver_ #Table Columns 3 <CacheFlush> <Check> <Dispose> <DnComp> <DnExpand> <GetAnswer> <GetAnswerRaw> <GetHostByAddr> <GetHostByName> <GetHostName> <GetMXQueryAnswer> <GetNSQueryAnswer> <GetSOAQueryAnswer> <MTGetHostByAddr> <MTGetHostByName> <NameServers> <ResDebug> <ResQuery> <ResStatus> <ResUseVC> <ShowAnswer> <Start> <Version> #EndTable DATAk DNSResolver_CacheFlush (&46024) #Parent DNSResolver_ Flush everything from the DNS resolver cache. DATA� DNSResolver_Check (&46011) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = status (dns_status) Checks the progress of a multitasking DNS query. DATA� DNSResolver_Dispose (&46012) #Parent DNSResolver_ => R0 = query-handle Terminates & disposes of a multitasking DNS query.DATA� DNSResolver_DnComp (&4601F) #Parent DNSResolver_ => R0 = pointer to exp_dn (String) R1 = comp_dn (pointer to Char) R2 = dn_ptrs (pointer to pointer to Char) R3 = lastdnptr (pointer to pointer to Char) R4 = length (Int) <= R0 = status (Int) DATA� DNSResolver_DnExpand (&46020) #Parent DNSResolver_ => R0 = pointer to msg (String) R1 = pointer to eomsg (String) R2 = pointer to comp_dn (String) R3 = exp_dn (pointer to Char) R4 = length (Int) <= R0 = status (Int) DATA� DNSResolver_GetAnswer (&46013) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = host (pointer to hostent) Retrieves the DNS answer as a hostent structure if available. DATA� DNSResolver_GetAnswerRaw (&46014) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = result (pointer to data) R1 = resplen (Int) Retrieves the complete unparsed DNS answer if available. DATA� DNSResolver_GetHostByAddr (&46001) #Parent DNSResolver_ => R0 = &0 R1 = pointer to address (data) R2 = address_size (Int) R3 = address_type (Int) <= R1 = host (pointer to hostent) Looks up the host information as for gethostbyaddr(3). DATA� DNSResolver_GetHostByName (&46000) #Parent DNSResolver_ => R0 = &0 R1 = pointer to hostname (Char) <= R1 = host (pointer to hostent) Looks up the host information as for gethostbyname(3). DATA� DNSResolver_GetHostName (&46021) #Parent DNSResolver_ => R0 = buffer (pointer to Char) R1 = size (Int) <= R0 = status (Int) DATA� DNSResolver_GetMXQueryAnswer (&46015) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = host (pointer to dnsquery_mx) R1 = mxcount (Int) DATA� DNSResolver_GetNSQueryAnswer (&46016) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = host (pointer to dnsquery_ns) R1 = nscount (Int) DATA� DNSResolver_GetSOAQueryAnswer (&46017) #Parent DNSResolver_ => R0 = query (pointer to dnsquery) <= R0 = host (pointer to dnsquery_soa) R1 = soacount (Int) DATA� DNSResolver_MTGetHostByAddr (&46019) #Parent DNSResolver_ => R0 = pointer to address (data) R1 = address_size (Int) R2 = address_type (Int) <= R0 = query (pointer to dnsquery) DATA� DNSResolver_MTGetHostByName (&46018) #Parent DNSResolver_ => R0 = pointer to hostname (String) <= R0 = query (pointer to dnsquery) DATA3 DNSResolver_NameServers (&46023) #Parent DNSResolver_ <= R0 = size (Int) R1 = ns_address_list (pointer to sockaddr_in) Find out what nameservers are currently being used. This information should be treated as READ-ONLY, although you could (if careful) change these if you know what you are doing. DATAL DNSResolver_ResDebug (&4601B) #Parent DNSResolver_ (not documented)DATA� DNSResolver_ResQuery (&46022) #Parent DNSResolver_ => R0 = pointer to address (String) R1 = address_class (Int) R2 = lookup_type (Int) R3 = pointer to answer buffer (pointer to Char) R4 = size (Int) <= R0 = length (Int) DATAM DNSResolver_ResStatus (&4601A) #Parent DNSResolver_ (not documented) DATAM DNSResolver_ResUseVC (&4601C) #Parent DNSResolver_ (not documented) DATA� DNSResolver_ShowAnswer (&4601E) #Parent DNSResolver_ => R0 = pointer to response (data) R1 = buffer (pointer to Char) R2 = size (pointer to Int) R3 = answer length (Int) <= R0 = status (Int) DATA� DNSResolver_Start (&46010) #Parent DNSResolver_ => R0 = pointer to address (String) R1 = address_class (Int) R2 = lookup_type (Int) <= R0 = query (pointer to dnsquery) Starts a multitasking DNS query.DATAQ DNSResolver_Version (&4601D) #Parent DNSResolver_ <= R0 = version (Int) DIR$, , G����Y�!g !Root DATAg Ec #Parent !Root #Prefix Ec_ #Table Columns 2 Start Up Down Send Version MTU TxEvReq #EndTable DIR$� � G���� �u !Root � G���'���6 GetWord � G������� MoveBytes �! G����k�y GetAttribute DATAu HTMLDecode #Parent !Root #Prefix HTMLDecode_ #Table Columns 2 <GetWord> <GetAttribute> <MoveBytes> #EndTable DATA6 HTMLDecode_GetWord (&4D840) #Parent HTMLDecode_ => R0 = pointer to input buffer R1 = length of buffer R2 = <flags=>.flags> <= R0 = pointer to string, or 0 if no string present R1 = length to reduce buffer by This SWI reads a single word, or tag from a stream of raw HTML data. Strings returned may be up to 512 bytes in length and are valid until the next call to HTMLDecode_GetWord. Comment tags will never be returned as these are stripped completely. #Subpage flags Flags used in HTMLDecode_GetWords Bit Meaning if set #Line 0 <File is complete=>.flagbit0> #Subpage flagbit0 Flag bit 0 for HTMLDecode_GetWord In order that HTMLDecode may process files 'on the fly' whilst data is only partially available the flag word indicates whether the data in the buffer is the complete data from the server, or whether there is more to come but that it is not in the buffer at the moment. Therefore, when the end of the buffer is reached and the flag is unset then the currently processed string is abandoned and 0 returned. The buffer will have been scanned for comments and spaces and therefore R1 is valid. If the end of the buffer is reached and the flag is set then the currently processed string will be terminated and returned as the last string. Subsequent calls will return 0 indicating that the decode is complete. DATA� HTMLDecode_MoveBytes (&4D842) #Parent HTMLDecode_ => R0 = pointer to source address R1 = pointer to destination address R2 = length of data This SWI should be to move a queue of data down in memory. The idea is that you call this to move the data down in a continuous buffer so that you can read parts of a file in, parse it and then load more. A very simple copy is performed - the source should be above the destination if the areas overlap. DATAy HTMLDecode_GetAttrib (&4D841) #Parent HTMLDecode_ => R0 = pointer to string of attributes <= R0 = pointer to rest of string; after attribute R1 = capitalised attribute name, or 0 if none left R2 = value of attribute, or 0 if none given This SWI should be called for tags, after the tag itself has been removed. This should simplify the decoding of HTML attributes. DIR$L L \# G���e��� !Root �# G���� !�� 3 Open DATA� HTTP #Parent !Root #Prefix HTTP_ #Table Columns 2 <Open> Status Close MapToRISCOS MapFromRISCOS SetFileType CompletedPart #EndTable DATA� HTTP_Open #Parent HTTP_ => R0 = pointer to a <hostent structure=>Internet_hostent> R1 = pointer to page to fetch, or 0 for root R2 = (some form of header data) R3 = pointer to filename to retrieve body into R4 = pointer to filename to use as posting body R5 = <flags=>.flags> This will open a HTTP connection and fetch the requested page. #Subpage flags HTTP_Open flags Bit Meaning if set #Line 0 Use HTTPS (if available) 1 ? 2 Request just head 3 ? 4 Supply 'Range' header others unknown DIR$` ` @'