14126Szf162725 /* 2*5895Syz147064 * Copyright 2008 Sun Microsystems, Inc. All rights reserved. 34126Szf162725 * Use is subject to license terms. 44126Szf162725 */ 54126Szf162725 64126Szf162725 /* 74126Szf162725 * Copyright (c) 2003-2004, Jouni Malinen <jkmaline@cc.hut.fi> 84126Szf162725 * Sun elects to license this software under the BSD license. 94126Szf162725 * See README for more details. 104126Szf162725 */ 114126Szf162725 #ifndef __DRIVER_H 124126Szf162725 #define __DRIVER_H 134126Szf162725 144126Szf162725 #pragma ident "%Z%%M% %I% %E% SMI" 154126Szf162725 164126Szf162725 #include <libdlwlan.h> 17*5895Syz147064 #include <libdllink.h> 184126Szf162725 194126Szf162725 #ifdef __cplusplus 204126Szf162725 extern "C" { 214126Szf162725 #endif 224126Szf162725 234126Szf162725 typedef enum { WPA_ALG_NONE, WPA_ALG_WEP, WPA_ALG_TKIP, WPA_ALG_CCMP } wpa_alg; 244126Szf162725 typedef enum { CIPHER_NONE, CIPHER_WEP40, CIPHER_TKIP, CIPHER_CCMP, 254126Szf162725 CIPHER_WEP104 } wpa_cipher; 264126Szf162725 typedef enum { KEY_MGMT_802_1X, KEY_MGMT_PSK, KEY_MGMT_NONE } wpa_key_mgmt; 274126Szf162725 284126Szf162725 struct wpa_driver_ops { 29*5895Syz147064 int (*get_bssid)(datalink_id_t, char *); 30*5895Syz147064 int (*get_ssid)(datalink_id_t, char *); 31*5895Syz147064 int (*set_wpa)(datalink_id_t, boolean_t); 32*5895Syz147064 int (*set_key)(datalink_id_t, wpa_alg, uint8_t *, 334126Szf162725 int, boolean_t, uint8_t *, uint32_t, uint8_t *, uint32_t); 34*5895Syz147064 int (*scan)(datalink_id_t); 35*5895Syz147064 int (*get_scan_results)(datalink_id_t, dladm_wlan_ess_t *, uint32_t); 36*5895Syz147064 int (*disassociate)(datalink_id_t, int); 37*5895Syz147064 int (*associate)(datalink_id_t, const char *, uint8_t *, uint32_t); 384126Szf162725 }; 394126Szf162725 404126Szf162725 #ifdef __cplusplus 414126Szf162725 } 424126Szf162725 #endif 434126Szf162725 444126Szf162725 #endif /* __DRIVER_H */ 45