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