<commit_before>/*
 * Copyright (C) 2015 <NAME> <<EMAIL>>
 *
 * This file is subject to the terms and conditions of the GNU Lesser
 * General Public License v2.1. See the file LICENSE in the top level
 * directory for more details.
 */

/**
 * @defgroup    net_icmpv6  ICMPV6
 * @ingroup     net_ipv6
 * @brief       Provides types related to ICMPv6
 * @see         <a href="https://tools.ietf.org/html/rfc4443">
 *                  RFC 4443
 *              </a>
 * @{
 *
 * @file
 * @brief   ICMPv6 type and function definitions
 *
 * @author  <NAME> <<EMAIL>>
 */
#ifndef ICMPV6_H_
#define ICMPV6_H_

#include <stdint.h>

#include "byteorder.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @{
 * @name Error message types
 * @see <a href="http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-2">
 *          IANA, ICMPv6 "type" Numbers
 *      </a>
 */
#define ICMPV6_DEST_UNR     (1)     /**< Destination unreachable message */
#define ICMPV6_PKT_TOO_BIG  (2)     /**< Packet Too Big message */
#define ICMPV6_TIME_EXC     (3)     /**< Time Exceeded message */
#define ICMPV6_PARAM_PROB   (4)     /**< Parameter Problem message */
#define ICMPV6_ERR_EXP1     (100)   /**< message type for private experimentation */
#define ICMPV6_ERR_EXP2     (101)   /**< message type for private experimentation */
/**
 * @}
 */

/**
 * @{
 * @name Informational message types
 * @see <a href="http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-2">
 *          IANA, ICMPv6 "type" Numbers
 *      </a>
 */
#define ICMPV6_ECHO_REQ     (128)   /**< Echo request message (ping) */
#define ICMPV6_ECHO_REP     (129)   /**< Echo reply message (pong) */
#define ICMPV6_RTR_SOL      (133)   /**< NDP router solicitation message */
#define ICMPV6_RTR_ADV      (134)   /**< NDP router advertisement message */
#define ICMPV6_NBR_SOL      (135)   /**< NDP neighbor solicitation message */
#define ICMPV6_NBR_ADV      (136)   /**< NDP neighbor advertisement message */
#define ICMPV6_REDIRECT     (137)   /**< NDP redirect message */
#define ICMPV6_RPL_CTRL     (155)   /**< RPL control message */
#define ICMPV6_INF_EXP1     (200)   /**< message type for private experimentation */
#define ICMPV6_INF_EXP2     (201)   /**< message type for private experimentation */
/**
 * @}
 */

/**
 * @{
 * @name Codes for destination unreachable messages
 *
 * @see <a href="https://tools.ietf.org/html/rfc4443#section-3.1">
 *          RFC 4443, section 3.1
 *      </a>
 */
#define ICMPV6_ERROR_DST_UNR_NO_ROUTE   (0) /**< no route to destination */
#define ICMPV6_ERROR_DST_UNR_PROHIB     (1) /**< communictation with<commit_msg>icmpv6: update for 6LoWPAN-ND message types<commit_after>/*
 * Copyright (C) 2015 <NAME> <<EMAIL>>
 *
 * This file is subject to the terms and conditions of the GNU Lesser
 * General Public License v2.1. See the file LICENSE in the top level
 * directory for more details.
 */

/**
 * @defgroup    net_icmpv6  ICMPV6
 * @ingroup     net_ipv6
 * @brief       Provides types related to ICMPv6
 * @see         <a href="https://tools.ietf.org/html/rfc4443">
 *                  RFC 4443
 *              </a>
 * @{
 *
 * @file
 * @brief   ICMPv6 type and function definitions
 *
 * @author  <NAME> <<EMAIL>>
 */
#ifndef ICMPV6_H_
#define ICMPV6_H_

#include <stdint.h>

#include "byteorder.h"

#ifdef __cplusplus
extern "C" {
#endif

/**
 * @{
 * @name Error message types
 * @see <a href="http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-2">
 *          IANA, ICMPv6 "type" Numbers
 *      </a>
 */
#define ICMPV6_DEST_UNR     (1)     /**< Destination unreachable message */
#define ICMPV6_PKT_TOO_BIG  (2)     /**< Packet Too Big message */
#define ICMPV6_TIME_EXC     (3)     /**< Time Exceeded message */
#define ICMPV6_PARAM_PROB   (4)     /**< Parameter Problem message */
#define ICMPV6_ERR_EXP1     (100)   /**< message type for private experimentation */
#define ICMPV6_ERR_EXP2     (101)   /**< message type for private experimentation */
/**
 * @}
 */

/**
 * @{
 * @name Informational message types
 * @see <a href="http://www.iana.org/assignments/icmpv6-parameters/icmpv6-parameters.xhtml#icmpv6-parameters-2">
 *          IANA, ICMPv6 "type" Numbers
 *      </a>
 */
#define ICMPV6_ECHO_REQ     (128)   /**< Echo request message (ping) */
#define ICMPV6_ECHO_REP     (129)   /**< Echo reply message (pong) */
#define ICMPV6_RTR_SOL      (133)   /**< NDP router solicitation message */
#define ICMPV6_RTR_ADV      (134)   /**< NDP router advertisement message */
#define ICMPV6_NBR_SOL      (135)   /**< NDP neighbor solicitation message */
#define ICMPV6_NBR_ADV      (136)   /**< NDP neighbor advertisement message */
#define ICMPV6_REDIRECT     (137)   /**< NDP redirect message */
#define ICMPV6_RPL_CTRL     (155)   /**< RPL control message */
#define ICMPV6_DAR          (157)   /**< Duplicate address request */
#define ICMPV6_DAC          (158)   /**< Duplicate address confirmation */
#define ICMPV6_INF_EXP1     (200)   /**< message type for private experimentation */
#define ICMPV6_INF_EXP2     (201)   /**< message type for private experimentation */
/**
 * @}
 */

/**
 * @{
 * @name Codes for destination unreachable messages
 *
 * @see <a href="https://tools.ietf.org/html/rfc4443#section-3.1">
 *          RFC 4443, section 3.1
 *      </a>
 */
#define ICMPV6_ERROR_DST_UNR_NO_ROUTE   (0) /**< no route to destination */
#define ICMPV6_ERROR_DST_UNR_PROHIB     (1) /**< communictation with
{'fraction_non_alphanumeric': 0.14009749052175482, 'fraction_numerical': 0.04044051272792923, 'mean_word_length': 2.948681397006415, 'pattern_counts': {'":': 0, '<': 71, '<?xml version=': 0, '>': 33, 'https://': 4, 'lorem ipsum': 0, 'www.': 4, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7427655', 'n_tokens_mistral': 2114, 'n_tokens_neox': 1979, 'n_words': 488}