A2osX/INC/LIBTCPIP.I.txt

204 lines
5.4 KiB
Plaintext
Raw Permalink 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
AUTO 3,1
.LIST OFF
*--------------------------------------
K.ARPCACHE.SIZE .EQ 8
K.DNSCACHE.SIZE .EQ 8
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 20
K.DNS.PENDING.TTL .EQ 20
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.SETCFG .EQ 4
LIBTCPIP.GETCFG .EQ 6
LIBTCPIP.INCOMING .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.Socket .EQ 32
LIBTCPIP.Bind .EQ 34
LIBTCPIP.Connect .EQ 36
LIBTCPIP.Listen .EQ 38
LIBTCPIP.Accept .EQ 40
LIBTCPIP.Shutdown .EQ 42
LIBTCPIP.Read .EQ 44
LIBTCPIP.Write .EQ 46
LIBTCPIP.Recv .EQ 48
LIBTCPIP.Send .EQ 50
LIBTCPIP.RecvFrom .EQ 52
LIBTCPIP.SendTo .EQ 54
LIBTCPIP.getsockopt .EQ 56
LIBTCPIP.setsockopt .EQ 58
LIBTCPIP.EOF .EQ 60
LIBTCPIP.GetTable .EQ 62
*--------------------------------------
ERR.SKT.OOS .EQ $BF
ERR.SKT.BUSY .EQ $BE
ERR.SKT.BAD .EQ $BD
ERR.SKT.NOCONN .EQ $BC
ERR.DNS.PENDING .EQ $B9
ERR.DNS.ERROR .EQ $B8
ERR.ARP.PENDING .EQ $B5
*--------------------------------------
UDP.PORT.PMAP .EQ 111
UDP.PORT.NTP .EQ 123
*--------------------------------------
*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.DevID .EQ 1
*S.IPCFG.DevFlags .EQ 2
*
*S.IPCFG.MAC .EQ 4
S.IPCFG.DHCPSRVR .EQ 10
S.IPCFG.IP .EQ 14
S.IPCFG.MASK .EQ 18
S.IPCFG.GW .EQ 22
S.IPCFG.DNS1 .EQ 26
S.IPCFG.DNS2 .EQ 30
S.IPCFG.HOSTNAME .EQ 34 15+\0 C String
S.IPCFG.DOMAIN .EQ 50 45+\0 C String
*
S.IPCFG .EQ 96
*--------------------------------------
S.ARPCACHE.S .EQ 0
S.ARPCACHE.S.PENDING .EQ 1
S.ARPCACHE.S.STATIC .EQ 2
S.ARPCACHE.S.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.SOCKADDR.AF .EQ 0
S.SOCKADDR.ADDR .EQ 2
S.SOCKADDR.PORT .EQ 6
*
S.SOCKADDR .EQ 8
*--------------------------------------
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.SEQPKT .EQ 4 S.FD.T.DSOCK,TCP
S.SOCKET.T.STREAM .EQ 6 S.FD.T.SSOCK,TCP
S.SOCKET.PROTO .EQ S.FD.DSOCK+2
S.SOCKET.O .EQ S.FD.DSOCK+3
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
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
*--------------------------------------
* Listen type Queue
* Raw Type Queue
* Datagram type Queue
* Seq Packet type Queue
*--------------------------------------
S.SOCKET.HQ.TAIL .EQ S.FD.DSOCK+16
S.SOCKET.HQ.HEAD .EQ S.FD.DSOCK+17
S.SOCKET.HQ .EQ S.FD.DSOCK+18
S.SOCKET.HQ.MAX .EQ 14 14 hMem (frames)
*--------------------------------------
* Stream type Queue
*--------------------------------------
S.SOCKET.SQ.hInMem .EQ S.FD.DSOCK+16
S.SOCKET.SQ.hOutMem .EQ S.FD.DSOCK+17
*
S.SOCKET .EQ S.FD.DSOCK+32
*--------------------------------------
S.SOCKET.TCP.S .EQ S.SOCKET
S.SOCKET.TCP.S.CLOSED .EQ 0
S.SOCKET.TCP.S.OPENED .EQ 1
S.SOCKET.TCP.S.LISTEN .EQ 2
S.SOCKET.TCP.S.SYNSENT .EQ 3
S.SOCKET.TCP.S.SYNRCVD .EQ 4
S.SOCKET.TCP.S.ESTBLSH .EQ 5
S.SOCKET.TCP.S.CLWAIT .EQ 6
S.SOCKET.TCP.S.LASTACK .EQ 7
S.SOCKET.TCP.S.FINWT1 .EQ 8
S.SOCKET.TCP.S.FINWT2 .EQ 9
S.SOCKET.TCP.S.CLOSING .EQ 10
S.SOCKET.TCP.S.TIMEWT .EQ 11
*
S.SOCKET.TCP.O .EQ S.SOCKET+1
*
S.SOCKET.TCP.INSEQNUM .EQ S.SOCKET+2 Recv:Last SEQ received from remote
S.SOCKET.TCP.INACKNUM .EQ S.SOCKET+6
S.SOCKET.TCP.OUTNEXTSEQ .EQ S.SOCKET+10 Send:Next SEQ to send
S.SOCKET.TCP.OUTSENTSEQ .EQ S.SOCKET+14 Send:SEQ sent not yet ACKed (retransmit)
*
S.SOCKET.TCP.INTAIL .EQ S.SOCKET+18
S.SOCKET.TCP.INHEAD .EQ S.SOCKET+20
S.SOCKET.TCP.INFREE .EQ S.SOCKET+22
S.SOCKET.TCP.INUSED .EQ S.SOCKET+24
*
S.SOCKET.TCP.OUTTAIL .EQ S.SOCKET+26
S.SOCKET.TCP.OUTTAILSENT .EQ S.SOCKET+28
S.SOCKET.TCP.OUTHEAD .EQ S.SOCKET+30
S.SOCKET.TCP.OUTFREE .EQ S.SOCKET+32
S.SOCKET.TCP.OUTTOSEND .EQ S.SOCKET+34
S.SOCKET.TCP.OUTUSED .EQ S.SOCKET+36
*
S.SOCKET.TCP .EQ S.SOCKET+38
*--------------------------------------
MAN
SAVE inc/libtcpip.i
LOAD usr/src/lib/libtcpip.s
ASM