You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
openwrt/package/nvram/src/include/wlutils.h

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_ */