packet.h
1.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
/*
* Copyright (C) 2015 INRIA
*
* 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_packet Packet interface on device level
* @ingroup net
* @brief Packet address family definitions
* @{
*
* @file
* @brief Defines the struct for @ref AF_PACKET sockets
*
* @author Oliver Hahm <oliver.hahm@inria.fr>
*/
#ifndef PACKET_H
#define PACKET_H
#ifdef __cplusplus
extern "C" {
#endif
/**
* @brief Link-Layer socket descriptor
*/
struct sockaddr_ll {
unsigned short sll_family; /**< Always AF_PACKET */
unsigned short sll_protocol; /**< Physical-layer protocol */
int sll_ifindex; /**< Interface number */
unsigned short sll_hatype; /**< ARP hardware type */
unsigned char sll_pkttype; /**< Packet type */
unsigned char sll_halen; /**< Length of address */
unsigned char sll_addr[8]; /**< Physical-layer address */
};
#ifdef __cplusplus
}
#endif
/**
* @}
*/
#endif /* PACKET_H */