wmi.h (27eb2c4b3d3e13f376a359e293c212a2e9407af5) | wmi.h (6c2faf09394ceaef4efed1e44721830579f16115) |
---|---|
1/* 2 * Copyright (c) 2012 Qualcomm Atheros, Inc. 3 * Copyright (c) 2006-2012 Wilocity . 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 14 unchanged lines hidden (view full) --- 23 * Commands are messages from the host to the WM. 24 * Events are messages from the WM to the host. 25 */ 26 27#ifndef __WILOCITY_WMI_H__ 28#define __WILOCITY_WMI_H__ 29 30/* General */ | 1/* 2 * Copyright (c) 2012 Qualcomm Atheros, Inc. 3 * Copyright (c) 2006-2012 Wilocity . 4 * 5 * Permission to use, copy, modify, and/or distribute this software for any 6 * purpose with or without fee is hereby granted, provided that the above 7 * copyright notice and this permission notice appear in all copies. 8 * --- 14 unchanged lines hidden (view full) --- 23 * Commands are messages from the host to the WM. 24 * Events are messages from the WM to the host. 25 */ 26 27#ifndef __WILOCITY_WMI_H__ 28#define __WILOCITY_WMI_H__ 29 30/* General */ |
31 | 31#define WILOCITY_MAX_ASSOC_STA (8) |
32#define WMI_MAC_LEN (6) 33#define WMI_PROX_RANGE_NUM (3) 34 35/* List of Commands */ 36enum wmi_command_id { 37 WMI_CONNECT_CMDID = 0x0001, 38 WMI_DISCONNECT_CMDID = 0x0003, 39 WMI_DISCONNECT_STA_CMDID = 0x0004, --- 174 unchanged lines hidden (view full) --- 214/* 215 * WMI_DISCONNECT_STA_CMDID 216 */ 217struct wmi_disconnect_sta_cmd { 218 u8 dst_mac[WMI_MAC_LEN]; 219 __le16 disconnect_reason; 220} __packed; 221 | 32#define WMI_MAC_LEN (6) 33#define WMI_PROX_RANGE_NUM (3) 34 35/* List of Commands */ 36enum wmi_command_id { 37 WMI_CONNECT_CMDID = 0x0001, 38 WMI_DISCONNECT_CMDID = 0x0003, 39 WMI_DISCONNECT_STA_CMDID = 0x0004, --- 174 unchanged lines hidden (view full) --- 214/* 215 * WMI_DISCONNECT_STA_CMDID 216 */ 217struct wmi_disconnect_sta_cmd { 218 u8 dst_mac[WMI_MAC_LEN]; 219 __le16 disconnect_reason; 220} __packed; 221 |
222/* 223 * WMI_RECONNECT_CMDID 224 */ 225struct wmi_reconnect_cmd { 226 u8 channel; /* hint */ 227 u8 reserved; 228 u8 bssid[WMI_MAC_LEN]; /* mandatory if set */ 229} __packed; | |
230 | 222 |
231 | |
232/* 233 * WMI_SET_PMK_CMDID 234 */ 235 236#define WMI_MIN_KEY_INDEX (0) 237#define WMI_MAX_KEY_INDEX (3) 238#define WMI_MAX_KEY_LEN (32) 239#define WMI_PASSPHRASE_LEN (64) --- 51 unchanged lines hidden (view full) --- 291 * Returned events: 292 * - WMI_RX_MGMT_PACKET_EVENTID - for every probe resp. 293 * - WMI_SCAN_COMPLETE_EVENTID 294 */ 295enum wmi_scan_type { 296 WMI_LONG_SCAN = 0, 297 WMI_SHORT_SCAN = 1, 298 WMI_PBC_SCAN = 2, | 223/* 224 * WMI_SET_PMK_CMDID 225 */ 226 227#define WMI_MIN_KEY_INDEX (0) 228#define WMI_MAX_KEY_INDEX (3) 229#define WMI_MAX_KEY_LEN (32) 230#define WMI_PASSPHRASE_LEN (64) --- 51 unchanged lines hidden (view full) --- 282 * Returned events: 283 * - WMI_RX_MGMT_PACKET_EVENTID - for every probe resp. 284 * - WMI_SCAN_COMPLETE_EVENTID 285 */ 286enum wmi_scan_type { 287 WMI_LONG_SCAN = 0, 288 WMI_SHORT_SCAN = 1, 289 WMI_PBC_SCAN = 2, |
290 WMI_ACTIVE_SCAN = 3, 291 WMI_DIRECT_SCAN = 4, |
|
299}; 300 301struct wmi_start_scan_cmd { | 292}; 293 294struct wmi_start_scan_cmd { |
302 u8 reserved[8]; 303 | 295 u8 direct_scan_mac_addr[6]; 296 u8 reserved[2]; |
304 __le32 home_dwell_time; /* Max duration in the home channel(ms) */ 305 __le32 force_scan_interval; /* Time interval between scans (ms)*/ 306 u8 scan_type; /* wmi_scan_type */ 307 u8 num_channels; /* how many channels follow */ 308 struct { 309 u8 channel; 310 u8 reserved; 311 } channel_list[0]; /* channels ID's */ --- 15 unchanged lines hidden (view full) --- 327 328struct wmi_probed_ssid_cmd { 329 u8 entry_index; /* 0 to MAX_PROBED_SSID_INDEX */ 330 u8 flag; /* enum wmi_ssid_flag */ 331 u8 ssid_len; 332 u8 ssid[WMI_MAX_SSID_LEN]; 333} __packed; 334 | 297 __le32 home_dwell_time; /* Max duration in the home channel(ms) */ 298 __le32 force_scan_interval; /* Time interval between scans (ms)*/ 299 u8 scan_type; /* wmi_scan_type */ 300 u8 num_channels; /* how many channels follow */ 301 struct { 302 u8 channel; 303 u8 reserved; 304 } channel_list[0]; /* channels ID's */ --- 15 unchanged lines hidden (view full) --- 320 321struct wmi_probed_ssid_cmd { 322 u8 entry_index; /* 0 to MAX_PROBED_SSID_INDEX */ 323 u8 flag; /* enum wmi_ssid_flag */ 324 u8 ssid_len; 325 u8 ssid[WMI_MAX_SSID_LEN]; 326} __packed; 327 |
328 |
|
335/* 336 * WMI_SET_APPIE_CMDID 337 * Add Application specified IE to a management frame 338 */ 339#define WMI_MAX_IE_LEN (1024) 340 341/* 342 * Frame Types --- 79 unchanged lines hidden (view full) --- 422/* 423 * WMI_BCON_CTRL_CMDID 424 */ 425struct wmi_bcon_ctrl_cmd { 426 __le16 bcon_interval; 427 __le16 frag_num; 428 __le64 ss_mask; 429 u8 network_type; | 329/* 330 * WMI_SET_APPIE_CMDID 331 * Add Application specified IE to a management frame 332 */ 333#define WMI_MAX_IE_LEN (1024) 334 335/* 336 * Frame Types --- 79 unchanged lines hidden (view full) --- 416/* 417 * WMI_BCON_CTRL_CMDID 418 */ 419struct wmi_bcon_ctrl_cmd { 420 __le16 bcon_interval; 421 __le16 frag_num; 422 __le64 ss_mask; 423 u8 network_type; |
430 u8 reserved; | 424 u8 pcp_max_assoc_sta; |
431 u8 disable_sec_offload; 432 u8 disable_sec; 433} __packed; 434 435 436/******* P2P ***********/ 437 438/* --- 6 unchanged lines hidden (view full) --- 445 WMI_PORT_P2P_DEV = 3, 446 WMI_PORT_P2P_CLIENT = 4, 447 WMI_PORT_P2P_GO = 5, 448}; 449 450struct wmi_port_allocate_cmd { 451 u8 mac[WMI_MAC_LEN]; 452 u8 port_role; | 425 u8 disable_sec_offload; 426 u8 disable_sec; 427} __packed; 428 429 430/******* P2P ***********/ 431 432/* --- 6 unchanged lines hidden (view full) --- 439 WMI_PORT_P2P_DEV = 3, 440 WMI_PORT_P2P_CLIENT = 4, 441 WMI_PORT_P2P_GO = 5, 442}; 443 444struct wmi_port_allocate_cmd { 445 u8 mac[WMI_MAC_LEN]; 446 u8 port_role; |
453 u8 midid; | 447 u8 mid; |
454} __packed; 455 456/* 457 * WMI_PORT_DELETE_CMDID 458 */ 459struct wmi_delete_port_cmd { 460 u8 mid; 461 u8 reserved[3]; 462} __packed; 463 464/* 465 * WMI_P2P_CFG_CMDID 466 */ 467enum wmi_discovery_mode { 468 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0, 469 WMI_DISCOVERY_MODE_OFFLOAD = 1, | 448} __packed; 449 450/* 451 * WMI_PORT_DELETE_CMDID 452 */ 453struct wmi_delete_port_cmd { 454 u8 mid; 455 u8 reserved[3]; 456} __packed; 457 458/* 459 * WMI_P2P_CFG_CMDID 460 */ 461enum wmi_discovery_mode { 462 WMI_DISCOVERY_MODE_NON_OFFLOAD = 0, 463 WMI_DISCOVERY_MODE_OFFLOAD = 1, |
464 WMI_DISCOVERY_MODE_PEER2PEER = 2, |
|
470}; 471 472struct wmi_p2p_cfg_cmd { 473 u8 discovery_mode; /* wmi_discovery_mode */ 474 u8 channel; 475 __le16 bcon_interval; /* base to listen/search duration calculation */ 476} __packed; 477 --- 10 unchanged lines hidden (view full) --- 488 u8 reserved[3]; 489} __packed; 490 491/* 492 * WMI_PCP_START_CMDID 493 */ 494struct wmi_pcp_start_cmd { 495 __le16 bcon_interval; | 465}; 466 467struct wmi_p2p_cfg_cmd { 468 u8 discovery_mode; /* wmi_discovery_mode */ 469 u8 channel; 470 __le16 bcon_interval; /* base to listen/search duration calculation */ 471} __packed; 472 --- 10 unchanged lines hidden (view full) --- 483 u8 reserved[3]; 484} __packed; 485 486/* 487 * WMI_PCP_START_CMDID 488 */ 489struct wmi_pcp_start_cmd { 490 __le16 bcon_interval; |
496 u8 reserved0[10]; | 491 u8 pcp_max_assoc_sta; 492 u8 reserved0[9]; |
497 u8 network_type; 498 u8 channel; 499 u8 disable_sec_offload; 500 u8 disable_sec; 501} __packed; 502 503/* 504 * WMI_SW_TX_REQ_CMDID --- 347 unchanged lines hidden (view full) --- 852 853 WMI_BEAFORMING_MGMT_DONE_EVENTID = 0x1836, 854 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837, 855 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839, 856 WMI_RS_MGMT_DONE_EVENTID = 0x1852, 857 WMI_RF_MGMT_STATUS_EVENTID = 0x1853, 858 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838, 859 WMI_RX_MGMT_PACKET_EVENTID = 0x1840, | 493 u8 network_type; 494 u8 channel; 495 u8 disable_sec_offload; 496 u8 disable_sec; 497} __packed; 498 499/* 500 * WMI_SW_TX_REQ_CMDID --- 347 unchanged lines hidden (view full) --- 848 849 WMI_BEAFORMING_MGMT_DONE_EVENTID = 0x1836, 850 WMI_BF_TXSS_MGMT_DONE_EVENTID = 0x1837, 851 WMI_BF_RXSS_MGMT_DONE_EVENTID = 0x1839, 852 WMI_RS_MGMT_DONE_EVENTID = 0x1852, 853 WMI_RF_MGMT_STATUS_EVENTID = 0x1853, 854 WMI_BF_SM_MGMT_DONE_EVENTID = 0x1838, 855 WMI_RX_MGMT_PACKET_EVENTID = 0x1840, |
856 WMI_TX_MGMT_PACKET_EVENTID = 0x1841, |
|
860 861 /* Performance monitoring events */ 862 WMI_DATA_PORT_OPEN_EVENTID = 0x1860, 863 WMI_WBE_LINKDOWN_EVENTID = 0x1861, 864 865 WMI_BF_CTRL_DONE_EVENTID = 0x1862, 866 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863, 867 WMI_GET_STATUS_DONE_EVENTID = 0x1864, --- 167 unchanged lines hidden (view full) --- 1035 WMI_DIS_REASON_PROFILE_MISMATCH = 12, 1036 WMI_DIS_REASON_CONNECTION_EVICTED = 13, 1037 WMI_DIS_REASON_IBSS_MERGE = 14, 1038}; 1039 1040struct wmi_disconnect_event { 1041 __le16 protocol_reason_status; /* reason code, see 802.11 spec. */ 1042 u8 bssid[WMI_MAC_LEN]; /* set if known */ | 857 858 /* Performance monitoring events */ 859 WMI_DATA_PORT_OPEN_EVENTID = 0x1860, 860 WMI_WBE_LINKDOWN_EVENTID = 0x1861, 861 862 WMI_BF_CTRL_DONE_EVENTID = 0x1862, 863 WMI_NOTIFY_REQ_DONE_EVENTID = 0x1863, 864 WMI_GET_STATUS_DONE_EVENTID = 0x1864, --- 167 unchanged lines hidden (view full) --- 1032 WMI_DIS_REASON_PROFILE_MISMATCH = 12, 1033 WMI_DIS_REASON_CONNECTION_EVICTED = 13, 1034 WMI_DIS_REASON_IBSS_MERGE = 14, 1035}; 1036 1037struct wmi_disconnect_event { 1038 __le16 protocol_reason_status; /* reason code, see 802.11 spec. */ 1039 u8 bssid[WMI_MAC_LEN]; /* set if known */ |
1043 u8 disconnect_reason; /* see wmi_disconnect_reason_e */ 1044 u8 assoc_resp_len; 1045 u8 assoc_info[0]; | 1040 u8 disconnect_reason; /* see wmi_disconnect_reason */ 1041 u8 assoc_resp_len; /* not in use */ 1042 u8 assoc_info[0]; /* not in use */ |
1046} __packed; 1047 1048/* 1049 * WMI_SCAN_COMPLETE_EVENTID 1050 */ | 1043} __packed; 1044 1045/* 1046 * WMI_SCAN_COMPLETE_EVENTID 1047 */ |
1048enum scan_status { 1049 WMI_SCAN_SUCCESS = 0, 1050 WMI_SCAN_FAILED = 1, 1051 WMI_SCAN_ABORTED = 2, 1052 WMI_SCAN_REJECTED = 3, 1053}; 1054 |
|
1051struct wmi_scan_complete_event { | 1055struct wmi_scan_complete_event { |
1052 __le32 status; | 1056 __le32 status; /* scan_status */ |
1053} __packed; 1054 1055/* 1056 * WMI_BA_STATUS_EVENTID 1057 */ 1058enum wmi_vring_ba_status { 1059 WMI_BA_AGREED = 0, 1060 WMI_BA_NON_AGREED = 1, --- 190 unchanged lines hidden (view full) --- 1251 __le16 status; 1252 __le32 len; 1253 u8 qid; 1254 u8 mid; 1255 u8 cid; 1256 u8 channel; /* From Radio MNGR */ 1257} __packed; 1258 | 1057} __packed; 1058 1059/* 1060 * WMI_BA_STATUS_EVENTID 1061 */ 1062enum wmi_vring_ba_status { 1063 WMI_BA_AGREED = 0, 1064 WMI_BA_NON_AGREED = 1, --- 190 unchanged lines hidden (view full) --- 1255 __le16 status; 1256 __le32 len; 1257 u8 qid; 1258 u8 mid; 1259 u8 cid; 1260 u8 channel; /* From Radio MNGR */ 1261} __packed; 1262 |
1263 1264/* 1265 * WMI_TX_MGMT_PACKET_EVENTID 1266 */ 1267struct wmi_tx_mgmt_packet_event { 1268 u8 payload[0]; 1269} __packed; 1270 |
|
1259struct wmi_rx_mgmt_packet_event { 1260 struct wmi_rx_mgmt_info info; 1261 u8 payload[0]; 1262} __packed; 1263 1264/* 1265 * WMI_ECHO_RSP_EVENTID 1266 */ --- 15 unchanged lines hidden --- | 1271struct wmi_rx_mgmt_packet_event { 1272 struct wmi_rx_mgmt_info info; 1273 u8 payload[0]; 1274} __packed; 1275 1276/* 1277 * WMI_ECHO_RSP_EVENTID 1278 */ --- 15 unchanged lines hidden --- |