A2osX/INC/LIBTCPIP.I.txt
2018-08-29 17:01:02 +02:00

285 lines
7.5 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

NEW
PREFIX /A2OSX.BUILD
AUTO 4,1
.LIST OFF
.OP 65C02
*--------------------------------------
K.ARPCACHE.SIZE .EQ 10
K.DNSCACHE.SIZE .EQ 10
K.SKTTABLE.SIZE .EQ 64
K.FRMQUEUE.SIZE .EQ 16
K.FRMSEND.RETRY .EQ 10
K.ETH.FRAME.LEN .EQ 1514
K.ARP.TTL .EQ 600
K.ARP.PENDING.TTL .EQ 10
K.DNS.PENDING.TTL .EQ 10
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
*--------------------------------------
LIBTCPIP.SET.IPCFG .EQ 4
LIBTCPIP.GET.IPCFG .EQ 6
LIBTCPIP.POLL .EQ 8
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
LIBTCPIP.SKT.New .EQ 32
LIBTCPIP.SKT.Close .EQ 34
LIBTCPIP.SKT.GetTable .EQ 36
LIBTCPIP.SKT.Get .EQ 38
LIBTCPIP.SKT.Accept .EQ 40
LIBTCPIP.SKT.MkNod .EQ 42
LIBTCPIP.SKT.Read .EQ 44
LIBTCPIP.SKT.Write .EQ 46
LIBTCPIP.SKT.Rcvd .EQ 48
LIBTCPIP.SKT.Send .EQ 50
*--------------------------------------
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 .EQ $B7
ERR.ARP.PENDING .EQ $B5
ERR.ARP.ERROR .EQ $B4
ERR.DEV .EQ $B3
*--------------------------------------
UDP.PORT.DNS .EQ 53
UDP.PORT.PMAP .EQ 111
*--------------------------------------
TCP.PORT.TELNET .EQ 23
*--------------------------------------
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)
S.IPCFG.hFD .EQ 1
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
S.IPCFG.DNS1 .EQ 24
S.IPCFG.DNS2 .EQ 28
S.IPCFG.HOSTNAME .EQ 32 15+\0 C String
S.IPCFG.DOMAIN .EQ 48 79+\0 C String
*
S.IPCFG .EQ 128
*--------------------------------------
S.ARPCACHE.STATUS .EQ 0
S.ARPCACHE.STATUS.PENDING .EQ 1
S.ARPCACHE.STATUS.STATIC .EQ 2
S.ARPCACHE.STATUS.RESOLVED .EQ 128
S.ARPCACHE.TTL .EQ 2
S.ARPCACHE.IP .EQ 6
S.ARPCACHE.MAC .EQ 10
*
S.ARPCACHE .EQ 16
*--------------------------------------
S.DNSCACHE.STATUS .EQ 0
S.DNSCACHE.STATUS.PENDING .EQ 1
S.DNSCACHE.STATUS.STATIC .EQ 2
S.DNSCACHE.STATUS.RESOLVED .EQ 128
S.DNSCACHE.hNAME .EQ 1
S.DNSCACHE.ID .EQ 2 Store Message.Id in cache (pending req.)
S.DNSCACHE.TTL .EQ 4
S.DNSCACHE.IP .EQ 8
*
S.DNSCACHE .EQ 12
*--------------------------------------
S.SOCKET.SOCK .EQ 0
S.SOCKET.SOCK.DGRAM .EQ 1
S.SOCKET.SOCK.STREAM .EQ 2
S.SOCKET.SOCK.RAW .EQ 3
S.SOCKET.SO .EQ 1
S.SOCKET.SO.DEBUG .EQ $01
S.SOCKET.SO.ACCEPTCONN .EQ $02
S.SOCKET.SO.REUSEADDR .EQ $04
S.SOCKET.SO.KEEPALIVE .EQ $08
S.SOCKET.SO.DONTROUTE .EQ $10
S.SOCKET.SO.BROADCAST .EQ $20
S.SOCKET.SO.USELOOPBACK .EQ $40
S.SOCKET.SO.LINGER .EQ $80
S.SOCKET.RAW.PROTO .EQ 2
S.SOCKET.TCP.STATUS .EQ 2
S.SOCKET.TCP.STATUS.CLOSED .EQ 0
S.SOCKET.TCP.STATUS.LISTEN .EQ 1
S.SOCKET.TCP.STATUS.SYNSENT .EQ 2
S.SOCKET.TCP.STATUS.SYNRCVD .EQ 3
S.SOCKET.TCP.STATUS.ESTBLSH .EQ 4
S.SOCKET.TCP.STATUS.CLWAIT .EQ 5
S.SOCKET.TCP.STATUS.LASTACK .EQ 6
S.SOCKET.TCP.STATUS.FINWT1 .EQ 7
S.SOCKET.TCP.STATUS.FINWT2 .EQ 8
S.SOCKET.TCP.STATUS.CLOSING .EQ 9
S.SOCKET.TCP.STATUS.TIMEWT .EQ 10
S.SOCKET.TCP.OPTIONS .EQ 3
S.SOCKET.SRC.ADDR .EQ 4
S.SOCKET.SRC.PORT .EQ 8
S.SOCKET.DST.ADDR .EQ 10
S.SOCKET.DST.PORT .EQ 14
*
S.SOCKET.HDR .EQ 16
* Listen type Queue
* Raw Type Queue
* Datagram type Queue
S.SOCKET.HQ.HEAD .EQ 16
S.SOCKET.HQ.TAIL .EQ 17
S.SOCKET.HQ .EQ 18
S.SOCKET.HQ.MAX .EQ 14 14 hMem (frames)
* Stream type Queue
S.SOCKET.SQ.hTCB .EQ 16
S.SOCKET.SQ.hInMem .EQ 17
S.SOCKET.SQ.hOutMem .EQ 18
*
S.SOCKET .EQ 32
*--------------------------------------
S.TCB.INTAIL .EQ 0
S.TCB.INHEAD .EQ 2
S.TCB.INFREE .EQ 4
S.TCB.INUSED .EQ 6
*
S.TCB.OUTTAIL .EQ 8
S.TCB.OUTTAILNEXT .EQ 10
S.TCB.OUTHEAD .EQ 12
S.TCB.OUTFREE .EQ 14
S.TCB.OUTTOSEND .EQ 16
S.TCB.OUTUSED .EQ 18
*
S.TCB.INLASTSEQNUM .EQ 20 Rcvd:Last SEQ recieved from remote
S.TCB.OUTSEQNUM .EQ 24 Send:SEQ sent not yet ACKed (retransmit)
S.TCB.OUTNEXTSEQ .EQ 28 Send:Next SEQ to send
S.TCB.OUTACKNUM .EQ 32 Send:ACK to send to remote
*
S.TCB .EQ 36
*--------------------------------------
S.ARP.HTYPE .EQ S.ETH+0 $0001
S.ARP.PTYPE .EQ S.ETH+2 $0800
S.ARP.HLEN .EQ S.ETH+4 $06
S.ARP.PLEN .EQ S.ETH+5 $04
S.ARP.OPERATION .EQ S.ETH+6 REQ=$0001,REPLY=$0002
S.ARP.OPERATION.REQ .EQ 1
S.ARP.OPERATION.REP .EQ 2
S.ARP.SHA .EQ S.ETH+8 Sender MAC
S.ARP.SPA .EQ S.ETH+14 Sender IP
S.ARP.THA .EQ S.ETH+18 Target MAC
S.ARP.TPA .EQ S.ETH+24 Target IP
*
S.ARP .EQ S.ETH+28
*--------------------------------------
S.IP.V.IHL.DSCP.ECN .EQ S.ETH+0 $0045, IPV4,HDR=5DWORDs
S.IP.TOTAL.LENGTH .EQ S.ETH+2
S.IP.IDENTIFICATION .EQ S.ETH+4
S.IP.FRAGMENT.FLAGS .EQ S.ETH+6
S.IP.TTL .EQ S.ETH+8
S.IP.PROTOCOL .EQ S.ETH+9
S.IP.PROTOCOL.ICMP .EQ 1
S.IP.PROTOCOL.TCP .EQ 6
S.IP.PROTOCOL.UDP .EQ 17
S.IP.HDR.CHECKSUM .EQ S.ETH+10
S.IP.SRC .EQ S.ETH+12
S.IP.DST .EQ S.ETH+16
*
S.IP .EQ S.ETH+20
*--------------------------------------
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
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
*--------------------------------------
S.UDP.SRCPORT .EQ S.IP+0
S.UDP.DSTPORT .EQ S.IP+2
S.UDP.LENGTH .EQ S.IP+4
S.UDP.CHECKSUM .EQ S.IP+6 $0000 = DISABLE
*
S.UDP .EQ S.IP+8
*--------------------------------------
S.TCP.SRCPORT .EQ S.IP+0
S.TCP.DSTPORT .EQ S.IP+2
S.TCP.SEQNUM .EQ S.IP+4
S.TCP.ACKNUM .EQ S.IP+8
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
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
*--------------------------------------
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
SAVE /A2OSX.BUILD/INC/LIBTCPIP.I