int wlmPaParametersGet(WLM_BANDRANGE bandrange, unsigned int *a1, unsigned int *b0, unsigned int *b1) { const pavars_t *pav = pavars; uint16 inpa[WL_PHY_PAVARS_LEN]; void *ptr = NULL; char par[256]; /* holds longest pavars->vars */ uint16 *outpa; int i = 0; pav += bandrange; inpa[i++] = pav->phy_type; inpa[i++] = pav->bandrange; inpa[i++] = pav->chain; strncpy(par, pav->vars, 255); par[255] = 0; if (wlu_var_getbuf(irh, "pavars", inpa, WL_PHY_PAVARS_LEN * sizeof(uint16), &ptr)) { printf("wlmPaParametersGet: %s\n", wlmLastError()); return FALSE; } outpa = (uint16 *)ptr; *b0 = outpa[i++]; *b1 = outpa[i++]; *a1 = outpa[i++]; return TRUE; }
int wlmIovarBufferGet(const char *iovar, void *param, int param_len, void **bufptr) { if (wlu_var_getbuf(irh, iovar, param, param_len, bufptr)) { printf("wlmIovarBufferGet: %s\n", wlmLastError()); return FALSE; } return TRUE; }
int wl_p2p_dev(void *wl, int *bsscfgIndex) { int *ptr; int err; err = wlu_var_getbuf(wl, "p2p_dev", NULL, 0, (void*)&ptr); if (err >= 0) *bsscfgIndex = dtoh32(*ptr); return err; }
int wl_p2p_if(void *wl, struct ether_addr *ea, int *bsscfgIndex) { wl_p2p_ifq_t *ptr; int err; err = wlu_var_getbuf(wl, "p2p_if", ea, sizeof(*ea), (void*)&ptr); if (err >= 0) *bsscfgIndex = dtoh32(ptr->bsscfgidx); return err; }
int wlmRssiGet(int *rssi) { wl_pkteng_stats_t *cnt; if (wlu_var_getbuf(irh, "pkteng_stats", NULL, 0, (void **)&cnt)) { printf("wlmRssiGet: %s\n", wlmLastError()); return FALSE; } *rssi = dtoh32(cnt->rssi); return TRUE; }
int wlmRxGetReceivedPackets(unsigned int *count) { wl_cnt_t *cnt; if (wlu_var_getbuf(irh, "counters", NULL, 0, (void **)&cnt)) { printf("wlmRxGetReceivedPackets: %s\n", wlmLastError()); return FALSE; } *count = dtoh32(cnt->pktengrxducast); return TRUE; }
int wl_disable_event_msg(void *wl, int event) { uint8 event_inds_mask[WL_EVENTING_MASK_LEN]; /* 128-bit mask */ void *ptr; if ((event / 8) > WL_EVENTING_MASK_LEN) return -1; /* get current setting */ memset(buf, '\0', WLC_IOCTL_MAXLEN); if (wlu_var_getbuf(wl, "event_msgs", NULL, 0, &ptr)) return -1; /* AND mask event */ memcpy(event_inds_mask, ptr, WL_EVENTING_MASK_LEN); event_inds_mask[event / 8] &= ~(1 << (event % 8)); if (wlu_iovar_set(wl, "event_msgs", &event_inds_mask, WL_EVENTING_MASK_LEN)) return -1; return 0; }
static int lua_set_led(lua_State *L, void *wl, lua_cmd_t *cmd, char *argv) { int err; wl_led_info_t led; void *ptr = NULL; memset(&led, 0, sizeof(wl_led_info_t)); /* Read the original back so we don't toggle the activehi */ if ((err = wlu_var_getbuf(wl, cmd->name, (void*)&led, sizeof(wl_led_info_t), &ptr)) < 0) { return err; } led.behavior = (uint32)strtoul(argv, NULL, 10); led.activehi = ((wl_led_info_t*)ptr)->activehi; if ((err = wlu_var_setbuf(wl, cmd->name, (void*)&led, sizeof(wl_led_info_t))) < 0) { return err; } return err; }