A2osX/LIB/LIBTCPIP.S.CFG.txt

133 lines
2.4 KiB
Plaintext
Raw Normal View History

2017-12-22 21:24:30 +00:00
NEW
PREFIX /A2OSX.BUILD
2017-12-22 21:24:30 +00:00
AUTO 4,1
.LIST OFF
*--------------------------------------
* PULLW = PTR to S.IPCFG
*--------------------------------------
2018-07-23 15:28:42 +00:00
SET.IPCFG >PULLW ZPTmpPtr1 IPCFG
>LDYA L.DCB.NIC
>STYA IOCTL+S.IOCTL.BUFPTR
2018-07-26 06:03:49 +00:00
lda #S.IOCTL.STATCODE.GETDCB
sta IOCTL+S.IOCTL.STATCODE
2018-07-23 15:28:42 +00:00
ldx #IOCTL.STATUS
jsr SET.IPCFG.IOCTL
ldy #0
.1 lda (ZPTmpPtr1),y
sta IPCFG,y
iny
cpy #S.IPCFG
bne .1
ldx #5
2018-07-23 15:28:42 +00:00
.2 lda DCB.NIC+S.DCB.NIC.MAC,x
sta IPCFG+S.IPCFG.MAC,x
sta ARP.REQ.SRCMAC,x
sta ARP.REQ.SHA,x
sta ARP.REP.SRCMAC,x
sta ARP.REP.SHA,x
dex
bpl .2
ldx #3
.3 lda IPCFG+S.IPCFG.IP,x
sta ARP.REQ.SPA,x
sta ARP.REP.SPA,x
sta DNS.SOCKET.SA,x
dex
bpl .3
2018-07-23 06:28:47 +00:00
lda DCB.NIC+S.DCB.NIC.FLAGS
and #S.DCB.NIC.FLAGS.ARPOFFLOAD
beq .4
2018-07-23 06:28:47 +00:00
ldx #11
.31 lda IPCFG+S.IPCFG.IP,x
sta DCB.NIC+S.DCB.NIC.IP,x
dex
bpl .31
* lda S.IOCTL.CTRLCODE.SETDCB same as lda S.IOCTL.STATCODE.GETDCB
* sta S.IOCTL.CTRLCODE same as sta S.IOCTL.STATCODE
2018-07-23 15:28:42 +00:00
ldx #IOCTL.CONTROL
2018-07-23 06:28:47 +00:00
jsr SET.IPCFG.IOCTL
.4 lda hDNSSocket1
beq .41
2018-07-23 15:28:42 +00:00
jsr SKT.Close
stz hDNSSocket1
.41 lda hDNSSocket2
beq .42
2018-07-23 15:28:42 +00:00
jsr SKT.Close
stz hDNSSocket2
.42 lda IPCFG+S.IPCFG.DNS1
beq .6
ldx #3
.5 lda IPCFG+S.IPCFG.DNS1,x
sta DNS.SOCKET.DA,x
dex
bpl .5
stz DNS.SOCKET.SP
stz DNS.SOCKET.SP+1
>PUSHW L.DNS.SOCKET
jsr SKT.New
bcs .9
stx hDNSSocket1
.6 lda IPCFG+S.IPCFG.DNS2
beq .8
ldx #3
.7 lda IPCFG+S.IPCFG.DNS2,x
sta DNS.SOCKET.DA,x
dex
bpl .7
stz DNS.SOCKET.SP
stz DNS.SOCKET.SP+1
>PUSHW L.DNS.SOCKET
jsr SKT.New
bcs .9
stx hDNSSocket2
2018-07-26 06:03:49 +00:00
.8 clc
.9 rts
2018-07-23 06:28:47 +00:00
SET.IPCFG.IOCTL >PUSHW L.IOCTL
txa
>PUSHA
lda IPCFG+S.IPCFG.HDEV
>SYSCALL IOCTL
rts
*--------------------------------------
* grab a copy on the fly for lib function
* OUT :
* Y,A = PTR to S.IPCFG
*--------------------------------------
GET.IPCFG >LDYA L.IPCFG
clc
rts
*--------------------------------------
MAN
SAVE /A2OSX.SRC/LIB/LIBTCPIP.S.CFG
LOAD /A2OSX.SRC/LIB/LIBTCPIP.S
ASM