XLFNSLK ;ISF/RWF,ISD/HGW - Calling a DNS server for name lookup ;12/08/15 12:44
Source file <XLFNSLK.m>
| action | A | extended action | Ea | event driver | Ed | subscriber | Su | protocol | O | limited protocol | LP | run routine | RR | broker | B | edit | E | server | Se | P | screenman | SM | inquire | I |
| Name | Comments | DBIA/ICR reference |
|---|---|---|
| TEST | ;Test entry
|
|
| HOST(IP) | ;Get a host name from an IP address
|
|
| ADDRESS(N,T) | ;Get a IP address from a name
|
|
| MAIL(RET,N) | ;Get the MX address for a domain
|
|
| NS(XL,NAME,QTYPE,XLFLOG) | ;NAME LOOKUP
|
|
| NS2 | ;
|
|
| EXIT | ||
| BUILD(Y,T) | ;BUILD A QUERY
; ID,PARAM,#of?, #ofA, #of Auth, #of add, |
|
| READ | ;
|
|
| RDERR | ;End of read
|
|
| DECODE | ;
|
|
| QD(NSP) | ;Decode the Question section
|
|
| RR(NSP) | ;
|
|
| NAME(I,NM,F) | ;Decode a NAME section
|
|
| MX(IX) | ;Hide IX changes
|
|
| BN(Z1,Z2) | ;Convert two binary char 16 bit number into ASCII number
|
|
| WBN(Z1) | ;Convert two byte string to a ASCII number
|
|
| H2(Z2) | ;Convert 2 byte string to HEX
|
|
| H1(Z1) | ;Convert decimal number <= 256 to two digit HEX number
|
|
| H(Z1) | ||
| BIN16(S) | ;Convert two byte string to 16 bit binary
|
|
| PART(S,L) | ;
|
|
| TYPECODE(T) | ;
|
|
| CLASS(T) | ;
|
|
| GETDNS(I) | ;Get the address of our DNS
|
|
| SW(T,H,V) | ;
|
|
| SAVEDEV | ;Save calling device
|
|
| RESDEV | ;Restore calling device
|
|
| LOG(M,XLFLOG) | ;Log Debug messages
|
| Name | Line Occurrences |
|---|---|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: WRITE |
|
| Function Call: READ |
|
| Function Call: READ |
|
| Function Call: READ |
|
| Function Call: WRITE |
|
| Routine Call |
|
| Name | Line Occurrences (* Changed, ! Killed) |
|---|---|
| ^XTV(8989.3 - [#8989.3] | GETDNS+1 |
| Name | Line Occurrences |
|---|---|
| $$ADDRESS | TEST+4, TEST+6 |
| $$BIN16 | READ+5 |
| $$BN | QD+4, QD+5, RR+4, RR+5, RR+8, MX+2 |
| $$GETDNS | NS2+1 |
| $$H | H2+2 |
| $$H1 | RR+12, RR+13, RR+14, RR+15 |
| $$NAME | QD+3, RR+3, NAME+4, MX+5 |
| $$PART | NAME+5 |
| $$TYPECODE | BUILD+8 |
| $$WBN | READ+5 |
| BUILD | NS2+5 |
| DECODE | NS2+7 |
| EXIT | NS2+1 |
| LOG | NS2+2, NS2+4, NS2+5, NS2+8, BUILD+9, READ+3, READ+6, READ+7, DECODE+3 |
| MX | RR+17 |
| NS | ADDRESS+11, MAIL+3 |
| NS2 | NS2+3 |
| QD | DECODE+8 |
| RDERR | READ+3, READ+6 |
| READ | NS2+7 |
| RESDEV | NS2+8, EXIT |
| RR | DECODE+9 |
| SAVEDEV | NS+4 |
| >> | Not killed explicitly |
| * | Changed |
| ! | Killed |
| ~ | Newed |
| Name | Field # of Occurrence |
|---|---|
| % | BUILD+2~, BUILD+5*, BUILD+10* |
| A | PART+2~* |
| B | H2+1~*, H2+2 |
| CNT | NS+3~*, NS2+1, NS2+3* |
| DNS | NS+3~, NS2+1*, NS2+2, NS2+3 |
| DTIME | TEST+2 |
| F | NAME~, NAME+2, NAME+3, NAME+4, NAME+5 |
| H | SW~, SW+1 |
| I | ADDRESS+2~, ADDRESS+12*, MAIL+2~, MAIL+4*, MAIL+5, BUILD+2~, BUILD+5*, READ+5*, READ+8*, DECODE+2~ , NAME~, NAME+3, NAME+4, NAME+5*, GETDNS~, GETDNS+2 |
| IO | BUILD+10, READ+3, READ+8 |
| IO("CLOSE" | RESDEV+2! |
| IO(0 | SAVEDEV+1 |
| IP | HOST~, HOST+4 |
| IX | DECODE+2~, DECODE+7*, QD+3*, QD+4*, QD+5*, RR+3*, RR+4*, RR+5*, RR+6, RR+7* , RR+8*, RR+10, RR+12, RR+13, RR+14, RR+15, RR+17, RR+18*, MX~, MX+2 , MX+4*, MX+5* |
| K | BIN16+1~, BIN16+2* |
| L | PART~, PART+2, GETDNS+1~*, GETDNS+2 |
| L1 | READ+2~, READ+3*, READ+4 |
| L2 | READ+2~, READ+5* |
| M | LOG~, LOG+2 |
| MSG | BUILD+2~, BUILD+8*, BUILD+9, BUILD+10 |
| N | ADDRESS~, ADDRESS+7, ADDRESS+9, ADDRESS+11, MAIL~, MAIL+3, MAIL+5* |
| NA | RR+2~, RR+3*, RR+10, RR+16 |
| NAME | NS~, NS2+5 |
| NM | NAME~, NAME+2*, NAME+4, NAME+5* |
| NN | DECODE+2~, DECODE+9* |
| NN2 | DECODE+2~, DECODE+8*, DECODE+9* |
| NSP | QD~, QD+3, QD+4, QD+5, RR~, RR+3, RR+4, RR+5, RR+7, RR+8 , RR+9, RR+10, RR+11, RR+12, RR+13, RR+14, RR+15, RR+16, RR+17, RR+18 , MX+4, MX+5 |
| P | NAME+2~ |
| POP | NS+3~, NS2+3 |
| QTYPE | NS~, NS2+5 |
| R | PART+2~*, PART+3 |
| RET | MAIL~, MAIL+4*, MAIL+5* |
| RET( | MAIL+5* |
| RI | NS+3~, READ+2!*, READ+4*, READ+7, READ+8, DECODE+2 |
| RI( | READ+8*, QD+4, QD+5, RR+4, RR+5, RR+6, RR+8, RR+10, RR+12, RR+13 , RR+14, RR+15, NAME+3, NAME+4, MX+2, PART+2 |
| S | BIN16~, BIN16+1*, BIN16+2, PART~, PART+2 |
| T | ADDRESS~, ADDRESS+3*, ADDRESS+4*, ADDRESS+5, ADDRESS+6, ADDRESS+9, ADDRESS+11, MAIL+2~*, MAIL+3, BUILD~ , BUILD+8, NAME+2~*, NAME+3*, NAME+4*, NAME+5*, NAME+6, TYPECODE~, TYPECODE+2, TYPECODE+3, CLASS~ , CLASS+1, SW~, SW+1 |
| V | SW~, SW+1 |
| X | HOST+2~, HOST+4*, HOST+5, ADDRESS+2~, ADDRESS+7*, ADDRESS+8, BUILD+2~, BUILD+3*, BUILD+5*, BUILD+6* , BUILD+8, READ+2~, READ+8*, DECODE+2~, RR+8*, NAME+2~, NAME+3*, NAME+4*, NAME+5 |
| XL | NS~ |
| XL( | READ+5*, DECODE+9, QD+3*, QD+4*, QD+5*, RR+3*, RR+4*, RR+5*, RR+7*, RR+8* , RR+9, RR+10*, RR+11, RR+12*, RR+13*, RR+14*, RR+15*, RR+16, RR+17, RR+18 , MX+4*, MX+5* |
| XL("AA" | DECODE+5* |
| XL("ANCOUNT" | NS+3* |
| XL("B" | RR+10*, RR+16* |
| XL("CODE" | DECODE+5 |
| XL("ERR" | DECODE+3* |
| XL("ID" | DECODE+3 |
| XL("Opcode" | DECODE+5* |
| XL("P" | MX+3, MX+5* |
| XL("QD1NAME" | NS2+8 |
| XL("QDCOUNT" | DECODE+8 |
| XL("QR" | DECODE+5* |
| XL("RA" | DECODE+5* |
| XL("RCODE" | DECODE+5* |
| XL("RD" | DECODE+5* |
| XL("TC" | DECODE+5* |
| XLF | ADDRESS+2~*, ADDRESS+11, MAIL+2~*, MAIL+3 |
| XLF("AN" | ADDRESS+12 |
| XLF("ANCOUNT" | ADDRESS+12 |
| XLF("B" | MAIL+5 |
| XLF("P" | MAIL+4, MAIL+5 |
| XLFLOG | NS~, NS+3~, LOG~, LOG+2* |
| XLFLOG( | LOG+2* |
| XNAME | TEST+1~, TEST+2*, TEST+3, TEST+4, TEST+5, TEST+6 |
| Y | HOST+2~, HOST+3, HOST+5*, ADDRESS+2~*, ADDRESS+5, ADDRESS+8*, ADDRESS+9*, ADDRESS+12*, ADDRESS+13, MAIL+2~ , BUILD~, BUILD+4*, BUILD+5, DECODE+2~, QD+2~, QD+3*, RR+2~, RR+3*, RR+6*, RR+7 , NAME+2~, MX+2~*, MX+3*, MX+4, MX+5*, H1+1~*, H1+2, BIN16+1~*, BIN16+2*, BIN16+3 |
| Z | DECODE+2~, DECODE+5* |
| Z1 | BN~, BN+1, WBN~, WBN+1, H1~, H1+1, H~ |
| Z2 | BN~, BN+1, H2~, H2+1 |