Loading...
Searching...
No Matches
echo.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
20#ifndef NET_GNRC_ICMPV6_ECHO_H
21#define NET_GNRC_ICMPV6_ECHO_H
22
23#include <inttypes.h>
24
25#include "byteorder.h"
26#include "net/gnrc/netif.h"
27#include "net/gnrc/netif/hdr.h"
28#include "net/ipv6/hdr.h"
29#include "net/icmpv6.h"
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
48gnrc_pktsnip_t *gnrc_icmpv6_echo_build(uint8_t type, uint16_t id, uint16_t seq,
49 uint8_t *data, size_t data_len);
50
61 icmpv6_echo_t *echo, uint16_t len);
62
76int gnrc_icmpv6_echo_send(const gnrc_netif_t *netif, const ipv6_addr_t *addr,
77 uint16_t id, uint16_t seq, uint8_t ttl, size_t len);
78
91 int corrupt, uint32_t rtt_us, void *ctx);
105
106#ifdef __cplusplus
107}
108#endif
109
110#endif /* NET_GNRC_ICMPV6_ECHO_H */
Functions to work with different byte orders.
Definition for GNRC's network interfaces.
int gnrc_icmpv6_echo_send(const gnrc_netif_t *netif, const ipv6_addr_t *addr, uint16_t id, uint16_t seq, uint8_t ttl, size_t len)
Send out ICMPv6 echo request.
void gnrc_icmpv6_echo_req_handle(gnrc_netif_t *netif, ipv6_hdr_t *ipv6_hdr, icmpv6_echo_t *echo, uint16_t len)
ICMPv6 echo request handler.
int(* gnrc_icmpv6_echo_rsp_handle_cb_t)(gnrc_pktsnip_t *pkt, int corrupt, uint32_t rtt_us, void *ctx)
ICMPv6 echo response callback.
Definition echo.h:90
int gnrc_icmpv6_echo_rsp_handle(gnrc_pktsnip_t *pkt, size_t len, gnrc_icmpv6_echo_rsp_handle_cb_t cb, void *ctx)
Parse ICMPv6 echo response.
gnrc_pktsnip_t * gnrc_icmpv6_echo_build(uint8_t type, uint16_t id, uint16_t seq, uint8_t *data, size_t data_len)
Builds an ICMPv6 echo message of type type for sending.
ICMPv6 type and function definitions.
Adds include for missing inttype definitions.
Generic network interface header.
IPv6 header type and helper function definitions.
Representation of a network interface.
Definition netif.h:135
Type to represent parts (either headers or payload) of a packet, called snips.
Definition pkt.h:108
Echo request and response message format.
Definition icmpv6.h:215
Data type to represent an IPv6 packet header.
Definition hdr.h:66
Data type to represent an IPv6 address.
Definition addr.h:72