summaryrefslogtreecommitdiff
path: root/tcp.h
Commit message (Collapse)AuthorAgeFilesLines
* From Fang Wang:Guy Harris2009-08-181-0/+3
| | | | | | | | RFC 5482 specifies a new TCP option -- the TCP User Timeout Option (UTO) -- that allows one end of a TCP connection to advertise its current user timeout value. The Kind of UTO option is 28 and the Length is 4. The tcpdump currently does not recognize UTO option.
* SMB-over-TCP (port 445) support.guy2007-12-091-1/+4
|
* change the TCP printer to print new-style order:hannes2007-01-291-10/+31
| | | | | | | | | - seperate fields by comma - use [] for flags and options sets - print a trailing length field make use of tok2str() and bitttok2str() move port definitions into tcp.h
* add basic support for keyed authentication TCP optionhannes2005-11-291-2/+2
|
* From Bruce M. Simpson: add a "-M" flag to specify a shared secret forguy2004-03-231-1/+5
| | | | TCP-MD5 (RFC 2385) digest verification if we have libcrypto.
* The "__attribute__((packed))" tag on structures causes some files not toguy2002-12-111-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | compile with Sun C, as "interface.h" isn't being included before the structures are being declared. Furthermore, in the files that Sun C *can* compile, it doesn't cause Sun C to generate code that's safe with unaligned accesses, as "__attribute__" is defined as a do-nothing macro with compilers that don't support it. Therefore, we get rid of that tag on the structures to which it was added, and instead use "EXTRACT_16BIT()" and "EXTRACT_32BIT()" to fetch 16-bit and 32-bit big-endian quantities from packets. We also fix some other references to multi-byte quantities to get rid of code that tries to do unaligned loads on platforms that don't support them. We also throw in a hack that makes those macros use "__attribute__((packed))" on structures containing only one 16-bit or 32-bit integer to get the compiler to generate unaligned-safe code rather than doing it by hand. (GCC on SPARC produces the same code that doing it by hand does; I don't know if GCC on any other big-endian strict-alignment processor generates better code for that case. On little-endian processors, as "ntohs()" and "ntohl()" might be functions, that might actually produce worse code.) Fix some places to use "%u" rather than "%d" to print unsigned quantities.
* put __attribute__((packed)) to packet headers. s/u_short/u_int16_t/ and soitojun2002-11-091-2/+2
| | | | forth while i'm here
* Move some stuff that tried to make up for system headers from print-tcp.cfenner2001-05-091-7/+12
| | | | | to tcp.h, since don't use the system headers now anyway it was just making up for our own tcp.h.
* C bitfields are no longer being used to extract bit fields from the IPguy2000-10-031-24/+1
| | | | | and TCP headers, so there's no need to stuff the byte-order stuff into these header files.
* fix mistake in bitfield conversionitojun2000-10-031-3/+3
|
* always use u_intXX_t for protocol format declaration. char/short/int may notitojun2000-10-031-11/+11
| | | | | | come with exact size. while at it, correct signedness of ip/udp header field. nuke most of the use of bitfield. TODO: bitfield in namser.h
* do not use integer bitfield when we care about the resulting member size.itojun2000-10-031-9/+3
| | | | | u_int x:4, y:4; will occupy sizeof(int) on some platforms, while it occupy 1 byte on some platforms. use macro to decode th_off.
* Declare bitfields as "u_int", not "u_char"; ANSI C doesn't guaranteeguy2000-09-291-3/+3
| | | | | | | | that bitfields other than "int" or "unsigned int" are allowed, some compilers warn about them, and, given that the declaration of a bit field says how many bits it is wide, declaring them "u_char" doesn't have any advantage (other than making it a bit clearer, when reading the header, that the bitfields in question are part of a single byte).
* Add an "ip.h" header, to declare the IP stuff needed by dissectors, andguy2000-09-231-1/+24
| | | | | | | | | | | have dissectors include them rather than <netinet/ip.h> or <netinet/ip_var.h>, if they actually need that stuff. Put the declarations of the ICMP stuff directly into "print-icmp.c". Remove all unnecessary includes of <netinet/ip*.h> files. Copy the byte-order stuff from "nameser.h" into "tcp.h".
* Add "tcp.h" and "udp.h" headers, to declare the TCP and UDP stuff neededguy2000-09-231-0/+81
by dissectors, and have dissectors include them rather than <netinet/udp.h>, <netinet/udp_var.h>, or <netinet/tcp.h>, if they actually need that stuff. Remove all unnecessary includes of <netinet/udp*.h> or <netinet/tcp*.h> files.