ibss_rsn.h revision 214501
1214501Srpaulo/* 2214501Srpaulo * wpa_supplicant - IBSS RSN 3214501Srpaulo * Copyright (c) 2009, Jouni Malinen <j@w1.fi> 4214501Srpaulo * 5214501Srpaulo * This program is free software; you can redistribute it and/or modify 6214501Srpaulo * it under the terms of the GNU General Public License version 2 as 7214501Srpaulo * published by the Free Software Foundation. 8214501Srpaulo * 9214501Srpaulo * Alternatively, this software may be distributed under the terms of BSD 10214501Srpaulo * license. 11214501Srpaulo * 12214501Srpaulo * See README and COPYING for more details. 13214501Srpaulo */ 14214501Srpaulo 15214501Srpaulo#ifndef IBSS_RSN_H 16214501Srpaulo#define IBSS_RSN_H 17214501Srpaulo 18214501Srpaulostruct ibss_rsn; 19214501Srpaulo 20214501Srpaulostruct ibss_rsn_peer { 21214501Srpaulo struct ibss_rsn_peer *next; 22214501Srpaulo struct ibss_rsn *ibss_rsn; 23214501Srpaulo 24214501Srpaulo u8 addr[ETH_ALEN]; 25214501Srpaulo 26214501Srpaulo struct wpa_sm *supp; 27214501Srpaulo enum wpa_states supp_state; 28214501Srpaulo u8 supp_ie[80]; 29214501Srpaulo size_t supp_ie_len; 30214501Srpaulo 31214501Srpaulo struct wpa_state_machine *auth; 32214501Srpaulo}; 33214501Srpaulo 34214501Srpaulostruct ibss_rsn { 35214501Srpaulo struct wpa_supplicant *wpa_s; 36214501Srpaulo struct wpa_authenticator *auth_group; 37214501Srpaulo struct ibss_rsn_peer *peers; 38214501Srpaulo u8 psk[PMK_LEN]; 39214501Srpaulo}; 40214501Srpaulo 41214501Srpaulo 42214501Srpaulostruct ibss_rsn * ibss_rsn_init(struct wpa_supplicant *wpa_s); 43214501Srpaulovoid ibss_rsn_deinit(struct ibss_rsn *ibss_rsn); 44214501Srpauloint ibss_rsn_start(struct ibss_rsn *ibss_rsn, const u8 *addr); 45214501Srpauloint ibss_rsn_rx_eapol(struct ibss_rsn *ibss_rsn, const u8 *src_addr, 46214501Srpaulo const u8 *buf, size_t len); 47214501Srpaulovoid ibss_rsn_set_psk(struct ibss_rsn *ibss_rsn, const u8 *psk); 48214501Srpaulo 49214501Srpaulo#endif /* IBSS_RSN_H */ 50