blob: a30be683f4a15eff78c0fa2a5133ed176b4962a0 [file] [log] [blame]
Hante Meuleman81f5dcb2012-10-22 10:36:14 -07001/*
2 * Copyright (c) 2012 Broadcom Corporation
3 *
4 * Permission to use, copy, modify, and/or distribute this software for any
5 * purpose with or without fee is hereby granted, provided that the above
6 * copyright notice and this permission notice appear in all copies.
7 *
8 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
9 * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
10 * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY
11 * SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
12 * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION
13 * OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN
14 * CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
15 */
16
17#ifndef _fwil_h_
18#define _fwil_h_
19
Arend van Spriel5ca85212013-11-29 12:25:20 +010020/*******************************************************************************
21 * Dongle command codes that are interpreted by firmware
22 ******************************************************************************/
23#define BRCMF_C_GET_VERSION 1
24#define BRCMF_C_UP 2
25#define BRCMF_C_DOWN 3
26#define BRCMF_C_SET_PROMISC 10
27#define BRCMF_C_GET_RATE 12
28#define BRCMF_C_GET_INFRA 19
29#define BRCMF_C_SET_INFRA 20
30#define BRCMF_C_GET_AUTH 21
31#define BRCMF_C_SET_AUTH 22
32#define BRCMF_C_GET_BSSID 23
33#define BRCMF_C_GET_SSID 25
34#define BRCMF_C_SET_SSID 26
35#define BRCMF_C_TERMINATED 28
36#define BRCMF_C_GET_CHANNEL 29
37#define BRCMF_C_SET_CHANNEL 30
38#define BRCMF_C_GET_SRL 31
39#define BRCMF_C_SET_SRL 32
40#define BRCMF_C_GET_LRL 33
41#define BRCMF_C_SET_LRL 34
42#define BRCMF_C_GET_RADIO 37
43#define BRCMF_C_SET_RADIO 38
44#define BRCMF_C_GET_PHYTYPE 39
45#define BRCMF_C_SET_KEY 45
46#define BRCMF_C_SET_PASSIVE_SCAN 49
47#define BRCMF_C_SCAN 50
48#define BRCMF_C_SCAN_RESULTS 51
49#define BRCMF_C_DISASSOC 52
50#define BRCMF_C_REASSOC 53
51#define BRCMF_C_SET_ROAM_TRIGGER 55
52#define BRCMF_C_SET_ROAM_DELTA 57
53#define BRCMF_C_GET_BCNPRD 75
54#define BRCMF_C_SET_BCNPRD 76
55#define BRCMF_C_GET_DTIMPRD 77
56#define BRCMF_C_SET_DTIMPRD 78
57#define BRCMF_C_SET_COUNTRY 84
58#define BRCMF_C_GET_PM 85
59#define BRCMF_C_SET_PM 86
60#define BRCMF_C_GET_CURR_RATESET 114
61#define BRCMF_C_GET_AP 117
62#define BRCMF_C_SET_AP 118
63#define BRCMF_C_GET_RSSI 127
64#define BRCMF_C_GET_WSEC 133
65#define BRCMF_C_SET_WSEC 134
66#define BRCMF_C_GET_PHY_NOISE 135
67#define BRCMF_C_GET_BSS_INFO 136
68#define BRCMF_C_GET_BANDLIST 140
69#define BRCMF_C_SET_SCB_TIMEOUT 158
70#define BRCMF_C_GET_PHYLIST 180
71#define BRCMF_C_SET_SCAN_CHANNEL_TIME 185
72#define BRCMF_C_SET_SCAN_UNASSOC_TIME 187
73#define BRCMF_C_SCB_DEAUTHENTICATE_FOR_REASON 201
74#define BRCMF_C_GET_VALID_CHANNELS 217
75#define BRCMF_C_GET_KEY_PRIMARY 235
76#define BRCMF_C_SET_KEY_PRIMARY 236
77#define BRCMF_C_SET_SCAN_PASSIVE_TIME 258
78#define BRCMF_C_GET_VAR 262
79#define BRCMF_C_SET_VAR 263
80
Arend van Sprielac24be62012-10-22 10:36:23 -070081s32 brcmf_fil_cmd_data_set(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
82s32 brcmf_fil_cmd_data_get(struct brcmf_if *ifp, u32 cmd, void *data, u32 len);
83s32 brcmf_fil_cmd_int_set(struct brcmf_if *ifp, u32 cmd, u32 data);
84s32 brcmf_fil_cmd_int_get(struct brcmf_if *ifp, u32 cmd, u32 *data);
Hante Meuleman81f5dcb2012-10-22 10:36:14 -070085
Johannes Berg4b5800f2014-01-15 14:55:59 +010086s32 brcmf_fil_iovar_data_set(struct brcmf_if *ifp, char *name, const void *data,
Hante Meuleman81f5dcb2012-10-22 10:36:14 -070087 u32 len);
Arend van Sprielac24be62012-10-22 10:36:23 -070088s32 brcmf_fil_iovar_data_get(struct brcmf_if *ifp, char *name, void *data,
Hante Meuleman81f5dcb2012-10-22 10:36:14 -070089 u32 len);
Arend van Sprielac24be62012-10-22 10:36:23 -070090s32 brcmf_fil_iovar_int_set(struct brcmf_if *ifp, char *name, u32 data);
91s32 brcmf_fil_iovar_int_get(struct brcmf_if *ifp, char *name, u32 *data);
Hante Meuleman81f5dcb2012-10-22 10:36:14 -070092
Arend van Sprielac24be62012-10-22 10:36:23 -070093s32 brcmf_fil_bsscfg_data_set(struct brcmf_if *ifp, char *name, void *data,
Arend van Sprielec5a07d2012-10-22 10:36:21 -070094 u32 len);
Arend van Sprielac24be62012-10-22 10:36:23 -070095s32 brcmf_fil_bsscfg_data_get(struct brcmf_if *ifp, char *name, void *data,
Arend van Sprielec5a07d2012-10-22 10:36:21 -070096 u32 len);
Arend van Sprielac24be62012-10-22 10:36:23 -070097s32 brcmf_fil_bsscfg_int_set(struct brcmf_if *ifp, char *name, u32 data);
98s32 brcmf_fil_bsscfg_int_get(struct brcmf_if *ifp, char *name, u32 *data);
Hante Meuleman81f5dcb2012-10-22 10:36:14 -070099
100#endif /* _fwil_h_ */