diff --git a/fw/wlan_nan_msg_common_v2.h b/fw/wlan_nan_msg_common_v2.h new file mode 100644 index 000000000000..8652ca75160f --- /dev/null +++ b/fw/wlan_nan_msg_common_v2.h @@ -0,0 +1,88 @@ +/* + * Copyright (c) 2017-2018, The Linux Foundation. All rights reserved. + * + * Permission to use, copy, modify, and/or distribute this software for any + * purpose with or without fee is hereby granted, provided that the above + * copyright notice and this permission notice appear in all copies. + * + * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES + * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF + * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR + * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES + * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN + * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF + * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. + */ + +#ifndef _WLAN_NAN_MSG_COMMON_V2_H_ +#define _WLAN_NAN_MSG_COMMON_V2_H_ +/* + * WLAN NAN CONSTANTS + */ +#ifndef PACKED_PRE +#define PACKED_PRE PREPACK +#endif + +#ifndef PACKED_POST +#define PACKED_POST POSTPACK +#endif + +/* ALL THE INTERFACE DEFINITIONS ARE ASSUMED TO BE IN LITTLE ENDIAN ORDER. + * BIG ENDIAN HOST IS RESPONSIBLE TO SEND/INTERPRET MESSAGES IN LITTLE + * ENDIAN FORMAT ONLY + */ + +/* NAN message IDs */ +typedef enum { + NAN_MSG_ID_ERROR_RSP = 0, + NAN_MSG_ID_CONFIGURATION_REQ = 1, + NAN_MSG_ID_CONFIGURATION_RSP = 2, + NAN_MSG_ID_PUBLISH_SERVICE_REQ = 3, + NAN_MSG_ID_PUBLISH_SERVICE_RSP = 4, + NAN_MSG_ID_PUBLISH_SERVICE_CANCEL_REQ = 5, + NAN_MSG_ID_PUBLISH_SERVICE_CANCEL_RSP = 6, + NAN_MSG_ID_PUBLISH_REPLIED_IND = 7, + NAN_MSG_ID_PUBLISH_TERMINATED_IND = 8, + NAN_MSG_ID_SUBSCRIBE_SERVICE_REQ = 9, + NAN_MSG_ID_SUBSCRIBE_SERVICE_RSP = 10, + NAN_MSG_ID_SUBSCRIBE_SERVICE_CANCEL_REQ = 11, + NAN_MSG_ID_SUBSCRIBE_SERVICE_CANCEL_RSP = 12, + NAN_MSG_ID_MATCH_IND = 13, + NAN_MSG_ID_UNMATCH_IND = 14, + NAN_MSG_ID_SUBSCRIBE_TERMINATED_IND = 15, + NAN_MSG_ID_DE_EVENT_IND = 16, + NAN_MSG_ID_TRANSMIT_FOLLOWUP_REQ = 17, + NAN_MSG_ID_TRANSMIT_FOLLOWUP_RSP = 18, + NAN_MSG_ID_FOLLOWUP_IND = 19, + NAN_MSG_ID_STATS_REQ = 20, + NAN_MSG_ID_STATS_RSP = 21, + NAN_MSG_ID_ENABLE_REQ = 22, + NAN_MSG_ID_ENABLE_RSP = 23, + NAN_MSG_ID_DISABLE_REQ = 24, + NAN_MSG_ID_DISABLE_RSP = 25, + NAN_MSG_ID_DISABLE_IND = 26, + NAN_MSG_ID_TCA_REQ = 27, + NAN_MSG_ID_TCA_RSP = 28, + NAN_MSG_ID_TCA_IND = 29, + NAN_MSG_ID_BEACON_SDF_REQ = 30, + NAN_MSG_ID_BEACON_SDF_RSP = 31, + NAN_MSG_ID_BEACON_SDF_IND = 32, + NAN_MSG_ID_CAPABILITIES_REQ = 33, + NAN_MSG_ID_CAPABILITIES_RSP = 34, + NAN_MSG_ID_SELF_TRANSMIT_FOLLOWUP_IND = 35, + NAN_MSG_ID_RANGING_REQUEST_IND = 36, + NAN_MSG_ID_RANGING_RESULT_IND = 37, + /* Add regular/non-test mode messages here */ + NAN_MSG_ID_TESTMODE_REQ = 1025, +} nan_msg_id_t; + +/* 8-byte control message header used by NAN */ +typedef PACKED_PRE struct PACKED_POST { + A_UINT16 msg_version:4; + A_UINT16 msg_id:12; + A_UINT16 msg_len; + A_UINT16 handle; + A_UINT16 transaction_id; +} nan_msg_header_t, *nan_msg_header_tp; + +#endif /* WLAN_NAN_MSG_COMMON_V2_H */