~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

Wine Cross Reference
wine/dlls/iphlpapi/ip.h

Version: ~ [ wine-1.5.30 ] ~ [ wine-1.5.29 ] ~ [ wine-1.5.28 ] ~ [ wine-1.5.27 ] ~ [ wine-1.5.26 ] ~ [ wine-1.5.25 ] ~ [ wine-1.5.24 ] ~ [ wine-1.5.23 ] ~ [ wine-1.5.22 ] ~ [ wine-1.5.21 ] ~ [ wine-1.5.20 ] ~ [ wine-1.5.19 ] ~ [ wine-1.5.18 ] ~ [ wine-1.5.17 ] ~ [ wine-1.5.16 ] ~ [ wine-1.5.15 ] ~ [ wine-1.5.14 ] ~ [ wine-1.5.13 ] ~ [ wine-1.5.12 ] ~ [ wine-1.5.11 ] ~ [ wine-1.5.10 ] ~ [ wine-1.5.9 ] ~ [ wine-1.5.8 ] ~ [ wine-1.5.7 ] ~ [ wine-1.4.1 ] ~ [ wine-1.5.6 ] ~ [ wine-1.5.5 ] ~ [ wine-1.5.4 ] ~ [ wine-1.5.3 ] ~ [ wine-1.5.2 ] ~ [ wine-1.5.1 ] ~ [ wine-1.5.0 ] ~ [ wine-1.4 ] ~ [ wine-1.4-rc6 ] ~ [ wine-1.4-rc5 ] ~ [ wine-1.4-rc4 ] ~ [ wine-1.4-rc3 ] ~ [ wine-1.4-rc2 ] ~ [ wine-1.4-rc1 ] ~ [ wine-1.3.37 ] ~ [ wine-1.3.36 ] ~ [ wine-1.3.35 ] ~ [ wine-1.3.34 ] ~ [ wine-1.3.33 ] ~ [ wine-1.3.32 ] ~ [ wine-1.3.31 ] ~ [ wine-1.3.30 ] ~ [ wine-1.3.29 ] ~ [ wine-1.3.28 ] ~ [ wine-1.3.27 ] ~ [ wine-1.3.26 ] ~ [ wine-1.3.25 ] ~ [ wine-1.3.24 ] ~ [ wine-1.3.23 ] ~ [ wine-1.3.22 ] ~ [ wine-1.3.21 ] ~ [ wine-1.3.20 ] ~ [ wine-1.3.19 ] ~ [ wine-1.3.18 ] ~ [ wine-1.2.3 ] ~ [ wine-1.3.17 ] ~ [ wine-1.3.16 ] ~ [ wine-1.3.15 ] ~ [ wine-1.3.14 ] ~ [ wine-1.3.13 ] ~ [ wine-1.3.12 ] ~ [ wine-1.3.11 ] ~ [ wine-1.3.10 ] ~ [ wine-1.3.9 ] ~ [ wine-1.2.2 ] ~ [ wine-1.3.8 ] ~ [ wine-1.3.7 ] ~ [ wine-1.3.6 ] ~ [ wine-1.3.5 ] ~ [ wine-1.2.1 ] ~ [ wine-1.3.4 ] ~ [ wine-1.3.3 ] ~ [ wine-1.3.2 ] ~ [ wine-1.3.1 ] ~ [ wine-1.3.0 ] ~ [ wine-1.2 ] ~ [ wine-1.2-rc7 ] ~ [ wine-1.2-rc6 ] ~ [ wine-1.2-rc5 ] ~ [ wine-1.2-rc4 ] ~ [ wine-1.2-rc3 ] ~ [ wine-1.2-rc2 ] ~ [ wine-1.2-rc1 ] ~ [ wine-1.1.44 ] ~ [ wine-1.1.43 ] ~ [ wine-1.1.42 ] ~ [ wine-1.1.41 ] ~ [ wine-1.1.40 ] ~ [ wine-1.1.39 ] ~ [ wine-1.1.38 ] ~ [ wine-1.1.37 ] ~ [ wine-1.1.36 ] ~ [ wine-1.1.35 ] ~ [ wine-1.1.34 ] ~ [ wine-1.1.33 ] ~ [ wine-1.1.32 ] ~ [ wine-1.1.31 ] ~ [ wine-1.1.30 ] ~ [ wine-1.1.29 ] ~ [ wine-1.1.28 ] ~ [ wine-1.1.27 ] ~ [ wine-1.1.26 ] ~ [ wine-1.1.25 ] ~ [ wine-1.1.24 ] ~ [ wine-1.1.23 ] ~ [ wine-1.1.22 ] ~ [ wine-1.1.21 ] ~ [ wine-1.1.20 ] ~ [ wine-1.1.19 ] ~ [ wine-1.1.18 ] ~ [ wine-1.1.17 ] ~ [ wine-1.1.16 ] ~ [ wine-1.1.15 ] ~ [ wine-1.1.14 ] ~ [ wine-1.1.13 ] ~ [ wine-1.1.12 ] ~ [ wine-1.1.11 ] ~ [ wine-1.1.10 ] ~ [ wine-1.1.9 ] ~ [ wine-1.1.8 ] ~ [ wine-1.1.7 ] ~ [ wine-1.0.1 ] ~ [ wine-1.1.6 ] ~ [ wine-1.1.5 ] ~ [ wine-1.1.4 ] ~ [ wine-1.1.3 ] ~ [ wine-1.1.2 ] ~ [ wine-1.1.1 ] ~ [ wine-1.1.0 ] ~ [ wine-1.0 ] ~

  1 /*
  2  * Copyright (c) 1982, 1986, 1993
  3  *      The Regents of the University of California.  All rights reserved.
  4  *
  5  * Redistribution and use in source and binary forms, with or without
  6  * modification, are permitted provided that the following conditions
  7  * are met:
  8  * 1. Redistributions of source code must retain the above copyright
  9  *    notice, this list of conditions and the following disclaimer.
 10  * 2. Redistributions in binary form must reproduce the above copyright
 11  *    notice, this list of conditions and the following disclaimer in the
 12  *    documentation and/or other materials provided with the distribution.
 13  * 3. Neither the name of the University nor the names of its contributors
 14  *    may be used to endorse or promote products derived from this software
 15  *    without specific prior written permission.
 16  *
 17  * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
 18  * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 19  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
 20  * ARE DISCLAIMED.  IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
 21  * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
 22  * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
 23  * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
 24  * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
 25  * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 26  * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 27  * SUCH DAMAGE.
 28  *
 29  *      @(#)ip.h        8.2 (Berkeley) 6/1/94
 30  * $FreeBSD: src/sys/netinet/ip.h,v 1.16 1999/08/28 00:49:19 peter Exp $
 31  */
 32 
 33 #ifndef _NETINET_IP_H_
 34 #define _NETINET_IP_H_
 35 
 36 /*
 37  * Definitions for internet protocol version 4.
 38  * Per RFC 791, September 1981.
 39  */
 40 #define IPVERSION       4
 41 
 42 /*
 43  * Structure of an internet header, naked of options.
 44  */
 45 struct ip {
 46 #ifdef _IP_VHL
 47         u_char  ip_vhl;                 /* version << 4 | header length >> 2 */
 48 #else
 49 #if BYTE_ORDER == LITTLE_ENDIAN
 50         u_int   ip_hl:4,                /* header length */
 51                 ip_v:4;                 /* version */
 52 #endif
 53 #if BYTE_ORDER == BIG_ENDIAN
 54         u_int   ip_v:4,                 /* version */
 55                 ip_hl:4;                /* header length */
 56 #endif
 57 #endif /* not _IP_VHL */
 58         u_char  ip_tos;                 /* type of service */
 59         u_short ip_len;                 /* total length */
 60         u_short ip_id;                  /* identification */
 61         u_short ip_off;                 /* fragment offset field */
 62 #define IP_RF 0x8000                    /* reserved fragment flag */
 63 #define IP_DF 0x4000                    /* don't fragment flag */
 64 #define IP_MF 0x2000                    /* more fragments flag */
 65 #define IP_OFFMASK 0x1fff               /* mask for fragmenting bits */
 66         u_char  ip_ttl;                 /* time to live */
 67         u_char  ip_p;                   /* protocol */
 68         u_short ip_sum;                 /* checksum */
 69         struct  in_addr ip_src,ip_dst;  /* source and dest address */
 70 };
 71 
 72 #ifdef _IP_VHL
 73 #define IP_MAKE_VHL(v, hl)      ((v) << 4 | (hl))
 74 #define IP_VHL_HL(vhl)          ((vhl) & 0x0f)
 75 #define IP_VHL_V(vhl)           ((vhl) >> 4)
 76 #define IP_VHL_BORING           0x45
 77 #endif
 78 
 79 #define IP_MAXPACKET    65535           /* maximum packet size */
 80 
 81 /*
 82  * Definitions for IP type of service (ip_tos)
 83  */
 84 #define IPTOS_LOWDELAY          0x10
 85 #define IPTOS_THROUGHPUT        0x08
 86 #define IPTOS_RELIABILITY       0x04
 87 #define IPTOS_MINCOST           0x02
 88 
 89 /*
 90  * Definitions for IP precedence (also in ip_tos) (hopefully unused)
 91  */
 92 #define IPTOS_PREC_NETCONTROL           0xe0
 93 #define IPTOS_PREC_INTERNETCONTROL      0xc0
 94 #define IPTOS_PREC_CRITIC_ECP           0xa0
 95 #define IPTOS_PREC_FLASHOVERRIDE        0x80
 96 #define IPTOS_PREC_FLASH                0x60
 97 #define IPTOS_PREC_IMMEDIATE            0x40
 98 #define IPTOS_PREC_PRIORITY             0x20
 99 #define IPTOS_PREC_ROUTINE              0x00
100 
101 /*
102  * Definitions for options.
103  */
104 #define IPOPT_COPIED(o)         ((o)&0x80)
105 #define IPOPT_CLASS(o)          ((o)&0x60)
106 #define IPOPT_NUMBER(o)         ((o)&0x1f)
107 
108 #define IPOPT_CONTROL           0x00
109 #define IPOPT_RESERVED1         0x20
110 #define IPOPT_DEBMEAS           0x40
111 #define IPOPT_RESERVED2         0x60
112 
113 #define IPOPT_EOL               0               /* end of option list */
114 #define IPOPT_NOP               1               /* no operation */
115 
116 #define IPOPT_RR                7               /* record packet route */
117 #define IPOPT_TS                68              /* timestamp */
118 #define IPOPT_SECURITY          130             /* provide s,c,h,tcc */
119 #define IPOPT_LSRR              131             /* loose source route */
120 #define IPOPT_SATID             136             /* satnet id */
121 #define IPOPT_SSRR              137             /* strict source route */
122 #define IPOPT_RA                148             /* router alert */
123 
124 /*
125  * Offsets to fields in options other than EOL and NOP.
126  */
127 #define IPOPT_OPTVAL            0               /* option ID */
128 #define IPOPT_OLEN              1               /* option length */
129 #define IPOPT_OFFSET            2               /* offset within option */
130 #define IPOPT_MINOFF            4               /* min value of above */
131 
132 /*
133  * Time stamp option structure.
134  */
135 struct  ip_timestamp {
136         u_char  ipt_code;               /* IPOPT_TS */
137         u_char  ipt_len;                /* size of structure (variable) */
138         u_char  ipt_ptr;                /* index of current entry */
139 #if BYTE_ORDER == LITTLE_ENDIAN
140         u_int   ipt_flg:4,              /* flags, see below */
141                 ipt_oflw:4;             /* overflow counter */
142 #endif
143 #if BYTE_ORDER == BIG_ENDIAN
144         u_int   ipt_oflw:4,             /* overflow counter */
145                 ipt_flg:4;              /* flags, see below */
146 #endif
147         union ipt_timestamp {
148                 n_long  ipt_time[1];
149                 struct  ipt_ta {
150                         struct in_addr ipt_addr;
151                         n_long ipt_time;
152                 } ipt_ta[1];
153         } ipt_timestamp;
154 };
155 
156 /* flag bits for ipt_flg */
157 #define IPOPT_TS_TSONLY         0               /* timestamps only */
158 #define IPOPT_TS_TSANDADDR      1               /* timestamps and addresses */
159 #define IPOPT_TS_PRESPEC        3               /* specified modules only */
160 
161 /* bits for security (not byte swapped) */
162 #define IPOPT_SECUR_UNCLASS     0x0000
163 #define IPOPT_SECUR_CONFID      0xf135
164 #define IPOPT_SECUR_EFTO        0x789a
165 #define IPOPT_SECUR_MMMM        0xbc4d
166 #define IPOPT_SECUR_RESTR       0xaf13
167 #define IPOPT_SECUR_SECRET      0xd788
168 #define IPOPT_SECUR_TOPSECRET   0x6bc5
169 
170 /*
171  * Internet implementation parameters.
172  */
173 #define MAXTTL          255             /* maximum time to live (seconds) */
174 #define IPDEFTTL        64              /* default ttl, from RFC 1340 */
175 #define IPFRAGTTL       60              /* time to live for frags, slowhz */
176 #define IPTTLDEC        1               /* subtracted when forwarding */
177 
178 #define IP_MSS          576             /* default maximum segment size */
179 
180 #endif
181 

~ [ source navigation ] ~ [ diff markup ] ~ [ identifier search ] ~ [ freetext search ] ~ [ file search ] ~

This page was automatically generated by the LXR engine.
Visit the LXR main site for more information.