136d97821Schristos /*
236d97821Schristos  * IEEE 802.1X-2010 KaY Interface
336d97821Schristos  * Copyright (c) 2013-2014, Qualcomm Atheros, Inc.
436d97821Schristos  *
536d97821Schristos  * This software may be distributed under the terms of the BSD license.
636d97821Schristos  * See README for more details.
736d97821Schristos  */
836d97821Schristos 
936d97821Schristos #ifndef WPAS_KAY_H
1036d97821Schristos #define WPAS_KAY_H
1136d97821Schristos 
1236d97821Schristos #ifdef CONFIG_MACSEC
1336d97821Schristos 
1436d97821Schristos int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s,
1536d97821Schristos 			    struct wpa_ssid *ssid);
1636d97821Schristos void * ieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,
1736d97821Schristos 				      const u8 *peer_addr);
1836d97821Schristos void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s);
1936d97821Schristos 
20*ebb5671cSchristos void * ieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,
21*ebb5671cSchristos 				       struct wpa_ssid *ssid);
22*ebb5671cSchristos 
2336d97821Schristos #else /* CONFIG_MACSEC */
2436d97821Schristos 
ieee802_1x_alloc_kay_sm(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)2536d97821Schristos static inline int ieee802_1x_alloc_kay_sm(struct wpa_supplicant *wpa_s,
2636d97821Schristos 					  struct wpa_ssid *ssid)
2736d97821Schristos {
2836d97821Schristos 	return 0;
2936d97821Schristos }
3036d97821Schristos 
3136d97821Schristos static inline void *
ieee802_1x_notify_create_actor(struct wpa_supplicant * wpa_s,const u8 * peer_addr)3236d97821Schristos ieee802_1x_notify_create_actor(struct wpa_supplicant *wpa_s,
3336d97821Schristos 			       const u8 *peer_addr)
3436d97821Schristos {
3536d97821Schristos 	return NULL;
3636d97821Schristos }
3736d97821Schristos 
ieee802_1x_dealloc_kay_sm(struct wpa_supplicant * wpa_s)3836d97821Schristos static inline void ieee802_1x_dealloc_kay_sm(struct wpa_supplicant *wpa_s)
3936d97821Schristos {
4036d97821Schristos }
4136d97821Schristos 
42*ebb5671cSchristos static inline void *
ieee802_1x_create_preshared_mka(struct wpa_supplicant * wpa_s,struct wpa_ssid * ssid)43*ebb5671cSchristos ieee802_1x_create_preshared_mka(struct wpa_supplicant *wpa_s,
44*ebb5671cSchristos 				struct wpa_ssid *ssid)
45*ebb5671cSchristos {
46*ebb5671cSchristos 	return 0;
47*ebb5671cSchristos }
48*ebb5671cSchristos 
4936d97821Schristos #endif /* CONFIG_MACSEC */
5036d97821Schristos 
5136d97821Schristos #endif /* WPAS_KAY_H */
52