Google
 

Trailing-Edge - PDP-10 Archives - SRI_NIC_PERM_SRC_3_19910112 - mm/tcpsym.mac
There are no other files named tcpsym.mac in the archive.
;<TCPIP.6.MONITOR>TCPSYM.MAC.2, 20-Jul-83 21:06:20, Edit by PAETZOLD
;TCO 6.1733 - Merge TCP/IP changes in release 6 again


UNIVERSAL TCPSYM - KWPaetzold - Symbols for BBN TCP/IP Interface
PASS2
SEARCH MACSYM

.INTVR==4				;INTERNET PROTOCOL VERSION NUMBER

DEFINE DEFJS(A,B,C,D,E),<OPDEF A'% [104B8!<B>B35]>

DEFJS SEND,740,MSEC1,,OLD		;INTERNET+TCP
DEFJS RECV,741,MSEC1,,OLD		;INTERNET+TCP
DEFJS OPEN,742,MSEC1,,OLD		;INTERNET+TCP
DEFJS CLOSE,743,MSEC1,,OLD		;INTERNET+TCP
DEFJS SCSLV,744,MSEC1,,OLD		;INTERNET+TCP
DEFJS STAT,745,MSEC1,,OLD		;INTERNET+TCP
DEFJS CHANL,746,MSEC1,,OLD		;INTERNET+TCP
DEFJS ABORT,747,MSEC1,,OLD		;INTERNET+TCP
DEFJS SNDIN,754,MSEC1,,OLD		;INTERNET
DEFJS RCVIN,755,MSEC1,,OLD		;INTERNET
DEFJS ASNIQ,756,MSEC1,,OLD		;INTERNET
DEFJS RELIQ,757,MSEC1,,OLD		;INTERNET
DEFJS OPRFN,326,MSEC1,,OLD		;MULTINET

;ASNIQ - IP assign queue (requires NET WIZ capability, SC%NWZ)
;AC1 - LH flags, Queue descriptor block address
AQ%SCR==1B0			; Use RPI device (secure)
AQ%SPT==1B1			; Single port protocol
AQ%ICM==1B2			; Permit send/receive of ICMP messages

; Queue descriptor block format
.IQPRV==^D0	; Internet protocol value (bits 24-31)
.IQFHV==^D1	; Internet foreign host value (bits 0-31)
.IQSHV==^D2	; Internet source host value (bits 0-31)
.IQPTV==^D3	; Internet port value, local bits 0-15, foreign bits 16-31
.IQPRM==^D4	; Mask for protocol value (bits 24-31)
.IQFHM==^D5	; Mask for foreign host value (bits 0-31)
.IQSHM==^D6	; Mask for source host value (bits 0-31)
.IQPTM==^D7	; Mask for port value, local bits 0-15, foreign bits 16-31
		; Note: port(s) follow IP header if .IQPTM is non-zero
		; Note: If AS%SPT is specified, the (single) port is
.IQLEN==^D8	; in bits 0-15 (bits 16-31 should be zero)
;AC2 must be 0
;AC3 must be 0

 .IPKVR==0              ; Word with version, type of service, etc
 .IPKSG==1              ; Word with segmentation info
 .IPKPR==2              ; Word with time to live, checksum, protocol
 .IPKSH==3              ; Word with source host
 .IPKDH==4              ; Word with destination host

DEFSTR(PIVER,.IPKVR,3,4)        ; PACKET.INTERNET.VERSION
DEFSTR(PIDO,.IPKVR,7,4)         ; PACKET.INTERNET.DATA-OFFSET
DEFSTR(PITOS,.IPKVR,15,8)       ; PACKET.INTERNET.TYPE-OF-SERVICE
  ; Overlays for the above:
  DEFSTR(PIPRC,.IPKVR,10,3)     ; PACKET.IP.PRECEDENCE
  DEFSTR(PILDY,.IPKVR,11,1)     ; PACKET.IP.LOW-DELAY
  DEFSTR(PIHTR,.IPKVR,12,1)     ; PACKET.IP.HIGH-THROUGHPUT
  DEFSTR(PIHRL,.IPKVR,13,1)     ; PACKET.IP.HIGH-RELIABILITY
  ; 2 Unuded bits
DEFSTR(PIPL,.IPKVR,31,16)       ; PACKET.INTERNET.PACKET-LENGTH
DEFSTR(PISID,.IPKSG,15,16)      ; PACKET.INTERNET.SEGMENT-ID
DEFSTR(PIFLG,.IPKSG,18,3)       ; PACKET.INTERNET.FLAGS
  ; Overlays for the above:
  ; Unused bit
  DEFSTR(PIDF,.IPKSG,17,1)      ; PACKET.INTERNET.DONT-FRAGMENT
  DEFSTR(PIMF,.IPKSG,18,1)      ; PACKET.INTERNET.MULTIFRAGMENT
DEFSTR(PIFO,.IPKSG,31,13)       ; PACKET.INTERNET.FRAGMENT-OFFSET
DEFSTR(PITTL,.IPKPR,7,8)        ; PACKET.INTERNET.TIME-TO-LIVE
DEFSTR(PIPRO,.IPKPR,15,8)       ; PACKET.INTERNET.PROTOCOL
DEFSTR(PICKS,.IPKPR,31,16)      ; PACKET.INTERNET.HEADER-CHECKSUM
DEFSTR(PISH,.IPKSH,31,32)       ; PACKET.INTERNET.SOURCE-HOST
DEFSTR(PIDH,.IPKDH,31,32)       ; PACKET.INTERNET.DESTINATION-HOST

AN%TCP==:1B0	      ;TOPS20AN	; RH of 1 contains TCP JCN instead
				; of JFN; Implies AN%NTP
;OPEN - TCP connection establishment
;AC1 LH flags:
TCP%JS==1B0	; JCN Supplied in RH instead of connection block adr
		; This bit must be zero for OPEN
TCP%WT==1B1	; Wait for completion
TCP%FS==1B5	; Force Synchronization (active OPEN)
TCP%PS==1B6	; Persistent open (retry on error) (OPEN)
TCP%ST==1B7	; Return statistics (STAT)
TCP%SC==1B8	; Secure connection (OPEN, SEND)
TCP%SY==1B8	; Symbolic name list given (STAT)
TCP%HP==1B9	; High priority (OPEN, SEND) (OBSOLETE)
TCP%VT==1B10	; TCP Virtual Terminal (OPEN)
TCP%TV==1B11	; TVT Supplied (STAT)
TCP%NT==1B12	; Return AOBJN pointer over TVTs (STAT)
TCP%IX==1B13	; Connection index supplied (STAT)
TCP%NI==1B14	; Return AOBJN pointer over connections (STAT)
TCP%SD==1B15	; Return STAT definitions instead of values (STAT)
TCP%ET==1B16	; ERROR info flag
TCP%PT==1B17	; Packet trace flag

; The connection block format is

.TCPLH==^D0	;reserved Local host (internet format), bits 5-35
.TCPLP==^D1	; Local port, bits 20-35
.TCPFH==^D2	; Foreign host (internet format), bits 5-35
.TCPFP==^D3	; Foreign port, bits 20-35
.TCPOP==^D4	; LH - Address of IP options, or 0 if none
		; RH - Address of TCP options, or 0 if none
  .TCPOW==^D10	; Size (w) of each.  Both are read with a POINT 8,adr
.TCPIP==^D5	; IP parameters (Flag=3B1, TTL=377B17, TOS=377B35)
.TCPCS==^D6	; Size of connection block

;RCVIN - IP receive datagram
;AC1 flags:
RIQ%NW==1B0	; Return with Error code -1 if no message is waiting
		; Otherwise wait for a message

; Message buffer format:
.INQBH==^D0	; Buffer head, LH set to actual length, RH max length
		; Lengths include buffer header (IP + message + .INQIH)
.INQIH==^D1	; First word of IP header and message

;RECV - TCP buffer receive
; The header block format is
.TCPBF==^D0	; Buffer flag word, RH for use by user
TCP%ER==1B0	; ERROR
TCP%LE==1B1	; Local error flag (0 is remote)
TCP%PE==1B2	; Permanent error (0 is temporary)
TCP%EC==37B7	; Error code w/o flags
TCP%DN==1B12	; DONE
TCP%UR==1B15	; URGENT data
TCP%EL==1B16	;obsolete	; PUSH buffered data
TCP%PU==1B16	; PUSH buffered data
TCP%WM==1B17	; WORD mode (unimplemented)
.TCPBA==^D1	; Buffer address, data in bits 0-31
.TCPBC==^D2	; Buffer octet count
		; Octets to send, octets unsent (SEND)
		; Octets available, octets unused (RECV)
.TCPBO==^D3	; Buffer option addresses
 .TCPOW==^D10	; Buffer option address word count
.TCPBI==^D4	; Buffer IP info
.TCPBS==^D5	; Size of buffer header

HS%SLF==1B29			; Host is one of my alias'
.HSNET==13B26			; Network

END