gscifs/Library/E16.TCPIP.Macs.s

325 lines
8.7 KiB
ArmAsm

********************************************
* Marinetti Equates
* by Richard Bennett
*
********************************************
* 1998-08-28 RJB Original version
* 2003-05-31 AJR Update to v2.1 of TCP/IP interfaces
********************************************
*-------------------------------------------------
* Various numeric equates
*-------------------------------------------------
* Connect methods
conEthernet = 1
conMacIP = 2
conPPPCustom = 3
conSLIP = 4
conTest = 5
conPPP = 6
conDirectConnect = 7
conAppleEthernet = 8
* Protocols
protocolAll = 0
protocolICMP = 1
protocolTCP = 6
protocolUDP = 17
* Tool Error codes
terrOK = 0
terrBADIPID = $3601 ;Bad IPID for this request
terrNOCONNECTION = $3602 ;Not connected to the network
terrNORECONDATA = $3603 ;No reconnect data
terrLINKERROR = $3604 ;Problem with the link layer
terrSCRIPTFAILED = $3605 ;The script failed / timed out
terrCONNECTED = $3606 ;Not while connected to the network
terrSOCKETOPEN = $3607 ;Socket still open
terrINITNOTFOUND = $3608 ;Init not found in memory
terrVERSIONMISMATCH = $3609 ;Different versions of tool, init, cdev
terrBADTUNETABLELEN = $360A ;Bad tune table length
terrIPIDTABLEFULL = $360B ;IPID table full
terrNOICMPQUEUED = $360C ;No ICMP datagrams in the queue
terrLOGINSPENDING = $360D ;There are still IPIDs logged in
terrTCPIPNOTACTIVE = $360E ;Not active. Probably in P8 mode.
terrNODNSERVERS = $360F ;No servers registered with Marinetti
terrDNRBUSY = $3610 ;DNR is current busy. Try again later
terrNOLINKLAYER = $3611 ;Unable to load link layer module
terrBADLINKLAYER = $3612 ;Not a link layer module
terrENJOYCOKE = $3613 ;But not so close to the keyboard
terrNORECONSUPPRT = $3614 ;This module doesn't support reconnect
terrUSERABORTED = $3615 ;The user aborted the connect/disconnect script
terrBADUSERPASS = $3616 ;Invalid username and/or password
terrBADPARAMETER = $3617 ;Invalid parameter for this call
terrBADENVIRONMENT = $3618 ;No desktop or tools not started
terrNOINCOMING = $3619 ;There is no pending incoming request
terrLINKBUSY = $361A ;Modem or interface is busy
terrNOLINKINTERFACE = $361B ;No dial tone or similar
terrNOLINKRESPONSE = $361C ;No modem answer or similar
terrNODNRPENDING = $361D ;No such entry in DNR list
terrBADALIVEMINUTES = $361E ;Minutes value is invalid
terrBUFFERTOOSMALL = $361F ;Buffer is too small
terrNOTSERVER = $3620 ;This ipid is not set up as a server
terrBADTRIGGERNUM = $3621 ;Invalid trigger number
terrmask = $00FF
* DNR status codes
DNR_Pending = 0 ;Request still being processed
DNR_OK = 1 ;Request completed successfully
DNR_Failed = 2 ;Network error/timeout
DNR_NoDNSEntry = 3 ;Requested domain has no DNS entry
DNR_Cancelled = 4 ;Cancelled by user
* TCP logic errors
tcperrOK = 0 ;"tcperr" error codes from TCP RFC
tcperrDeafDestPort = 1
tcperrHostReset = 2
tcperrConExists = 3 ;"connection already exists"
tcperrConIllegal = 4 ;"connection illegal for this process"
tcperrNoResources = 5 ;"insuficient resources"
tcperrNoSocket = 6 ;"foreign socket unspecified"
tcperrBadPrec = 7 ;"precedence not allowed"
tcperrBadSec = 8 ;"security/compartment not allowed"
tcperrBadConnection = 9 ;"connection does not exist"
tcperrConClosing = 10 ;"connection closing"
tcperrClosing = 11 ;"closing"
tcperrConReset = 12 ;"connection reset"
tcperrUserTimeout = 13 ;"connection aborted due to user timeout"
tcperrConRefused = 14 ;"connection refused"
* TCP states
TCPSCLOSED = 0
TCPSLISTEN = 1
TCPSSYNSENT = 2
TCPSSYNRCVD = 3
TCPSESTABLISHED = 4
TCPSFINWAIT1 = 5
TCPSFINWAIT2 = 6
TCPSCLOSEWAIT = 7
TCPSLASTACK = 8
TCPSCLOSING = 9
TCPSTIMEWAIT = 10
nTCPSTATES = 11
TCPIPSaysHello = $8101
TCPIPSaysNetworkUp = $8102
TCPIPSaysNetworkDown = $8103
*----------------------------------------------------
* Control/data blocks
*----------------------------------------------------
* Error table
tcpDGMSTBLEN = 120 ;Length of table including this longword
tcpDGMSTOTAL = 4 ;Total datagrams received (good and bad)
tcpDGMSFRAGSIN = 8 ;Got a fragment (datagram is queued to frag list)
tcpDGMSFRAGSLOST = 12 ;Fragment purged after timeout in queue
tcpDGMSBUILT = 16 ;Built a datagram from fragments (is then queued)
tcpDGMSOK = 20 ;datagrams queued from link *OR* tcpDGMSBUILT
tcpDGMSBADCHK = 24 ;Bad IP checksum (datagram is purged)
tcpDGMSBADHEADLEN = 28 ;Bad IP header lengths (datagram is purged)
tcpDGMSBADPROTO = 32 ;Unsupported protocols (added to misc queue)
tcpDGMSBADIP = 36 ;Not my or loopback IP (datagram is purged)
tcpDGMSICMP = 40 ;ICMP total datagrams in (good and bad)
tcpDGMSICMPUSER = 44 ;ICMP user datagrams
tcpDGMSICMPKERNEL = 48 ;ICMP kernel datagrams
tcpDGMSICMPBAD = 52 ;ICMP bad checksum or datagram too short
tcpDGMSICMPBADTYPE = 56 ;ICMP bad ic_type
tcpDGMSICMPBADCODE = 60 ;ICMP bad ic_code
tcpDGMSICMPECHORQ = 64 ;ICMP ECHORQs in
tcpDGMSICMPECHORQOUT = 68 ;ICMP ECHORQ replies sent out
tcpDGMSICMPECHORP = 72 ;ICMP ECHORPs in
tcpDGMSICMPECHORPBADID = 76 ;ICMP ECHORPs unclaimed
tcpDGMSUDP = 80 ;UDPs OK (added to UDP queue)
tcpDGMSUDPBAD = 84 ;Bad UDP header (datagram is purged)
tcpDGMSUDPNOPORT = 88 ;No such logged in port (datagram is purged)
tcpDGMSTCP = 92 ;TCPs OK (returned to TCP main logic)
tcpDGMSTCPBAD = 96 ;Bad TCP header or checksum (datagram is purged)
tcpDGMSTCPNOPORT = 100 ;No such logged in port (datagram is purged)
tcpDGMSTCPQUEUED = 104 ;Arrived before required (datagram is queued)
tcpDGMSTCPOLD = 108 ;Already received this segment (datagram is purged)
tcpDGMSOFRAGMENTS = 112 ;Fragments transmitted
tcpDGMSFRAGMENTED = 116 ;Datagrams fragmented for transmission
tcpPKTSLEN = 120 ;Length of error table in bytes
* TCPIPReadTCP response buffer
rrBuffCount = 0
rrBuffHandle = 4
rrMoreFlag = 8
rrPushFlag = 10
rrUrgentFlag = 12
rrlen = 14
* TCPIPReadLineTCP response buffer
rlrBuffCount = 0
rlrBuffHandle = 4
rlrIsDataFlag = 8
rlrMoreFlag = 10
rlrBuffSize = 12
rlrlen = 16
*TCPIPStatusTCP response buffer
srState = 0
srNetworkError = 2
srSndQueued = 4
srRcvQueued = 8
srDestIP = 12
srDestPort = 16
srConnectType = 18
srAcceptCount = 20
srlen = 22
* TCPIPStatusUDP
uvQueueSize = 0
uvError = 2
uvErrorTick = 4
uvCount = 8
uvTotalCount = 12 ;same as tcpDGMSUDP
uvDispatchFlag = 16
uvlen = 18
* TCPIPGetDestination
drUserID = 0
drDestIP = 2
drDestPort = 6
drlen = 8
* TCPIPConvertIPToHex
cvtIPAddress = 0
cvtPort = 4
* Link layer module info
liMethodID = 0 ;Ethernet=1, PPP=3, SLIP=4
liName = 2 ; length byte + 20 chars = 21 bytes
liVersion = 23
liFlags = 27
liFilename = 29 ; length byte + 15 chars
liMenuItem = 45 ;rMenuItem template
lilen = 64
* IPC records
inwLength = 0
inwIP = 2
inwMethod = 6
inwMTU = 8
inwLVPtr = 10
inwlen = 14
* Module list record
rmiversion = 0
rmiItemID = 2
rmiChar = 4
rmiAltChar = 5
rmiCheck = 6
rmiFlag = 8
rmiTitleRef = 10
* DNR dsects
DNRstatus = 0
DNRname = 2
DNRIPaddress = 2
*-------------------------------------------------
* Miscellaneous datagram header equates
*-------------------------------------------------
* ICMP types - TCP_TYPE - Comer/Steven, vol II, p128
ICT_ECHORP = 0
ICT_DESTUR = 3
ICT_SRCQ = 4
ICT_REDIRECT = 5
ICT_ECHORQ = 8
ICT_TIMEX = 11
ICT_PARAMP = 12
ICT_TIMERQ = 13
ICT_TIMERP = 14
ICT_INFORQ = 15
ICT_INFORP = 16
ICT_MASKRQ = 17
ICT_MASKRP = 18
ictmax = 19
ICC_NETUR = 0 ;p128, Internetworking with TCP/IP Vol 2.
ICC_HOSTUR = 1 ; Design Implementation, and Internals
ICC_PROTOUR = 2 ; Douglas E. Comer / David L. Stevens
ICC_PORTUR = 3
ICC_FNADF = 4
ICC_SRCRT = 5
ICC_NETRD = 0
ICC_HOSTRD = 1
IC_TOSNRD = 2
IC_TOSHRD = 3
ICC_TIMEX = 0
ICC_FTIMEX = 1
IC_HLEN = 8
IC_PADLEN = 3
IC_RDTTL = 300
* UDP standard port numbers
UP_ECHO = 7 ;echo server
UP_DISCARD = 9 ;discard packet
UP_USERS = 11 ;users server
UP_DAYTIME = 13 ;day and time server
UP_QOTD = 17 ;quote of the day server
UP_CHARGEN = 19 ;character generator
UP_TIME = 37 ;time server
UP_WHOIS = 43 ;who is server (user information)
UP_DNAME = 53 ;domain name server
UP_TFTP = 69 ;trivial file transfer protocol server
UP_RWHO = 513 ;remote who server (ruptime)
UP_RIP = 520 ;route information exchange (RIP)
* IP header
ip_verlen = 0
ip_tos = 1
ip_len = 2
ip_id = 4
ip_fragoff = 6
ip_ttl = 8
ip_proto = 9 ;protocol*
ip_cksum = 10
ip_src = 12
ip_dst = 16
ip_data = 20
* ICMP header
ic_type = 0 ;ICT_*
ic_code = 1 ;ICC_*
ic_cksum = 2
ic_data = 4
* Echo Offsets
ic_echo_id = 4
ic_echo_seq = 6
* UDP header
u_source = 0 ;source UDP port number - UP_*
u_dst = 2 ;destination UDP port number
u_len = 4 ;length of UDP data
u_cksum = 6 ;UDP checksum (0 = none)
u_data = 8
* TCP header
tcp_sport = 0 ;source port - TCP_*
tcp_dport = 2 ;destination port
tcp_seq = 4 ;sequence number
tcp_ack = 8 ;acknowledgement number
tcp_offset = 12 ;longword count in header (def=6)
tcp_code = 13 ;flags
tcp_window = 14 ;window advertisement
tcp_cksum = 16 ;checksum
tcp_urgptr = 18 ;urgent pointer
tcp_options = 20
tcp_data = 20