mirror of
https://github.com/openwrt/openwrt.git
synced 2025-02-27 19:31:17 +00:00
83 lines
2.4 KiB
C
83 lines
2.4 KiB
C
/*
|
|
* Broadcom wireless network adapter utility functions
|
|
*
|
|
* Copyright 2004, Broadcom Corporation
|
|
* All Rights Reserved.
|
|
*
|
|
* THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY
|
|
* KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM
|
|
* SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
|
|
* FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE.
|
|
*
|
|
* $Id$
|
|
*/
|
|
|
|
#ifndef _wlutils_h_
|
|
#define _wlutils_h_
|
|
|
|
#include <typedefs.h>
|
|
|
|
/* check this magic number */
|
|
#define WLC_IOCTL_MAGIC 0x14e46c77
|
|
|
|
/* maximum length buffer required */
|
|
#define WLC_IOCTL_SMLEN 256
|
|
|
|
#define WLC_IOCTL_VERSION 1
|
|
|
|
#define WLC_GET_MAGIC 0
|
|
#define WLC_GET_VERSION 1
|
|
#define WLC_GET_VAR 262 /* get value of named variable */
|
|
#define WLC_SET_VAR 263 /* set named variable to value */
|
|
|
|
/* Linux network driver ioctl encoding */
|
|
typedef struct wl_ioctl {
|
|
uint cmd; /* common ioctl definition */
|
|
void *buf; /* pointer to user buffer */
|
|
uint len; /* length of user buffer */
|
|
bool set; /* get or set request (optional) */
|
|
uint used; /* bytes read or written (optional) */
|
|
uint needed; /* bytes needed (optional) */
|
|
} wl_ioctl_t;
|
|
|
|
|
|
/*
|
|
* Pass a wlioctl request to the specified interface.
|
|
* @param name interface name
|
|
* @param cmd WLC_GET_MAGIC <= cmd < WLC_LAST
|
|
* @param buf buffer for passing in and/or receiving data
|
|
* @param len length of buf
|
|
* @return >= 0 if successful or < 0 otherwise
|
|
*/
|
|
extern int wl_ioctl(char *name, int cmd, void *buf, int len);
|
|
|
|
/*
|
|
* Get the MAC (hardware) address of the specified interface.
|
|
* @param name interface name
|
|
* @param hwaddr 6-byte buffer for receiving address
|
|
* @return >= 0 if successful or < 0 otherwise
|
|
*/
|
|
extern int wl_hwaddr(char *name, unsigned char *hwaddr);
|
|
|
|
/*
|
|
* Probe the specified interface.
|
|
* @param name interface name
|
|
* @return >= 0 if a Broadcom wireless device or < 0 otherwise
|
|
*/
|
|
extern int wl_probe(char *name);
|
|
|
|
/*
|
|
* Set/Get named variable.
|
|
* @param name interface name
|
|
* @param var variable name
|
|
* @param val variable value/buffer
|
|
* @param len variable value/buffer length
|
|
* @return success == 0, failure != 0
|
|
*/
|
|
extern int wl_set_val(char *name, char *var, void *val, int len);
|
|
extern int wl_get_val(char *name, char *var, void *val, int len);
|
|
extern int wl_set_int(char *name, char *var, int val);
|
|
extern int wl_get_int(char *name, char *var, int *val);
|
|
|
|
#endif /* _wlutils_h_ */
|