1/* 2 * Broadcom wireless network adapter utility functions 3 * 4 * Copyright 2007, Broadcom Corporation 5 * All Rights Reserved. 6 * 7 * THIS SOFTWARE IS OFFERED "AS IS", AND BROADCOM GRANTS NO WARRANTIES OF ANY 8 * KIND, EXPRESS OR IMPLIED, BY STATUTE, COMMUNICATION OR OTHERWISE. BROADCOM 9 * SPECIFICALLY DISCLAIMS ANY IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS 10 * FOR A SPECIFIC PURPOSE OR NONINFRINGEMENT CONCERNING THIS SOFTWARE. 11 * 12 * $Id: wlutils.h,v 1.1.1.1 2008/10/15 03:31:22 james26_jang Exp $ 13 */ 14 15#ifndef _wlutils_h_ 16#define _wlutils_h_ 17#ifdef __cplusplus 18extern "C" { 19#endif 20 21#include <typedefs.h> 22#include <wlioctl.h> 23 24/* 25 * Pass a wlioctl request to the specified interface. 26 * @param name interface name 27 * @param cmd WLC_GET_MAGIC <= cmd < WLC_LAST 28 * @param buf buffer for passing in and/or receiving data 29 * @param len length of buf 30 * @return >= 0 if successful or < 0 otherwise 31 */ 32extern int wl_ioctl(char *name, int cmd, void *buf, int len); 33 34/* 35 * Get device type. 36 * @param name interface name 37 * @param buf buffer for passing in and/or receiving data 38 * @param len length of buf 39 * @return >= 0 if successful or < 0 otherwise 40 */ 41#define DEV_TYPE_LEN 3 /* Length for dev type 'et'/'wl' */ 42extern int wl_get_dev_type(char *name, void *buf, int len); 43 44/* 45 * Get the MAC (hardware) address of the specified interface. 46 * @param name interface name 47 * @param hwaddr 6-byte buffer for receiving address 48 * @return >= 0 if successful or < 0 otherwise 49 */ 50extern int wl_hwaddr(char *name, unsigned char *hwaddr); 51 52/* 53 * Probe the specified interface. 54 * @param name interface name 55 * @return >= 0 if a Broadcom wireless device or < 0 otherwise 56 */ 57extern int wl_probe(char *name); 58 59/* 60 * Set/Get named variable. 61 * @param ifname interface name 62 * @param iovar variable name 63 * @param param input param value/buffer 64 * @param paramlen input param value/buffer length 65 * @param bufptr io buffer 66 * @param buflen io buffer length 67 * @param val val or val pointer for int routines 68 * @return success == 0, failure != 0 69 */ 70extern int wl_iovar_setbuf(char *ifname, char *iovar, void *param, int paramlen, void *bufptr, int buflen); 71extern int wl_iovar_getbuf(char *ifname, char *iovar, void *param, int paramlen, void *bufptr, int buflen); 72extern int wl_iovar_set(char *ifname, char *iovar, void *param, int paramlen); 73extern int wl_iovar_get(char *ifname, char *iovar, void *bufptr, int buflen); 74extern int wl_iovar_setint(char *ifname, char *iovar, int val); 75extern int wl_iovar_getint(char *ifname, char *iovar, int *val); 76 77/* 78 * Set/Get named variable indexed by BSS Configuration 79 * @param ifname interface name 80 * @param iovar variable name 81 * @param bssidx bsscfg index 82 * @param param input param value/buffer 83 * @param paramlen input param value/buffer length 84 * @param bufptr io buffer 85 * @param buflen io buffer length 86 * @param val val or val pointer for int routines 87 * @return success == 0, failure != 0 88 */ 89extern int wl_bssiovar_setbuf(char *ifname, char *iovar, int bssidx, void *param, int paramlen, void *bufptr, int buflen); 90extern int wl_bssiovar_getbuf(char *ifname, char *iovar, int bssidx, void *param, int paramlen, void *bufptr, int buflen); 91extern int wl_bssiovar_get(char *ifname, char *iovar, int bssidx, void *outbuf, int len); 92extern int wl_bssiovar_set(char *ifname, char *iovar, int bssidx, void *param, int paramlen); 93extern int wl_bssiovar_setint(char *ifname, char *iovar, int bssidx, int val); 94#ifdef __cplusplus 95} 96#endif 97 98#endif /* _wlutils_h_ */ 99