Ignore:
Timestamp:
May 19, 2003, 4:41:00 AM (22 years ago)
Author:
bird
Message:

#434: Initial tcpip header merges.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/emx/include/netinet/tcp.h

    • Property cvs2svn:cvs-rev changed from 1.1 to 1.2
    r182 r183  
    11/* Modified for emx by hv 1996
     2 * Modified for gcc/os2 by bird 2003
    23 *
    34 * Copyright (c) 1982, 1986 Regents of the University of California.
     
    4647 * Per RFC 793, September, 1981.
    4748 */
     49#pragma pack(1)
    4850struct tcphdr {
    4951        u_short th_sport;               /* source port */
     
    5153        tcp_seq th_seq;                 /* sequence number */
    5254        tcp_seq th_ack;                 /* acknowledgement number */
     55#ifdef TCPV40HDRS
     56#if BYTE_ORDER == LITTLE_ENDIAN
     57        u_int   th_x2:4,                /* (unused) */
     58                th_off:4,               /* data offset */
     59                th_flags:8,
     60                th_win:16;
     61#endif
     62#if BYTE_ORDER == BIG_ENDIAN
     63        u_int   th_win:16,
     64                th_flags:8,
     65                th_off:4,               /* data offset */
     66                th_x2:4;                /* (unused) */
     67#endif
     68#define TH_FIN  0x01
     69#define TH_SYN  0x02
     70#define TH_RST  0x04
     71#define TH_PUSH 0x08
     72#define TH_ACK  0x10
     73#define TH_URG  0x20
     74#else
    5375#if BYTE_ORDER == LITTLE_ENDIAN
    5476        u_char  th_x2:4,                /* (unused) */
     
    6789#define TH_URG  0x20
    6890        u_short th_win;                 /* window */
     91#endif
    6992        u_short th_sum;                 /* checksum */
    7093        u_short th_urp;                 /* urgent pointer */
    7194};
     95#pragma pack()
    7296
    7397#define TCPOPT_EOL      0
    7498#define TCPOPT_NOP      1
    7599#define TCPOPT_MAXSEG   2
     100#ifndef TCPV40HDRS
     101#define    TCPOLEN_MAXSEG               4
     102#define TCPOPT_WINDOW           3
     103#define    TCPOLEN_WINDOW               3
     104#define TCPOPT_SACK_PERMITTED   4               /* Experimental */
     105#define    TCPOLEN_SACK_PERMITTED       2
     106#define TCPOPT_SACK             5               /* Experimental */
     107#define TCPOPT_TIMESTAMP        8
     108#define    TCPOLEN_TIMESTAMP            10
     109#define    TCPOLEN_TSTAMP_APPA          (TCPOLEN_TIMESTAMP+2) /* appendix A */
     110
     111#define TCPOPT_CC               11              /* CC options: RFC-1644 */
     112#define TCPOPT_CCNEW            12
     113#define TCPOPT_CCECHO           13
     114#define    TCPOLEN_CC                   6
     115#define    TCPOLEN_CC_APPA              (TCPOLEN_CC+2)
     116#define    TCPOPT_CC_HDR(ccopt)         \
     117    (TCPOPT_NOP<<24|TCPOPT_NOP<<16|(ccopt)<<8|TCPOLEN_CC)
     118#define TTCP_CLIENT_SND_WND   4096 /* dflt send window of ttcp client */
     119#define TCPOPT_TSTAMP_HDR       \
     120    (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP)
     121#endif /*!TCPV40HDRS*/
    76122
    77123/*
     
    81127 * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)).
    82128 */
     129#ifdef TCPV40HDRS
     130#ifdef  lint
     131#define TCP_MSS 536
     132#else
     133#ifndef IP_MSS
     134#define IP_MSS  576
     135#endif
     136#define TCP_MSS MIN(512, IP_MSS - 40)
     137#endif
     138#else /* TCPV40HDRS*/
    83139#define TCP_MSS 512
     140#endif
    84141
    85142#define TCP_MAXWIN      65535           /* largest value for window */
     143
     144#ifndef TCPV40HDRS
     145#define TCP_MAX_WINSHIFT        14      /* maximum window shift */
     146#endif
    86147
    87148/*
     
    90151#define TCP_NODELAY     0x01    /* don't delay send to coalesce packets */
    91152#define TCP_MAXSEG      0x02    /* set maximum segment size */
     153#ifndef TCPV40HDRS
     154#define TCP_MSL         0x03    /* MSL HACK */
     155#define TCP_TIMESTMP    0x04    /* RFC 1323 (RTTM TimeStamp)   */
     156#define TCP_WINSCALE    0x05    /* RFC 1323 (Window Scale)     */
     157#define TCP_CC          0x06    /* RFC 1644 (Connection Count) */
     158#ifdef VEGAS
     159#define TCP_TAHOE                       3
     160#define TCP_RENO                        4
     161#define TCP_VEGAS                       5
     162#define TCP_VEGAS_SPIKE_ON              6
     163#define TCP_VEGAS_EXP_INC_OFF           7
     164#define TCP_VEGAS_CONG_DETECT_OFF       8
     165#define TCP_VEGAS_24                    9
     166#define TCP_VEGAS_CONG_DETECT_PRED_ON   10
     167#endif
     168#endif /*!TCPV40HDS*/
    92169
    93 /* hv: this is a new data structure in TCPIPV4. */
    94 #ifdef TCPIPV4
     170#ifdef TCPV40HDRS
    95171#include <netinet/tcp_var.h>
    96172#endif
Note: See TracChangeset for help on using the changeset viewer.