A2osX/INC/LIBTCPIP.I.txt

296 lines
8.1 KiB
Plaintext
Raw Normal View History

2015-03-14 21:48:35 +00:00
NEW
2018-11-17 17:17:13 +00:00
PREFIX
2018-07-23 15:28:42 +00:00
AUTO 4,1
2015-03-14 21:48:35 +00:00
.LIST OFF
.OP 65C02
*--------------------------------------
K.ARPCACHE.SIZE .EQ 10
2016-02-24 20:03:55 +00:00
K.DNSCACHE.SIZE .EQ 10
K.SKTTABLE.SIZE .EQ 64
K.FRMQUEUE.SIZE .EQ 16
2016-03-27 21:05:30 +00:00
K.FRMSEND.RETRY .EQ 10
2016-02-24 20:03:55 +00:00
K.ETH.FRAME.LEN .EQ 1514
2016-03-16 07:19:54 +00:00
K.ARP.TTL .EQ 600
2016-03-27 21:05:30 +00:00
K.ARP.PENDING.TTL .EQ 10
K.DNS.PENDING.TTL .EQ 10
2016-02-24 20:03:55 +00:00
K.IP.TTL .EQ 64
K.DNS.MAXLEN .EQ 64
K.DYNPORT.START .EQ 49152
K.DYNPORT.END .EQ 65535
K.TCP.MSS .EQ K.ETH.FRAME.LEN-20-20-14
K.TCP.WSIZE .EQ 2048
2016-02-24 20:03:55 +00:00
*--------------------------------------
2015-03-14 21:48:35 +00:00
LIBTCPIP.SET.IPCFG .EQ 4
LIBTCPIP.GET.IPCFG .EQ 6
LIBTCPIP.POLL .EQ 8
2018-07-23 15:28:42 +00:00
LIBTCPIP.PULSE .EQ 10
LIBTCPIP.ARP.Clear .EQ 12
LIBTCPIP.ARP.Query .EQ 14
LIBTCPIP.ARP.Add .EQ 16
LIBTCPIP.ARP.GetCache .EQ 18
LIBTCPIP.DNS.Clear .EQ 20
LIBTCPIP.DNS.Query .EQ 22
LIBTCPIP.DNS.Add .EQ 24
LIBTCPIP.DNS.GetCache .EQ 26
LIBTCPIP.HST.GetByName .EQ 28
LIBTCPIP.HST.GetByAddr .EQ 30
2018-10-10 15:39:22 +00:00
LIBTCPIP.Socket .EQ 32
LIBTCPIP.Bind .EQ 34
LIBTCPIP.Connect .EQ 36
LIBTCPIP.Listen .EQ 38
2018-10-10 15:39:22 +00:00
LIBTCPIP.Accept .EQ 40
LIBTCPIP.shutdown .EQ 42
2018-10-10 15:39:22 +00:00
LIBTCPIP.Read .EQ 44
LIBTCPIP.Write .EQ 46
LIBTCPIP.Recv .EQ 48
LIBTCPIP.Send .EQ 50
2018-09-26 15:36:32 +00:00
2018-10-10 15:39:22 +00:00
LIBTCPIP.RecvFrom .EQ 52
LIBTCPIP.SendTo .EQ 54
2018-10-01 05:48:42 +00:00
2018-11-08 14:23:06 +00:00
LIBTCPIP.getsockopt .EQ 56
2018-11-07 21:48:48 +00:00
LIBTCPIP.setsockopt .EQ 58
2018-11-08 14:23:06 +00:00
LIBTCPIP.GetTable .EQ 60
2016-01-16 22:06:36 +00:00
*--------------------------------------
ERR.SKT.OOS .EQ $BF
ERR.SKT.BUSY .EQ $BE
ERR.SKT.BAD .EQ $BD
ERR.DNS.PENDING .EQ $B9
ERR.DNS.ERROR .EQ $B8
ERR.ARP.PENDING .EQ $B5
2015-03-14 21:48:35 +00:00
*--------------------------------------
UDP.PORT.DNS .EQ 53
2015-09-11 18:48:12 +00:00
UDP.PORT.PMAP .EQ 111
2015-03-14 21:48:35 +00:00
*--------------------------------------
S.IPCFG.STATUS .EQ 0
S.IPCFG.STATUS.OFF .EQ %00000000 TCPIP Unconfigured
S.IPCFG.STATUS.SDISC .EQ %00000001 DISCOVERY Sent
S.IPCFG.STATUS.ROFFER .EQ %00000010 OFFER Received
S.IPCFG.STATUS.SREQ .EQ %00000100 REQUEST Sent
S.IPCFG.STATUS.RACK .EQ %00001000 ACK Received
S.IPCFG.STATUS.OK .EQ %10000000 Fully configured (static or DHCP)
2018-08-08 15:13:37 +00:00
S.IPCFG.hFD .EQ 1
2015-03-14 21:48:35 +00:00
S.IPCFG.MAC .EQ 2
S.IPCFG.DHCPSRVR .EQ 8
S.IPCFG.IP .EQ 12
S.IPCFG.MASK .EQ 16
S.IPCFG.GW .EQ 20
2016-01-16 22:06:36 +00:00
S.IPCFG.DNS1 .EQ 24
S.IPCFG.DNS2 .EQ 28
2018-07-24 16:00:24 +00:00
S.IPCFG.HOSTNAME .EQ 32 15+\0 C String
S.IPCFG.DOMAIN .EQ 48 79+\0 C String
2015-03-14 21:48:35 +00:00
*
2016-01-16 22:06:36 +00:00
S.IPCFG .EQ 128
2015-03-14 21:48:35 +00:00
*--------------------------------------
2018-11-09 15:59:04 +00:00
S.ARPCACHE.S .EQ 0
2018-11-09 13:29:23 +00:00
S.ARPCACHE.S.PENDING .EQ 1
2018-11-09 15:59:04 +00:00
S.ARPCACHE.S.STATIC .EQ 2
2018-11-09 13:29:23 +00:00
S.ARPCACHE.S.RESOLVED .EQ 128
2016-03-16 07:19:54 +00:00
S.ARPCACHE.TTL .EQ 2
S.ARPCACHE.IP .EQ 6
S.ARPCACHE.MAC .EQ 10
2015-03-14 21:48:35 +00:00
*
2016-03-16 07:19:54 +00:00
S.ARPCACHE .EQ 16
2015-03-14 21:48:35 +00:00
*--------------------------------------
S.DNSCACHE.STATUS .EQ 0
2016-03-15 17:16:14 +00:00
S.DNSCACHE.STATUS.PENDING .EQ 1
S.DNSCACHE.STATUS.STATIC .EQ 2
2015-03-14 21:48:35 +00:00
S.DNSCACHE.STATUS.RESOLVED .EQ 128
S.DNSCACHE.hNAME .EQ 1
2016-03-15 17:16:14 +00:00
S.DNSCACHE.ID .EQ 2 Store Message.Id in cache (pending req.)
S.DNSCACHE.TTL .EQ 4
S.DNSCACHE.IP .EQ 8
2015-03-14 21:48:35 +00:00
*
2016-03-15 17:16:14 +00:00
S.DNSCACHE .EQ 12
2015-03-14 21:48:35 +00:00
*--------------------------------------
2018-10-01 05:48:42 +00:00
S.SOCKADDR.AF .EQ 0
S.SOCKADDR.ADDR .EQ 2
S.SOCKADDR.PORT .EQ 6
2018-09-26 15:36:32 +00:00
*
2018-10-01 05:48:42 +00:00
S.SOCKADDR .EQ 8
2018-09-26 15:36:32 +00:00
*--------------------------------------
2018-10-01 15:52:58 +00:00
S.SOCKET.AF .EQ S.FD.DSOCK+0
S.SOCKET.T .EQ S.FD.DSOCK+1
S.SOCKET.T.RAW .EQ 0 S.FD.T.DSOCK,ICMP...
S.SOCKET.T.DGRAM .EQ 2 S.FD.T.DSOCK,UDP
S.SOCKET.T.SEQPACKET .EQ 4 S.FD.T.DSOCK,TCP
S.SOCKET.T.STREAM .EQ 6 S.FD.T.SSOCK,TCP
2018-09-28 15:24:44 +00:00
2018-10-01 15:52:58 +00:00
S.SOCKET.PROTO .EQ S.FD.DSOCK+2
2018-09-28 15:24:44 +00:00
2018-10-01 15:52:58 +00:00
S.SOCKET.O .EQ S.FD.DSOCK+3
2018-09-28 15:24:44 +00:00
S.SOCKET.O.DEBUG .EQ $01
S.SOCKET.O.ACCEPTCONN .EQ $02
S.SOCKET.O.REUSEADDR .EQ $04
S.SOCKET.O.KEEPALIVE .EQ $08
S.SOCKET.O.DONTROUTE .EQ $10
S.SOCKET.O.BROADCAST .EQ $20
S.SOCKET.O.USELOOPBACK .EQ $40
S.SOCKET.O.LINGER .EQ $80
2018-10-01 15:52:58 +00:00
S.SOCKET.LOC.ADDR .EQ S.FD.DSOCK+4
S.SOCKET.LOC.PORT .EQ S.FD.DSOCK+8
S.SOCKET.REM.ADDR .EQ S.FD.DSOCK+10
S.SOCKET.REM.PORT .EQ S.FD.DSOCK+14
2018-09-28 15:24:44 +00:00
*--------------------------------------
2016-02-24 20:03:55 +00:00
* Listen type Queue
* Raw Type Queue
2016-02-24 20:03:55 +00:00
* Datagram type Queue
2018-11-06 16:31:13 +00:00
* Seq Packet type Queue
2018-10-01 15:52:58 +00:00
S.SOCKET.HQ.HEAD .EQ S.FD.DSOCK+16
S.SOCKET.HQ.TAIL .EQ S.FD.DSOCK+17
S.SOCKET.HQ .EQ S.FD.DSOCK+18
2018-09-28 15:24:44 +00:00
S.SOCKET.HQ.MAX .EQ 14 14 hMem (frames)
2016-02-24 20:03:55 +00:00
* Stream type Queue
2018-10-01 15:52:58 +00:00
S.SOCKET.SQ.hInMem .EQ S.FD.DSOCK+16
S.SOCKET.SQ.hOutMem .EQ S.FD.DSOCK+17
*
2018-10-01 15:52:58 +00:00
S.SOCKET .EQ S.FD.DSOCK+32
*--------------------------------------
2018-09-28 15:24:44 +00:00
S.SOCKET.TCP.S .EQ S.SOCKET
S.SOCKET.TCP.S.CLOSED .EQ 0
S.SOCKET.TCP.S.LISTEN .EQ 1
S.SOCKET.TCP.S.SYNSENT .EQ 2
S.SOCKET.TCP.S.SYNRCVD .EQ 3
S.SOCKET.TCP.S.ESTBLSH .EQ 4
S.SOCKET.TCP.S.CLWAIT .EQ 5
S.SOCKET.TCP.S.LASTACK .EQ 6
S.SOCKET.TCP.S.FINWT1 .EQ 7
S.SOCKET.TCP.S.FINWT2 .EQ 8
S.SOCKET.TCP.S.CLOSING .EQ 9
S.SOCKET.TCP.S.TIMEWT .EQ 10
S.SOCKET.TCP.O .EQ S.SOCKET+1
S.SOCKET.TCP.INTAIL .EQ S.SOCKET+2
S.SOCKET.TCP.INHEAD .EQ S.SOCKET+4
S.SOCKET.TCP.INFREE .EQ S.SOCKET+6
S.SOCKET.TCP.INUSED .EQ S.SOCKET+8
*
2018-09-28 15:24:44 +00:00
S.SOCKET.TCP.OUTTAIL .EQ S.SOCKET+10
S.SOCKET.TCP.OUTTAILNEXT .EQ S.SOCKET+12
S.SOCKET.TCP.OUTHEAD .EQ S.SOCKET+14
S.SOCKET.TCP.OUTFREE .EQ S.SOCKET+16
S.SOCKET.TCP.OUTTOSEND .EQ S.SOCKET+18
S.SOCKET.TCP.OUTUSED .EQ S.SOCKET+20
*
2018-10-08 15:41:00 +00:00
S.SOCKET.TCP.INLASTSEQNUM .EQ S.SOCKET+22 Recv:Last SEQ received from remote
2018-09-21 15:28:46 +00:00
2018-09-28 15:24:44 +00:00
S.SOCKET.TCP.OUTSEQNUM .EQ S.SOCKET+26 Send:SEQ sent not yet ACKed (retransmit)
S.SOCKET.TCP.OUTNEXTSEQ .EQ S.SOCKET+30 Send:Next SEQ to send
S.SOCKET.TCP.OUTACKNUM .EQ S.SOCKET+34 Send:ACK to send to remote
*
2018-09-28 15:24:44 +00:00
S.SOCKET.TCP .EQ S.SOCKET+38
2015-03-14 21:48:35 +00:00
*--------------------------------------
2018-11-06 16:31:13 +00:00
S.ARP.HTYPE .EQ S.ETH.EII+0 $0001
S.ARP.PTYPE .EQ S.ETH.EII+2 $0800
S.ARP.HLEN .EQ S.ETH.EII+4 $06
S.ARP.PLEN .EQ S.ETH.EII+5 $04
S.ARP.OPERATION .EQ S.ETH.EII+6 REQ=$0001,REPLY=$0002
2015-03-14 21:48:35 +00:00
S.ARP.OPERATION.REQ .EQ 1
S.ARP.OPERATION.REP .EQ 2
2018-11-06 16:31:13 +00:00
S.ARP.SHA .EQ S.ETH.EII+8 Sender MAC
S.ARP.SPA .EQ S.ETH.EII+14 Sender IP
S.ARP.THA .EQ S.ETH.EII+18 Target MAC
S.ARP.TPA .EQ S.ETH.EII+24 Target IP
2015-03-14 21:48:35 +00:00
*
2018-11-06 16:31:13 +00:00
S.ARP .EQ S.ETH.EII+28
2015-03-14 21:48:35 +00:00
*--------------------------------------
2018-11-06 16:31:13 +00:00
S.IP.V.IHL.DSCP.ECN .EQ S.ETH.EII+0 $0045, IPV4,HDR=5DWORDs
S.IP.TOTAL.LENGTH .EQ S.ETH.EII+2
S.IP.IDENTIFICATION .EQ S.ETH.EII+4
S.IP.FRAGMENT.FLAGS .EQ S.ETH.EII+6
S.IP.TTL .EQ S.ETH.EII+8
S.IP.PROTOCOL .EQ S.ETH.EII+9
S.IP.PROTOCOL.ICMP .EQ 1
S.IP.PROTOCOL.TCP .EQ 6
S.IP.PROTOCOL.UDP .EQ 17
2018-11-06 16:31:13 +00:00
S.IP.HDR.CHECKSUM .EQ S.ETH.EII+10
S.IP.SRC .EQ S.ETH.EII+12
S.IP.DST .EQ S.ETH.EII+16
2015-03-14 21:48:35 +00:00
*
2018-11-06 16:31:13 +00:00
S.IP .EQ S.ETH.EII+20
2015-03-14 21:48:35 +00:00
*--------------------------------------
S.ICMP.TYPE .EQ S.IP+0
S.ICMP.TYPE.ECHOREP .EQ 0
S.ICMP.TYPE.UNREACH .EQ 3
S.ICMP.TYPE.ECHOREQ .EQ 8
2015-03-14 21:48:35 +00:00
S.ICMP.CODE .EQ S.IP+1
S.ICMP.CHECKSUM .EQ S.IP+2
S.ICMP.IDENTIFIER .EQ S.IP+4
S.ICMP.SEQUENCE .EQ S.IP+6
*
S.ICMP .EQ S.IP+8
*--------------------------------------
2018-09-17 15:42:38 +00:00
S.TCPUDP.SRCPORT .EQ S.IP+0
S.TCPUDP.DSTPORT .EQ S.IP+2
*--------------------------------------
2015-03-14 21:48:35 +00:00
S.UDP.LENGTH .EQ S.IP+4
S.UDP.CHECKSUM .EQ S.IP+6 $0000 = DISABLE
*
S.UDP .EQ S.IP+8
*--------------------------------------
S.TCP.SEQNUM .EQ S.IP+4
S.TCP.ACKNUM .EQ S.IP+8
2016-01-16 22:06:36 +00:00
S.TCP.DATAOFFSET .EQ S.IP+12
S.TCP.OPTIONS .EQ S.IP+13
S.TCP.OPTIONS.URG .EQ %00100000
S.TCP.OPTIONS.ACK .EQ %00010000
S.TCP.OPTIONS.PSH .EQ %00001000
S.TCP.OPTIONS.RST .EQ %00000100
S.TCP.OPTIONS.SYN .EQ %00000010
S.TCP.OPTIONS.FIN .EQ %00000001
2016-01-16 22:06:36 +00:00
S.TCP.WINDOW .EQ S.IP+14
S.TCP.CHECKSUM .EQ S.IP+16
S.TCP.URGPTR .EQ S.IP+18
*
S.TCP .EQ S.IP+20
*--------------------------------------
2015-03-14 21:48:35 +00:00
S.DNS.ID .EQ S.UDP+0
S.DNS.F .EQ S.UDP+2
S.DNS.F.QR .EQ %10000000.00000000
S.DNS.F.OPCODE.I .EQ %01000000.00000000
S.DNS.F.OPCODE.S .EQ %00100000.00000000
S.DNS.F.AA .EQ %00000100.00000000
S.DNS.F.TC .EQ %00000010.00000000
S.DNS.F.RD .EQ %00000001.00000000
S.DNS.F.RA .EQ %00000000.10000000
S.DNS.F.RCODE.FRMT .EQ %00000000.00000001
S.DNS.F.RCODE.SRVR .EQ %00000000.00000010
S.DNS.F.RCODE.UKWN .EQ %00000000.00000011
S.DNS.F.RCODE.NIMP .EQ %00000000.00000100
S.DNS.F.RCODE.DENY .EQ %00000000.00000101
S.DNS.QDCOUNT .EQ S.UDP+4
S.DNS.ANCOUNT .EQ S.UDP+6
S.DNS.NSCOUNT .EQ S.UDP+8
S.DNS.ARCOUNT .EQ S.UDP+10
*
S.DNS .EQ S.UDP+12
*--------------------------------------
S.DNS.QTYPE.A .EQ 1
S.DNS.QTYPE.NS .EQ 2
S.DNS.QTYPE.CNAME .EQ 5
S.DNS.QTYPE.SOA .EQ 6
S.DNS.QTYPE.WKS .EQ 11
S.DNS.QTYPE.PTR .EQ 12
S.DNS.QTYPE.MX .EQ 15
S.DNS.QTYPE.SRV .EQ 33
S.DNS.QTYPE.ANY .EQ 255
S.DNS.QCLASS.IN .EQ 1
*--------------------------------------
MAN
2018-11-17 17:17:13 +00:00
SAVE INC/LIBTCPIP.I
LOAD USR/SRC/LIB/LIBTCPIP.S
2018-10-08 05:55:28 +00:00
ASM