PR#3 PREFIX /A2OSX.SRC NEW INC 1 AUTO 6 .LIST OFF .OP 65C02 .OR $2000 .TF /A2OSX.BOOT/BIN/NETSTAT *-------------------------------------- .INB INC/MACROS.I .INB INC/A2OSX.I .INB 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.RDM .DA MSG1.SEQ .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 SYS.LoadLibYA sta hLIBTCPIP >LDYA L.MSG0 >SYSCALL SYS.PRINTFYA >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 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.STREAM bcc .3 lda #S.SOCKET.SOCK.STREAM .3 asl tax >PUSHB L.MSG1+1,x >PUSHB L.MSG1,x >LDYA L.MSG1 >SYSCALL SYS.PRINTFYA .7 clc lda ZPPTR1 adc #S.SOCKET sta ZPPTR1 lda ZPPTR1+1 adc /S.SOCKET sta ZPPTR1+1 dec SocketCount bne .1 CS.INIT.DONE lda #0 tell TSKMGR that all done ok, but sec we do not want to stay in memory rts *-------------------------------------- CS.RUN CS.DOEVENT clc rts *-------------------------------------- CS.QUIT lda hLIBTCPIP >SYSCALL SYS.FreeMemA clc rts *-------------------------------------- CS.END LIBTCPIP >PSTRING "libtcpip.o" MSG0 >CSTRING "Proto Local Remote Options Status\n" MSG1 >CSTRING "%s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\n" MSG1.UDP >CSTRING "UDP" MSG1.TCP >CSTRING "TCP" MSG1.RAW >CSTRING "RAW" MSG1.RDM >CSTRING "RDM" MSG1.SEQ >CSTRING "SEQ" MSG1.INV >CSTRING "???" MSG1.S.0 >CSTRING "*" MSG1.S.1 >CSTRING "LISTENING" MSG1.S.2 >CSTRING "SYN-SENT" MSG1.S.3 >CSTRING "SYN-RECEIVED" MSG1.S.4 >CSTRING "ESTABLISHED" MSG1.S.5 >CSTRING "CLOSE-WAIT" MSG1.S.6 >CSTRING "LAST-ACK" MSG1.S.7 >CSTRING "FIN-WAIT-1" MSG1.S.8 >CSTRING "FIN-WAIT-2" MSG1.S.9 >CSTRING "CLOSING" MSG1.S.10 >CSTRING "TIME-WAIT" hLIBTCPIP .BS 1 SocketCount .BS 1 MAN SAVE BIN/NETSTAT.S ASM