1 /*
2  * IEEE 802.1X-2010 KaY Interface
3  * Copyright (c) 2013-2014, Qualcomm Atheros, Inc.
4  *
5  * This software may be distributed under the terms of the BSD license.
6  * See README for more details.
7  */
8 
9 #ifndef WPAS_KAY_H
10 #define WPAS_KAY_H
11 
12 #ifdef CONFIG_MACSEC
13 
14 int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s,
15 			    struct wpa_ssid *ssid);
16 void * ieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,
17 				      const u8 *peer_addr);
18 void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s);
19 
20 void * ieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,
21 				       struct wpa_ssid *ssid);
22 
23 #else /* CONFIG_MACSEC */
24 
25 static inline int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s,
26 					  struct wpa_ssid *ssid)
27 {
28 	return 0;
29 }
30 
31 static inline void *
32 ieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,
33 			       const u8 *peer_addr)
34 {
35 	return NULL;
36 }
37 
38 static inline void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s)
39 {
40 }
41 
42 static inline void *
43 ieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,
44 				struct wpa_ssid *ssid)
45 {
46 	return 0;
47 }
48 
49 #endif /* CONFIG_MACSEC */
50 
51 #endif /* WPAS_KAY_H */
52