XLFNSLK ;ISF/RWF,ISD/HGW - Calling a DNS server for name lookup ;07/11/14 11:18
Source file <XLFNSLK.m>
| Name | Comments | DBIA/ICR reference | 
|---|---|---|
| H2(Z2) | ;Convert 2 byte string to HEX | |
| WBN(Z1) | ;Convert two byte string to a ASCII number | |
| NS(XL,NAME,QTYPE,XLFLOG) | ;NAME LOOKUP | |
| BIN16(S) | ;Convert two byte string to 16 bit binary | |
| QD(NSP) | ;Decode the Question section | |
| GETDNS(I) | ;Get the address of our DNS | |
| SAVEDEV | ;Save calling device | |
| POST | ;Stuff a DNS address during install POST init. | |
| RR(NSP) | ; | |
| H1(Z1) | ;Convert decimal number <= 256 to two digit HEX number | |
| BN(Z1,Z2) | ;Convert two binary char 16 bit number into ASCII number | |
| DECODE | ; | |
| READ | ; | |
| BUILD(Y,T) | ;BUILD A QUERY ; ID,PARAM,#of?, #ofA, #of Auth, #of add, | |
| MAIL(RET,N) | ;Get the MX address for a domain | 
 
 | 
| MX(IX) | ;Hide IX changes | |
| SW(T,H,V) | ; | |
| LOG(M) | ;Log Debug messages | |
| SHOW | ;LIST RI AND XL | |
| ADDRESS(N,T) | ;Get a IP address from a name | 
 
 | 
| PART(S,L) | ; | |
| RDERR | ;End of read | |
| NS2 | ||
| CLASS(T) | ; | |
| H(Z1) | ||
| RESDEV | ;Restore calling device | |
| TYPECODE(T) | ; | |
| EXIT | ||
| NAME(I,NM,F) | ;Decode a NAME section | |
| TEST | ;Test entry | 
| Name | Field # of Occurrence | 
|---|---|
| HOME^%ZIS | SAVEDEV+1 | 
| CALL^%ZISTCP | NS2+2 | 
| CLOSE^%ZISTCP | RDERR+1 | 
| RMDEV^%ZISUTL | RESDEV+1 | 
| SAVDEV^%ZISUTL | SAVEDEV+1 | 
| USE^%ZISUTL | RESDEV+1 | 
| ^DIE | POST+5 | 
| EN^DIQ1 | POST+4 | 
| $$PARAM^HLCS2 | POST+2 | 
| $$VERSION^XLFIPV | ADDRESS+2 | 
| $$RJ^XLFSTR | H1+2 | 
| $$BASE^XLFUTL | H | 
| $$CNV^XLFUTL | H1+1 | 
| BMES^XPDUTL | POST+3, POST+6 | 
| 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: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: READ | 
 | 
| Function Call: READ | 
 | 
| Function Call: READ | 
 | 
| Function Call: WRITE | 
 | 
| Function Call: WRITE | 
 | 
| Routine Call | 
 | 
| Routine Call | 
 | 
| Name | Line Occurrences (* Changed, ! Killed) | 
|---|---|
| ^%ZOSF("OS" | ADDRESS+3 | 
| ^XTV(8989.3 - [#8989.3] | GETDNS+1 | 
| Name | Line Occurrences | 
|---|---|
| $$BIN16 | READ+4 | 
| $$BN | QD+3, QD+4, RR+3, RR+4, RR+7, MX+1 | 
| $$GETDNS | NS2 | 
| $$H | H2+2 | 
| $$H1 | RR+11, RR+12, RR+13, RR+14 | 
| $$NAME | QD+2, RR+2, NAME+3, MX+4 | 
| $$PART | NAME+4 | 
| $$TYPECODE | BUILD+8 | 
| $$WBN | READ+4 | 
| BUILD | NS2+4 | 
| DECODE | NS2+6 | 
| EXIT | NS2 | 
| LOG | NS2+1, NS2+3, NS2+4, NS2+7, BUILD+9, READ+2, READ+5, READ+6, DECODE+2 | 
| MX | RR+16 | 
| NS | TEST+4, TEST+8, ADDRESS+5, MAIL+3 | 
| NS2 | NS2+2 | 
| QD | DECODE+7 | 
| RDERR | READ+2, READ+5 | 
| READ | NS2+6 | 
| RESDEV | NS2+7, EXIT | 
| RR | DECODE+8 | 
| SAVEDEV | NS+4 | 
| SW | SHOW+2 | 
| >> | Not killed explicitly | 
| * | Changed | 
| ! | Killed | 
| ~ | Newed | 
| Name | Field # of Occurrence | 
|---|---|
| % | BUILD+2~, BUILD+5*, BUILD+10* | 
| A | PART+1~* | 
| B | H2+1~*, H2+2 | 
| CNT | NS+3~*, NS2, NS2+2* | 
| >> DA | POST+4*, POST+5* | 
| DIC | POST+1~, POST+4* | 
| DIE | POST+1~, POST+5* | 
| DIQ | POST+1~, POST+4* | 
| DNS | NS+3~, NS2*, NS2+1, NS2+2 | 
| DR | POST+1~, POST+4*, POST+5* | 
| DTIME | TEST+2 | 
| F | NAME~, NAME+1, NAME+2, NAME+3, NAME+4 | 
| H | SW~, SW+1 | 
| I | TEST+1~, ADDRESS+1~, ADDRESS+6*, MAIL+2~, MAIL+4*, MAIL+5, BUILD+2~, BUILD+5*, READ+4*, READ+7* , DECODE+1~, NAME~, NAME+2, NAME+3, NAME+4*, GETDNS~, GETDNS+2, SHOW+2* | 
| IO | BUILD+10, READ+2, READ+7 | 
| IO("CLOSE" | RESDEV+2! | 
| IO(0 | SAVEDEV+1 | 
| IX | DECODE+1~, DECODE+6*, QD+2*, QD+3*, QD+4*, RR+2*, RR+3*, RR+4*, RR+5, RR+6* , RR+7*, RR+9, RR+11, RR+12, RR+13, RR+14, RR+16, RR+17*, MX~, MX+1 , MX+3*, MX+4* | 
| K | BIN16+1~, BIN16+2* | 
| L | PART~, PART+1, GETDNS+1~*, GETDNS+2 | 
| L1 | READ+1~, READ+2*, READ+3 | 
| L2 | READ+1~, READ+4* | 
| M | LOG~, LOG+1 | 
| MSG | BUILD+2~, BUILD+8*, BUILD+9, BUILD+10 | 
| N | ADDRESS~, ADDRESS+5, MAIL~, MAIL+3, MAIL+5* | 
| NA | RR+1~, RR+2*, RR+9, RR+15 | 
| NAME | NS~, NS2+4 | 
| NM | NAME~, NAME+1*, NAME+3, NAME+4* | 
| NN | DECODE+1~, DECODE+8* | 
| NN2 | DECODE+1~, DECODE+7*, DECODE+8* | 
| NSP | QD~, QD+2, QD+3, QD+4, RR~, RR+2, RR+3, RR+4, RR+6, RR+7 , RR+8, RR+9, RR+10, RR+11, RR+12, RR+13, RR+14, RR+15, RR+16, RR+17 , MX+3, MX+4 | 
| >> O1 | SHOW+1*, SHOW+2 | 
| >> O2 | SHOW+1*, SHOW+2 | 
| P | NAME+1~ | 
| POP | NS+3~, NS2+2 | 
| QTYPE | NS~, NS2+4 | 
| R | PART+1~*, PART+2 | 
| RET | MAIL~, MAIL+4*, MAIL+5* | 
| RET( | MAIL+5* | 
| RI | NS+3~, READ+1!*, READ+3*, READ+6, READ+7, DECODE+1, SHOW+1 | 
| RI( | READ+7*, QD+3, QD+4, RR+3, RR+4, RR+5, RR+7, RR+9, RR+11, RR+12 , RR+13, RR+14, NAME+2, NAME+3, MX+1, PART+1, SHOW+2 | 
| S | BIN16~, BIN16+1*, BIN16+2, PART~, PART+1 | 
| T | ADDRESS~, ADDRESS+1*, ADDRESS+2*, ADDRESS+3, ADDRESS+5, MAIL+2~*, MAIL+3, BUILD~, BUILD+8, NAME+1~* , NAME+2*, NAME+3*, NAME+4*, NAME+5, TYPECODE~, TYPECODE+2, TYPECODE+3, CLASS~, CLASS+1, SW~ , SW+1 | 
| U | POST+2 | 
| V | SW~, SW+1 | 
| X | BUILD+2~, BUILD+3*, BUILD+5*, BUILD+6*, BUILD+8, READ+1~, READ+7*, DECODE+1~, RR+7*, NAME+1~ , NAME+2*, NAME+3*, NAME+4 | 
| XL | NS~ | 
| XL( | READ+4*, DECODE+8, QD+2*, QD+3*, QD+4*, RR+2*, RR+3*, RR+4*, RR+6*, RR+7* , RR+8, RR+9*, RR+10, RR+11*, RR+12*, RR+13*, RR+14*, RR+15, RR+16, RR+17 , MX+3*, MX+4* | 
| XL("AA" | DECODE+4* | 
| XL("ANCOUNT" | NS+3* | 
| XL("B" | RR+9*, RR+15* | 
| XL("CODE" | DECODE+4 | 
| XL("ERR" | DECODE+2* | 
| XL("ID" | DECODE+2 | 
| XL("Opcode" | DECODE+4* | 
| XL("P" | MX+2, MX+4* | 
| XL("QD1NAME" | NS2+7 | 
| XL("QDCOUNT" | DECODE+7 | 
| XL("QR" | DECODE+4* | 
| XL("RA" | DECODE+4* | 
| XL("RCODE" | DECODE+4* | 
| XL("RD" | DECODE+4* | 
| XL("TC" | DECODE+4* | 
| XL1 | TEST+1~, TEST+3*, TEST+4, TEST+5*, TEST+7*, TEST+8, TEST+9* | 
| XL4 | TEST+1~*, TEST+4 | 
| XL6 | TEST+1~*, TEST+8 | 
| XLF | TEST+1~*, TEST+4, TEST+8, ADDRESS+1~*, ADDRESS+5, MAIL+2~*, MAIL+3, POST+1~, POST+2*, POST+3 | 
| XLF( | POST+4 | 
| XLF("AN" | ADDRESS+6 | 
| XLF("ANCOUNT" | ADDRESS+6 | 
| XLF("B" | TEST+6, TEST+10, MAIL+5 | 
| XLF("P" | MAIL+4, MAIL+5 | 
| XLFLOG | NS~, NS+3~, LOG+1* | 
| XLFLOG( | LOG+1* | 
| XNAME | TEST+1~, TEST+2*, TEST+3, TEST+7 | 
| Y | TEST+1~, TEST+6*, TEST+10*, ADDRESS+1~, ADDRESS+3, ADDRESS+6*, ADDRESS+7, MAIL+2~, BUILD~, BUILD+4* , BUILD+5, DECODE+1~, QD+1~, QD+2*, RR+1~, RR+2*, RR+5*, RR+6, NAME+1~, MX+1~* , MX+2*, MX+3, MX+4*, H1+1~*, H1+2, BIN16+1~*, BIN16+2*, BIN16+3 | 
| Z | DECODE+1~, DECODE+4* | 
| Z1 | BN~, BN+1, WBN~, WBN+1, H1~, H1+1, H~ | 
| Z2 | BN~, BN+1, H2~, H2+1 |