PageRenderTime 55ms CodeModel.GetById 28ms RepoModel.GetById 1ms app.codeStats 0ms

/drivers/net/wireless/bcmdhd/src/include/proto/bcmevent.h

https://bitbucket.org/abdulhadif/android_kernel_samsung_espresso10
C Header | 311 lines | 238 code | 45 blank | 28 comment | 0 complexity | 316fda7731976f645c08c7e278483292 MD5 | raw file
  1. /*
  2. * Broadcom Event protocol definitions
  3. *
  4. * Copyright (C) 1999-2011, Broadcom Corporation
  5. *
  6. * Unless you and Broadcom execute a separate written software license
  7. * agreement governing use of this software, this software is licensed to you
  8. * under the terms of the GNU General Public License version 2 (the "GPL"),
  9. * available at http://www.broadcom.com/licenses/GPLv2.php, with the
  10. * following added to such license:
  11. *
  12. * As a special exception, the copyright holders of this software give you
  13. * permission to link this software with independent modules, and to copy and
  14. * distribute the resulting executable under terms of your choice, provided that
  15. * you also meet, for each linked independent module, the terms and conditions of
  16. * the license of that module. An independent module is a module which is not
  17. * derived from this software. The special exception does not apply to any
  18. * modifications of the software.
  19. *
  20. * Notwithstanding the above, under no circumstances may you combine this
  21. * software in any way with any other Broadcom software provided under a license
  22. * other than the GPL, without Broadcom's express prior written consent.
  23. *
  24. * Dependencies: proto/bcmeth.h
  25. *
  26. * $Id: bcmevent.h 294352 2011-11-06 19:23:00Z $
  27. *
  28. */
  29. #ifndef _BCMEVENT_H_
  30. #define _BCMEVENT_H_
  31. #ifndef _TYPEDEFS_H_
  32. #include <typedefs.h>
  33. #endif
  34. #include <packed_section_start.h>
  35. #define BCM_EVENT_MSG_VERSION 2
  36. #define BCM_MSG_IFNAME_MAX 16
  37. #define WLC_EVENT_MSG_LINK 0x01
  38. #define WLC_EVENT_MSG_FLUSHTXQ 0x02
  39. #define WLC_EVENT_MSG_GROUP 0x04
  40. #define WLC_EVENT_MSG_UNKBSS 0x08
  41. #define WLC_EVENT_MSG_UNKIF 0x10
  42. typedef BWL_PRE_PACKED_STRUCT struct
  43. {
  44. uint16 version;
  45. uint16 flags;
  46. uint32 event_type;
  47. uint32 status;
  48. uint32 reason;
  49. uint32 auth_type;
  50. uint32 datalen;
  51. struct ether_addr addr;
  52. char ifname[BCM_MSG_IFNAME_MAX];
  53. } BWL_POST_PACKED_STRUCT wl_event_msg_v1_t;
  54. typedef BWL_PRE_PACKED_STRUCT struct
  55. {
  56. uint16 version;
  57. uint16 flags;
  58. uint32 event_type;
  59. uint32 status;
  60. uint32 reason;
  61. uint32 auth_type;
  62. uint32 datalen;
  63. struct ether_addr addr;
  64. char ifname[BCM_MSG_IFNAME_MAX];
  65. uint8 ifidx;
  66. uint8 bsscfgidx;
  67. } BWL_POST_PACKED_STRUCT wl_event_msg_t;
  68. typedef BWL_PRE_PACKED_STRUCT struct bcm_event {
  69. struct ether_header eth;
  70. bcmeth_hdr_t bcm_hdr;
  71. wl_event_msg_t event;
  72. } BWL_POST_PACKED_STRUCT bcm_event_t;
  73. #define BCM_MSG_LEN (sizeof(bcm_event_t) - sizeof(bcmeth_hdr_t) - sizeof(struct ether_header))
  74. #define WLC_E_SET_SSID 0
  75. #define WLC_E_JOIN 1
  76. #define WLC_E_START 2
  77. #define WLC_E_AUTH 3
  78. #define WLC_E_AUTH_IND 4
  79. #define WLC_E_DEAUTH 5
  80. #define WLC_E_DEAUTH_IND 6
  81. #define WLC_E_ASSOC 7
  82. #define WLC_E_ASSOC_IND 8
  83. #define WLC_E_REASSOC 9
  84. #define WLC_E_REASSOC_IND 10
  85. #define WLC_E_DISASSOC 11
  86. #define WLC_E_DISASSOC_IND 12
  87. #define WLC_E_QUIET_START 13
  88. #define WLC_E_QUIET_END 14
  89. #define WLC_E_BEACON_RX 15
  90. #define WLC_E_LINK 16
  91. #define WLC_E_MIC_ERROR 17
  92. #define WLC_E_NDIS_LINK 18
  93. #define WLC_E_ROAM 19
  94. #define WLC_E_TXFAIL 20
  95. #define WLC_E_PMKID_CACHE 21
  96. #define WLC_E_RETROGRADE_TSF 22
  97. #define WLC_E_PRUNE 23
  98. #define WLC_E_AUTOAUTH 24
  99. #define WLC_E_EAPOL_MSG 25
  100. #define WLC_E_SCAN_COMPLETE 26
  101. #define WLC_E_ADDTS_IND 27
  102. #define WLC_E_DELTS_IND 28
  103. #define WLC_E_BCNSENT_IND 29
  104. #define WLC_E_BCNRX_MSG 30
  105. #define WLC_E_BCNLOST_MSG 31
  106. #define WLC_E_ROAM_PREP 32
  107. #define WLC_E_PFN_NET_FOUND 33
  108. #define WLC_E_PFN_NET_LOST 34
  109. #define WLC_E_RESET_COMPLETE 35
  110. #define WLC_E_JOIN_START 36
  111. #define WLC_E_ROAM_START 37
  112. #define WLC_E_ASSOC_START 38
  113. #define WLC_E_IBSS_ASSOC 39
  114. #define WLC_E_RADIO 40
  115. #define WLC_E_PSM_WATCHDOG 41
  116. #define WLC_E_PROBREQ_MSG 44
  117. #define WLC_E_SCAN_CONFIRM_IND 45
  118. #define WLC_E_PSK_SUP 46
  119. #define WLC_E_COUNTRY_CODE_CHANGED 47
  120. #define WLC_E_EXCEEDED_MEDIUM_TIME 48
  121. #define WLC_E_ICV_ERROR 49
  122. #define WLC_E_UNICAST_DECODE_ERROR 50
  123. #define WLC_E_MULTICAST_DECODE_ERROR 51
  124. #define WLC_E_TRACE 52
  125. #ifdef WLBTAMP
  126. #define WLC_E_BTA_HCI_EVENT 53
  127. #endif
  128. #define WLC_E_IF 54
  129. #define WLC_E_P2P_DISC_LISTEN_COMPLETE 55
  130. #define WLC_E_RSSI 56
  131. #define WLC_E_PFN_SCAN_COMPLETE 57
  132. #define WLC_E_EXTLOG_MSG 58
  133. #define WLC_E_ACTION_FRAME 59
  134. #define WLC_E_ACTION_FRAME_COMPLETE 60
  135. #define WLC_E_PRE_ASSOC_IND 61
  136. #define WLC_E_PRE_REASSOC_IND 62
  137. #define WLC_E_CHANNEL_ADOPTED 63
  138. #define WLC_E_AP_STARTED 64
  139. #define WLC_E_DFS_AP_STOP 65
  140. #define WLC_E_DFS_AP_RESUME 66
  141. #define WLC_E_WAI_STA_EVENT 67
  142. #define WLC_E_WAI_MSG 68
  143. #define WLC_E_ESCAN_RESULT 69
  144. #define WLC_E_ACTION_FRAME_OFF_CHAN_COMPLETE 70
  145. #define WLC_E_PROBRESP_MSG 71
  146. #define WLC_E_P2P_PROBREQ_MSG 72
  147. #define WLC_E_DCS_REQUEST 73
  148. #define WLC_E_FIFO_CREDIT_MAP 74
  149. #define WLC_E_ACTION_FRAME_RX 75
  150. #define WLC_E_WAKE_EVENT 76
  151. #define WLC_E_RM_COMPLETE 77
  152. #define WLC_E_HTSFSYNC 78
  153. #define WLC_E_OVERLAY_REQ 79
  154. #define WLC_E_CSA_COMPLETE_IND 80
  155. #define WLC_E_EXCESS_PM_WAKE_EVENT 81
  156. #define WLC_E_PFN_SCAN_NONE 82
  157. #define WLC_E_PFN_SCAN_ALLGONE 83
  158. #define WLC_E_GTK_PLUMBED 84
  159. #define WLC_E_ASSOC_IND_NDIS 85
  160. #define WLC_E_REASSOC_IND_NDIS 86
  161. #define WLC_E_ASSOC_REQ_IE 87
  162. #define WLC_E_ASSOC_RESP_IE 88
  163. #define WLC_E_ASSOC_RECREATED 89
  164. #define WLC_E_ACTION_FRAME_RX_NDIS 90
  165. #define WLC_E_AUTH_REQ 91
  166. #define WLC_E_LAST 92
  167. typedef struct {
  168. uint event;
  169. const char *name;
  170. } bcmevent_name_t;
  171. extern const bcmevent_name_t bcmevent_names[];
  172. extern const int bcmevent_names_size;
  173. #define WLC_E_STATUS_SUCCESS 0
  174. #define WLC_E_STATUS_FAIL 1
  175. #define WLC_E_STATUS_TIMEOUT 2
  176. #define WLC_E_STATUS_NO_NETWORKS 3
  177. #define WLC_E_STATUS_ABORT 4
  178. #define WLC_E_STATUS_NO_ACK 5
  179. #define WLC_E_STATUS_UNSOLICITED 6
  180. #define WLC_E_STATUS_ATTEMPT 7
  181. #define WLC_E_STATUS_PARTIAL 8
  182. #define WLC_E_STATUS_NEWSCAN 9
  183. #define WLC_E_STATUS_NEWASSOC 10
  184. #define WLC_E_STATUS_11HQUIET 11
  185. #define WLC_E_STATUS_SUPPRESS 12
  186. #define WLC_E_STATUS_NOCHANS 13
  187. #define WLC_E_STATUS_CS_ABORT 15
  188. #define WLC_E_STATUS_ERROR 16
  189. #define WLC_E_REASON_INITIAL_ASSOC 0
  190. #define WLC_E_REASON_LOW_RSSI 1
  191. #define WLC_E_REASON_DEAUTH 2
  192. #define WLC_E_REASON_DISASSOC 3
  193. #define WLC_E_REASON_BCNS_LOST 4
  194. #define WLC_E_REASON_MINTXRATE 9
  195. #define WLC_E_REASON_TXFAIL 10
  196. #define WLC_E_REASON_FAST_ROAM_FAILED 5
  197. #define WLC_E_REASON_DIRECTED_ROAM 6
  198. #define WLC_E_REASON_TSPEC_REJECTED 7
  199. #define WLC_E_REASON_BETTER_AP 8
  200. #define WLC_E_REASON_REQUESTED_ROAM 11
  201. #define WLC_E_PRUNE_ENCR_MISMATCH 1
  202. #define WLC_E_PRUNE_BCAST_BSSID 2
  203. #define WLC_E_PRUNE_MAC_DENY 3
  204. #define WLC_E_PRUNE_MAC_NA 4
  205. #define WLC_E_PRUNE_REG_PASSV 5
  206. #define WLC_E_PRUNE_SPCT_MGMT 6
  207. #define WLC_E_PRUNE_RADAR 7
  208. #define WLC_E_RSN_MISMATCH 8
  209. #define WLC_E_PRUNE_NO_COMMON_RATES 9
  210. #define WLC_E_PRUNE_BASIC_RATES 10
  211. #define WLC_E_PRUNE_CIPHER_NA 12
  212. #define WLC_E_PRUNE_KNOWN_STA 13
  213. #define WLC_E_PRUNE_WDS_PEER 15
  214. #define WLC_E_PRUNE_QBSS_LOAD 16
  215. #define WLC_E_PRUNE_HOME_AP 17
  216. #define WLC_E_SUP_OTHER 0
  217. #define WLC_E_SUP_DECRYPT_KEY_DATA 1
  218. #define WLC_E_SUP_BAD_UCAST_WEP128 2
  219. #define WLC_E_SUP_BAD_UCAST_WEP40 3
  220. #define WLC_E_SUP_UNSUP_KEY_LEN 4
  221. #define WLC_E_SUP_PW_KEY_CIPHER 5
  222. #define WLC_E_SUP_MSG3_TOO_MANY_IE 6
  223. #define WLC_E_SUP_MSG3_IE_MISMATCH 7
  224. #define WLC_E_SUP_NO_INSTALL_FLAG 8
  225. #define WLC_E_SUP_MSG3_NO_GTK 9
  226. #define WLC_E_SUP_GRP_KEY_CIPHER 10
  227. #define WLC_E_SUP_GRP_MSG1_NO_GTK 11
  228. #define WLC_E_SUP_GTK_DECRYPT_FAIL 12
  229. #define WLC_E_SUP_SEND_FAIL 13
  230. #define WLC_E_SUP_DEAUTH 14
  231. #define WLC_E_SUP_WPA_PSK_TMO 15
  232. typedef BWL_PRE_PACKED_STRUCT struct wl_event_rx_frame_data {
  233. uint16 version;
  234. uint16 channel;
  235. int32 rssi;
  236. uint32 mactime;
  237. uint32 rate;
  238. } BWL_POST_PACKED_STRUCT wl_event_rx_frame_data_t;
  239. #define BCM_RX_FRAME_DATA_VERSION 1
  240. typedef struct wl_event_data_if {
  241. uint8 ifidx;
  242. uint8 opcode;
  243. uint8 reserved;
  244. uint8 bssidx;
  245. uint8 role;
  246. } wl_event_data_if_t;
  247. #define WLC_E_IF_ADD 1
  248. #define WLC_E_IF_DEL 2
  249. #define WLC_E_IF_CHANGE 3
  250. #define WLC_E_IF_ROLE_STA 0
  251. #define WLC_E_IF_ROLE_AP 1
  252. #define WLC_E_IF_ROLE_WDS 2
  253. #define WLC_E_IF_ROLE_P2P_GO 3
  254. #define WLC_E_IF_ROLE_P2P_CLIENT 4
  255. #ifdef WLBTAMP
  256. #define WLC_E_IF_ROLE_BTA_CREATOR 5
  257. #define WLC_E_IF_ROLE_BTA_ACCEPTOR 6
  258. #endif
  259. #define WLC_E_LINK_BCN_LOSS 1
  260. #define WLC_E_LINK_DISASSOC 2
  261. #define WLC_E_LINK_ASSOC_REC 3
  262. #define WLC_E_LINK_BSSCFG_DIS 4
  263. #define WLC_E_OVL_DOWNLOAD 0
  264. #define WLC_E_OVL_UPDATE_IND 1
  265. #include <packed_section_end.h>
  266. #endif /* _BCMEVENT_H_ */