NEW PREFIX AUTO 4,1 .LIST OFF .OP 65C02 .OR $2000 .TF BIN/DNSINFO *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I .INB INC/ETH.I .INB INC/LIBTCPIP.I *-------------------------------------- .DUMMY .OR ZPBIN ZS.START ZPPTR1 .EQ ZPBIN ZS.END .ED *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA #0 S.PS.F.EVENT .DA #0 .DA CS.END-CS.START Code Size (without Constants) .DA DS.END-DS.START Data SegmentSize .DA #32 Stack Size .DA #ZS.END-ZS.START Zero Page Size .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.EVENT .DA CS.QUIT L.LIBTCPIP .DA LIBTCPIP L.MSG.IPKO .DA MSG.IPKO L.SSCANF.IP .DA SSCANF.IP L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 L.MSG1.Status .DA MSG1.S .DA MSG1.P .DA MSG1.D L.MSG.USAGE .DA MSG.USAGE .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP >SYSCALL LoadLib bcs .9 sta hLIBTCPIP .9 rts *-------------------------------------- CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ? >STYA ZPPTR1 lda (ZPPTR1) Configured ? bmi CS.RUN.IPOK >LDYA L.MSG.IPKO >SYSCALL puts lda #E.SYN sec rts CS.RUN.IPOK ldy #S.PS.ARGC lda (pPs),y bne .1 jmp CS.RUN.DUMP .1 cmp #2 beq CS.RUN.ADD >PUSHBI 0 >LDYA L.MSG.USAGE >SYSCALL printf lda #E.SYN sec rts *-------------------------------------- CS.RUN.ADD >PUSHEA.G DST.IP+3 >PUSHEA.G DST.IP+2 >PUSHEA.G DST.IP+1 >PUSHEA.G DST.IP >PUSHBI 8 4 PTRs >PUSHW L.SSCANF.IP lda #2 >SYSCALL ArgV >SYSCALL sscanf bcs .9 >PUSHEA.G DST.IP lda #1 >SYSCALL ArgV >PUSHYA >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.ADD bcs .99 lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts .9 lda #E.SYN sec .99 rts *-------------------------------------- CS.RUN.DUMP >LIBCALL hLIBTCPIP,LIBTCPIP.DNS.GetCache >STYA ZPPTR1 >LDYA L.MSG0 >SYSCALL puts lda #K.DNSCACHE.SIZE >STA.G EntryCount .1 lda (ZPPTR1) beq .6 ldy #S.DNSCACHE.TTL+4 .2 dey lda (ZPPTR1),y >PUSHA cpy #S.DNSCACHE.TTL bne .2 ldy #S.DNSCACHE.IP+4 .3 dey lda (ZPPTR1),y >PUSHA cpy #S.DNSCACHE.IP bne .3 ldy #S.DNSCACHE.hNAME lda (ZPPTR1),y >SYSCALL GetMemPtr >PUSHYA ldy #S.DNSCACHE.ID >PUSHB (ZPPTR1),y iny >PUSHB (ZPPTR1),y ldx #0 lda (ZPPTR1) Entry Status bmi .5 asl tax .5 >PUSHW L.MSG1.Status,x >PUSHBI 14 >LDYA L.MSG1 >SYSCALL printf .6 lda ZPPTR1 clc adc #S.DNSCACHE sta ZPPTR1 bcc .7 inc ZPPTR1+1 .7 >DEC.G EntryCount bne .8 sec rts .8 jmp .1 *-------------------------------------- CS.EVENT sec rts *-------------------------------------- CS.QUIT lda hLIBTCPIP beq .8 >SYSCALL UnloadLib .8 clc rts *-------------------------------------- CS.END LIBTCPIP .AZ "libtcpip" hLIBTCPIP .BS 1 MSG.IPKO .AZ "TCP/IP Not Loaded/Configured." SSCANF.IP .AZ "%d.%d.%d.%d" MSG0 .AZ "Status TR.ID Hostname IP Address TTL" MSG1 .AZ "%7s $%H %32s %03d.%03d.%03d.%03d %u\r\n" MSG1.S .AZ "Static" MSG1.P .AZ "Pending" MSG1.D .AZ "Dynamic" MSG.USAGE .AS "Usage : Add a static entry, DNSINFO \r\n" .AZ " Dump DNS Cache, DNSINFO\r\n" *-------------------------------------- DS.START DST.IP .BS 4 EntryCount .BS 1 DS.END *-------------------------------------- MAN SAVE USR/SRC/BIN/DNSINFO.S ASM