1#ifndef _NETPACKET_PACKET_H 2#define _NETPACKET_PACKET_H 3 4#ifdef __cplusplus 5extern "C" { 6#endif 7 8struct sockaddr_ll { 9 unsigned short sll_family, sll_protocol; 10 int sll_ifindex; 11 unsigned short sll_hatype; 12 unsigned char sll_pkttype, sll_halen; 13 unsigned char sll_addr[8]; 14}; 15 16struct packet_mreq { 17 int mr_ifindex; 18 unsigned short int mr_type, mr_alen; 19 unsigned char mr_address[8]; 20}; 21 22#define PACKET_HOST 0 23#define PACKET_BROADCAST 1 24#define PACKET_MULTICAST 2 25#define PACKET_OTHERHOST 3 26#define PACKET_OUTGOING 4 27#define PACKET_LOOPBACK 5 28#define PACKET_FASTROUTE 6 29 30#define PACKET_ADD_MEMBERSHIP 1 31#define PACKET_DROP_MEMBERSHIP 2 32#define PACKET_RECV_OUTPUT 3 33#define PACKET_RX_RING 5 34#define PACKET_STATISTICS 6 35#define PACKET_COPY_THRESH 7 36#define PACKET_AUXDATA 8 37#define PACKET_ORIGDEV 9 38#define PACKET_VERSION 10 39#define PACKET_HDRLEN 11 40#define PACKET_RESERVE 12 41#define PACKET_TX_RING 13 42#define PACKET_LOSS 14 43#define PACKET_VNET_HDR 15 44#define PACKET_TX_TIMESTAMP 16 45#define PACKET_TIMESTAMP 17 46#define PACKET_FANOUT 18 47#define PACKET_TX_HAS_OFF 19 48#define PACKET_QDISC_BYPASS 20 49#define PACKET_ROLLOVER_STATS 21 50#define PACKET_FANOUT_DATA 22 51#define PACKET_IGNORE_OUTGOING 23 52 53#define PACKET_MR_MULTICAST 0 54#define PACKET_MR_PROMISC 1 55#define PACKET_MR_ALLMULTI 2 56#define PACKET_MR_UNICAST 3 57 58#ifdef __cplusplus 59} 60#endif 61 62#endif 63