Kernel version 0.9 : TCP, ACK problem solved! some additional fixes including corrected TCP payload length computation

This commit is contained in:
Rémy GIBERT 2017-03-19 22:47:54 +01:00
parent 28ac2e8a66
commit a3c4b4f1fc
12 changed files with 173 additions and 140 deletions

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -21,8 +21,8 @@ INSDRV UTHERNET.DRV 000E3A123456
#INSDRV UTHER2.AI.DRV 0008DC123456 #INSDRV UTHER2.AI.DRV 0008DC123456
#INSDRV LANCEGS.DRV #INSDRV LANCEGS.DRV
STARTPROC TCPIP STARTPROC TCPIP
#STARTPROC DHCPCLNT STARTPROC DHCPCLNT
#STARTPROC TELNETD STARTPROC TELNETD
#STARTPROC HTTPD #STARTPROC HTTPD
#NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX #NFSMOUNT 192.168.1.5:/A2OSX /MNT/A2OSX
#CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE #CIFSMOUNT 192.168.1.5:/MSSHARE /MNT/MSSHARE

View File

@ -218,25 +218,33 @@ READBLOCK php
lda PacketPageDATA+1,x lda PacketPageDATA+1,x
ldy PacketPageDATA,x ldy PacketPageDATA,x
and /PP.RxEvent.RxOK+PP.RxEvent.IA+PP.RxEvent.Brdcast+PP.RxEvent.Runt and /PP.RxEvent.RxOK+PP.RxEvent.IA+PP.RxEvent.Brdcast+PP.RxEvent.Runt
beq .9 bne .1
lda RTDATA+1,x discard RxStatus lda #ERR.DEV.NOFRAME
.9 plp
sec
rts
.1 lda RTDATA+1,x discard RxStatus
lda RTDATA,x lda RTDATA,x
ldy RTDATA+1,x get RxLength lda RTDATA+1,x
sty Size+1 sta Size+1
lda RTDATA,x lda RTDATA,x get RxLength
sta Size sta Size
clc clc
adc #2 adc #2
>PUSHA Size+2 tay
tya
lda Size+1
adc #0 adc #0
>PUSHA
>PUSHYA
>PUSHBI 0 >PUSHBI 0
>SYSCALL GetMem >SYSCALL GetMem
bcs .99 bcs .9
>STYA ZPTmpPTR >STYA ZPTmpPTR
stx .8+1 stx .8+1
@ -287,12 +295,6 @@ READBLOCK php
plp plp
clc clc
rts rts
.9 lda #ERR.DEV.NOFRAME
.99 plp
sec
rts
*-------------------------------------- *--------------------------------------
WRITEBLOCK php WRITEBLOCK php
sei sei
@ -389,8 +391,11 @@ OPEN jsr CLOSE
lda #PP.RxCTL.LID+PP.RxCTL.RxOKA+PP.RxCTL.IA+PP.RxCTL.BroadcastA+PP.RxCTL.RuntA lda #PP.RxCTL.LID+PP.RxCTL.RxOKA+PP.RxCTL.IA+PP.RxCTL.BroadcastA+PP.RxCTL.RuntA
sta PacketPageDATA,x sta PacketPageDATA,x
>LDYAI PP.MAC lda /PP.MAC
>STYA PacketPagePTR,x sta PacketPagePTR+1,x
lda #PP.MAC
sta PacketPagePTR,x
>LDYA MAC >LDYA MAC
>STYA PacketPageDATA,x >STYA PacketPageDATA,x
>LDYAI PP.MAC+2 >LDYAI PP.MAC+2
@ -428,14 +433,14 @@ CLOSE ldx DEVSLOTx0
lda #PP.SelfCTL.LID+PP.SelfCTL.RESET lda #PP.SelfCTL.LID+PP.SelfCTL.RESET
sta PacketPageDATA,x sta PacketPageDATA,x
ldy #0 lda /PP.SelfST
.1 lda /PP.SelfST
sta PacketPagePTR+1,x sta PacketPagePTR+1,x
lda #PP.SelfST lda #PP.SelfST
sta PacketPagePTR,x sta PacketPagePTR,x
lda PacketPageDATA+1,x ldy #0
.1 lda PacketPageDATA+1,x
lda PacketPageDATA,x lda PacketPageDATA,x
and #PP.SelfST.InitDone and #PP.SelfST.InitDone

View File

@ -1,6 +1,6 @@
PR#3 PR#3
PREFIX /A2OSX.SRC PREFIX /A2OSX.SRC
LOMEM $A00 LOMEM $900
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
@ -361,6 +361,7 @@ DNS.EXPIRE >LDYA L.DNS.CACHE
DNS.FREE ldy #S.DNSCACHE.hNAME DNS.FREE ldy #S.DNSCACHE.hNAME
lda (ZPCachePtr),y lda (ZPCachePtr),y
beq .1 beq .1
>SYSCALL FreeMemA >SYSCALL FreeMemA
.1 lda #0 .1 lda #0
sta (ZPCachePtr) sta (ZPCachePtr)
@ -368,6 +369,7 @@ DNS.FREE ldy #S.DNSCACHE.hNAME
*-------------------------------------- *--------------------------------------
DNS.POLL lda hDNSSocket1 DNS.POLL lda hDNSSocket1
beq .8 beq .8
jsr SKT.ReadA jsr SKT.ReadA
bcs .8 bcs .8
jsr DNS.DecodeMsg jsr DNS.DecodeMsg

View File

@ -1,6 +1,6 @@
PR#3 PR#3
PREFIX /A2OSX.SRC PREFIX /A2OSX.SRC
LOMEM $A00 LOMEM $900
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
@ -110,7 +110,9 @@ SKT.New.Listen sec
lda #S.SOCKET.TCP.STATUS.SYNSENT lda #S.SOCKET.TCP.STATUS.SYNSENT
sta (ZPPtrSKT),y sta (ZPPtrSKT),y
.8 ldx TmpOffset .8 lda TmpOffset
ora #$80
tax
>LDYA ZPTmpPtr3 >LDYA ZPTmpPtr3
clc clc
rts rts
@ -120,7 +122,7 @@ SKT.New.Listen sec
.99 rts .99 rts
*-------------------------------------- *--------------------------------------
SKT.New.TCB >PUSHWI S.TCB SKT.New.TCB >PUSHWI S.TCB
>PUSHBI S.MEM.F.INIT0 >PUSHBI 0
>SYSCALL GetMem >SYSCALL GetMem
bcs .9 bcs .9
@ -130,6 +132,12 @@ SKT.New.TCB >PUSHWI S.TCB
ldy #S.SOCKET.SQ.hTCB ldy #S.SOCKET.SQ.hTCB
sta (ZPTmpPtr3),y sta (ZPTmpPtr3),y
ldx #S.TCB.OUTUSED+1
.1 stz SKT.TCBCache,x
dex
bpl .1
lda #K.TCP.WSIZE lda #K.TCP.WSIZE
sta SKT.TCBCache+S.TCB.INFREE sta SKT.TCBCache+S.TCB.INFREE
sta SKT.TCBCache+S.TCB.OUTFREE sta SKT.TCBCache+S.TCB.OUTFREE
@ -178,7 +186,8 @@ SKT.New.TCB >PUSHWI S.TCB
* A = hSocket * A = hSocket
* ##Out : * ##Out :
*\-------------------------------------- *\--------------------------------------
SKT.CloseA cmp #K.SKTTABLE.SIZE SKT.CloseA and #$7f
cmp #K.SKTTABLE.SIZE
bcs .9 bcs .9
jsr SKT.GetA.I jsr SKT.GetA.I
@ -249,42 +258,53 @@ SKT.CloseA cmp #K.SKTTABLE.SIZE
* ##Out : * ##Out :
* Y,A = pS.SOCKET * Y,A = pS.SOCKET
*\-------------------------------------- *\--------------------------------------
SKT.GetA cmp #K.SKTTABLE.SIZE SKT.GetA jsr SKT.GetA.I
bcs SKT.GetA.9
jsr SKT.GetA.I bcs .9
bcs SKT.GetA.9
>LDYA ZPPtrSKT >LDYA ZPPtrSKT
rts
SKT.GetA.I pha .9 rts
SKT.GetA.I and #$7f
cmp #K.SKTTABLE.SIZE
bcs .9
pha
lda hSocketTable lda hSocketTable
>SYSCALL GetMemPtrA >SYSCALL GetMemPtrA
>STYA ZPPtrSKT >STYA ZPPtrSKT
plx pla
beq .8 beq .8
.1 lda ZPPtrSKT stz .1+1
lsr
ror .1+1
lsr
ror .1+1
lsr
ror .1+1
pha
lda ZPPtrSKT
clc clc
adc #S.SOCKET .1 adc #$ff
sta ZPPtrSKT sta ZPPtrSKT
bcc .2
inc ZPPtrSKT+1 pla
adc ZPPtrSKT+1
.2 dex sta ZPPtrSKT+1
bne .1
.8 lda (ZPPtrSKT) .8 lda (ZPPtrSKT)
beq SKT.GetA.9 beq .9
clc clc
rts rts
SKT.GetA.9 lda #ERR.SKT.BAD .9 lda #ERR.SKT.BAD
sec sec
rts rts
*/-------------------------------------- */--------------------------------------
@ -651,16 +671,16 @@ SKT.AddToQueueA sta .2+1
*-------------------------------------- *--------------------------------------
SKT.AckDataToSktOut SKT.AckDataToSktOut
ldy #S.TCP.ACK.NUMBER+3 Get new ACK number from FrameIn... ldy #S.TCP.ACK.NUMBER+3 Get new ACK number from FrameIn...
ldx #3 Substract old SEQ from socket ldx #3 Substract old ACK from socket
sec sec
.1 lda (ZPFrameInPtr),y .1 lda (ZPFrameInPtr),y
pha pha
sbc SKT.TCBCache+S.TCB.SEQNUM,x sbc SKT.TCBCache+S.TCB.ACKNUM,x
sta TmpDWord,x sta TmpDWord,x
pla pla
sta SKT.TCBCache+S.TCB.SEQNUM,x sta SKT.TCBCache+S.TCB.ACKNUM,x
dey dey
dex dex
bpl .1 bpl .1
@ -701,8 +721,6 @@ SKT.AckDataToSktOut
* Dst : hInMem/INHEAD * Dst : hInMem/INHEAD
*-------------------------------------- *--------------------------------------
SKT.AddDataToSktIn SKT.AddDataToSktIn
jsr SKT.GetTCB
ldx SKT.TCBCache+S.TCB.INFREE ldx SKT.TCBCache+S.TCB.INFREE
cpx ZPDataInLen cpx ZPDataInLen
lda SKT.TCBCache+S.TCB.INFREE+1 lda SKT.TCBCache+S.TCB.INFREE+1
@ -770,6 +788,7 @@ SKT.AddDataToSktIn
sec sec
sbc ZPDataInLen sbc ZPDataInLen
sta SKT.TCBCache+S.TCB.INFREE sta SKT.TCBCache+S.TCB.INFREE
lda SKT.TCBCache+S.TCB.INFREE+1 lda SKT.TCBCache+S.TCB.INFREE+1
sbc ZPDataInLen+1 sbc ZPDataInLen+1
sta SKT.TCBCache+S.TCB.INFREE+1 sta SKT.TCBCache+S.TCB.INFREE+1
@ -778,6 +797,7 @@ SKT.AddDataToSktIn
clc clc
adc ZPDataInLen adc ZPDataInLen
sta SKT.TCBCache+S.TCB.INUSED sta SKT.TCBCache+S.TCB.INUSED
lda SKT.TCBCache+S.TCB.INUSED+1 lda SKT.TCBCache+S.TCB.INUSED+1
adc ZPDataInLen+1 adc ZPDataInLen+1
sta SKT.TCBCache+S.TCB.INUSED+1 sta SKT.TCBCache+S.TCB.INUSED+1
@ -938,31 +958,34 @@ SKT.GetDataFromSktOut
.5 lda SKT.TCBCache+S.TCB.OUTFREE .5 lda SKT.TCBCache+S.TCB.OUTFREE
clc clc
adc ZPDataInLen adc ZPDataOutLen
sta SKT.TCBCache+S.TCB.OUTFREE sta SKT.TCBCache+S.TCB.OUTFREE
lda SKT.TCBCache+S.TCB.OUTFREE+1 lda SKT.TCBCache+S.TCB.OUTFREE+1
adc ZPDataInLen+1 adc ZPDataOutLen+1
sta SKT.TCBCache+S.TCB.OUTFREE+1 sta SKT.TCBCache+S.TCB.OUTFREE+1
lda SKT.TCBCache+S.TCB.OUTUSED lda SKT.TCBCache+S.TCB.OUTUSED
sec sec
sbc ZPDataInLen sbc ZPDataOutLen
sta SKT.TCBCache+S.TCB.OUTUSED sta SKT.TCBCache+S.TCB.OUTUSED
lda SKT.TCBCache+S.TCB.OUTUSED+1 lda SKT.TCBCache+S.TCB.OUTUSED+1
sbc ZPDataInLen+1 sbc ZPDataOutLen+1
sta SKT.TCBCache+S.TCB.OUTUSED+1 sta SKT.TCBCache+S.TCB.OUTUSED+1
lda SKT.TCBCache+S.TCB.SEQNUM lda SKT.TCBCache+S.TCB.SEQNUM+3
clc clc
adc ZPDataInLen adc ZPDataOutLen
sta SKT.TCBCache+S.TCB.SEQNUM sta SKT.TCBCache+S.TCB.SEQNUM+3
lda SKT.TCBCache+S.TCB.SEQNUM+1
adc ZPDataInLen+1 lda SKT.TCBCache+S.TCB.SEQNUM+2
sta SKT.TCBCache+S.TCB.SEQNUM+1 adc ZPDataOutLen+1
sta SKT.TCBCache+S.TCB.SEQNUM+2
bcc .8 bcc .8
inc SKT.TCBCache+S.TCB.SEQNUM+2 inc SKT.TCBCache+S.TCB.SEQNUM+1
bne .8 bne .8
inc SKT.TCBCache+S.TCB.SEQNUM+3 inc SKT.TCBCache+S.TCB.SEQNUM
.8 clc .8 clc
rts rts
@ -971,13 +994,18 @@ SKT.GetDataFromSktOut
* In: * In:
* Src : hInMem/INTAIL * Src : hInMem/INTAIL
* Dst : ZPDataOutPtr/ZPDataOutLen * Dst : ZPDataOutPtr/ZPDataOutLen
* CS : Text Mode * bTextMode
* CC : Binary Mode
* Out: * Out:
* Y,A = bytes read * Y,A = bytes read
*-------------------------------------- *--------------------------------------
SKT.GetDataFromSktIn SKT.GetDataFromSktIn
ldy #S.SOCKET.SQ.hInMem lda SKT.TCBCache+S.TCB.INUSED
ora SKT.TCBCache+S.TCB.INUSED+1
bne .10
sec
rts NO DATA
.10 ldy #S.SOCKET.SQ.hInMem
lda (ZPPtrSKT),y lda (ZPPtrSKT),y
>SYSCALL GetMemPtrA >SYSCALL GetMemPtrA
>STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base >STYA ZPTmpPtr1 Make ZPTmpPtr1=buffer base
@ -1089,19 +1117,19 @@ SKT.GetDataFromSktIn
sbc ZPTmpPtr3+1 sbc ZPTmpPtr3+1
sta SKT.TCBCache+S.TCB.INUSED+1 sta SKT.TCBCache+S.TCB.INUSED+1
lda SKT.TCBCache+S.TCB.ACKNUM lda SKT.TCBCache+S.TCB.ACKNUM+3
clc clc
adc ZPTmpPtr3 adc ZPTmpPtr3
sta SKT.TCBCache+S.TCB.ACKNUM sta SKT.TCBCache+S.TCB.ACKNUM+3
lda SKT.TCBCache+S.TCB.ACKNUM+1 lda SKT.TCBCache+S.TCB.ACKNUM+2
adc ZPTmpPtr3+1 adc ZPTmpPtr3+1
sta SKT.TCBCache+S.TCB.ACKNUM+1 sta SKT.TCBCache+S.TCB.ACKNUM+2
bcc .80 bcc .80
inc SKT.TCBCache+S.TCB.ACKNUM+2 inc SKT.TCBCache+S.TCB.ACKNUM+1
bne .80 bne .80
inc SKT.TCBCache+S.TCB.ACKNUM+3 inc SKT.TCBCache+S.TCB.ACKNUM
.80 jsr SKT.StoreTCB .80 jsr SKT.StoreTCB

View File

@ -1,6 +1,6 @@
PR#3 PR#3
PREFIX /A2OSX.SRC PREFIX /A2OSX.SRC
LOMEM $A00 LOMEM $900
INC 1 INC 1
AUTO 6 AUTO 6
.LIST OFF .LIST OFF
@ -292,45 +292,50 @@ TCP.IN.JMP.CLOSED
rts rts
*-------------------------------------- *--------------------------------------
TCP.IN.SetDataInPtrAndLen TCP.IN.SetDataInPtrAndLen
ldy #S.IP.TOTAL.LENGTH+1
lda (ZPFrameInPtr),y
sec
sbc #S.IP-S.ETH
sta ZPDataInLen
dey
lda (ZPFrameInPtr),y
sbc /S.IP-S.ETH
sta ZPDataInLen+1
ldy #S.TCP.DATAOFFSET ldy #S.TCP.DATAOFFSET
lda (ZPFrameInPtr),y lda (ZPFrameInPtr),y
and #$F0 Get TCP Header len in DWORD and #$F0 Get TCP Header len in DWORD
lsr lsr
lsr lsr
* clc
adc #S.IP-2
sta TmpOffset sta TmpOffset
lda #0 lda ZPDataInLen
adc /S.IP-2
sta TmpOffset+1 TmpOffset=Data Offset in Frame
lda ZPFrameInLen
sec sec
sbc TmpOffset sbc TmpOffset
sta ZPDataInLen sta ZPDataInLen
lda ZPFrameInLen+1 bcs .1
sbc TmpOffset+1 dec ZPDataInLen+1
sta ZPDataInLen+1
lda TmpOffset
clc
adc #2
sta TmpOffset
bcc .1
inc TmpOffset+1
clc
.1 lda ZPFrameInPtr .1 lda ZPFrameInPtr
adc TmpOffset clc
adc #S.IP
sta ZPDataInPtr sta ZPDataInPtr
lda ZPFrameInPtr+1 lda ZPFrameInPtr+1
adc #0 adc /S.IP
sta ZPDataInPtr+1 sta ZPDataInPtr+1
rts
lda ZPDataInPtr
clc
adc TmpOffset
sta ZPDataInPtr
bcc .2
inc ZPDataInPtr+1
.2 rts
*-------------------------------------- *--------------------------------------
TCP.OUT.SYN >LDYAI 0 TCP.OUT.SYN >LDYAI 0
jsr TCP.NewFrame jsr TCP.NewFrame

View File

@ -167,7 +167,7 @@ POLL ldx #DEVMGR.READBLOCK
cpx /S.ETH.ETHERTYPE.IP cpx /S.ETH.ETHERTYPE.IP
bne .9 bne .9
jsr DumpFrame * jsr DumpFrame
jmp IP.IN jmp IP.IN

View File

@ -114,11 +114,6 @@ CS.RUN >PUSHW L.Socket
ldy #hSocket ldy #hSocket
sta (pData),y sta (pData),y
ldy #bSocketClose
lda #$ff
sta (pData),y
>LDYA L.MSG.CFG1 >LDYA L.MSG.CFG1
>SYSCALL CPrintFYA >SYSCALL CPrintFYA
@ -243,13 +238,10 @@ CS.DOEVENT lda (pEvent)
.9 sec do not discard TIMER event .9 sec do not discard TIMER event
rts rts
*-------------------------------------- *--------------------------------------
CS.QUIT ldy #bSocketClose CS.QUIT ldy #hSocket
lda (pData),y lda (pData),y
beq .1 beq .1
ldy #hSocket
lda (pData),y
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CloseA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CloseA
.1 lda hLIBTCPIP .1 lda hLIBTCPIP
@ -504,7 +496,6 @@ DHCP.REQ.LEN .EQ *-DHCP.REQ
*-------------------------------------- *--------------------------------------
DS.START DS.START
TimeOut .BS 1 TimeOut .BS 1
bSocketClose .BS 1
hSocket .BS 1 hSocket .BS 1
hFrame .BS 1 hFrame .BS 1
DS.END DS.END

View File

@ -20,25 +20,20 @@ ERR.Print >PUSHA Save EC for PrintF
cpy #ERR.Count cpy #ERR.Count
bne .1 bne .1
.2 sty .3+1 .2 lda L.ERR.Messages
lda L.ERR.Messages
sta ZPPTR1 sta ZPPTR1
lda L.ERR.Messages+1 lda L.ERR.Messages+1
sta ZPPTR1+1 sta ZPPTR1+1
ldy #0 .3 dey
bmi .8
.3 cpy #$ff Self Modified
beq .8
lda (ZPPTR1) lda (ZPPTR1)
sec sec
adc ZPPTR1 adc ZPPTR1
sta ZPPTR1 sta ZPPTR1
bcc .4 bcc .3
inc ZPPTR1+1 inc ZPPTR1+1
.4 iny
bra .3 bra .3
.8 >PUSHW ZPPTR1 .8 >PUSHW ZPPTR1

View File

@ -106,24 +106,7 @@ CS.RUN.INIT ldx #3
jsr CS.RUN.SERVER jsr CS.RUN.SERVER
bcs CS.RUN.ERR bcs CS.RUN.ERR
ldy #SktIndex
lda (pData),y
tay
lda (pData),y hSockets
beq .3
jsr CS.RUN.CLIENT jsr CS.RUN.CLIENT
.3 ldy #SktIndex
lda (pData),y
inc
cmp #CONN.MAX
bne .4
lda #0
.4 sta (pData),y
bra .2 bra .2
.9 >LDYA L.MSG.SKTERR .9 >LDYA L.MSG.SKTERR
@ -161,6 +144,7 @@ CS.RUN.SERVER ldy #hSrvSocket
.2 pla .2 pla
sta (pData),y sta (pData),y
sta .4+1
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetA
>STYA ZPSktPtr >STYA ZPSktPtr
@ -173,16 +157,29 @@ CS.RUN.SERVER ldy #hSrvSocket
dex dex
bpl .3 bpl .3
.4 lda #$ff
>PUSHA
>LDYA L.MSG.INCOMING >LDYA L.MSG.INCOMING
>SYSCALL CPrintFYA >SYSCALL CPrintFYA
.8 clc .8 clc
.9 rts .9 rts
*-------------------------------------- *--------------------------------------
CS.RUN.CLIENT sta .1+1 hSocket CS.RUN.CLIENT ldy #SktIndex
lda (pData),y
tay
lda (pData),y hSockets
beq .8
sta .1+1 hSocket
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.GetCA
bcs .8 bcc .10
sta .2+1
tax
beq .8 NO DATA
.10 sta .2+1
>PUSHA >PUSHA
>LDYA L.MSG.BYTE >LDYA L.MSG.BYTE
@ -196,7 +193,16 @@ CS.RUN.CLIENT sta .1+1 hSocket
* >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC * >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.PutC
.8 clc .8 ldy #SktIndex
lda (pData),y
inc
cmp #CONN.MAX
bne .81
lda #0
.81 sta (pData),y
clc
rts rts
*-------------------------------------- *--------------------------------------
CS.DOEVENT sec CS.DOEVENT sec
@ -220,9 +226,10 @@ CS.QUIT ldx #CONN.MAX
ldy #hSrvSocket ldy #hSrvSocket
lda (pData),y lda (pData),y
beq .3
>LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA >LIBCALL hLIBTCPIP,LIBTCPIP.SKT.CLOSEA
lda hLIBTCPIP .3 lda hLIBTCPIP
>SYSCALL UnloadLibA >SYSCALL UnloadLibA
clc clc
rts rts
@ -247,7 +254,7 @@ MSG.INITOK >CSTR "TELNETD:Init Ok, Listening.\r\n"
MSG.TCPIPERR >CSTR "TELNETD:TCP/IP Not initialized properly\r\n" MSG.TCPIPERR >CSTR "TELNETD:TCP/IP Not initialized properly\r\n"
MSG.SKTERR >CSTR "TELNETD:Listen Error\r\n" MSG.SKTERR >CSTR "TELNETD:Listen Error\r\n"
MSG.ABORT >CSTR "TELNETD:User Aborted\r\n" MSG.ABORT >CSTR "TELNETD:User Aborted\r\n"
MSG.INCOMING >CSTR "TELNETD:Incoming Connection From : %d.%d.%d.%d\r\n" MSG.INCOMING >CSTR "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
MSG.BYTE >CSTR "[%h]" MSG.BYTE >CSTR "[%h]"
hLIBTCPIP .BS 1 hLIBTCPIP .BS 1
*-------------------------------------- *--------------------------------------