summaryrefslogtreecommitdiff
path: root/inet/netinet
diff options
context:
space:
mode:
authorUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
committerUlrich Drepper <drepper@redhat.com>2004-12-22 20:10:10 +0000
commita334319f6530564d22e775935d9c91663623a1b4 (patch)
treeb5877475619e4c938e98757d518bb1e9cbead751 /inet/netinet
parent0ecb606cb6cf65de1d9fc8a919bceb4be476c602 (diff)
downloadglibc-a334319f6530564d22e775935d9c91663623a1b4.tar.gz
(CFLAGS-tst-align.c): Add -mpreferred-stack-boundary=4.
Diffstat (limited to 'inet/netinet')
-rw-r--r--inet/netinet/icmp6.h132
-rw-r--r--inet/netinet/in.h61
-rw-r--r--inet/netinet/ip6.h89
3 files changed, 39 insertions, 243 deletions
diff --git a/inet/netinet/icmp6.h b/inet/netinet/icmp6.h
index 0cb1aa6a6c..4b17d9cd93 100644
--- a/inet/netinet/icmp6.h
+++ b/inet/netinet/icmp6.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1997,2000,2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991,92,93,94,95,96,97,2000 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -33,7 +33,7 @@
struct icmp6_filter
{
- uint32_t icmp6_filt[8];
+ uint32_t data[8];
};
struct icmp6_hdr
@@ -67,14 +67,14 @@ struct icmp6_hdr
#define ICMP6_ECHO_REQUEST 128
#define ICMP6_ECHO_REPLY 129
-#define MLD_LISTENER_QUERY 130
-#define MLD_LISTENER_REPORT 131
-#define MLD_LISTENER_REDUCTION 132
+#define ICMP6_MEMBERSHIP_QUERY 130
+#define ICMP6_MEMBERSHIP_REPORT 131
+#define ICMP6_MEMBERSHIP_REDUCTION 132
#define ICMP6_DST_UNREACH_NOROUTE 0 /* no route to destination */
#define ICMP6_DST_UNREACH_ADMIN 1 /* communication with destination */
/* administratively prohibited */
-#define ICMP6_DST_UNREACH_BEYONDSCOPE 2 /* beyond scope of source address */
+#define ICMP6_DST_UNREACH_NOTNEIGHBOR 2 /* not a neighbor */
#define ICMP6_DST_UNREACH_ADDR 3 /* address unreachable */
#define ICMP6_DST_UNREACH_NOPORT 4 /* bad port */
@@ -86,16 +86,16 @@ struct icmp6_hdr
#define ICMP6_PARAMPROB_OPTION 2 /* unrecognized IPv6 option */
#define ICMP6_FILTER_WILLPASS(type, filterp) \
- ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) == 0)
+ ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) == 0)
#define ICMP6_FILTER_WILLBLOCK(type, filterp) \
- ((((filterp)->icmp6_filt[(type) >> 5]) & (1 << ((type) & 31))) != 0)
+ ((((filterp)->data[(type) >> 5]) & (1 << ((type) & 31))) != 0)
#define ICMP6_FILTER_SETPASS(type, filterp) \
- ((((filterp)->icmp6_filt[(type) >> 5]) &= ~(1 << ((type) & 31))))
+ ((((filterp)->data[(type) >> 5]) &= ~(1 << ((type) & 31))))
#define ICMP6_FILTER_SETBLOCK(type, filterp) \
- ((((filterp)->icmp6_filt[(type) >> 5]) |= (1 << ((type) & 31))))
+ ((((filterp)->data[(type) >> 5]) |= (1 << ((type) & 31))))
#define ICMP6_FILTER_SETPASSALL(filterp) \
memset (filterp, 0, sizeof (struct icmp6_filter));
@@ -191,13 +191,13 @@ struct nd_opt_hdr /* Neighbor discovery option header */
/* followed by option specific data */
};
-#define ND_OPT_SOURCE_LINKADDR 1
-#define ND_OPT_TARGET_LINKADDR 2
-#define ND_OPT_PREFIX_INFORMATION 3
-#define ND_OPT_REDIRECTED_HEADER 4
-#define ND_OPT_MTU 5
-#define ND_OPT_RTR_ADV_INTERVAL 7
-#define ND_OPT_HOME_AGENT_INFO 8
+#define ND_OPT_SOURCE_LINKADDR 1
+#define ND_OPT_TARGET_LINKADDR 2
+#define ND_OPT_PREFIX_INFORMATION 3
+#define ND_OPT_REDIRECTED_HEADER 4
+#define ND_OPT_MTU 5
+#define ND_OPT_RTR_ADV_INTERVAL 7
+#define ND_OPT_HOME_AGENT_INFO 8
struct nd_opt_prefix_info /* prefix information */
{
@@ -211,9 +211,9 @@ struct nd_opt_prefix_info /* prefix information */
struct in6_addr nd_opt_pi_prefix;
};
-#define ND_OPT_PI_FLAG_ONLINK 0x80
-#define ND_OPT_PI_FLAG_AUTO 0x40
-#define ND_OPT_PI_FLAG_RADDR 0x20
+#define ND_OPT_PI_FLAG_ONLINK 0x80
+#define ND_OPT_PI_FLAG_AUTO 0x40
+#define ND_OPT_PI_FLAG_RADDR 0x20
struct nd_opt_rd_hdr /* redirected header */
{
@@ -232,98 +232,6 @@ struct nd_opt_mtu /* MTU option */
uint32_t nd_opt_mtu_mtu;
};
-struct mld_hdr
- {
- struct icmp6_hdr mld_icmp6_hdr;
- struct in6_addr mld_addr; /* multicast address */
- };
-
-#define mld_type mld_icmp6_hdr.icmp6_type
-#define mld_code mld_icmp6_hdr.icmp6_code
-#define mld_cksum mld_icmp6_hdr.icmp6_cksum
-#define mld_maxdelay mld_icmp6_hdr.icmp6_data16[0]
-#define mld_reserved mld_icmp6_hdr.icmp6_data16[1]
-
-#define ICMP6_ROUTER_RENUMBERING 138
-
-struct icmp6_router_renum /* router renumbering header */
- {
- struct icmp6_hdr rr_hdr;
- uint8_t rr_segnum;
- uint8_t rr_flags;
- uint16_t rr_maxdelay;
- uint32_t rr_reserved;
- };
-
-#define rr_type rr_hdr.icmp6_type
-#define rr_code rr_hdr.icmp6_code
-#define rr_cksum rr_hdr.icmp6_cksum
-#define rr_seqnum rr_hdr.icmp6_data32[0]
-
-/* Router renumbering flags */
-#define ICMP6_RR_FLAGS_TEST 0x80
-#define ICMP6_RR_FLAGS_REQRESULT 0x40
-#define ICMP6_RR_FLAGS_FORCEAPPLY 0x20
-#define ICMP6_RR_FLAGS_SPECSITE 0x10
-#define ICMP6_RR_FLAGS_PREVDONE 0x08
-
-struct rr_pco_match /* match prefix part */
- {
- uint8_t rpm_code;
- uint8_t rpm_len;
- uint8_t rpm_ordinal;
- uint8_t rpm_matchlen;
- uint8_t rpm_minlen;
- uint8_t rpm_maxlen;
- uint16_t rpm_reserved;
- struct in6_addr rpm_prefix;
- };
-
-/* PCO code values */
-#define RPM_PCO_ADD 1
-#define RPM_PCO_CHANGE 2
-#define RPM_PCO_SETGLOBAL 3
-
-struct rr_pco_use /* use prefix part */
- {
- uint8_t rpu_uselen;
- uint8_t rpu_keeplen;
- uint8_t rpu_ramask;
- uint8_t rpu_raflags;
- uint32_t rpu_vltime;
- uint32_t rpu_pltime;
- uint32_t rpu_flags;
- struct in6_addr rpu_prefix;
- };
-
-#define ICMP6_RR_PCOUSE_RAFLAGS_ONLINK 0x20
-#define ICMP6_RR_PCOUSE_RAFLAGS_AUTO 0x10
-
-#if BYTE_ORDER == BIG_ENDIAN
-# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80000000
-# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40000000
-#elif BYTE_ORDER == LITTLE_ENDIAN
-# define ICMP6_RR_PCOUSE_FLAGS_DECRVLTIME 0x80
-# define ICMP6_RR_PCOUSE_FLAGS_DECRPLTIME 0x40
-#endif
-
-struct rr_result /* router renumbering result message */
- {
- uint16_t rrr_flags;
- uint8_t rrr_ordinal;
- uint8_t rrr_matchedlen;
- uint32_t rrr_ifid;
- struct in6_addr rrr_prefix;
- };
-
-#if BYTE_ORDER == BIG_ENDIAN
-# define ICMP6_RR_RESULT_FLAGS_OOB 0x0002
-# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0001
-#elif BYTE_ORDER == LITTLE_ENDIAN
-# define ICMP6_RR_RESULT_FLAGS_OOB 0x0200
-# define ICMP6_RR_RESULT_FLAGS_FORBIDDEN 0x0100
-#endif
-
/* Mobile IPv6 extension: Advertisement Interval. */
struct nd_opt_adv_interval
{
diff --git a/inet/netinet/in.h b/inet/netinet/in.h
index 4fdc0fadf1..8898be3664 100644
--- a/inet/netinet/in.h
+++ b/inet/netinet/in.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-2001, 2003, 2004, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991-2001, 2003, 2004 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -455,66 +455,25 @@ extern int bindresvport6 (int __sockfd, struct sockaddr_in6 *__sock_in)
/* IPv6 packet information. */
struct in6_pktinfo
{
- struct in6_addr ipi6_addr; /* src/dst IPv6 address */
- unsigned int ipi6_ifindex; /* send/recv interface index */
- };
-
-/* IPv6 MTU information. */
-struct ip6_mtuinfo
- {
- struct sockaddr_in6 ip6m_addr; /* dst address including zone ID */
- uint32_t ip6m_mtu; /* path MTU in host byte order */
+ struct in6_addr ipi6_addr; /* src/dst IPv6 address */
+ unsigned int ipi6_ifindex; /* send/recv interface index */
};
#ifdef __USE_GNU
-/* Obsolete hop-by-hop and Destination Options Processing (RFC 2292). */
-extern int inet6_option_space (int __nbytes)
- __THROW __attribute_deprecated__;
+/* Hop-by-Hop and Destination Options Processing. */
+extern int inet6_option_space (int __nbytes) __THROW;
extern int inet6_option_init (void *__bp, struct cmsghdr **__cmsgp,
- int __type) __THROW __attribute_deprecated__;
+ int __type) __THROW;
extern int inet6_option_append (struct cmsghdr *__cmsg,
__const uint8_t *__typep, int __multx,
- int __plusy) __THROW __attribute_deprecated__;
+ int __plusy) __THROW;
extern uint8_t *inet6_option_alloc (struct cmsghdr *__cmsg, int __datalen,
- int __multx, int __plusy)
- __THROW __attribute_deprecated__;
+ int __multx, int __plusy) __THROW;
extern int inet6_option_next (__const struct cmsghdr *__cmsg,
- uint8_t **__tptrp)
- __THROW __attribute_deprecated__;
+ uint8_t **__tptrp) __THROW;
extern int inet6_option_find (__const struct cmsghdr *__cmsg,
- uint8_t **__tptrp, int __type)
- __THROW __attribute_deprecated__;
-
-
-/* Hop-by-Hop and Destination Options Processing (RFC 3542). */
-extern int inet6_opt_init (void *__extbuf, socklen_t __extlen) __THROW;
-extern int inet6_opt_append (void *__extbuf, socklen_t __extlen, int __offset,
- uint8_t __type, socklen_t __len, uint8_t __align,
- void **__databufp) __THROW;
-extern int inet6_opt_finish (void *__extbuf, socklen_t __extlen, int __offset)
- __THROW;
-extern int inet6_opt_set_val (void *__databuf, int __offset, void *__val,
- socklen_t __vallen) __THROW;
-extern int inet6_opt_next (void *__extbuf, socklen_t __extlen, int __offset,
- uint8_t *__typep, socklen_t *__lenp,
- void **__databufp) __THROW;
-extern int inet6_opt_find (void *__extbuf, socklen_t __extlen, int __offset,
- uint8_t __type, socklen_t *__lenp,
- void **__databufp) __THROW;
-extern int inet6_opt_get_val (void *__databuf, int __offset, void *__val,
- socklen_t __vallen) __THROW;
-
-
-/* Routing Header Option (RFC 3542). */
-extern socklen_t inet6_rth_space (int __type, int __segments) __THROW;
-extern void *inet6_rth_init (void *__bp, socklen_t __bp_len, int __type,
- int __segments) __THROW;
-extern int inet6_rth_add (void *__bp, __const struct in6_addr *__addr) __THROW;
-extern int inet6_rth_reverse (__const void *__in, void *__out) __THROW;
-extern int inet6_rth_segments (__const void *__bp) __THROW;
-extern struct in6_addr *inet6_rth_getaddr (__const void *__bp, int __index)
- __THROW;
+ uint8_t **__tptrp, int __type) __THROW;
/* Multicast source filter support. */
diff --git a/inet/netinet/ip6.h b/inet/netinet/ip6.h
index bef2af2f5a..7045836df6 100644
--- a/inet/netinet/ip6.h
+++ b/inet/netinet/ip6.h
@@ -1,4 +1,4 @@
-/* Copyright (C) 1991-1997, 2001, 2003, 2006 Free Software Foundation, Inc.
+/* Copyright (C) 1991-1997, 2001, 2003 Free Software Foundation, Inc.
This file is part of the GNU C Library.
The GNU C Library is free software; you can redistribute it and/or
@@ -89,8 +89,7 @@ struct ip6_rthdr0
uint8_t ip6r0_segleft; /* segments left */
uint8_t ip6r0_reserved; /* reserved field */
uint8_t ip6r0_slmap[3]; /* strict/loose bit map */
- /* followed by up to 127 struct in6_addr */
- struct in6_addr ip6r0_addr[0];
+ struct in6_addr ip6r0_addr[1]; /* up to 23 addresses */
};
/* Fragment header */
@@ -102,88 +101,18 @@ struct ip6_frag
uint32_t ip6f_ident; /* identification */
};
-#if BYTE_ORDER == BIG_ENDIAN
-# define IP6F_OFF_MASK 0xfff8 /* mask out offset from _offlg */
-# define IP6F_RESERVED_MASK 0x0006 /* reserved bits in ip6f_offlg */
-# define IP6F_MORE_FRAG 0x0001 /* more-fragments flag */
+#if BYTE_ORDER == BIG_ENDIAN
+#define IP6F_OFF_MASK 0xfff8 /* mask out offset from _offlg */
+#define IP6F_RESERVED_MASK 0x0006 /* reserved bits in ip6f_offlg */
+#define IP6F_MORE_FRAG 0x0001 /* more-fragments flag */
#else /* BYTE_ORDER == LITTLE_ENDIAN */
-# define IP6F_OFF_MASK 0xf8ff /* mask out offset from _offlg */
-# define IP6F_RESERVED_MASK 0x0600 /* reserved bits in ip6f_offlg */
-# define IP6F_MORE_FRAG 0x0100 /* more-fragments flag */
+#define IP6F_OFF_MASK 0xf8ff /* mask out offset from _offlg */
+#define IP6F_RESERVED_MASK 0x0600 /* reserved bits in ip6f_offlg */
+#define IP6F_MORE_FRAG 0x0100 /* more-fragments flag */
#endif
-/* IPv6 options */
-struct ip6_opt
- {
- uint8_t ip6o_type;
- uint8_t ip6o_len;
- };
-
-/* The high-order 3 bits of the option type define the behavior
- * when processing an unknown option and whether or not the option
- * content changes in flight.
- */
-#define IP6OPT_TYPE(o) ((o) & 0xc0)
-#define IP6OPT_TYPE_SKIP 0x00
-#define IP6OPT_TYPE_DISCARD 0x40
-#define IP6OPT_TYPE_FORCEICMP 0x80
-#define IP6OPT_TYPE_ICMP 0xc0
-#define IP6OPT_TYPE_MUTABLE 0x20
-
/* Special option types for padding. */
#define IP6OPT_PAD1 0
#define IP6OPT_PADN 1
-#define IP6OPT_JUMBO 0xc2
-#define IP6OPT_NSAP_ADDR 0xc3
-#define IP6OPT_TUNNEL_LIMIT 0x04
-#define IP6OPT_ROUTER_ALERT 0x05
-
-/* Jumbo Payload Option */
-struct ip6_opt_jumbo
- {
- uint8_t ip6oj_type;
- uint8_t ip6oj_len;
- uint8_t ip6oj_jumbo_len[4];
- };
-#define IP6OPT_JUMBO_LEN 6
-
-/* NSAP Address Option */
-struct ip6_opt_nsap
- {
- uint8_t ip6on_type;
- uint8_t ip6on_len;
- uint8_t ip6on_src_nsap_len;
- uint8_t ip6on_dst_nsap_len;
- /* followed by source NSAP */
- /* followed by destination NSAP */
- };
-
-/* Tunnel Limit Option */
-struct ip6_opt_tunnel
- {
- uint8_t ip6ot_type;
- uint8_t ip6ot_len;
- uint8_t ip6ot_encap_limit;
- };
-
-/* Router Alert Option */
-struct ip6_opt_router
- {
- uint8_t ip6or_type;
- uint8_t ip6or_len;
- uint8_t ip6or_value[2];
- };
-
-/* Router alert values (in network byte order) */
-#if BYTE_ORDER == BIG_ENDIAN
-# define IP6_ALERT_MLD 0x0000
-# define IP6_ALERT_RSVP 0x0001
-# define IP6_ALERT_AN 0x0002
-#else /* BYTE_ORDER == LITTLE_ENDING */
-# define IP6_ALERT_MLD 0x0000
-# define IP6_ALERT_RSVP 0x0100
-# define IP6_ALERT_AN 0x0200
-#endif
-
#endif /* netinet/ip6.h */