mirror of
https://github.com/A2osX/A2osX.git
synced 2025-04-10 00:37:11 +00:00
Kernel 0.9.2
This commit is contained in:
parent
005c2ee1c6
commit
49f95d6184
Binary file not shown.
Binary file not shown.
@ -35,7 +35,9 @@ CS.START cld
|
||||
.DA CS.DOEVENT
|
||||
.DA CS.QUIT
|
||||
L.LIBTCPIP .DA LIBTCPIP
|
||||
L.Socket .DA Socket
|
||||
L.SA.LOCAL .DA SA.LOCAL
|
||||
L.SA.REMOTE .DA SA.REMOTE
|
||||
L.SA.REMOTE.AD .DA SA.REMOTE+S.SOCKADDR.ADDR
|
||||
L.ICMP.Request .DA ICMP.Request
|
||||
L.MSG.IPKO .DA MSG.IPKO
|
||||
L.MSG.USAGE .DA MSG.USAGE
|
||||
@ -71,10 +73,11 @@ CS.RUN.IPOK
|
||||
>SYSCALL ArgV
|
||||
bcs .8
|
||||
>STYA ZPTmpPtr
|
||||
>SYSCALL puts
|
||||
|
||||
lda (ZPTmpPtr)
|
||||
cmp #'-'
|
||||
bne .2
|
||||
bne .21
|
||||
|
||||
ldy #1
|
||||
lda (ZPTmpPtr),y
|
||||
@ -89,9 +92,9 @@ CS.RUN.IPOK
|
||||
>STA.G PingCount
|
||||
bra .1
|
||||
|
||||
jsr Init.Timeout
|
||||
.21 jsr Init.Timeout
|
||||
|
||||
.2 >PUSHEA.G DST.IP
|
||||
.2 >PUSHW L.SA.REMOTE.AD
|
||||
>PUSHW ZPTmpPtr
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.HST.GETBYNAME
|
||||
bcc .3
|
||||
@ -108,7 +111,7 @@ CS.RUN.IPOK
|
||||
>STA.G ArgHostName
|
||||
jmp .1
|
||||
|
||||
.8 >LDA.G DST.IP
|
||||
.8 lda SA.REMOTE+S.SOCKADDR.ADDR
|
||||
bne CS.RUN.ARGSOK
|
||||
|
||||
.9 >PUSHBI 0
|
||||
@ -124,13 +127,10 @@ CS.RUN.ARGSOK >LDA.G ArgHostName
|
||||
>SYSCALL ArgV
|
||||
>PUSHYA
|
||||
|
||||
ldy #DST.IP+3
|
||||
ldx #3
|
||||
|
||||
.1 lda (pData),y
|
||||
sta Socket.Dst.Addr,x
|
||||
.1 lda SA.REMOTE+S.SOCKADDR.ADDR,x
|
||||
>PUSHA
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
@ -142,21 +142,22 @@ CS.RUN.OPENSKT ldx #3
|
||||
ldy #S.IPCFG.IP+3
|
||||
|
||||
.1 lda (ZPIPCfgPtr),y
|
||||
sta Socket.Src.Addr,x
|
||||
sta SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
dey
|
||||
dex
|
||||
bpl .1
|
||||
|
||||
ldy #Identifier
|
||||
lda A2OSX.RANDOM16
|
||||
sta Socket.Dst.Port
|
||||
sta SA.REMOTE+S.SOCKADDR.PORT
|
||||
sta (pData),y
|
||||
iny
|
||||
lda A2OSX.RANDOM16+1
|
||||
sta Socket.Dst.Port+1
|
||||
sta SA.REMOTE+S.SOCKADDR.PORT+1
|
||||
sta (pData),y
|
||||
|
||||
>PUSHW L.Socket
|
||||
>PUSHBI S.IP.PROTOCOL.ICMP
|
||||
lda #S.SOCKET.T.RAW
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.socket
|
||||
bcc .2
|
||||
|
||||
@ -167,6 +168,12 @@ CS.RUN.OPENSKT ldx #3
|
||||
rts
|
||||
|
||||
.2 >STA.G hSocket
|
||||
pha
|
||||
>PUSHW L.SA.LOCAL
|
||||
pla
|
||||
>LIBCALL hLIBTCPIP,LIBTCPIP.Bind
|
||||
bcc CS.RUN.SEND.ECHO
|
||||
rts
|
||||
|
||||
CS.RUN.SEND.ECHO
|
||||
ldy #Identifier
|
||||
@ -251,13 +258,11 @@ CS.DOEVENT lda (pEvent)
|
||||
rts
|
||||
*--------------------------------------
|
||||
CS.Print.UNREACH
|
||||
ldx #4
|
||||
ldy #DST.IP+3
|
||||
ldx #3
|
||||
|
||||
.1 >PUSHB (pData),y
|
||||
dey
|
||||
.1 >PUSHB SA.LOCAL+S.SOCKADDR.ADDR,x
|
||||
dex
|
||||
bne .1
|
||||
bpl .1
|
||||
|
||||
>PUSHBI 4
|
||||
>LDYA L.MSG.UNREACH
|
||||
@ -349,14 +354,15 @@ 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
|
||||
*--------------------------------------
|
||||
Socket .DA #S.SOCKET.T.RAW
|
||||
SA.LOCAL .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
.DA #S.IP.PROTOCOL.ICMP
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2 S.SOCKADDR.PORT
|
||||
*--------------------------------------
|
||||
SA.REMOTE .DA #AF.INET S.SOCKADDR.AF
|
||||
.BS 1
|
||||
Socket.Src.Addr .BS 4
|
||||
Socket.Src.Port .DA 0 Dynamic
|
||||
Socket.Dst.Addr .BS 4
|
||||
Socket.Dst.Port .DA 0 Identifier
|
||||
.BS 4 S.SOCKADDR.ADDR
|
||||
.BS 2
|
||||
*--------------------------------------
|
||||
ICMP.Request .DA #S.ICMP.TYPE.ECHOREQ
|
||||
.DA #0 CODE
|
||||
@ -373,7 +379,6 @@ DS.START
|
||||
ArgIndex .BS 1
|
||||
PingCount .BS 1
|
||||
ArgHostName .BS 1
|
||||
DST.IP .BS 4
|
||||
hSocket .BS 1
|
||||
hFrame .BS 1
|
||||
Identifier .BS 2
|
||||
|
Loading…
x
Reference in New Issue
Block a user