168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik/*
22268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * Copyright (c) 2016-2017, The Linux Foundation. All rights reserved.
368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * Redistribution and use in source and binary forms, with or without
568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * modification, are permitted provided that the following conditions are
668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * met:
768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *     * Redistributions of source code must retain the above copyright
868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       notice, this list of conditions and the following disclaimer.
968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *     * Redistributions in binary form must reproduce the above
1068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       copyright notice, this list of conditions and the following
1168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       disclaimer in the documentation and/or other materials provided
1268f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       with the distribution.
1368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *     * Neither the name of The Linux Foundation nor the names of its
1468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       contributors may be used to endorse or promote products derived
1568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik *       from this software without specific prior written permission.
1668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
1768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * THIS SOFTWARE IS PROVIDED "AS IS" AND ANY EXPRESS OR IMPLIED
1868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
1968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NON-INFRINGEMENT
2068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * ARE DISCLAIMED.  IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS
2168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
2268f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
2368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
2468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
2568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE
2668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN
2768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik * IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik */
2968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
3068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#ifndef __NAN_CERT_H__
3168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#define __NAN_CERT_H__
3268f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
3368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
3468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#ifdef __cplusplus
3568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaikextern "C"
3668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik{
3768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#endif /* __cplusplus */
3868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
392268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki#define NAN_CERT_VERSION                        2
402268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki#define NAN_MAX_DEBUG_MESSAGE_DATA_LEN          100
412268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
4268f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaiktypedef struct {
4368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /* NAN master rank being advertised by DE */
4468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u64 master_rank;
4568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /* NAN master preference being advertised by DE */
4668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u8 master_pref;
4768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /* random value being advertised by DE */
4868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u8 random_factor;
4968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /* hop_count from anchor master */
5068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u8 hop_count;
5168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u32 beacon_transmit_time;
5268f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /* NDP channel Frequency */
5368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    u32 ndp_channel_freq;
5468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik} NanStaParameter;
5568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
562268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/* NAN Data Path Supported Band */
572268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
582268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_SUPPORTED_BAND_2G = 1,
592268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_SUPPORTED_BAND_5G = 2,
602268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_SUPPORT_DUAL_BAND = 3
612268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NdpSupportedBand;
622268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
632268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/* NAN Responder mode policy */
642268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
652268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_RESPONDER_MODE_AUTO    = 0,
662268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_RESPONDER_MODE_ACCEPT  = 1,
672268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_RESPONDER_MODE_REJECT  = 2,
682268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_RESPONDER_MODE_COUNTER = 3,
692268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_RESPONDER_MODE_COUNTER_NO_CHANNEL_CHANGE = 4
702268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NanDataResponderMode;
712268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
722268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/* NAN Data Path M4 response type */
732268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
742268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_M4_RESPONSE_ACCEPT = 1,
752268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_M4_RESPONSE_REJECT = 2,
762268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_DATA_PATH_M4_RESPONSE_BADMIC = 3
772268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NdpM4ResponseType;
782268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
792268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/* NAN NMF Security Clear type */
802268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
812268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_NMF_CLEAR_DISABLE = 0,
822268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_NMF_CLEAR_ENABLE = 1
832268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NanNmfClearConfig;
842268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
852268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/* NAN Schedule type */
862268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
872268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_SCHED_VALID = 0,
882268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_SCHED_INVALID_BAD_FA = 1,
892268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_SCHED_INVALID_BAD_NDC = 2,
902268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_SCHED_INVALID_BAD_IMMU = 3
912268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NanSchedType;
922268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
932268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki /*
942268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki  * Definitions of debug subcommand type for the
952268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki  * generic debug command.
962268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki  */
972268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef enum {
982268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_AVAILABILITY = 1,
992268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NDP_INCLUDE_IMMUTABLE = 2,
1002268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NDP_AVOID_CHANNEL = 3,
1012268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_SUPPORTED_BANDS = 4,
1022268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_AUTO_RESPONDER_MODE = 5,
1032268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_M4_RESPONSE_TYPE = 6,
1042268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_SCHED_TYPE = 7,
1052268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_NMF_CLEAR_CONFIG = 8,
1062268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_ULW_NOTIFY = 9,
1072268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_NDL_NEGOTIATE = 10,
1082268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_NDL_NOTIFY = 11,
1092268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    NAN_TEST_MODE_CMD_NAN_AVAILABILITY_MAP_ORDER = 12
1102268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NanDebugModeCmd;
1112268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki
1122268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki/*
1132268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * This debug command carries any one command type
1142268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * followed by corresponding command data content
1152268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * as indicated below.
1162268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1172268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_AVAILABILITY
1182268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: NAN Avaiability attribute blob
1192268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1202268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NDP_INCLUDE_IMMUTABLE
1212268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 value (0 - Ignore 1 - Include immuatable,
1222268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                     2 - Don't include immutable)
1232268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1242268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NDP_AVOID_CHANNEL
1252268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 channel_frequency; (0 - Ignore)
1262268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1272268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_SUPPORTED_BANDS
1282268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 supported_bands; (0 . Ignore, 1 . 2g,
1292268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                2 . 5g, 3 . 2g & 5g)
1302268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1312268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_AUTO_RESPONDER_MODE
1322268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 auto_resp_mode; (0 . Auto, 1 . Accept,
1332268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                               2 . Reject, 3 . Counter)
1342268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1352268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_M4_RESPONSE_TYPE
1362268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 m4_response_type; (0.Ignore, 1.Accept,
1372268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                 2.Reject, 3.BadMic)
1382268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1392268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_SCHED_TYPE
1402268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 invalid_nan_schedule; (0. Valid sched,
1412268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                     1.Invalid Sched bad FA,
1422268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                     2.Invalid schedbad NDC,
1432268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                     3.Invalid sched bad Immutable)
1442268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1452268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_NMF_CLEAR_CONFIG
1462268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 nmf_security_config_val;(0:NAN_NMF_CLEAR_DISABLE,
1472268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *                                       1:NAN_NMF_CLEAR_ENABLE)
1482268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1492268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_ULW_NOTIFY
1502268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 channel_availability;(0/1)
1512268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1522268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_NDL_NEGOTIATE
1532268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: responder_nmi_mac (Responder NMI Mac Address)
1542268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1552268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_SCHED_UPDATE_NDL_NOTIFY
1562268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: NONE
1572268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1582268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * command: NAN_TEST_MODE_CMD_NAN_AVAILABILITY_MAP_ORDER
1592268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki * content: u32 map_order_val; (0/1)
1602268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki *
1612268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki */
1622268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkitypedef struct PACKED {
16368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /*
1642268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki     * To indicate the debug command type.
1652268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki     */
1662268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    u32 cmd;
16768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik    /*
1682268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki     * To hold the data for the above command
1692268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki     * type.
1702268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki     */
1712268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki    u8 debug_cmd_data[NAN_MAX_DEBUG_MESSAGE_DATA_LEN];
1722268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki} NanDebugParams;
17368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
17468f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik/*
17568f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik   Function to get the sta_parameter expected by Sigma
17668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik   as per CAPI spec.
17768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik*/
17868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaikwifi_error nan_get_sta_parameter(transaction_id id,
17968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik                                 wifi_interface_handle iface,
18068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik                                 NanStaParameter* msg);
18168f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
1822268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunkiwifi_error nan_debug_command_config(transaction_id id,
18368f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik                                   wifi_interface_handle iface,
1842268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki                                   NanDebugParams msg,
1852268d748b893f82330f1be50b09d699cb8e7f9d3Rakesh Sunki                                   int debug_msg_length);
18668f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#ifdef __cplusplus
18768f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik}
18868f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#endif /* __cplusplus */
18968f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik#endif /* __NAN_CERT_H__ */
19068f9bfdb788eceecc52e8f2edb330b72fc6a3d41Subhani Shaik
191