tcp_header
uint32 newMaxSegmentSize = errorData->mtu - sizeof(tcp_header);
return next->module->get_mtu(next, address) - sizeof(tcp_header);
if (gBufferModule->direct_access(buffer, sizeof(tcp_header), size,
gBufferModule->read(buffer, sizeof(tcp_header), optionsBuffer, size);
dump_tcp_header(tcp_header &header)
NetBufferPrepend<tcp_header> bufferHeader(buffer,
sizeof(tcp_header) + optionsLength);
tcp_header& header = bufferHeader.Data();
header.header_length = (sizeof(tcp_header) + optionsLength) >> 2;
gBufferModule->write(buffer, sizeof(tcp_header), optionsBuffer,
typedef NetBufferField<uint16, offsetof(tcp_header, checksum)> TCPChecksumField;
static const int kMaxOptionSize = 60 - sizeof(tcp_header);
NetBufferHeaderReader<tcp_header> bufferHeader(buffer);
tcp_header& header = bufferHeader.Data();
if (headerLength < sizeof(tcp_header))
process_options(segment, buffer, headerLength - sizeof(tcp_header));
NetBufferHeaderReader<tcp_header> bufferHeader(data);
tcp_header& header = bufferHeader.Data();
if (headerLength < sizeof(tcp_header))
size, sizeof(tcp_header));
if (data == NULL || size < sizeof(tcp_header))
const tcp_header* header = (const tcp_header*)data;
uint8* option = (uint8*)data + sizeof(tcp_header);
tcp_header header;
NetBufferHeaderReader<tcp_header> bufferHeader(buffer);
tcp_header &header = bufferHeader.Data();
if (header.HeaderLength() > sizeof(tcp_header)) {
int32 size = header.HeaderLength() - sizeof(tcp_header);
if (gBufferModule->direct_access(buffer, sizeof(tcp_header),
gBufferModule->read(buffer, sizeof(tcp_header), optionsBuffer, size);
NetBufferHeaderReader<tcp_header> bufferHeader(buffer);
tcp_header &header = bufferHeader.Data();