#
#	Copyright (c) 1995, 1996, Sun Microsystems, Inc.
#
# This software is provided by Sun ``AS IS'' and any express or implied
# warranties, including, but not limited to, the implied warranties of
# merchantability and fitness for a particular purpose are disclaimed.
# In no event shall Sun Microsystems be liable for any direct, indirect,
# incidental, special, exemplary, or consequential damages.
#
# This software is not a product, and is provided for evaluation purposes
# only.
#
# This software may not be resold without the express permission of
# Sun Microsystems.
#
# Feedback on this tool may be sent to packet-shell-owner@sunroof.eng.sun.com.
#
# Packet Shell
#
# @(#)tcp.proto	1.3
#

array set tcpFieldInfo {

dport	"\nDestination Port Number: Numeric (Integer) or String\n\nExamples:\n  pset pkt1 tcp dport echo\n  pset pkt1 tcp dport 25\n  pget pkt1 tcp dport"

sport	"\nSource Port Number: Numeric (Integer) or String\n\nExamples:\n  pset pkt1 tcp sport echo\n  pset pkt1 tcp sport 25\n  pget pkt1 tcp sport"

seq	"\nSequence Number: Numeric (Integer)\n\nThe sequence number of the first data octet in this segment (except when SYN is present).  If SYN is present the sequence number is the initial sequence number (ISN) and the first data octet is ISN+1\n\nExamples:\n  pset pkt1 tcp seq 23000\n  pget pkt1 tcp seq"

ack	"\nAcknowledgement Number: Numeric (Integer)\n\nif the ACK control flag is set this field contains the value of the next sequence number the sender of the segment is expecting to receive.  Once a connection is established this is always sent.\n\nExamples:\n  pset pkt1 tcp ack 24000\n  pget pkt1 tcp ack"

flags	"\nControl Bits: String\n\nSets the control bits in the header, use the | to concatenate\n\nURG: Urgent Pointer field significant\n\nACK: Acknowledgement field significant\n\nPSH: Push Function\n\nRST: Reset the connection\n\nSYN: Synchronize sequence numbers\n\nFIN: No more data from sender\n\nExamples:\n  pset pkt1 tcp flags SYN|ACK\n  pget pkt1 tcp flags"

win	"\nWindow Size: Numeric (Integer)\n\nNumber of data octets beginning with the one indicated in the acknowledgement field which the sender of this segment is willing to accept.\n\nExamples:\n  pset pkt1 tcp win 1024\n  pget pkt1 tcp win"

sum	"\nChecksum: Numeric (Integer)\n\nThe checksum on the header and text.\n\nExamples:\n  pset pkt1 tcp sum 0xf\n  pget pkt1 tcp sum"

off	"\nData Offset: Numeric (Integer)\n\nNumber of 32 bit words in the TCP header, indicating where the data begins.\n\nExample:\n"

urp	"\nUrgent Pointer: Numeric (Integer)\n\nPoints to the sequence number of the octet following the urgent data.\n\nExample:\n"

cksum	"\nChecksum: No Argument\n\nThe checksum on the header and text.\n\nExample:\n  pset pkt1 tcp cksum"

}

set pset_tcp [array names tcpFieldInfo]
set pget_tcp [array names tcpFieldInfo]

set protocolInfo(tcp)	"Transmission Control Protocol"
