Browse Source

fw-api: Add NAN header file for message data structures

Add NAN message data structure header file for Host driver processing of
NAN vendor commands.

Change-Id: I4370b5535e3d983f044499083575234bde2efbd5
CRs-fixed: 2329483
Manikandan Mohan 6 years ago
parent
commit
29db9fbb2d
1 changed files with 88 additions and 0 deletions
  1. 88 0
      fw/wlan_nan_msg_common_v2.h

+ 88 - 0
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 */