linux/include/uapi/linux/ipv6.h

/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
#ifndef _UAPI_IPV6_H
#define _UAPI_IPV6_H

#include <linux/libc-compat.h>
#include <linux/types.h>
#include <linux/stddef.h>
#include <linux/in6.h>
#include <asm/byteorder.h>

/* The latest drafts declared increase in minimal mtu up to 1280. */

#define IPV6_MIN_MTU

/*
 *	Advanced API
 *	source interface/address selection, source routing, etc...
 *	*under construction*
 */

#if __UAPI_DEF_IN6_PKTINFO
struct in6_pktinfo {};
#endif

#if __UAPI_DEF_IP6_MTUINFO
struct ip6_mtuinfo {};
#endif

struct in6_ifreq {};

#define IPV6_SRCRT_STRICT
#define IPV6_SRCRT_TYPE_0
#define IPV6_SRCRT_TYPE_2
#define IPV6_SRCRT_TYPE_3
#define IPV6_SRCRT_TYPE_4

/*
 *	routing header
 */
struct ipv6_rt_hdr {};


struct ipv6_opt_hdr {} __attribute__((packed));	/* required for some archs */

#define ipv6_destopt_hdr
#define ipv6_hopopt_hdr

/* Router Alert option values (RFC2711) */
#define IPV6_OPT_ROUTERALERT_MLD

/*
 *	routing header type 0 (used in cmsghdr struct)
 */

struct rt0_hdr {};

/*
 *	routing header type 2
 */

struct rt2_hdr {};

/*
 *	home address option in destination options header
 */

struct ipv6_destopt_hao {} __attribute__((packed));

/*
 *	IPv6 fixed header
 *
 *	BEWARE, it is incorrect. The first 4 bits of flow_lbl
 *	are glued to priority now, forming "class".
 */

struct ipv6hdr {};


/* index values for the variables in ipv6_devconf */
enum {};


#endif /* _UAPI_IPV6_H */