a399b7655a1d835aa8606c2b29e4e777baac8635zf/*
d62bc4badc1c1f1549c961cfb8b420e650e1272byz * Copyright 2008 Sun Microsystems, Inc. All rights reserved.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Use is subject to license terms.
a399b7655a1d835aa8606c2b29e4e777baac8635zf */
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zf/*
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi>
a399b7655a1d835aa8606c2b29e4e777baac8635zf * Sun elects to license this software under the BSD license.
a399b7655a1d835aa8606c2b29e4e777baac8635zf * See README for more details.
a399b7655a1d835aa8606c2b29e4e777baac8635zf */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#ifndef __DRIVER_H
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define __DRIVER_H
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zf#include <libdlwlan.h>
d62bc4badc1c1f1549c961cfb8b420e650e1272byz#include <libdllink.h>
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zf#ifdef __cplusplus
a399b7655a1d835aa8606c2b29e4e777baac8635zfextern "C" {
a399b7655a1d835aa8606c2b29e4e777baac8635zf#endif
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
a399b7655a1d835aa8606c2b29e4e777baac8635zf CIPHER_WEP104 } wpa_cipher;
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE } wpa_key_mgmt;
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zfstruct wpa_driver_ops {
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*get_bssid)(dladm_handle_t, datalink_id_t, char *);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*get_ssid)(dladm_handle_t, datalink_id_t, char *);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*set_wpa)(dladm_handle_t, datalink_id_t, boolean_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*set_key)(dladm_handle_t, datalink_id_t, wpa_alg, uint8_t *,
a399b7655a1d835aa8606c2b29e4e777baac8635zf int, boolean_t, uint8_t *, uint32_t, uint8_t *, uint32_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*scan)(dladm_handle_t, datalink_id_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*get_scan_results)(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey dladm_wlan_ess_t *, uint32_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*disassociate)(dladm_handle_t, datalink_id_t, int);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey int (*associate)(dladm_handle_t, datalink_id_t, const char *, uint8_t *,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey uint32_t);
a399b7655a1d835aa8606c2b29e4e777baac8635zf};
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zf#ifdef __cplusplus
a399b7655a1d835aa8606c2b29e4e777baac8635zf}
a399b7655a1d835aa8606c2b29e4e777baac8635zf#endif
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zf#endif /* __DRIVER_H */