xref: /titanic_52/usr/src/cmd/cmd-inet/usr.lib/wpad/driver.h (revision 4ac67f0276a8313b5cefec38af347b94b7bfb526)
1a399b765Szf162725 /*
2d62bc4baSyz147064  * Copyright 2008 Sun Microsystems, Inc.  All rights reserved.
3a399b765Szf162725  * Use is subject to license terms.
4a399b765Szf162725  */
5a399b765Szf162725 
6a399b765Szf162725 /*
7a399b765Szf162725  * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi>
8a399b765Szf162725  * Sun elects to license this software under the BSD license.
9a399b765Szf162725  * See README for more details.
10a399b765Szf162725  */
11a399b765Szf162725 #ifndef __DRIVER_H
12a399b765Szf162725 #define	__DRIVER_H
13a399b765Szf162725 
14a399b765Szf162725 #include <libdlwlan.h>
15d62bc4baSyz147064 #include <libdllink.h>
16a399b765Szf162725 
17a399b765Szf162725 #ifdef	__cplusplus
18a399b765Szf162725 extern "C" {
19a399b765Szf162725 #endif
20a399b765Szf162725 
21a399b765Szf162725 typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg;
22a399b765Szf162725 typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP,
23a399b765Szf162725 	CIPHER_WEP104 } wpa_cipher;
24a399b765Szf162725 typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE } wpa_key_mgmt;
25a399b765Szf162725 
26a399b765Szf162725 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 *,
31a399b765Szf162725 	    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);
38a399b765Szf162725 };
39a399b765Szf162725 
40a399b765Szf162725 #ifdef __cplusplus
41a399b765Szf162725 }
42a399b765Szf162725 #endif
43a399b765Szf162725 
44a399b765Szf162725 #endif /* __DRIVER_H */
45