* include/cygwin/socket.h: Protect some symbols against multiple
definition. * include/netinet/ip.h: Ditto. * include/netinet/tcp.h: Ditto. * include/netinet/ip.h: Replace by BSD derived version of the file. * include/netinet/tcp.h: Ditto. * include/netinet/udp.h: New file. * include/cygwin/ip.h: Remove.
This commit is contained in:
		| @@ -1,3 +1,17 @@ | |||||||
|  | 2002-05-29  Corinna Vinschen  <corinna@vinschen.de> | ||||||
|  |  | ||||||
|  | 	* include/cygwin/socket.h: Protect some symbols against multiple | ||||||
|  | 	definition. | ||||||
|  | 	* include/netinet/ip.h: Ditto. | ||||||
|  | 	* include/netinet/tcp.h: Ditto. | ||||||
|  |  | ||||||
|  | 2002-05-29  Wu Yongwei <adah@netstd.com> | ||||||
|  |  | ||||||
|  | 	* include/netinet/ip.h: Replace by BSD derived version of the file. | ||||||
|  | 	* include/netinet/tcp.h: Ditto. | ||||||
|  | 	* include/netinet/udp.h: New file. | ||||||
|  | 	* include/cygwin/ip.h: Remove. | ||||||
|  |  | ||||||
| 2002-05-29  Christopher Faylor  <cgf@redhat.com> | 2002-05-29  Christopher Faylor  <cgf@redhat.com> | ||||||
|  |  | ||||||
| 	* dtable.cc (dtable::init_std_file_from_handle): Attempt stronger | 	* dtable.cc (dtable::init_std_file_from_handle): Attempt stronger | ||||||
|   | |||||||
| @@ -1 +0,0 @@ | |||||||
| /* ip.h */ |  | ||||||
| @@ -123,9 +123,11 @@ struct msghdr | |||||||
| #define SOL_UDP		17 | #define SOL_UDP		17 | ||||||
|  |  | ||||||
| /* IP options */ | /* IP options */ | ||||||
|  | #ifndef IPTOS_LOWDELAY | ||||||
| #define	IPTOS_LOWDELAY		0x10 | #define	IPTOS_LOWDELAY		0x10 | ||||||
| #define	IPTOS_THROUGHPUT	0x08 | #define	IPTOS_THROUGHPUT	0x08 | ||||||
| #define	IPTOS_RELIABILITY	0x04 | #define	IPTOS_RELIABILITY	0x04 | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* These need to appear somewhere around here */ | /* These need to appear somewhere around here */ | ||||||
| #define IP_DEFAULT_MULTICAST_TTL        1 | #define IP_DEFAULT_MULTICAST_TTL        1 | ||||||
| @@ -148,8 +150,10 @@ struct msghdr | |||||||
| #define IPX_TYPE	1 | #define IPX_TYPE	1 | ||||||
|  |  | ||||||
| /* TCP options - this way around because someone left a set in the c library includes */ | /* TCP options - this way around because someone left a set in the c library includes */ | ||||||
|  | #ifndef TCP_NODELAY | ||||||
| #define TCP_NODELAY     0x0001 | #define TCP_NODELAY     0x0001 | ||||||
| #define TCP_MAXSEG	2 | #define TCP_MAXSEG	2 | ||||||
|  | #endif | ||||||
|  |  | ||||||
| /* The various priorities. */ | /* The various priorities. */ | ||||||
| #define SOPRI_INTERACTIVE	0 | #define SOPRI_INTERACTIVE	0 | ||||||
|   | |||||||
| @@ -1,16 +1,199 @@ | |||||||
| /* netinet/ip.h | /* | ||||||
|  |  * Copyright (c) 1982, 1986, 1993 | ||||||
|    Copyright 1998, 2001 Red Hat, Inc. |  *      The Regents of the University of California.  All rights reserved. | ||||||
|  |  * | ||||||
| This file is part of Cygwin. |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
| This software is a copyrighted work licensed under the terms of the |  * are met: | ||||||
| Cygwin license.  Please consult the file "CYGWIN_LICENSE" for |  * 1. Redistributions of source code must retain the above copyright | ||||||
| details. */ |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * 3. All advertising materials mentioning features or use of this software | ||||||
|  |  *    must display the following acknowledgement: | ||||||
|  |  *      This product includes software developed by the University of | ||||||
|  |  *      California, Berkeley and its contributors. | ||||||
|  |  * 4. Neither the name of the University nor the names of its contributors | ||||||
|  |  *    may be used to endorse or promote products derived from this software | ||||||
|  |  *    without specific prior written permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  *      @(#)ip.h        8.2 (Berkeley) 6/1/94 | ||||||
|  |  * $FreeBSD: src/sys/netinet/ip.h,v 1.17 1999/12/22 19:13:20 shin Exp $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #ifndef _NETINET_IP_H | #ifndef _NETINET_IP_H | ||||||
| #define _NETINET_IP_H | #define _NETINET_IP_H | ||||||
|  |  | ||||||
| #include <cygwin/ip.h> | /* Added by Wu Yongwei */ | ||||||
|  | #ifndef LITTLE_ENDIAN | ||||||
|  | #define LITTLE_ENDIAN   1234 | ||||||
|  | #define BIG_ENDIAN      4321 | ||||||
|  | #endif | ||||||
|  | #ifndef BYTE_ORDER | ||||||
|  | #define BYTE_ORDER      LITTLE_ENDIAN | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #endif /* _NETINET_IP_H */ | /* | ||||||
|  |  * Definitions for internet protocol version 4. | ||||||
|  |  * Per RFC 791, September 1981. | ||||||
|  |  */ | ||||||
|  | #define IPVERSION       4 | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Structure of an internet header, naked of options. | ||||||
|  |  */ | ||||||
|  | struct ip { | ||||||
|  | #ifdef _IP_VHL | ||||||
|  |         u_char  ip_vhl;                 /* version << 4 | header length >> 2 */ | ||||||
|  | #else | ||||||
|  | #if BYTE_ORDER == LITTLE_ENDIAN | ||||||
|  |         u_int   ip_hl:4,                /* header length */ | ||||||
|  |                 ip_v:4;                 /* version */ | ||||||
|  | #endif | ||||||
|  | #if BYTE_ORDER == BIG_ENDIAN | ||||||
|  |         u_int   ip_v:4,                 /* version */ | ||||||
|  |                 ip_hl:4;                /* header length */ | ||||||
|  | #endif | ||||||
|  | #endif /* not _IP_VHL */ | ||||||
|  |         u_char  ip_tos;                 /* type of service */ | ||||||
|  |         u_short ip_len;                 /* total length */ | ||||||
|  |         u_short ip_id;                  /* identification */ | ||||||
|  |         u_short ip_off;                 /* fragment offset field */ | ||||||
|  | #define IP_RF 0x8000                    /* reserved fragment flag */ | ||||||
|  | #define IP_DF 0x4000                    /* dont fragment flag */ | ||||||
|  | #define IP_MF 0x2000                    /* more fragments flag */ | ||||||
|  | #define IP_OFFMASK 0x1fff               /* mask for fragmenting bits */ | ||||||
|  |         u_char  ip_ttl;                 /* time to live */ | ||||||
|  |         u_char  ip_p;                   /* protocol */ | ||||||
|  |         u_short ip_sum;                 /* checksum */ | ||||||
|  |         struct  in_addr ip_src,ip_dst;  /* source and dest address */ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #ifdef _IP_VHL | ||||||
|  | #define IP_MAKE_VHL(v, hl)      ((v) << 4 | (hl)) | ||||||
|  | #define IP_VHL_HL(vhl)          ((vhl) & 0x0f) | ||||||
|  | #define IP_VHL_V(vhl)           ((vhl) >> 4) | ||||||
|  | #define IP_VHL_BORING           0x45 | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | #define IP_MAXPACKET    65535           /* maximum packet size */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Definitions for IP type of service (ip_tos) | ||||||
|  |  */ | ||||||
|  | #ifndef IPTOS_LOWDELAY | ||||||
|  | #define IPTOS_LOWDELAY          0x10 | ||||||
|  | #define IPTOS_THROUGHPUT        0x08 | ||||||
|  | #define IPTOS_RELIABILITY       0x04 | ||||||
|  | #endif | ||||||
|  | #define IPTOS_MINCOST           0x02 | ||||||
|  | /* ECN bits proposed by Sally Floyd */ | ||||||
|  | #define IPTOS_CE                0x01    /* congestion experienced */ | ||||||
|  | #define IPTOS_ECT               0x02    /* ECN-capable transport */ | ||||||
|  |  | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Definitions for IP precedence (also in ip_tos) (hopefully unused) | ||||||
|  |  */ | ||||||
|  | #define IPTOS_PREC_NETCONTROL           0xe0 | ||||||
|  | #define IPTOS_PREC_INTERNETCONTROL      0xc0 | ||||||
|  | #define IPTOS_PREC_CRITIC_ECP           0xa0 | ||||||
|  | #define IPTOS_PREC_FLASHOVERRIDE        0x80 | ||||||
|  | #define IPTOS_PREC_FLASH                0x60 | ||||||
|  | #define IPTOS_PREC_IMMEDIATE            0x40 | ||||||
|  | #define IPTOS_PREC_PRIORITY             0x20 | ||||||
|  | #define IPTOS_PREC_ROUTINE              0x00 | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Definitions for options. | ||||||
|  |  */ | ||||||
|  | #define IPOPT_COPIED(o)         ((o)&0x80) | ||||||
|  | #define IPOPT_CLASS(o)          ((o)&0x60) | ||||||
|  | #define IPOPT_NUMBER(o)         ((o)&0x1f) | ||||||
|  |  | ||||||
|  | #define IPOPT_CONTROL           0x00 | ||||||
|  | #define IPOPT_RESERVED1         0x20 | ||||||
|  | #define IPOPT_DEBMEAS           0x40 | ||||||
|  | #define IPOPT_RESERVED2         0x60 | ||||||
|  |  | ||||||
|  | #define IPOPT_EOL               0               /* end of option list */ | ||||||
|  | #define IPOPT_NOP               1               /* no operation */ | ||||||
|  |  | ||||||
|  | #define IPOPT_RR                7               /* record packet route */ | ||||||
|  | #define IPOPT_TS                68              /* timestamp */ | ||||||
|  | #define IPOPT_SECURITY          130             /* provide s,c,h,tcc */ | ||||||
|  | #define IPOPT_LSRR              131             /* loose source route */ | ||||||
|  | #define IPOPT_SATID             136             /* satnet id */ | ||||||
|  | #define IPOPT_SSRR              137             /* strict source route */ | ||||||
|  | #define IPOPT_RA                148             /* router alert */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Offsets to fields in options other than EOL and NOP. | ||||||
|  |  */ | ||||||
|  | #define IPOPT_OPTVAL            0               /* option ID */ | ||||||
|  | #define IPOPT_OLEN              1               /* option length */ | ||||||
|  | #define IPOPT_OFFSET            2               /* offset within option */ | ||||||
|  | #define IPOPT_MINOFF            4               /* min value of above */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Time stamp option structure. | ||||||
|  |  */ | ||||||
|  | struct  ip_timestamp { | ||||||
|  |         u_char  ipt_code;               /* IPOPT_TS */ | ||||||
|  |         u_char  ipt_len;                /* size of structure (variable) */ | ||||||
|  |         u_char  ipt_ptr;                /* index of current entry */ | ||||||
|  | #if BYTE_ORDER == LITTLE_ENDIAN | ||||||
|  |         u_int   ipt_flg:4,              /* flags, see below */ | ||||||
|  |                 ipt_oflw:4;             /* overflow counter */ | ||||||
|  | #endif | ||||||
|  | #if BYTE_ORDER == BIG_ENDIAN | ||||||
|  |         u_int   ipt_oflw:4,             /* overflow counter */ | ||||||
|  |                 ipt_flg:4;              /* flags, see below */ | ||||||
|  | #endif | ||||||
|  |         union ipt_timestamp { | ||||||
|  |                 n_long  ipt_time[1]; | ||||||
|  |                 struct  ipt_ta { | ||||||
|  |                         struct in_addr ipt_addr; | ||||||
|  |                         n_long ipt_time; | ||||||
|  |                 } ipt_ta[1]; | ||||||
|  |         } ipt_timestamp; | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | /* flag bits for ipt_flg */ | ||||||
|  | #define IPOPT_TS_TSONLY         0               /* timestamps only */ | ||||||
|  | #define IPOPT_TS_TSANDADDR      1               /* timestamps and addresses */ | ||||||
|  | #define IPOPT_TS_PRESPEC        3               /* specified modules only */ | ||||||
|  |  | ||||||
|  | /* bits for security (not byte swapped) */ | ||||||
|  | #define IPOPT_SECUR_UNCLASS     0x0000 | ||||||
|  | #define IPOPT_SECUR_CONFID      0xf135 | ||||||
|  | #define IPOPT_SECUR_EFTO        0x789a | ||||||
|  | #define IPOPT_SECUR_MMMM        0xbc4d | ||||||
|  | #define IPOPT_SECUR_RESTR       0xaf13 | ||||||
|  | #define IPOPT_SECUR_SECRET      0xd788 | ||||||
|  | #define IPOPT_SECUR_TOPSECRET   0x6bc5 | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Internet implementation parameters. | ||||||
|  |  */ | ||||||
|  | #define MAXTTL          255             /* maximum time to live (seconds) */ | ||||||
|  | #define IPDEFTTL        64              /* default ttl, from RFC 1340 */ | ||||||
|  | #define IPFRAGTTL       60              /* time to live for frags, slowhz */ | ||||||
|  | #define IPTTLDEC        1               /* subtracted when forwarding */ | ||||||
|  |  | ||||||
|  | #define IP_MSS          576             /* default maximum segment size */ | ||||||
|  |  | ||||||
|  | #endif | ||||||
|   | |||||||
| @@ -1,16 +1,144 @@ | |||||||
| /* netinet/tcp.h | /* | ||||||
|  |  * Copyright (c) 1982, 1986, 1993 | ||||||
|    Copyright 2000, 2001 Red Hat, Inc. |  *      The Regents of the University of California.  All rights reserved. | ||||||
|  |  * | ||||||
| This file is part of Cygwin. |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
| This software is a copyrighted work licensed under the terms of the |  * are met: | ||||||
| Cygwin license.  Please consult the file "CYGWIN_LICENSE" for |  * 1. Redistributions of source code must retain the above copyright | ||||||
| details. */ |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * 3. All advertising materials mentioning features or use of this software | ||||||
|  |  *    must display the following acknowledgement: | ||||||
|  |  *      This product includes software developed by the University of | ||||||
|  |  *      California, Berkeley and its contributors. | ||||||
|  |  * 4. Neither the name of the University nor the names of its contributors | ||||||
|  |  *    may be used to endorse or promote products derived from this software | ||||||
|  |  *    without specific prior written permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  *      @(#)tcp.h       8.1 (Berkeley) 6/10/93 | ||||||
|  |  * $FreeBSD: src/sys/netinet/tcp.h,v 1.13 2000/01/09 19:17:25 shin Exp $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
| #ifndef _NETINET_TCP_H | #ifndef _NETINET_TCP_H | ||||||
| #define _NETINET_TCP_H | #define _NETINET_TCP_H | ||||||
|  |  | ||||||
| /* Maybe add some definitions, someday */ | /* Added by Wu Yongwei */ | ||||||
|  | #ifndef LITTLE_ENDIAN | ||||||
|  | #define LITTLE_ENDIAN   1234 | ||||||
|  | #define BIG_ENDIAN      4321 | ||||||
|  | #endif | ||||||
|  | #ifndef BYTE_ORDER | ||||||
|  | #define BYTE_ORDER     LITTLE_ENDIAN | ||||||
|  | #endif | ||||||
|  |  | ||||||
|  | typedef u_int32_t tcp_seq; | ||||||
|  | typedef u_int32_t tcp_cc;               /* connection count per rfc1644 */ | ||||||
|  |  | ||||||
|  | #define tcp6_seq        tcp_seq /* for KAME src sync over BSD*'s */ | ||||||
|  | #define tcp6hdr         tcphdr  /* for KAME src sync over BSD*'s */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * TCP header. | ||||||
|  |  * Per RFC 793, September, 1981. | ||||||
|  |  */ | ||||||
|  | struct tcphdr { | ||||||
|  |         u_short th_sport;               /* source port */ | ||||||
|  |         u_short th_dport;               /* destination port */ | ||||||
|  |         tcp_seq th_seq;                 /* sequence number */ | ||||||
|  |         tcp_seq th_ack;                 /* acknowledgement number */ | ||||||
|  | #if BYTE_ORDER == LITTLE_ENDIAN | ||||||
|  |         u_int   th_x2:4,                /* (unused) */ | ||||||
|  |                 th_off:4;               /* data offset */ | ||||||
|  | #endif | ||||||
|  | #if BYTE_ORDER == BIG_ENDIAN | ||||||
|  |         u_int   th_off:4,               /* data offset */ | ||||||
|  |                 th_x2:4;                /* (unused) */ | ||||||
|  | #endif | ||||||
|  |         u_char  th_flags; | ||||||
|  | #define TH_FIN  0x01 | ||||||
|  | #define TH_SYN  0x02 | ||||||
|  | #define TH_RST  0x04 | ||||||
|  | #define TH_PUSH 0x08 | ||||||
|  | #define TH_ACK  0x10 | ||||||
|  | #define TH_URG  0x20 | ||||||
|  | #define TH_FLAGS (TH_FIN|TH_SYN|TH_RST|TH_ACK|TH_URG) | ||||||
|  |  | ||||||
|  |         u_short th_win;                 /* window */ | ||||||
|  |         u_short th_sum;                 /* checksum */ | ||||||
|  |         u_short th_urp;                 /* urgent pointer */ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #define TCPOPT_EOL              0 | ||||||
|  | #define TCPOPT_NOP              1 | ||||||
|  | #define TCPOPT_MAXSEG           2 | ||||||
|  | #define TCPOLEN_MAXSEG          4 | ||||||
|  | #define TCPOPT_WINDOW           3 | ||||||
|  | #define TCPOLEN_WINDOW          3 | ||||||
|  | #define TCPOPT_SACK_PERMITTED   4               /* Experimental */ | ||||||
|  | #define TCPOLEN_SACK_PERMITTED  2 | ||||||
|  | #define TCPOPT_SACK             5               /* Experimental */ | ||||||
|  | #define TCPOPT_TIMESTAMP        8 | ||||||
|  | #define TCPOLEN_TIMESTAMP       10 | ||||||
|  | #define TCPOLEN_TSTAMP_APPA     (TCPOLEN_TIMESTAMP+2) /* appendix A */ | ||||||
|  | #define TCPOPT_TSTAMP_HDR               \ | ||||||
|  |     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|TCPOPT_TIMESTAMP<<8|TCPOLEN_TIMESTAMP) | ||||||
|  |  | ||||||
|  | #define TCPOPT_CC               11              /* CC options: RFC-1644 */ | ||||||
|  | #define TCPOPT_CCNEW            12 | ||||||
|  | #define TCPOPT_CCECHO           13 | ||||||
|  | #define TCPOLEN_CC              6 | ||||||
|  | #define TCPOLEN_CC_APPA         (TCPOLEN_CC+2) | ||||||
|  | #define TCPOPT_CC_HDR(ccopt)            \ | ||||||
|  |     (TCPOPT_NOP<<24|TCPOPT_NOP<<16|(ccopt)<<8|TCPOLEN_CC) | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Default maximum segment size for TCP. | ||||||
|  |  * With an IP MSS of 576, this is 536, | ||||||
|  |  * but 512 is probably more convenient. | ||||||
|  |  * This should be defined as MIN(512, IP_MSS - sizeof (struct tcpiphdr)). | ||||||
|  |  */ | ||||||
|  | #define TCP_MSS 512 | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Default maximum segment size for TCP6. | ||||||
|  |  * With an IP6 MSS of 1280, this is 1220, | ||||||
|  |  * but 1024 is probably more convenient. (xxx kazu in doubt) | ||||||
|  |  * This should be defined as MIN(1024, IP6_MSS - sizeof (struct tcpip6hdr)) | ||||||
|  |  */ | ||||||
|  | #define TCP6_MSS        1024 | ||||||
|  |  | ||||||
|  | #define TCP_MAXWIN      65535   /* largest value for (unscaled) window */ | ||||||
|  | #define TTCP_CLIENT_SND_WND     4096    /* dflt send window for T/TCP client */ | ||||||
|  |  | ||||||
|  | #define TCP_MAX_WINSHIFT        14      /* maximum window shift */ | ||||||
|  |  | ||||||
|  | #define TCP_MAXHLEN     (0xf<<2)        /* max length of header in bytes */ | ||||||
|  | #define TCP_MAXOLEN     (TCP_MAXHLEN - sizeof(struct tcphdr)) | ||||||
|  |                                         /* max space left for options */ | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * User-settable options (used with setsockopt). | ||||||
|  |  */ | ||||||
|  | #ifndef TCP_NODELAY | ||||||
|  | #define TCP_NODELAY     0x01    /* don't delay send to coalesce packets */ | ||||||
|  | #define TCP_MAXSEG      0x02    /* set maximum segment size */ | ||||||
|  | #endif | ||||||
|  | #define TCP_NOPUSH      0x04    /* don't push last block of write */ | ||||||
|  | #define TCP_NOOPT       0x08    /* don't use TCP options */ | ||||||
|  |  | ||||||
| #endif | #endif | ||||||
|   | |||||||
							
								
								
									
										51
									
								
								winsup/cygwin/include/netinet/udp.h
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										51
									
								
								winsup/cygwin/include/netinet/udp.h
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,51 @@ | |||||||
|  | /* | ||||||
|  |  * Copyright (c) 1982, 1986, 1993 | ||||||
|  |  *	The Regents of the University of California.  All rights reserved. | ||||||
|  |  * | ||||||
|  |  * Redistribution and use in source and binary forms, with or without | ||||||
|  |  * modification, are permitted provided that the following conditions | ||||||
|  |  * are met: | ||||||
|  |  * 1. Redistributions of source code must retain the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer. | ||||||
|  |  * 2. Redistributions in binary form must reproduce the above copyright | ||||||
|  |  *    notice, this list of conditions and the following disclaimer in the | ||||||
|  |  *    documentation and/or other materials provided with the distribution. | ||||||
|  |  * 3. All advertising materials mentioning features or use of this software | ||||||
|  |  *    must display the following acknowledgement: | ||||||
|  |  *	This product includes software developed by the University of | ||||||
|  |  *	California, Berkeley and its contributors. | ||||||
|  |  * 4. Neither the name of the University nor the names of its contributors | ||||||
|  |  *    may be used to endorse or promote products derived from this software | ||||||
|  |  *    without specific prior written permission. | ||||||
|  |  * | ||||||
|  |  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``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 THE REGENTS OR CONTRIBUTORS BE LIABLE | ||||||
|  |  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL | ||||||
|  |  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS | ||||||
|  |  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) | ||||||
|  |  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT | ||||||
|  |  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY | ||||||
|  |  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF | ||||||
|  |  * SUCH DAMAGE. | ||||||
|  |  * | ||||||
|  |  *	@(#)udp.h	8.1 (Berkeley) 6/10/93 | ||||||
|  |  * $FreeBSD: src/sys/netinet/udp.h,v 1.7 1999/08/28 00:49:34 peter Exp $ | ||||||
|  |  */ | ||||||
|  |  | ||||||
|  | #ifndef _NETINET_UDP_H | ||||||
|  | #define _NETINET_UDP_H | ||||||
|  |  | ||||||
|  | /* | ||||||
|  |  * Udp protocol header. | ||||||
|  |  * Per RFC 768, September, 1981. | ||||||
|  |  */ | ||||||
|  | struct udphdr { | ||||||
|  | 	u_short	uh_sport;		/* source port */ | ||||||
|  | 	u_short	uh_dport;		/* destination port */ | ||||||
|  | 	u_short	uh_ulen;		/* udp length */ | ||||||
|  | 	u_short	uh_sum;			/* udp checksum */ | ||||||
|  | }; | ||||||
|  |  | ||||||
|  | #endif | ||||||
		Reference in New Issue
	
	Block a user