1 /* SPDX-License-Identifier: GPL-2.0 */ 2 /* 3 * Copyright (c) 2012 - 2018 Microchip Technology Inc., and its subsidiaries. 4 * All rights reserved. 5 */ 6 7 #ifndef WILC_WLAN_CFG_H 8 #define WILC_WLAN_CFG_H 9 10 struct wilc_cfg_byte { 11 u16 id; 12 u8 val; 13 }; 14 15 struct wilc_cfg_hword { 16 u16 id; 17 u16 val; 18 }; 19 20 struct wilc_cfg_word { 21 u16 id; 22 u32 val; 23 }; 24 25 struct wilc_cfg_str { 26 u16 id; 27 u16 len; 28 u8 *str; 29 }; 30 31 struct wilc_cfg_str_vals { 32 u8 mac_address[8]; 33 u8 firmware_version[130]; 34 u8 assoc_rsp[WILC_MAX_ASSOC_RESP_FRAME_SIZE]; 35 }; 36 37 struct wilc_cfg { 38 struct wilc_cfg_byte *b; 39 struct wilc_cfg_hword *hw; 40 struct wilc_cfg_word *w; 41 struct wilc_cfg_str *s; 42 struct wilc_cfg_str_vals *str_vals; 43 }; 44 45 struct wilc; 46 int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size); 47 int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id); 48 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, 49 u32 buffer_size); 50 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, 51 struct wilc_cfg_rsp *rsp); 52 int wilc_wlan_cfg_init(struct wilc *wl); 53 void wilc_wlan_cfg_deinit(struct wilc *wl); 54 55 #endif 56