]>
Commit | Line | Data |
---|---|---|
31161268 | 1 | /* Definitions for use with Linux AF_PACKET sockets. |
b168057a | 2 | Copyright (C) 1998-2015 Free Software Foundation, Inc. |
31161268 UD |
3 | This file is part of the GNU C Library. |
4 | ||
5 | The GNU C Library is free software; you can redistribute it and/or | |
41bdb6e2 AJ |
6 | modify it under the terms of the GNU Lesser General Public |
7 | License as published by the Free Software Foundation; either | |
8 | version 2.1 of the License, or (at your option) any later version. | |
31161268 UD |
9 | |
10 | The GNU C Library is distributed in the hope that it will be useful, | |
11 | but WITHOUT ANY WARRANTY; without even the implied warranty of | |
12 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU | |
41bdb6e2 | 13 | Lesser General Public License for more details. |
31161268 | 14 | |
41bdb6e2 | 15 | You should have received a copy of the GNU Lesser General Public |
59ba27a6 PE |
16 | License along with the GNU C Library; if not, see |
17 | <http://www.gnu.org/licenses/>. */ | |
31161268 UD |
18 | |
19 | #ifndef __NETPACKET_PACKET_H | |
20 | #define __NETPACKET_PACKET_H 1 | |
21 | ||
22 | struct sockaddr_ll | |
23 | { | |
24 | unsigned short int sll_family; | |
25 | unsigned short int sll_protocol; | |
26 | int sll_ifindex; | |
27 | unsigned short int sll_hatype; | |
28 | unsigned char sll_pkttype; | |
29 | unsigned char sll_halen; | |
30 | unsigned char sll_addr[8]; | |
31 | }; | |
32 | ||
33 | /* Packet types. */ | |
34 | ||
35 | #define PACKET_HOST 0 /* To us. */ | |
36 | #define PACKET_BROADCAST 1 /* To all. */ | |
37 | #define PACKET_MULTICAST 2 /* To group. */ | |
38 | #define PACKET_OTHERHOST 3 /* To someone else. */ | |
39 | #define PACKET_OUTGOING 4 /* Originated by us . */ | |
40 | #define PACKET_LOOPBACK 5 | |
41 | #define PACKET_FASTROUTE 6 | |
42 | ||
43 | /* Packet socket options. */ | |
44 | ||
45 | #define PACKET_ADD_MEMBERSHIP 1 | |
46 | #define PACKET_DROP_MEMBERSHIP 2 | |
d01d6319 UD |
47 | #define PACKET_RECV_OUTPUT 3 |
48 | #define PACKET_RX_RING 5 | |
49 | #define PACKET_STATISTICS 6 | |
31161268 UD |
50 | |
51 | struct packet_mreq | |
52 | { | |
53 | int mr_ifindex; | |
54 | unsigned short int mr_type; | |
55 | unsigned short int mr_alen; | |
56 | unsigned char mr_address[8]; | |
57 | }; | |
58 | ||
59 | #define PACKET_MR_MULTICAST 0 | |
60 | #define PACKET_MR_PROMISC 1 | |
61 | #define PACKET_MR_ALLMULTI 2 | |
62 | ||
63 | #endif /* netpacket/packet.h */ |