-
Martine Lenders authoredMartine Lenders authored
hdr.h 8.20 KiB
/*
* Copyright (C) 2015 Freie Universität Berlin
*
* 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_gnrc_netif_hdr Generic network interface header
* @ingroup net_gnrc_netif
* @{
*
* @file
* @brief Generic network interface header
*
* @author Hauke Petersen <hauke.petersen@fu-berlin.de>
* @author Martine Lenders <mlenders@inf.fu-berlin.de>
*/
#ifndef NET_GNRC_NETIF_HDR_H
#define NET_GNRC_NETIF_HDR_H
#include <string.h>
#include <stdint.h>
#include "net/gnrc/pkt.h"
#include "net/gnrc/pktbuf.h"
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Maximum length of the l2 addresses of the generic interface header
* in bytes.
*/
#define GNRC_NETIF_HDR_L2ADDR_MAX_LEN (8)
/**
* @brief Maximum length of the string representatiom of l2 addresses of the
* generic interface header in bytes.
*/
#define GNRC_NETIF_HDR_L2ADDR_PRINT_LEN (GNRC_NETIF_HDR_L2ADDR_MAX_LEN * 3)
/**
* @{
* @name Flags for the gnrc_netif_hdr_t
*/
/**
* @brief Send packet broadcast.
*
* @details Packets with this flag set must be send broadcast.
* gnrc_netif_hdr_t::dst_l2addr_len and any appended destination
* address must be ignored.
* If the link layer does not support broadcast the packet must be
* dropped silently.
*/
#define GNRC_NETIF_HDR_FLAGS_BROADCAST (0x80)
/**
* @brief Send packet multicast.
*
* @details Packets with this flag set must be send multicast.
* gnrc_netif_hdr_t::dst_l2addr_len and any appended destination
* address must be ignored.
* The context for the multicast address must be derived from the
* network layer destination address.
* If the link layer does not support multicast it should interpret
* this flag the same way it does @ref GNRC_NETIF_HDR_FLAGS_BROADCAST.