source: svn/trunk/newcon3bcm2_21bu/toolchain/mips-linux-uclibc/include/bits/in.h @ 2

Last change on this file since 2 was 2, checked in by jglee, 11 years ago

first commit

  • Property svn:executable set to *
File size: 5.1 KB
Line 
1/* Copyright (C) 1991-1999, 2000 Free Software Foundation, Inc.
2   This file is part of the GNU C Library.
3
4   The GNU C Library is free software; you can redistribute it and/or
5   modify it under the terms of the GNU Lesser General Public
6   License as published by the Free Software Foundation; either
7   version 2.1 of the License, or (at your option) any later version.
8
9   The GNU C Library is distributed in the hope that it will be useful,
10   but WITHOUT ANY WARRANTY; without even the implied warranty of
11   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
12   Lesser General Public License for more details.
13
14   You should have received a copy of the GNU Lesser General Public
15   License along with the GNU C Library; if not, write to the Free
16   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
17   02111-1307 USA.  */
18
19/* Linux version.  */
20
21#ifndef _NETINET_IN_H
22# error "Never use <bits/in.h> directly; include <netinet/in.h> instead."
23#endif
24
25/* Options for use with `getsockopt' and `setsockopt' at the IP level.
26   The first word in the comment at the right is the data type used;
27   "bool" means a boolean value stored in an `int'.  */
28#define IP_TOS             1    /* int; IP type of service and precedence.  */
29#define IP_TTL             2    /* int; IP time to live.  */
30#define IP_HDRINCL         3    /* int; Header is included with data.  */
31#define IP_OPTIONS         4    /* ip_opts; IP per-packet options.  */
32#define IP_ROUTER_ALERT    5    /* bool */
33#define IP_RECVOPTS        6    /* bool */
34#define IP_RETOPTS         7    /* bool */
35#define IP_PKTINFO         8    /* bool */
36#define IP_PKTOPTIONS      9
37#define IP_PMTUDISC        10   /* obsolete name? */
38#define IP_MTU_DISCOVER    10   /* int; see below */
39#define IP_RECVERR         11   /* bool */
40#define IP_RECVTTL         12   /* bool */
41#define IP_RECVTOS         13   /* bool */
42#define IP_MULTICAST_IF    32   /* in_addr; set/get IP multicast i/f */
43#define IP_MULTICAST_TTL   33   /* u_char; set/get IP multicast ttl */
44#define IP_MULTICAST_LOOP  34   /* i_char; set/get IP multicast loopback */
45#define IP_ADD_MEMBERSHIP  35   /* ip_mreq; add an IP group membership */
46#define IP_DROP_MEMBERSHIP 36   /* ip_mreq; drop an IP group membership */
47
48/* For BSD compatibility.  */
49#define IP_RECVRETOPTS  IP_RETOPTS
50
51/* IP_MTU_DISCOVER arguments.  */
52#define IP_PMTUDISC_DONT   0    /* Never send DF frames.  */
53#define IP_PMTUDISC_WANT   1    /* Use per route hints.  */
54#define IP_PMTUDISC_DO     2    /* Always DF.  */
55
56/* To select the IP level.  */
57#define SOL_IP  0
58
59#define IP_DEFAULT_MULTICAST_TTL        1
60#define IP_DEFAULT_MULTICAST_LOOP       1
61#define IP_MAX_MEMBERSHIPS              20
62
63/* Structure used to describe IP options for IP_OPTIONS. The `ip_dst'
64   field is used for the first-hop gateway when using a source route
65   (this gets put into the header proper).  */
66struct ip_opts
67  {
68    struct in_addr ip_dst;      /* First hop; zero without source route.  */
69    char ip_opts[40];           /* Actually variable in size.  */
70  };
71
72/* Structure used for IP_ADD_MEMBERSHIP and IP_DROP_MEMBERSHIP. */
73struct ip_mreq
74  {
75    struct in_addr imr_multiaddr;       /* IP multicast address of group */
76    struct in_addr imr_interface;       /* local IP address of interface */
77  };
78
79/* As above but including interface specification by index.  */
80struct ip_mreqn
81  {
82    struct in_addr imr_multiaddr;       /* IP multicast address of group */
83    struct in_addr imr_address;         /* local IP address of interface */
84    int imr_ifindex;                    /* Interface index */
85  };
86
87/* Structure used for IP_PKTINFO.  */
88struct in_pktinfo
89  {
90    int ipi_ifindex;                    /* Interface index  */
91    struct in_addr ipi_spec_dst;        /* Routing destination address  */
92    struct in_addr ipi_addr;            /* Header destination address  */
93  };
94
95/* Options for use with `getsockopt' and `setsockopt' at the IPv6 level.
96   The first word in the comment at the right is the data type used;
97   "bool" means a boolean value stored in an `int'.  */
98#define IPV6_ADDRFORM           1
99#define IPV6_PKTINFO            2
100#define IPV6_HOPOPTS            3
101#define IPV6_DSTOPTS            4
102#define IPV6_RTHDR              5
103#define IPV6_PKTOPTIONS         6
104#define IPV6_CHECKSUM           7
105#define IPV6_HOPLIMIT           8
106#define IPV6_NEXTHOP            9
107#define IPV6_AUTHHDR            10
108#define IPV6_UNICAST_HOPS       16
109#define IPV6_MULTICAST_IF       17
110#define IPV6_MULTICAST_HOPS     18
111#define IPV6_MULTICAST_LOOP     19
112#define IPV6_JOIN_GROUP         20
113#define IPV6_LEAVE_GROUP        21
114#define IPV6_ROUTER_ALERT       22
115#define IPV6_MTU_DISCOVER       23
116#define IPV6_MTU                24
117#define IPV6_RECVERR            25
118
119#define SCM_SRCRT               IPV6_RXSRCRT
120
121/* Obsolete synonyms for the above.  */
122#define IPV6_RXHOPOPTS          IPV6_HOPOPTS
123#define IPV6_RXDSTOPTS          IPV6_DSTOPTS
124#define IPV6_ADD_MEMBERSHIP     IPV6_JOIN_GROUP
125#define IPV6_DROP_MEMBERSHIP    IPV6_LEAVE_GROUP
126
127
128/* IPV6_MTU_DISCOVER values.  */
129#define IPV6_PMTUDISC_DONT      0       /* Never send DF frames.  */
130#define IPV6_PMTUDISC_WANT      1       /* Use per route hints.  */
131#define IPV6_PMTUDISC_DO        2       /* Always DF.  */
132
133/* Socket level values for IPv6.  */
134#define SOL_IPV6        41
135#define SOL_ICMPV6      58
136
137/* Routing header options for IPv6.  */
138#define IPV6_RTHDR_LOOSE        0       /* Hop doesn't need to be neighbour. */
139#define IPV6_RTHDR_STRICT       1       /* Hop must be a neighbour.  */
140
141#define IPV6_RTHDR_TYPE_0       0       /* IPv6 Routing header type 0.  */
Note: See TracBrowser for help on using the repository browser.