blob: 8652ca75160f31e832cefaab60544d84bf6429e3 [file] [log] [blame]
/*
* 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 */