1a399b765Szf /*
2d62bc4baSyz  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3a399b765Szf  * Use is subject to license terms.
4a399b765Szf  */
5a399b765Szf 
6a399b765Szf /*
7a399b765Szf  * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi>
8a399b765Szf  * Sun elects to license this software under the BSD license.
9a399b765Szf  * See README for more details.
10a399b765Szf  */
11a399b765Szf #ifndef __DRIVER_H
12a399b765Szf #define	__DRIVER_H
13a399b765Szf 
14a399b765Szf #include <libdlwlan.h>
15d62bc4baSyz #include <libdllink.h>
16a399b765Szf 
17a399b765Szf #ifdef	__cplusplus
18a399b765Szf extern "C" {
19a399b765Szf #endif
20a399b765Szf 
21a399b765Szf typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
22a399b765Szf typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
23a399b765Szf 	CIPHER_WEP104 } wpa_cipher;
24a399b765Szf typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE } wpa_key_mgmt;
25a399b765Szf 
26a399b765Szf struct wpa_driver_ops {
27*4ac67f02SAnurag S. Maskey 	int (*get_bssid)(dladm_handle_t, datalink_id_t, char *);
28*4ac67f02SAnurag S. Maskey 	int (*get_ssid)(dladm_handle_t, datalink_id_t, char *);
29*4ac67f02SAnurag S. Maskey 	int (*set_wpa)(dladm_handle_t, datalink_id_t, boolean_t);
30*4ac67f02SAnurag S. Maskey 	int (*set_key)(dladm_handle_t, datalink_id_t, wpa_alg, uint8_t *,
31a399b765Szf 	    int, boolean_t, uint8_t *, uint32_t, uint8_t *, uint32_t);
32*4ac67f02SAnurag S. Maskey 	int (*scan)(dladm_handle_t, datalink_id_t);
33*4ac67f02SAnurag S. Maskey 	int (*get_scan_results)(dladm_handle_t, datalink_id_t,
34*4ac67f02SAnurag S. Maskey 	    dladm_wlan_ess_t *, uint32_t);
35*4ac67f02SAnurag S. Maskey 	int (*disassociate)(dladm_handle_t, datalink_id_t, int);
36*4ac67f02SAnurag S. Maskey 	int (*associate)(dladm_handle_t, datalink_id_t, const char *, uint8_t *,
37*4ac67f02SAnurag S. Maskey 	    uint32_t);
38a399b765Szf };
39a399b765Szf 
40a399b765Szf #ifdef __cplusplus
41a399b765Szf }
42a399b765Szf #endif
43a399b765Szf 
44a399b765Szf #endif /* __DRIVER_H */
45