f595a68a3b8953a12aa778c2abd7642df8da8c3ayz/*
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * CDDL HEADER START
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz *
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * The contents of this file are subject to the terms of the
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * Common Development and Distribution License (the "License").
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * You may not use this file except in compliance with the License.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz *
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * or http://www.opensolaris.org/os/licensing.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * See the License for the specific language governing permissions
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * and limitations under the License.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz *
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * When distributing Covered Code, include this CDDL HEADER in each
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * file and include the License file at usr/src/OPENSOLARIS.LICENSE.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * If applicable, add the following below this CDDL HEADER, with the
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * fields enclosed by brackets "[]" replaced with your own identifying
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * information: Portions Copyright [yyyy] [name of copyright owner]
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz *
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * CDDL HEADER END
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz/*
e2cf88ac9d753a00c17aa235f6afdc76574fe3a6Quaker Fang * Copyright 2009 Sun Microsystems, Inc. All rights reserved.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * Use is subject to license terms.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#ifndef _LIBDLWLAN_H
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define _LIBDLWLAN_H
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz/*
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * This file includes structures, macros and routines used by WLAN link
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * administration.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#include <sys/types.h>
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#include <libdladm.h>
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz/*
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * General libdlwlan definitions and functions.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz *
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * These interfaces are ON consolidation-private.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz * For documentation, refer to PSARC/2006/623.
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#ifdef __cplusplus
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern "C" {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#endif
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
0d2f4bc964616a7fec76406480264fcaa2cfbc14ff#define DLADM_WLAN_MAX_ESSID_LEN (32 + 1) /* per 802.11 spec */
0d2f4bc964616a7fec76406480264fcaa2cfbc14ff /* max essid length is 32 */
0d2f4bc964616a7fec76406480264fcaa2cfbc14ff /* one more for '\0' */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_BSSID_LEN 6 /* per 802.11 spec */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define DLADM_WLAN_WPA_KEY_LEN 32 /* per 802.11i spec */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define DLADM_WLAN_MAX_WPA_IE_LEN 40 /* per 802.11i spec */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_CONNECT_TIMEOUT_DEFAULT 10
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_CONNECT_CREATEIBSS 0x00000001
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_CONNECT_NOSCAN 0x00000002
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef struct dladm_wlan_essid {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz char we_bytes[DLADM_WLAN_MAX_ESSID_LEN];
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_essid_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef struct dladm_wlan_bssid {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz uint8_t wb_bytes[DLADM_WLAN_BSSID_LEN];
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_bssid_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef struct dladm_wlan_ess {
a399b7655a1d835aa8606c2b29e4e777baac8635zf dladm_wlan_bssid_t we_bssid;
a399b7655a1d835aa8606c2b29e4e777baac8635zf dladm_wlan_essid_t we_ssid;
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint_t we_ssid_len;
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint8_t we_wpa_ie[DLADM_WLAN_MAX_WPA_IE_LEN];
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint_t we_wpa_ie_len;
a399b7655a1d835aa8606c2b29e4e777baac8635zf int we_freq;
a399b7655a1d835aa8606c2b29e4e777baac8635zf} dladm_wlan_ess_t;
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum {
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_WEP = 0,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_TKIP,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_AES_OCB,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_AES_CCM,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_CKIP,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_CIPHER_NONE
a399b7655a1d835aa8606c2b29e4e777baac8635zf} dladm_wlan_cipher_t;
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum {
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_MLME_ASSOC = 1, /* associate station */
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_MLME_DISASSOC = 2 /* disassociate station */
a399b7655a1d835aa8606c2b29e4e777baac8635zf} dladm_wlan_mlme_op_t;
a399b7655a1d835aa8606c2b29e4e777baac8635zf
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef enum {
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_REASON_UNSPECIFIED = 1,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_REASON_DISASSOC_LEAVING = 5
a399b7655a1d835aa8606c2b29e4e777baac8635zf} dladm_wlan_reason_t;
a399b7655a1d835aa8606c2b29e4e777baac8635zf
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_SECMODE_NONE = 1,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_SECMODE_WEP,
a399b7655a1d835aa8606c2b29e4e777baac8635zf DLADM_WLAN_SECMODE_WPA
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_secmode_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_STRENGTH_VERY_WEAK = 1,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_STRENGTH_WEAK,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_STRENGTH_GOOD,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_STRENGTH_VERY_GOOD,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_STRENGTH_EXCELLENT
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_strength_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_MODE_NONE = 0,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_MODE_80211A,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_MODE_80211B,
e2cf88ac9d753a00c17aa235f6afdc76574fe3a6Quaker Fang DLADM_WLAN_MODE_80211G,
e2cf88ac9d753a00c17aa235f6afdc76574fe3a6Quaker Fang DLADM_WLAN_MODE_80211GN,
e2cf88ac9d753a00c17aa235f6afdc76574fe3a6Quaker Fang DLADM_WLAN_MODE_80211AN
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_mode_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_AUTH_OPEN = 1,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_AUTH_SHARED
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_auth_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_BSSTYPE_BSS = 1,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_BSSTYPE_IBSS,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_BSSTYPE_ANY
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_bsstype_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef enum {
d62bc4badc1c1f1549c961cfb8b420e650e1272byz DLADM_WLAN_LINK_DISCONNECTED = 1,
d62bc4badc1c1f1549c961cfb8b420e650e1272byz DLADM_WLAN_LINK_CONNECTED
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_linkstatus_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef uint32_t dladm_wlan_speed_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef uint32_t dladm_wlan_channel_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzenum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_ESSID = 0x00000001,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_BSSID = 0x00000002,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_SECMODE = 0x00000004,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_STRENGTH = 0x00000008,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_MODE = 0x00000010,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_SPEED = 0x00000020,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_AUTH = 0x00000040,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_BSSTYPE = 0x00000080,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_ATTR_CHANNEL = 0x00000100
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz};
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef struct dladm_wlan_attr {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz uint_t wa_valid;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_essid_t wa_essid;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_bssid_t wa_bssid;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_secmode_t wa_secmode;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_strength_t wa_strength;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_mode_t wa_mode;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_speed_t wa_speed;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_auth_t wa_auth;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_bsstype_t wa_bsstype;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_channel_t wa_channel;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_attr_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzenum {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_LINKATTR_STATUS = 0x00000001,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz DLADM_WLAN_LINKATTR_WLAN = 0x00000002
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz};
f595a68a3b8953a12aa778c2abd7642df8da8c3ayztypedef struct dladm_wlan_linkattr {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz uint_t la_valid;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_linkstatus_t la_status;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_attr_t la_wlan_attr;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz} dladm_wlan_linkattr_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_WEPKEY64_LEN 5 /* per WEP spec */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_WEPKEY128_LEN 13 /* per WEP spec */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define DLADM_WLAN_MAX_KEY_LEN 64 /* per WEP/WPA spec */
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#define DLADM_WLAN_MAX_WEPKEYS 4 /* MAX_NWEPKEYS */
a399b7655a1d835aa8606c2b29e4e777baac8635zf#define DLADM_WLAN_MAX_KEYNAME_LEN 64
a399b7655a1d835aa8606c2b29e4e777baac8635zftypedef struct dladm_wlan_key {
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz uint_t wk_idx;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz uint_t wk_len;
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint8_t wk_val[DLADM_WLAN_MAX_KEY_LEN];
a399b7655a1d835aa8606c2b29e4e777baac8635zf char wk_name[DLADM_WLAN_MAX_KEYNAME_LEN];
a399b7655a1d835aa8606c2b29e4e777baac8635zf uint_t wk_class;
a399b7655a1d835aa8606c2b29e4e777baac8635zf} dladm_wlan_key_t;
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_scan(dladm_handle_t, datalink_id_t, void *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz boolean_t (*)(void *, dladm_wlan_attr_t *));
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_connect(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey dladm_wlan_attr_t *, int, void *, uint_t, uint_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_disconnect(dladm_handle_t, datalink_id_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_get_linkattr(dladm_handle_t, datalink_id_t,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_linkattr_t *);
a399b7655a1d835aa8606c2b29e4e777baac8635zf/* WPA support routines */
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_get_sr(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey dladm_wlan_ess_t *, uint_t, uint_t *);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_set_ie(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey uint8_t *, uint_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_set_wpa(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey boolean_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_del_key(dladm_handle_t, datalink_id_t,
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskey uint_t, const dladm_wlan_bssid_t *);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_set_key(dladm_handle_t, datalink_id_t,
a399b7655a1d835aa8606c2b29e4e777baac8635zf dladm_wlan_cipher_t, const dladm_wlan_bssid_t *,
a399b7655a1d835aa8606c2b29e4e777baac8635zf boolean_t, uint64_t, uint_t, uint8_t *, uint_t);
4ac67f0276a8313b5cefec38af347b94b7bfb526Anurag S. Maskeyextern dladm_status_t dladm_wlan_wpa_set_mlme(dladm_handle_t, datalink_id_t,
a399b7655a1d835aa8606c2b29e4e777baac8635zf dladm_wlan_mlme_op_t,
a399b7655a1d835aa8606c2b29e4e777baac8635zf dladm_wlan_reason_t, dladm_wlan_bssid_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_essid2str(dladm_wlan_essid_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_bssid2str(dladm_wlan_bssid_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_secmode2str(dladm_wlan_secmode_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_strength2str(dladm_wlan_strength_t *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_mode2str(dladm_wlan_mode_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_speed2str(dladm_wlan_speed_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_auth2str(dladm_wlan_auth_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_bsstype2str(dladm_wlan_bsstype_t *, char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern const char *dladm_wlan_linkstatus2str(dladm_wlan_linkstatus_t *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz char *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2essid(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_essid_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2bssid(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_bssid_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2secmode(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_secmode_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2strength(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_strength_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2mode(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_mode_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2speed(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_speed_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2auth(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_auth_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2bsstype(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_bsstype_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayzextern dladm_status_t dladm_wlan_str2linkstatus(const char *,
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz dladm_wlan_linkstatus_t *);
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#ifdef __cplusplus
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz}
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#endif
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz
f595a68a3b8953a12aa778c2abd7642df8da8c3ayz#endif /* _LIBDLWLAN_H */