linux/include/uapi/linux/icmpv6.h

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

#include <linux/types.h>
#include <asm/byteorder.h>

struct icmp6hdr {};


#define ICMPV6_ROUTER_PREF_LOW
#define ICMPV6_ROUTER_PREF_MEDIUM
#define ICMPV6_ROUTER_PREF_HIGH
#define ICMPV6_ROUTER_PREF_INVALID

#define ICMPV6_DEST_UNREACH
#define ICMPV6_PKT_TOOBIG
#define ICMPV6_TIME_EXCEED
#define ICMPV6_PARAMPROB

#define ICMPV6_ERRMSG_MAX

#define ICMPV6_INFOMSG_MASK

#define ICMPV6_ECHO_REQUEST
#define ICMPV6_ECHO_REPLY
#define ICMPV6_MGM_QUERY
#define ICMPV6_MGM_REPORT
#define ICMPV6_MGM_REDUCTION

#define ICMPV6_NI_QUERY
#define ICMPV6_NI_REPLY

#define ICMPV6_MLD2_REPORT

#define ICMPV6_DHAAD_REQUEST
#define ICMPV6_DHAAD_REPLY
#define ICMPV6_MOBILE_PREFIX_SOL
#define ICMPV6_MOBILE_PREFIX_ADV

#define ICMPV6_MRDISC_ADV
#define ICMPV6_MRDISC_SOL

#define ICMPV6_MSG_MAX

/*
 *	Codes for Destination Unreachable
 */
#define ICMPV6_NOROUTE
#define ICMPV6_ADM_PROHIBITED
#define ICMPV6_NOT_NEIGHBOUR
#define ICMPV6_ADDR_UNREACH
#define ICMPV6_PORT_UNREACH
#define ICMPV6_POLICY_FAIL
#define ICMPV6_REJECT_ROUTE

/*
 *	Codes for Time Exceeded
 */
#define ICMPV6_EXC_HOPLIMIT
#define ICMPV6_EXC_FRAGTIME

/*
 *	Codes for Parameter Problem
 */
#define ICMPV6_HDR_FIELD
#define ICMPV6_UNK_NEXTHDR
#define ICMPV6_UNK_OPTION
#define ICMPV6_HDR_INCOMP

/* Codes for EXT_ECHO (PROBE) */
#define ICMPV6_EXT_ECHO_REQUEST
#define ICMPV6_EXT_ECHO_REPLY
/*
 *	constants for (set|get)sockopt
 */

#define ICMPV6_FILTER

/*
 *	ICMPV6 filter
 */

#define ICMPV6_FILTER_BLOCK
#define ICMPV6_FILTER_PASS
#define ICMPV6_FILTER_BLOCKOTHERS
#define ICMPV6_FILTER_PASSONLY

struct icmp6_filter {};

/*
 *	Definitions for MLDv2
 */
#define MLD2_MODE_IS_INCLUDE
#define MLD2_MODE_IS_EXCLUDE
#define MLD2_CHANGE_TO_INCLUDE
#define MLD2_CHANGE_TO_EXCLUDE
#define MLD2_ALLOW_NEW_SOURCES
#define MLD2_BLOCK_OLD_SOURCES

#define MLD2_ALL_MCR_INIT


#endif /* _UAPI_LINUX_ICMPV6_H */