diff options
Diffstat (limited to 'pfinet/linux-src/include/linux/in6.h')
-rw-r--r-- | pfinet/linux-src/include/linux/in6.h | 194 |
1 files changed, 0 insertions, 194 deletions
diff --git a/pfinet/linux-src/include/linux/in6.h b/pfinet/linux-src/include/linux/in6.h deleted file mode 100644 index 35e018c7..00000000 --- a/pfinet/linux-src/include/linux/in6.h +++ /dev/null @@ -1,194 +0,0 @@ -/* - * Types and definitions for AF_INET6 - * Linux INET6 implementation - * - * Authors: - * Pedro Roque <roque@di.fc.ul.pt> - * - * Sources: - * IPv6 Program Interfaces for BSD Systems - * <draft-ietf-ipngwg-bsd-api-05.txt> - * - * Advanced Sockets API for IPv6 - * <draft-stevens-advanced-api-00.txt> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public License - * as published by the Free Software Foundation; either version - * 2 of the License, or (at your option) any later version. - */ - -#ifndef _LINUX_IN6_H -#define _LINUX_IN6_H - -#include <linux/types.h> - -/* - * IPv6 address structure - */ - -struct in6_addr -{ - union - { - __u8 u6_addr8[16]; - __u16 u6_addr16[8]; - __u32 u6_addr32[4]; -#if (~0UL) > 0xffffffff -#ifndef __RELAX_IN6_ADDR_ALIGNMENT - /* Alas, protocols do not respect 64bit alignmnet. - rsvp/pim/... are broken. However, it is good - idea to force correct alignment always, when - it is possible. - */ - __u64 u6_addr64[2]; -#endif -#endif - } in6_u; -#define s6_addr in6_u.u6_addr8 -#define s6_addr16 in6_u.u6_addr16 -#define s6_addr32 in6_u.u6_addr32 -#define s6_addr64 in6_u.u6_addr64 -}; - -struct sockaddr_in6 { - unsigned short int sin6_family; /* AF_INET6 */ - __u16 sin6_port; /* Transport layer port # */ - __u32 sin6_flowinfo; /* IPv6 flow information */ - struct in6_addr sin6_addr; /* IPv6 address */ -}; - - -struct ipv6_mreq { - /* IPv6 multicast address of group */ - struct in6_addr ipv6mr_multiaddr; - - /* local IPv6 address of interface */ - int ipv6mr_ifindex; -}; - -struct in6_flowlabel_req -{ - struct in6_addr flr_dst; - __u32 flr_label; - __u8 flr_action; - __u8 flr_share; - __u16 flr_flags; - __u16 flr_expires; - __u16 flr_linger; - __u32 __flr_pad; - /* Options in format of IPV6_PKTOPTIONS */ -}; - -#define IPV6_FL_A_GET 0 -#define IPV6_FL_A_PUT 1 -#define IPV6_FL_A_RENEW 2 - -#define IPV6_FL_F_CREATE 1 -#define IPV6_FL_F_EXCL 2 - -#define IPV6_FL_S_NONE 0 -#define IPV6_FL_S_EXCL 1 -#define IPV6_FL_S_PROCESS 2 -#define IPV6_FL_S_USER 3 -#define IPV6_FL_S_ANY 255 - - -/* - * Bitmask constant declarations to help applications select out the - * flow label and priority fields. - * - * Note that this are in host byte order while the flowinfo field of - * sockaddr_in6 is in network byte order. - */ - -#define IPV6_FLOWINFO_FLOWLABEL 0x000fffff -#define IPV6_FLOWINFO_PRIORITY 0x0ff00000 - -/* These defintions are obsolete */ -#define IPV6_PRIORITY_UNCHARACTERIZED 0x0000 -#define IPV6_PRIORITY_FILLER 0x0100 -#define IPV6_PRIORITY_UNATTENDED 0x0200 -#define IPV6_PRIORITY_RESERVED1 0x0300 -#define IPV6_PRIORITY_BULK 0x0400 -#define IPV6_PRIORITY_RESERVED2 0x0500 -#define IPV6_PRIORITY_INTERACTIVE 0x0600 -#define IPV6_PRIORITY_CONTROL 0x0700 -#define IPV6_PRIORITY_8 0x0800 -#define IPV6_PRIORITY_9 0x0900 -#define IPV6_PRIORITY_10 0x0a00 -#define IPV6_PRIORITY_11 0x0b00 -#define IPV6_PRIORITY_12 0x0c00 -#define IPV6_PRIORITY_13 0x0d00 -#define IPV6_PRIORITY_14 0x0e00 -#define IPV6_PRIORITY_15 0x0f00 - -/* - * IPV6 extension headers - */ -#define IPPROTO_HOPOPTS 0 /* IPv6 hop-by-hop options */ -#define IPPROTO_ROUTING 43 /* IPv6 routing header */ -#define IPPROTO_FRAGMENT 44 /* IPv6 fragmentation header */ -#define IPPROTO_ICMPV6 58 /* ICMPv6 */ -#define IPPROTO_NONE 59 /* IPv6 no next header */ -#define IPPROTO_DSTOPTS 60 /* IPv6 destination options */ - -/* - * IPv6 TLV options. - */ -#define IPV6_TLV_PAD0 0 -#define IPV6_TLV_PADN 1 -#define IPV6_TLV_ROUTERALERT 20 -#define IPV6_TLV_JUMBO 194 - -/* - * IPV6 socket options - */ - -#define IPV6_ADDRFORM 1 -#define IPV6_PKTINFO 2 -#define IPV6_HOPOPTS 3 -#define IPV6_DSTOPTS 4 -#define IPV6_RTHDR 5 -#define IPV6_PKTOPTIONS 6 -#define IPV6_CHECKSUM 7 -#define IPV6_HOPLIMIT 8 -#define IPV6_NEXTHOP 9 -#define IPV6_AUTHHDR 10 -#define IPV6_FLOWINFO 11 - -#if 0 -/* Aliases for obsolete names */ -#define IPV6_RXHOPOPTS IPV6_HOPOPTS -#define IPV6_RXDSTOPTS IPV6_DSTOPTS -#define IPV6_RXSRCRT IPV6_RTHDR -#endif - -/* - * Alternative names - */ -#define SCM_SRCRT IPV6_RXSRCRT - -#define IPV6_UNICAST_HOPS 16 -#define IPV6_MULTICAST_IF 17 -#define IPV6_MULTICAST_HOPS 18 -#define IPV6_MULTICAST_LOOP 19 -#define IPV6_ADD_MEMBERSHIP 20 -#define IPV6_DROP_MEMBERSHIP 21 -#define IPV6_ROUTER_ALERT 22 -#define IPV6_MTU_DISCOVER 23 -#define IPV6_MTU 24 -#define IPV6_RECVERR 25 -#define IPV6_V6ONLY 26 - -/* IPV6_MTU_DISCOVER values */ -#define IPV6_PMTUDISC_DONT 0 -#define IPV6_PMTUDISC_WANT 1 -#define IPV6_PMTUDISC_DO 2 - -/* Flowlabel */ -#define IPV6_FLOWLABEL_MGR 32 -#define IPV6_FLOWINFO_SEND 33 - - -#endif |