PR#3 PREFIX /A2OSX.BUILD NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BUILD/BIN/NETSTAT *-------------------------------------- .INB /A2OSX.BUILD/INC/MACROS.I .INB /A2OSX.BUILD/INC/A2OSX.I .INB /A2OSX.BUILD/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 PrintF.YA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GETTABLE >STYA ZPPTR1 lda #K.SKTTABLE.SIZE sta SocketCount .1 lda (ZPPTR1) beq .7 ldy #S.SOCKET.TCP.STATUS lda (ZPPTR1),y cmp #S.SOCKET.TCP.STATUS.TIMEWT+1 bcs * 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) 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 PrintF.YA .7 lda ZPPTR1 clc 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 FreeMem.A .8 clc rts *-------------------------------------- CS.END LIBTCPIP >PSTR "libtcpip.o" MSG0 >CSTR "Proto Local Remote Options Status\r\n" MSG1 >CSTR "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\r\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 /A2OSX.SRC/BIN/NETSTAT.S ASM