mirror of
https://github.com/A2osX/A2osX.git
synced 2025-03-23 03:31:19 +00:00
Kernel 0.93+
This commit is contained in:
parent
f162bd0bbe
commit
6da3053e17
Binary file not shown.
@ -162,7 +162,7 @@ CS.END
|
||||
libtcpip .az "libtcpip"
|
||||
hLIBTCPIP .BS 1
|
||||
MSG0 .AZ "Type Prot Local Remote Options Status"
|
||||
MSG1 .AZ "%s %s %03d.%03d.%03d.%03d:%05D %03d.%03d.%03d.%03d:%05D %b %s\r\n"
|
||||
MSG1 .AZ "%s %s %3d.%3d.%3d.%3d:%5D %3d.%3d.%3d.%3d:%5D %b %s\r\n"
|
||||
MSG1.T.RAW .AZ "RAW "
|
||||
MSG1.T.DGRAM .AZ "DGRAM "
|
||||
MSG1.T.SEQPKT .AZ "SEQPKT"
|
||||
|
@ -28,6 +28,8 @@ hFrame .BS 1
|
||||
PingCount .BS 1
|
||||
TimeOut .BS 1
|
||||
|
||||
IP.Remote .BS 4
|
||||
|
||||
ZS.END .ED
|
||||
*--------------------------------------
|
||||
* File Header (16 Bytes)
|
||||
@ -49,9 +51,6 @@ CS.START cld
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.SA.LOCAL .DA SA.LOCAL
|
||||
L.SA.REMOTE .DA SA.REMOTE
|
||||
L.SA.REMOTE.AD .DA SA.REMOTE+S.SOCKADDR.ADDR
|
||||
L.MSG.IPKO .DA MSG.IPKO
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
L.MSG.UNKNOWN .DA MSG.UNKNOWN
|
||||
@ -71,7 +70,7 @@ CS.INIT >LDYA L.LIBTCPIP
|
||||
CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
>STYA ZPIPCfgPtr
|
||||
lda (ZPIPCfgPtr) Configured ?
|
||||
bmi CS.RUN.IPOK
|
||||
bmi .1
|
||||
|
||||
>LDYA L.MSG.IPKO
|
||||
>SYSCALL puts
|
||||
@ -79,6 +78,14 @@ CS.RUN >LIBCALL hLIBTCPIP,LIBTCPIP.GETCFG is TCPIP loaded ?
|
||||
sec
|
||||
rts
|
||||
|
||||
.1 ldy #DATA.Len-1
|
||||
|
||||
.2 lda ICMP.Request,y
|
||||
sta (pData),y
|
||||
dey
|
||||
bpl .2
|
||||
|
||||
|
||||
CS.RUN.IPOK inc ArgIndex
|
||||
lda ArgIndex
|
||||
>SYSCALL ArgV
|
||||
@ -106,7 +113,7 @@ CS.RUN.IPOK inc ArgIndex
|
||||
.1 lda #TIMEOUT.MAX
|
||||
sta Timeout
|
||||
|
||||
.2 >PUSHW L.SA.REMOTE.AD
|
||||
.2 >PUSHEA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||
>PUSHW ZPTmpPtr
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
||||
bcc .3
|
||||
@ -124,7 +131,7 @@ CS.RUN.IPOK inc ArgIndex
|
||||
sta ArgHostName
|
||||
bra CS.RUN.IPOK
|
||||
|
||||
.8 lda SA.REMOTE+S.SOCKADDR.ADDR
|
||||
.8 >LDA.G SA.REMOTE+S.SOCKADDR.ADDR
|
||||
bne CS.RUN.ARGSOK
|
||||
|
||||
.9 >PUSHBI 0
|
||||
@ -140,9 +147,11 @@ CS.RUN.ARGSOK lda ArgHostName
|
||||
>PUSHYA
|
||||
|
||||
ldx #3
|
||||
ldy #SA.REMOTE+S.SOCKADDR.ADDR+3
|
||||
|
||||
.1 lda SA.REMOTE+S.SOCKADDR.ADDR,x
|
||||
.1 lda (pData),y
|
||||
>PUSHA
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
@ -154,19 +163,30 @@ CS.RUN.OPENSKT ldx #3
|
||||
ldy #S.IPCFG.IP+3
|
||||
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
sta IP.Remote,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldx #3
|
||||
ldy #SA.LOCAL+S.SOCKADDR.ADDR+3
|
||||
|
||||
.2 lda IP.Remote,x
|
||||
sta (pData),y
|
||||
dey
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
lda A2OSX.RANDOM16
|
||||
sta SA.LOCAL+S.SOCKADDR.PORT
|
||||
sta SA.REMOTE+S.SOCKADDR.PORT
|
||||
eor A2osX.TIMER16+1
|
||||
>STA.G SA.LOCAL+S.SOCKADDR.PORT
|
||||
>STA.G SA.REMOTE+S.SOCKADDR.PORT
|
||||
sta Identifier
|
||||
|
||||
lda A2OSX.RANDOM16+1
|
||||
sta SA.LOCAL+S.SOCKADDR.PORT+1
|
||||
sta SA.REMOTE+S.SOCKADDR.PORT+1
|
||||
eor A2osX.TIMER16
|
||||
>STA.G SA.LOCAL+S.SOCKADDR.PORT+1
|
||||
>STA.G SA.REMOTE+S.SOCKADDR.PORT+1
|
||||
sta Identifier+1
|
||||
|
||||
>PUSHBI S.IP.PROTOCOL.ICMP
|
||||
@ -176,30 +196,25 @@ CS.RUN.OPENSKT ldx #3
|
||||
|
||||
sta hSocket
|
||||
|
||||
>PUSHW L.SA.LOCAL
|
||||
>PUSHEA.G SA.LOCAL
|
||||
lda hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||
bcs .9
|
||||
|
||||
>PUSHW L.SA.REMOTE
|
||||
>PUSHEA.G SA.REMOTE
|
||||
lda hSocket
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Connect
|
||||
bcc CS.RUN.SEND
|
||||
bcc CS.RUN.SEND.ECHO
|
||||
|
||||
.9 >LDYA L.MSG.SKTKO
|
||||
>SYSCALL puts
|
||||
lda #E.SYN
|
||||
sec
|
||||
rts
|
||||
|
||||
CS.RUN.SEND ldy #ICMP.RequestLen-1
|
||||
|
||||
.1 lda ICMP.Request,y
|
||||
sta (pData),y
|
||||
dey
|
||||
bpl .1
|
||||
|
||||
CS.RUN.SEND.ECHO
|
||||
>SLEEP
|
||||
|
||||
lda Identifier
|
||||
>STA.G Request-S.IP+S.ICMP.IDENTIFIER+1
|
||||
|
||||
@ -288,8 +303,11 @@ CS.DOEVENT lda (pEvent)
|
||||
*--------------------------------------
|
||||
CS.Print.UNREACH
|
||||
ldx #3
|
||||
ldy #SA.REMOTE+S.SOCKADDR.ADDR+3
|
||||
|
||||
.1 >PUSHB SA.REMOTE+S.SOCKADDR.ADDR,x
|
||||
.1 lda (pData),y
|
||||
>PUSHA
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
@ -367,16 +385,6 @@ MSG.UNREACH .AZ "%d.%d.%d.%d: TimeOut/Host unreachable\r\n"
|
||||
MSG.REPLY .AZ "32 bytes from %d.%d.%d.%d, icmp_seq=%D, ttl=%d, time=%D ms\r\n"
|
||||
hLIBTCPIP .BS 1
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2 S.SOCKADDR.PORT
|
||||
*--------------------------------------
|
||||
SA.REMOTE .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2
|
||||
*--------------------------------------
|
||||
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||
.DA #0 CODE
|
||||
.DA 0 CHECKSUM
|
||||
@ -385,13 +393,25 @@ ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||
.AS "ABCDEFGHIJKLMNOP"
|
||||
.AS "QRSTUVWXYZ012345"
|
||||
ICMP.RequestLen .EQ *-ICMP.Request
|
||||
*--------------------------------------
|
||||
.DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2 S.SOCKADDR.PORT
|
||||
*--------------------------------------
|
||||
.DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2
|
||||
DATA.Len .EQ *-ICMP.Request
|
||||
*--------------------------------------
|
||||
.DUMMY
|
||||
.OR 0
|
||||
DS.START
|
||||
Request .BS ICMP.RequestLen
|
||||
DS.END
|
||||
.ED
|
||||
SA.LOCAL .BS S.SOCKADDR
|
||||
SA.REMOTE .BS S.SOCKADDR
|
||||
DS.END .ED
|
||||
*--------------------------------------
|
||||
MAN
|
||||
SAVE USR/SRC/BIN/PING.S
|
||||
|
@ -19,18 +19,22 @@ FRM.GetTargetSKT.TCPUDP
|
||||
FRM.GetTargetSKT.RAW
|
||||
ldy #S.IP.SRC+3
|
||||
ldx #3
|
||||
|
||||
.1 lda (ZPFrameInPtr),y
|
||||
sta SKT.REM.ADDR+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldy #S.IP.DST+3
|
||||
ldx #3
|
||||
|
||||
.2 lda (ZPFrameInPtr),y
|
||||
sta SKT.LOC.ADDR+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
dex
|
||||
bpl .2
|
||||
|
||||
rts
|
||||
*--------------------------------------
|
||||
* FRM.NewIP
|
||||
|
@ -41,12 +41,13 @@ ICMP.IN.ECHOREQ ldy #S.IP.DST+3
|
||||
ICMP.IN.EXIT jmp FRM.DiscardIn
|
||||
*--------------------------------------
|
||||
ICMP.IN.ECHOREP jsr FRM.GetTargetSKT.RAW
|
||||
|
||||
ldy #S.ICMP.IDENTIFIER
|
||||
lda (ZPFrameInPtr),y
|
||||
sta SKT.LOC.ADDR+S.SOCKADDR.PORT+1
|
||||
sta SKT.REM.ADDR+S.SOCKADDR.PORT+1
|
||||
iny
|
||||
lda (ZPFrameInPtr),y
|
||||
sta SKT.LOC.ADDR+S.SOCKADDR.PORT
|
||||
sta SKT.REM.ADDR+S.SOCKADDR.PORT
|
||||
|
||||
jsr SKT.FindMatchingLocRem
|
||||
bcs ICMP.IN.EXIT
|
||||
|
@ -1235,12 +1235,14 @@ SKT.FindMatchingLocRem
|
||||
|
||||
lda (ZPPtrSKT),y
|
||||
bne .44
|
||||
|
||||
.43 ldy #S.SOCKET.REM.PORT Frame is Broadcast, or listening is 0.0.0.0 check port only
|
||||
|
||||
.42 lda (ZPPtrSKT),y
|
||||
|
||||
.44 cmp SKT.REM.ADDR+S.SOCKADDR.ADDR-S.SOCKET.REM.ADDR,y
|
||||
bne .8 wrong remote host, exit....
|
||||
|
||||
iny
|
||||
cpy #S.SOCKET.REM.PORT+2
|
||||
bne .42
|
||||
@ -1253,7 +1255,7 @@ SKT.FindMatchingLocRem
|
||||
cpx #K.SKTTABLE.SIZE
|
||||
bne .1
|
||||
|
||||
.9 sec
|
||||
* sec
|
||||
rts
|
||||
*--------------------------------------
|
||||
SKT.AddToQueueA pha
|
||||
|
@ -243,7 +243,7 @@ MSG.INCOMING .AZ "TELNETD:Incoming Connection [SKT=%h] From : %d.%d.%d.%d\r\n"
|
||||
MSG.EXECERR .AZ "TELNETD:ExecL failed $%h."
|
||||
*--------------------------------------
|
||||
NOD.Template .AZ "/dev/tty%h"
|
||||
CMD.Template .AZ "${ROOT}SBIN/GETTY -E %s ${ROOT}SBIN/LOGIN"
|
||||
CMD.Template .AZ "${ROOT}sbin/getty -E %s ${ROOT}sbin/login"
|
||||
*--------------------------------------
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
|
@ -971,9 +971,9 @@ EvtMgrInit >LDYAI MSG.EVT
|
||||
>SYSCALL2 puts
|
||||
stz CORE.EvtCount
|
||||
lda #$A5
|
||||
sta A2osX.TIMER16
|
||||
sta A2osX.RANDOM16
|
||||
lda #$9B
|
||||
sta A2osX.TIMER16+1
|
||||
sta A2osX.RANDOM16+1
|
||||
|
||||
lda /Evt.Table
|
||||
sta pEvent+1
|
||||
|
@ -404,9 +404,9 @@ PrintF.ESC jmp (.1,x)
|
||||
*--------------------------------------
|
||||
PrintFTBL1 .AS "bdDuefhHiILsS"
|
||||
PrintFTBL1.Cnt .EQ *-PrintFTBL1
|
||||
PrintFTBL2 .AS "befnrtv\%"
|
||||
PrintFTBL2 .AS "abefnrtv\%"
|
||||
PrintFTBL2.Cnt .EQ *-PrintFTBL2
|
||||
PrintFTBL2.OUT .HS 08.1B.0C.0A.0D.09.0B \b\e\f\n\r\t\v
|
||||
PrintFTBL2.OUT .HS 07.08.1B.0C.0A.0D.09.0B \a\b\e\f\n\r\t\v
|
||||
.DA #'\' \\
|
||||
.DA #'%' \%
|
||||
*--------------------------------------
|
||||
|
@ -180,14 +180,15 @@ DRV.TERM.READ jsr DRV.TERM.GetIOCTLBufCntDCB
|
||||
|
||||
lda OPENAPPLE
|
||||
bpl .1
|
||||
lda KBD
|
||||
bmi .6 Open apple key, not for us...
|
||||
|
||||
jsr DRV.TERM.Title.ON
|
||||
bra .6
|
||||
|
||||
bra .6 Open apple key, not for us...
|
||||
|
||||
.1 jsr DRV.TERM.Title.OFF
|
||||
|
||||
lda KBD
|
||||
sta A2osX.RANDOM16
|
||||
bpl .6
|
||||
sta KBDSTROBE
|
||||
|
||||
|
@ -149,7 +149,8 @@ SetCharAtCurPos pha
|
||||
cpy #80
|
||||
bcs SetCharAtYX.8
|
||||
*--------------------------------------
|
||||
SetCharAtYX cmp #$40
|
||||
SetCharAtYX ror A2osX.RANDOM16+1
|
||||
cmp #$40
|
||||
bcc .1
|
||||
cmp #$60
|
||||
bcs .1
|
||||
|
Loading…
x
Reference in New Issue
Block a user