Loading...
Searching...
No Matches
error.h
Go to the documentation of this file.
1/*
2 * Copyright (C) 2015 Martine Lenders <mlenders@inf.fu-berlin.de>
3 *
4 * This file is subject to the terms and conditions of the GNU Lesser
5 * General Public License v2.1. See the file LICENSE in the top level
6 * directory for more details.
7 */
8
9#pragma once
10
22
23#include <errno.h>
24#include <stdint.h>
25
26#include "net/icmpv6.h"
27#include "net/ipv6/hdr.h"
28#include "net/gnrc/ipv6.h"
29#include "net/gnrc/netapi.h"
30#include "net/gnrc/pkt.h"
31
32#ifdef __cplusplus
33extern "C" {
34#endif
35
36#if defined(MODULE_GNRC_ICMPV6_ERROR) || defined(DOXYGEN)
48void gnrc_icmpv6_error_dst_unr_send(uint8_t code, const gnrc_pktsnip_t *orig_pkt);
49
62 const gnrc_pktsnip_t *orig_pkt);
63
76 const gnrc_pktsnip_t *orig_pkt);
77
91void gnrc_icmpv6_error_param_prob_send(uint8_t code, void *ptr,
92 const gnrc_pktsnip_t *orig_pkt);
93#else /* defined(MODULE_GNRC_ICMPV6_ERROR) || defined(DOXYGEN) */
94/* NOPs to make the usage code more readable */
95#define gnrc_icmpv6_error_dst_unr_send(code, orig_pkt) \
96 (void)code; (void)orig_pkt
97#define gnrc_icmpv6_error_pkt_too_big_send(mtu, orig_pkt) \
98 (void)mtu; (void)orig_pkt
99#define gnrc_icmpv6_error_time_exc_send(code, orig_pkt) \
100 (void)code; (void)orig_pkt
101#define gnrc_icmpv6_error_param_prob_send(code, ptr, orig_pkt) \
102 (void)code; (void)ptr, (void)orig_pkt
103#endif /* defined(MODULE_GNRC_ICMPV6_ERROR) || defined(DOXYGEN) */
104
105#ifdef __cplusplus
106}
107#endif
108
Definitions for GNRC's IPv6 implementation.
void gnrc_icmpv6_error_time_exc_send(uint8_t code, const gnrc_pktsnip_t *orig_pkt)
Sends an ICMPv6 time exceeded message for sending.
void gnrc_icmpv6_error_dst_unr_send(uint8_t code, const gnrc_pktsnip_t *orig_pkt)
Sends an ICMPv6 destination unreachable message for sending.
void gnrc_icmpv6_error_param_prob_send(uint8_t code, void *ptr, const gnrc_pktsnip_t *orig_pkt)
Sends an ICMPv6 parameter problem message for sending.
void gnrc_icmpv6_error_pkt_too_big_send(uint32_t mtu, const gnrc_pktsnip_t *orig_pkt)
Sends an ICMPv6 packet too big message for sending.
struct gnrc_pktsnip gnrc_pktsnip_t
Type to represent parts (either headers or payload) of a packet, called snips.
ICMPv6 type and function definitions.
General definitions for network packets and their helper functions.
IPv6 header type and helper function definitions.
Generic interface to communicate with GNRC modules.