xref: /freebsd/contrib/wpa/src/drivers/driver_wired_common.h (revision 6be3386466ab79a84b48429ae66244f21526d3df)
1 /*
2  * Common definitions for Wired Ethernet driver interfaces
3  * Copyright (c) 2005-2009, Jouni Malinen <j@w1.fi>
4  * Copyright (c) 2004, Gunter Burchardt <tira@isx.de>
5  *
6  * This software may be distributed under the terms of the BSD license.
7  * See README for more details.
8  */
9 
10 #ifndef DRIVER_WIRED_COMMON_H
11 #define DRIVER_WIRED_COMMON_H
12 
13 struct driver_wired_common_data {
14 	char ifname[IFNAMSIZ + 1];
15 	void *ctx;
16 
17 	int sock; /* raw packet socket for driver access */
18 	int pf_sock;
19 	int membership, multi, iff_allmulti, iff_up;
20 };
21 
22 static const u8 pae_group_addr[ETH_ALEN] =
23 { 0x01, 0x80, 0xc2, 0x00, 0x00, 0x03 };
24 
25 int wired_multicast_membership(int sock, int ifindex, const u8 *addr, int add);
26 int driver_wired_get_ssid(void *priv, u8 *ssid);
27 int driver_wired_get_bssid(void *priv, u8 *bssid);
28 int driver_wired_get_capa(void *priv, struct wpa_driver_capa *capa);
29 
30 int driver_wired_init_common(struct driver_wired_common_data *common,
31 			     const char *ifname, void *ctx);
32 void driver_wired_deinit_common(struct driver_wired_common_data *common);
33 
34 #endif /* DRIVER_WIRED_COMMON_H */
35