summaryrefslogtreecommitdiffstats
path: root/sys/netinet6/ipv6.h
diff options
context:
space:
mode:
Diffstat (limited to 'sys/netinet6/ipv6.h')
-rw-r--r--sys/netinet6/ipv6.h123
1 files changed, 0 insertions, 123 deletions
diff --git a/sys/netinet6/ipv6.h b/sys/netinet6/ipv6.h
deleted file mode 100644
index 311231a0e7d..00000000000
--- a/sys/netinet6/ipv6.h
+++ /dev/null
@@ -1,123 +0,0 @@
-/*
-%%% copyright-nrl-95
-This software is Copyright 1995-1998 by Randall Atkinson, Ronald Lee,
-Daniel McDonald, Bao Phan, and Chris Winters. All Rights Reserved. All
-rights under this copyright have been assigned to the US Naval Research
-Laboratory (NRL). The NRL Copyright Notice and License Agreement Version
-1.1 (January 17, 1995) applies to this software.
-You should have received a copy of the license with this software. If you
-didn't get a copy, you may request one from <license@ipv6.nrl.navy.mil>.
-
-*/
-#ifndef _NETINET6_IPV6_H
-#define _NETINET6_IPV6_H 1
-
-#define IPV6VERSION 6
-
-/*
- * Header structures.
- */
-
-struct ipv6
-{
- uint32_t ipv6_versfl; /* Version and flow label word. */
-
- uint16_t ipv6_length; /* Datagram length (not including the length
- of this header). */
- uint8_t ipv6_nexthdr; /* Next header type. */
- uint8_t ipv6_hoplimit; /* Hop limit. */
-
- struct in6_addr ipv6_src; /* Source address. */
- struct in6_addr ipv6_dst; /* Destination address. */
-};
-
-#if __linux__
-#include <endian.h>
-#else /* __linux__ */
-#include <machine/endian.h>
-#endif /* __linux__ */
-
-struct ipv6hdr {
-#if BYTE_ORDER == LITTLE_ENDIAN
- uint8_t ipv6_priority:4; /* going away? */
- uint8_t ipv6_version:4;
- uint32_t ipv6_flowid:24;
-#elif BYTE_ORDER == BIG_ENDIAN
- uint32_t ipv6_flowid:24;
- uint8_t ipv6_priority:4; /* going away? */
- uint8_t ipv6_version:4;
-#else
-#error "Don't know what endian to use."
-#endif
- uint16_t ipv6_len;
- uint8_t ipv6_nextheader;
- uint8_t ipv6_hoplimit;
- struct in6_addr ipv6_src; /* source address */
- struct in6_addr ipv6_dst; /* destination address */
-};
-
-/*
- * Macros and defines for header fields, and values thereof.
- * Assume things are in host order for these three macros.
- */
-
-#define IPV6_VERSION(h) ((h)->ipv6_versfl >> 28)
-#define IPV6_PRIORITY(h) (((h)->ipv6_versfl & 0x0f000000) >> 24)
-#define IPV6_FLOWID(h) ((h)->ipv6_versfl & 0x00ffffff)
-
-#define MAXHOPLIMIT 64
-#define IPV6_MINMTU 576
-
-/*
- * Other IPv6 header definitions.
- */
-
-/* Fragmentation header & macros for it. NOTE: Host order assumption. */
-
-struct ipv6_fraghdr
-{
- uint8_t frag_nexthdr; /* Next header type. */
- uint8_t frag_reserved;
- uint16_t frag_bitsoffset; /* More bit and fragment offset. */
- uint32_t frag_id; /* Fragment identifier. */
-};
-
-#define FRAG_MOREMASK 0x1
-#define FRAG_OFFMASK 0xFFF8
-#define FRAG_MORE_BIT(fh) ((fh)->frag_bitsoffset & FRAG_MOREMASK)
-#define FRAG_OFFSET(fh) ((fh)->frag_bitsoffset & FRAG_OFFMASK)
-
-/* Source routing header. Host order assumption for macros. */
-
-struct ipv6_srcroute0
-{
- uint8_t i6sr_nexthdr; /* Next header type. */
- uint8_t i6sr_len; /* RH len in 8-byte addrs, !incl this structure */
- uint8_t i6sr_type; /* Routing type, should be 0 */
- uint8_t i6sr_left; /* Segments left */
- uint32_t i6sr_reserved; /* 8 bits of reserved padding. */
-};
-
-#define I6SR_BITMASK(i6sr) ((i6sr)->i6sr_reserved & 0xffffff)
-
-/* Options header. For "ignoreable" options. */
-
-struct ipv6_opthdr
-{
- uint8_t oh_nexthdr; /* Next header type. */
- uint8_t oh_extlen; /* Header extension length. */
- uint8_t oh_data[6]; /* Option data, may be reserved for
- alignment purposes. */
-};
-
-#define OPT_PAD1 0
-#define OPT_PADN 1
-#define OPT_JUMBO 194
-
-struct ipv6_option
-{
- uint8_t opt_type; /* Option type. */
- uint8_t opt_datalen; /* Option data length. */
- uint8_t opt_data[1]; /* Option data. */
-};
-#endif /* _NETINET6_IPV6_H */