| /* |
| * 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 */ |