1 #ifndef _NETPACKET_PACKET_H 2 #define _NETPACKET_PACKET_H 3 4 #ifdef __cplusplus 5 extern "C" { 6 #endif 7 8 struct 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 16 struct 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