libdlwlan.h revision d62bc4badc1c1f1549c961cfb8b420e650e1272b
/*
* CDDL HEADER START
*
* The contents of this file are subject to the terms of the
* Common Development and Distribution License (the "License").
* You may not use this file except in compliance with the License.
*
* You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
* See the License for the specific language governing permissions
* and limitations under the License.
*
* When distributing Covered Code, include this CDDL HEADER in each
* file and include the License file at usr/src/OPENSOLARIS.LICENSE.
* If applicable, add the following below this CDDL HEADER, with the
* fields enclosed by brackets "[]" replaced with your own identifying
* information: Portions Copyright [yyyy] [name of copyright owner]
*
* CDDL HEADER END
*/
/*
* Copyright 2008 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*/
#ifndef _LIBDLWLAN_H
#define _LIBDLWLAN_H
#pragma ident "%Z%%M% %I% %E% SMI"
/*
* This file includes structures, macros and routines used by WLAN link
* administration.
*/
#include <libdladm.h>
/*
* General libdlwlan definitions and functions.
*
* These interfaces are ON consolidation-private.
* For documentation, refer to PSARC/2006/623.
*/
#ifdef __cplusplus
extern "C" {
#endif
#define DLADM_WLAN_CONNECT_TIMEOUT_DEFAULT 10
#define DLADM_WLAN_CONNECT_CREATEIBSS 0x00000001
#define DLADM_WLAN_CONNECT_NOSCAN 0x00000002
typedef struct dladm_wlan_essid {
char we_bytes[DLADM_WLAN_MAX_ESSID_LEN];
typedef struct dladm_wlan_bssid {
typedef struct dladm_wlan_ess {
int we_freq;
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
typedef enum {
DLADM_WLAN_MODE_NONE = 0,
typedef enum {
DLADM_WLAN_AUTH_OPEN = 1,
typedef enum {
typedef enum {
typedef uint32_t dladm_wlan_speed_t;
typedef uint32_t dladm_wlan_channel_t;
enum {
DLADM_WLAN_ATTR_ESSID = 0x00000001,
DLADM_WLAN_ATTR_BSSID = 0x00000002,
DLADM_WLAN_ATTR_SECMODE = 0x00000004,
DLADM_WLAN_ATTR_STRENGTH = 0x00000008,
DLADM_WLAN_ATTR_MODE = 0x00000010,
DLADM_WLAN_ATTR_SPEED = 0x00000020,
DLADM_WLAN_ATTR_AUTH = 0x00000040,
DLADM_WLAN_ATTR_BSSTYPE = 0x00000080,
DLADM_WLAN_ATTR_CHANNEL = 0x00000100
};
typedef struct dladm_wlan_attr {
enum {
DLADM_WLAN_LINKATTR_STATUS = 0x00000001,
DLADM_WLAN_LINKATTR_WLAN = 0x00000002
};
typedef struct dladm_wlan_linkattr {
#define DLADM_WLAN_MAX_KEYNAME_LEN 64
typedef struct dladm_wlan_key {
boolean_t (*)(void *, dladm_wlan_attr_t *));
/* WPA support routines */
const dladm_wlan_bssid_t *);
dladm_wlan_cipher_t, const dladm_wlan_bssid_t *,
extern const char *dladm_wlan_essid2str(dladm_wlan_essid_t *, char *);
extern const char *dladm_wlan_bssid2str(dladm_wlan_bssid_t *, char *);
extern const char *dladm_wlan_secmode2str(dladm_wlan_secmode_t *, char *);
extern const char *dladm_wlan_strength2str(dladm_wlan_strength_t *,
char *);
extern const char *dladm_wlan_mode2str(dladm_wlan_mode_t *, char *);
extern const char *dladm_wlan_speed2str(dladm_wlan_speed_t *, char *);
extern const char *dladm_wlan_auth2str(dladm_wlan_auth_t *, char *);
extern const char *dladm_wlan_bsstype2str(dladm_wlan_bsstype_t *, char *);
extern const char *dladm_wlan_linkstatus2str(dladm_wlan_linkstatus_t *,
char *);
extern dladm_status_t dladm_wlan_str2essid(const char *,
extern dladm_status_t dladm_wlan_str2bssid(const char *,
extern dladm_status_t dladm_wlan_str2secmode(const char *,
extern dladm_status_t dladm_wlan_str2strength(const char *,
extern dladm_status_t dladm_wlan_str2mode(const char *,
extern dladm_status_t dladm_wlan_str2speed(const char *,
extern dladm_status_t dladm_wlan_str2auth(const char *,
extern dladm_status_t dladm_wlan_str2bsstype(const char *,
extern dladm_status_t dladm_wlan_str2linkstatus(const char *,
#ifdef __cplusplus
}
#endif
#endif /* _LIBDLWLAN_H */