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 u8 *str; 28 }; 29 30 struct wilc_cfg_str_vals { 31 u8 mac_address[7]; 32 u8 firmware_version[129]; 33 u8 assoc_rsp[WILC_MAX_ASSOC_RESP_FRAME_SIZE]; 34 }; 35 36 struct wilc_cfg { 37 struct wilc_cfg_byte *b; 38 struct wilc_cfg_hword *hw; 39 struct wilc_cfg_word *w; 40 struct wilc_cfg_str *s; 41 struct wilc_cfg_str_vals *str_vals; 42 }; 43 44 struct wilc; 45 int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size); 46 int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id); 47 int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer, 48 u32 buffer_size); 49 void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size, 50 struct wilc_cfg_rsp *rsp); 51 int wilc_wlan_cfg_init(struct wilc *wl); 52 void wilc_wlan_cfg_deinit(struct wilc *wl); 53 54 #endif 55