Updated through tag hostap_2_5 from git://w1.fi/hostap.git
[mech_eap.git] / libeap / src / common / privsep_commands.h
index cc900be..8dff303 100644 (file)
@@ -2,19 +2,15 @@
  * WPA Supplicant - privilege separation commands
  * Copyright (c) 2007-2009, Jouni Malinen <j@w1.fi>
  *
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License version 2 as
- * published by the Free Software Foundation.
- *
- * Alternatively, this software may be distributed under the terms of BSD
- * license.
- *
- * See README and COPYING for more details.
+ * This software may be distributed under the terms of the BSD license.
+ * See README for more details.
  */
 
 #ifndef PRIVSEP_COMMANDS_H
 #define PRIVSEP_COMMANDS_H
 
+#include "common/ieee802_11_defs.h"
+
 enum privsep_cmd {
        PRIVSEP_CMD_REGISTER,
        PRIVSEP_CMD_UNREGISTER,
@@ -30,14 +26,35 @@ enum privsep_cmd {
        PRIVSEP_CMD_L2_NOTIFY_AUTH_START,
        PRIVSEP_CMD_L2_SEND,
        PRIVSEP_CMD_SET_COUNTRY,
+       PRIVSEP_CMD_AUTHENTICATE,
+};
+
+struct privsep_cmd_authenticate
+{
+       int freq;
+       u8 bssid[ETH_ALEN];
+       u8 ssid[SSID_MAX_LEN];
+       size_t ssid_len;
+       int auth_alg;
+       size_t ie_len;
+       u8 wep_key[4][16];
+       size_t wep_key_len[4];
+       int wep_tx_keyidx;
+       int local_state_change;
+       int p2p;
+       size_t sae_data_len;
+       /* followed by ie_len bytes of ie */
+       /* followed by sae_data_len bytes of sae_data */
 };
 
 struct privsep_cmd_associate
 {
        u8 bssid[ETH_ALEN];
-       u8 ssid[32];
+       u8 ssid[SSID_MAX_LEN];
        size_t ssid_len;
+       int hwmode;
        int freq;
+       int channel;
        int pairwise_suite;
        int group_suite;
        int key_mgmt_suite;
@@ -70,6 +87,18 @@ enum privsep_event {
        PRIVSEP_EVENT_STKSTART,
        PRIVSEP_EVENT_FT_RESPONSE,
        PRIVSEP_EVENT_RX_EAPOL,
+       PRIVSEP_EVENT_SCAN_STARTED,
+       PRIVSEP_EVENT_AUTH,
+};
+
+struct privsep_event_auth {
+       u8 peer[ETH_ALEN];
+       u8 bssid[ETH_ALEN];
+       u16 auth_type;
+       u16 auth_transaction;
+       u16 status_code;
+       size_t ies_len;
+       /* followed by ies_len bytes of ies */
 };
 
 #endif /* PRIVSEP_COMMANDS_H */