PR#3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BOOT/BIN/NETSTAT *-------------------------------------- .INB /A2OSX.DEV/INC/MACROS.I .INB /A2OSX.DEV/INC/A2OSX.I .INB /A2OSX.DEV/INC/LIBTCPIP.I *-------------------------------------- ZPPTR1 .EQ ZPBIN *-------------------------------------- * File Header (16 Bytes) *-------------------------------------- CS.START cld jmp (.1,x) .DA #$61 6502,Level 1 (65c02) .DA #1 BIN Layout Version 1 .DA 0 .DA CS.END-CS.START Code Length To Relocate .DA 0 Data Segment to Allocate .DA 0 .DA 0 *-------------------------------------- * Relocation Table *-------------------------------------- .1 .DA CS.INIT .DA CS.RUN .DA CS.DOEVENT .DA CS.QUIT L.LIBTCPIP .DA LIBTCPIP L.MSG0 .DA MSG0 L.MSG1 .DA MSG1 .DA MSG1.UDP .DA MSG1.TCP .DA MSG1.RAW .DA MSG1.INV L.MSG1.S .DA MSG1.S.0 .DA MSG1.S.1 .DA MSG1.S.2 .DA MSG1.S.3 .DA MSG1.S.4 .DA MSG1.S.5 .DA MSG1.S.6 .DA MSG1.S.7 .DA MSG1.S.8 .DA MSG1.S.9 .DA MSG1.S.10 .DA 0 *-------------------------------------- CS.INIT >LDYA L.LIBTCPIP >SYSCALL LoadLibYA bcs .9 sta hLIBTCPIP clc .9 rts *-------------------------------------- CS.RUN >LDYA L.MSG0 >SYSCALL CPrintFYA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GETTABLE >STYA ZPPTR1 lda #K.SKTTABLE.SIZE sta SocketCount .1 lda (ZPPTR1) beq .7 ldy #S.SOCKET.STATUS lda (ZPPTR1),y and #S.SOCKET.STATUS.MASK asl tax >PUSHB L.MSG1.S+1,x >PUSHB L.MSG1.S,x ldy #S.SOCKET.SO >PUSHB (ZPPTR1),y ldy #S.SOCKET.DST.PORT+1 .2 >PUSHB (ZPPTR1),y dey cpy #S.SOCKET.SRC.ADDR-1 bne .2 lda (ZPPTR1) lsr lsr lsr lsr cmp #S.SOCKET.SOCK.RAW+1 bcc .3 lda #S.SOCKET.SOCK.RAW+1 .3 asl tax >PUSHB L.MSG1+1,x >PUSHB L.MSG1,x >LDYA L.MSG1 >SYSCALL CPrintFYA .7 clc lda ZPPTR1 adc #S.SOCKET sta ZPPTR1 lda ZPPTR1+1 adc /S.SOCKET sta ZPPTR1+1 dec SocketCount bne .1 lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts *-------------------------------------- CS.DOEVENT sec rts *-------------------------------------- CS.QUIT lda hLIBTCPIP beq .8 >SYSCALL FreeMemA .8 clc rts *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" MSG0 >CSTR "Proto Local Remote Options Status\n" MSG1 >CSTR "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\n" MSG1.UDP >CSTR "UDP" MSG1.TCP >CSTR "TCP" MSG1.RAW >CSTR "RAW" MSG1.INV >CSTR "???" MSG1.S.0 >CSTR "*" MSG1.S.1 >CSTR "LISTENING" MSG1.S.2 >CSTR "SYN-SENT" MSG1.S.3 >CSTR "SYN-RECEIVED" MSG1.S.4 >CSTR "ESTABLISHED" MSG1.S.5 >CSTR "CLOSE-WAIT" MSG1.S.6 >CSTR "LAST-ACK" MSG1.S.7 >CSTR "FIN-WAIT-1" MSG1.S.8 >CSTR "FIN-WAIT-2" MSG1.S.9 >CSTR "CLOSING" MSG1.S.10 >CSTR "TIME-WAIT" hLIBTCPIP .BS 1 SocketCount .BS 1 MAN SAVE BIN/NETSTAT.S ASM