]>
git.ipfire.org Git - thirdparty/hostap.git/blob - wpa_supplicant/ibss_rsn.h
2 * wpa_supplicant - IBSS RSN
3 * Copyright (c) 2009, Jouni Malinen <j@w1.fi>
5 * This software may be distributed under the terms of the BSD license.
6 * See README for more details.
14 /* not authenticated */
15 #define IBSS_RSN_AUTH_NOT_AUTHENTICATED 0x00
16 /* remote peer sent an EAPOL message */
17 #define IBSS_RSN_AUTH_EAPOL_BY_PEER 0x01
18 /* we sent an AUTH message with seq 1 */
19 #define IBSS_RSN_AUTH_BY_US 0x02
20 /* we sent an EAPOL message */
21 #define IBSS_RSN_AUTH_EAPOL_BY_US 0x04
22 /* PTK derived as supplicant */
23 #define IBSS_RSN_SET_PTK_SUPP 0x08
24 /* PTK derived as authenticator */
25 #define IBSS_RSN_SET_PTK_AUTH 0x10
26 /* PTK completion reported */
27 #define IBSS_RSN_REPORTED_PTK 0x20
29 struct ibss_rsn_peer
{
30 struct ibss_rsn_peer
*next
;
31 struct ibss_rsn
*ibss_rsn
;
36 enum wpa_states supp_state
;
40 struct wpa_state_machine
*auth
;
41 int authentication_status
;
43 struct os_reltime own_auth_tx
;
47 struct wpa_supplicant
*wpa_s
;
48 struct wpa_authenticator
*auth_group
;
49 struct ibss_rsn_peer
*peers
;
54 struct ibss_rsn
* ibss_rsn_init(struct wpa_supplicant
*wpa_s
);
55 void ibss_rsn_deinit(struct ibss_rsn
*ibss_rsn
);
56 int ibss_rsn_start(struct ibss_rsn
*ibss_rsn
, const u8
*addr
);
57 void ibss_rsn_stop(struct ibss_rsn
*ibss_rsn
, const u8
*peermac
);
58 int ibss_rsn_rx_eapol(struct ibss_rsn
*ibss_rsn
, const u8
*src_addr
,
59 const u8
*buf
, size_t len
);
60 void ibss_rsn_set_psk(struct ibss_rsn
*ibss_rsn
, const u8
*psk
);
61 void ibss_rsn_handle_auth(struct ibss_rsn
*ibss_rsn
, const u8
*auth_frame
,
64 #endif /* IBSS_RSN_H */