Linux Audio

Check our new training course

Loading...
 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
10struct wilc_cfg_byte {
11	u16 id;
12	u8 val;
13};
14
15struct wilc_cfg_hword {
16	u16 id;
17	u16 val;
18};
19
20struct wilc_cfg_word {
21	u16 id;
22	u32 val;
23};
24
25struct wilc_cfg_str {
26	u16 id;
27	u8 *str;
28};
29
30struct 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
36struct 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
44struct wilc;
45int wilc_wlan_cfg_set_wid(u8 *frame, u32 offset, u16 id, u8 *buf, int size);
46int wilc_wlan_cfg_get_wid(u8 *frame, u32 offset, u16 id);
47int wilc_wlan_cfg_get_val(struct wilc *wl, u16 wid, u8 *buffer,
48			  u32 buffer_size);
49void wilc_wlan_cfg_indicate_rx(struct wilc *wilc, u8 *frame, int size,
50			       struct wilc_cfg_rsp *rsp);
51int wilc_wlan_cfg_init(struct wilc *wl);
52void wilc_wlan_cfg_deinit(struct wilc *wl);
53
54#endif