RDK Documentation (Open Sourced RDK Components)
Device_WiFi_X_RDKCENTRAL_COM_ClientRoaming.cpp
Go to the documentation of this file.
1 /*
2  * If not stated otherwise in this file or this component's Licenses.txt file the
3  * following copyright and licenses apply:
4  *
5  * Copyright 2018 RDK Management
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  * http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18 */
19 
20 /**
21  * @file Device_WiFi_X_RDKCENTRAL_COM_ClientRoaming.cpp
22  *
23  * @brief Device_WiFi_X_RDKCENTRAL_COM_ClientRoaming implementation
24  *
25  * This is the implementation of the WiFi API.
26  *
27  * @par Document
28  */
29 /** @addtogroup TR-069 WiFi Implementation
30  * This is the implementation of the Device Public API.
31  * @{
32  */
33 #ifdef USE_WIFI_PROFILE
34 /*****************************************************************************
35  * STANDARD INCLUDE FILES
36  *****************************************************************************/
38 
39 extern "C" {
40 #include "wifiSrvMgrIarmIf.h"
41  /* #include "c_only_header.h"*/
42 };
43 
44 #define POST_ASSN_MAX_TIME_FRAME 36000 /* Max time frame in seconds for roaming window - 10 Hours */
45 #define MAX_POST_ASSN_BACKOFF 3600 /* Max BackOff Factor for PostAssociation BackOff */
46 
47 static int get_Device_WiFi_Client_Roaming_Configs();
48 
49 GHashTable* hostIf_WiFi_Xrdk_ClientRoaming::ifHash = NULL;
50 time_t radioFirstExTime = 0;
51 bool isParamSet = false;
52 
53 hostIf_WiFi_Xrdk_ClientRoaming* hostIf_WiFi_Xrdk_ClientRoaming::getInstance(int dev_id)
54 {
55  hostIf_WiFi_Xrdk_ClientRoaming* pRet = NULL;
56 
57  if(ifHash)
58  {
59  pRet = (hostIf_WiFi_Xrdk_ClientRoaming *)g_hash_table_lookup(ifHash,(gpointer) dev_id);
60  }
61  else
62  {
63  ifHash = g_hash_table_new(NULL,NULL);
64  }
65 
66  if(!pRet)
67  {
68  try {
69  pRet = new hostIf_WiFi_Xrdk_ClientRoaming(dev_id);
70  } catch(int e)
71  {
72  RDK_LOG(RDK_LOG_WARN,LOG_TR69HOSTIF,"Caught exception, not able create hostIf_WiFi_Xrdk_ClientRoaming instance..\n");
73  }
74  g_hash_table_insert(ifHash, (gpointer)dev_id, pRet);
75  }
76  return pRet;
77 }
78 
79 
80 void hostIf_WiFi_Xrdk_ClientRoaming::closeInstance(hostIf_WiFi_Xrdk_ClientRoaming *pDev)
81 {
82  if(pDev)
83  {
84  g_hash_table_remove(ifHash, (gconstpointer)pDev->dev_id);
85  delete pDev;
86  }
87 }
88 
89 void hostIf_WiFi_Xrdk_ClientRoaming::closeAllInstances()
90 {
91  if(ifHash)
92  {
93  GList* tmp_list = g_hash_table_get_values (ifHash);
94 
95  while(tmp_list)
96  {
97  hostIf_WiFi_Xrdk_ClientRoaming* pDev = (hostIf_WiFi_Xrdk_ClientRoaming *)tmp_list->data;
98  tmp_list = tmp_list->next;
99  closeInstance(pDev);
100  }
101  }
102 }
103 
104 
105 hostIf_WiFi_Xrdk_ClientRoaming::hostIf_WiFi_Xrdk_ClientRoaming(int dev_id):
106  dev_id(dev_id),
107  roamingEnable(0),
108  preassnBestThreshold(-67),
109  preassnBestDelta(2),
110  postAssnLevelDeltaConnected(12),
111  postAssnLevelDeltaDisconnected(8),
112  postAssnSelfSteerThreshold(-75),
113  postAssnSelfSteerTimeframe(60),
114  //postAssnSelfSteerBeaconsMissedTime(10)
115  postAssnAPcontrolThresholdLevel(-75),
116  postAssnAPcontrolTimeframe(60),
117  postAssnBackOffTime(2),
118  postAssnSelfSteerOverrideEnable(false),
119  roaming80211kvrEnable(false),
120  roamingConfigEnable(false),
121  preassnProbeRetryCnt(0),
122  postAssnSelfSteerBeaconsMissedTime(0) //CID:103263 - UNINIT_CTOR
123 {
124 
125 }
126 
127 static int get_Device_WiFi_Client_Roaming_Configs()
128 {
129  WiFi_RoamingCtrl_t param;
130  IARM_Result_t retVal = IARM_RESULT_SUCCESS;
131  int dev_id = 0;
132  int retStatus = 0;
133 
134  memset(&param,0,sizeof(param));
135  hostIf_WiFi_Xrdk_ClientRoaming *pDev = hostIf_WiFi_Xrdk_ClientRoaming::getInstance(dev_id);
136  if(pDev)
137  {
138  retVal = IARM_Bus_Call(IARM_BUS_NM_SRV_MGR_NAME, IARM_BUS_WIFI_MGR_API_getRoamingCtrls, (void *)(&param), sizeof(param)); // IARM Call to netsrvmgr
139  if (IARM_RESULT_SUCCESS != retVal)
140  {
141  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] IARM BUS CALL failed with : %d.\n", __FILE__, __FUNCTION__, retVal);
142  retStatus = param.status;
143  }
144  pDev->roamingEnable = param.roamingEnable;
145  pDev->preassnBestThreshold = param.preassnBestThreshold;
146  pDev->preassnBestDelta = param.preassnBestDelta;
147  pDev->postAssnLevelDeltaConnected = param.postAssnLevelDeltaConnected;
148  pDev->postAssnLevelDeltaDisconnected = param.postAssnLevelDeltaDisconnected;
149  pDev->postAssnSelfSteerThreshold = param.postAssnSelfSteerThreshold;
150  pDev->postAssnSelfSteerTimeframe = param.postAssnSelfSteerTimeframe;
151  //pDev->postAssnSelfSteerBeaconsMissedTime = param.postAssnSelfSteerBeaconsMissedTime;
152  pDev->postAssnAPcontrolThresholdLevel = param.postAssnAPcontrolThresholdLevel;
153  pDev->postAssnAPcontrolTimeframe = param.postAssnAPcontrolTimeframe;
154  pDev->postAssnBackOffTime = param.postAssnBackOffTime;
155  pDev->postAssnSelfSteerOverrideEnable = param.selfSteerOverride;
156  pDev->roaming80211kvrEnable = param.roaming80211kvrEnable;
157  return OK;
158  }
159  else
160  {
161  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s]Error! Unable to connect to wifi instance\n", __FILE__, __FUNCTION__);
162  retStatus = param.status;
163  }
164  return retStatus;
165 }
166 
167 static int set_Device_WiFi_Client_Roaming_Configs(WiFi_RoamingCtrl_t *param)
168 {
169  if (param != NULL)
170  {
171  IARM_Result_t retVal = IARM_RESULT_SUCCESS;
172  int dev_id = 0;
173  hostIf_WiFi_Xrdk_ClientRoaming *pDev = hostIf_WiFi_Xrdk_ClientRoaming::getInstance(dev_id);
174  if(pDev)
175  {
176  retVal = IARM_Bus_Call(IARM_BUS_NM_SRV_MGR_NAME, IARM_BUS_WIFI_MGR_API_setRoamingCtrls, (void *)(param), sizeof(WiFi_RoamingCtrl_t)); // IARM Call to netsrvmgr
177  if (IARM_RESULT_SUCCESS != retVal)
178  {
179  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] IARM BUS CALL failed with : %d.\n", __FILE__, __FUNCTION__, retVal);
180  return NOK;
181  }
182  pDev->roamingEnable = param->roamingEnable;
183  pDev->preassnBestThreshold = param->preassnBestThreshold;
184  pDev->preassnBestDelta = param->preassnBestDelta;
185  pDev->postAssnLevelDeltaConnected = param->postAssnLevelDeltaConnected;
186  pDev->postAssnLevelDeltaDisconnected = param->postAssnLevelDeltaDisconnected;
187  pDev->postAssnSelfSteerThreshold = param->postAssnSelfSteerThreshold;
188  pDev->postAssnSelfSteerTimeframe = param->postAssnSelfSteerTimeframe;
189  //pDev->postAssnSelfSteerBeaconsMissedTime = param->postAssnSelfSteerBeaconsMissedTime;
190  pDev->postAssnAPcontrolThresholdLevel = param->postAssnAPcontrolThresholdLevel;
191  pDev->postAssnAPcontrolTimeframe = param->postAssnAPcontrolTimeframe;
192  pDev->postAssnSelfSteerOverrideEnable = param->selfSteerOverride;
193  pDev->roaming80211kvrEnable = param->roaming80211kvrEnable;
194  pDev->postAssnBackOffTime = param->postAssnBackOffTime;
195  RDK_LOG(RDK_LOG_DEBUG,LOG_TR69HOSTIF,"[%s:%s] Successfully set Params - [roamingEnable=%d,preassnBestThreshold=%d,preassnBestDelta=%d \n",__FILE__, __FUNCTION__,param->roamingEnable,param->preassnBestThreshold,param->preassnBestDelta);
196  isParamSet = true;
197  return OK;
198  }
199  else
200  {
201  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s]Error! Unable to connect to wifi instance\n", __FILE__, __FUNCTION__);
202  return NOK;
203  }
204  }
205  else
206  {
207  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s]Error! Invalid Argument in param \n", __FILE__, __FUNCTION__);
208  return NOK;
209  }
210  return OK;
211 }
212 
213 int hostIf_WiFi_Xrdk_ClientRoaming::checkWifiClientRoamingropsFetch()
214 {
215  int ret = OK;
216  time_t currExTime = time (NULL);
217  if ((currExTime - radioFirstExTime ) > QUERY_INTERVAL || isParamSet == true)
218  {
219  ret = get_Device_WiFi_Client_Roaming_Configs();
220  if( OK != ret)
221  {
222  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to fetch : %d.\n", __FILE__, __FUNCTION__, ret);
223  }
224  radioFirstExTime = currExTime;
225  isParamSet = false;
226  }
227  return ret;
228 }
229 
230 int update_from_local_config(WiFi_RoamingCtrl_t* param, hostIf_WiFi_Xrdk_ClientRoaming* roamInst)
231 {
232  param->roamingEnable = roamInst->roamingEnable;
233  param->preassnBestThreshold = roamInst->preassnBestThreshold;
234  param->preassnBestDelta = roamInst->preassnBestDelta;
235  param->selfSteerOverride = roamInst->postAssnSelfSteerOverrideEnable;
236  param->postAssnLevelDeltaConnected = roamInst->postAssnLevelDeltaConnected;
237  param->postAssnLevelDeltaDisconnected = roamInst->postAssnLevelDeltaDisconnected;
238  param->postAssnSelfSteerThreshold = roamInst->postAssnSelfSteerThreshold;
239  param->postAssnSelfSteerTimeframe = roamInst->postAssnSelfSteerTimeframe;
240  //param->postAssnSelfSteerBeaconsMissedTime = roamInst->postAssnSelfSteerBeaconsMissedTime;
241  param->postAssnAPcontrolThresholdLevel = roamInst->postAssnAPcontrolThresholdLevel;
242  param->postAssnAPcontrolTimeframe = roamInst->postAssnAPcontrolTimeframe;
243  param->roaming80211kvrEnable = roamInst->roaming80211kvrEnable;
244  param->postAssnBackOffTime = roamInst->postAssnBackOffTime;
245  return 0;
246 
247 }
248 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_Enable(HOSTIF_MsgData_t *stMsgData )
249 {
250  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
251  int retStatus = OK;
252  retStatus = checkWifiClientRoamingropsFetch();
253  if(retStatus != OK) {
254  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get clientRoaming_Enable \n", __FUNCTION__, __FILE__);
255  stMsgData->faultCode = fcInternalError;
256  }
257  else {
258  put_boolean(stMsgData->paramValue, this->roamingEnable);
259  }
260  stMsgData->paramtype = hostIf_BooleanType;
261  stMsgData->paramLen=1;
262  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
263  return retStatus;
264 }
265 
266 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_Enable(HOSTIF_MsgData_t *stMsgData )
267 {
268  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
269  int retStatus = NOK;
270  if( radioFirstExTime == 0)
271  checkWifiClientRoamingropsFetch();
272 
273  WiFi_RoamingCtrl_t param;
274  memset(&param,0,sizeof(param));
275  update_from_local_config(&param,this);
276  param.roamingEnable = get_int(stMsgData->paramValue);
277  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
278  if(retStatus == -2)
279  stMsgData->faultCode = fcAttemptToSetaNonWritableParameter; //RFC not enabled
280  else if(retStatus != OK)
281  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set clientRoaming_Enable..\n", __FUNCTION__, __FILE__);
282 
283  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
284  return retStatus;
285 }
286 
287 
288 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestThresholdLevel(HOSTIF_MsgData_t *stMsgData )
289 {
290  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
291  int retStatus = OK;
292  retStatus = checkWifiClientRoamingropsFetch();
293  if(retStatus != OK) {
294  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get BestThresholdLevel \n", __FUNCTION__, __FILE__);
295  stMsgData->faultCode = fcInternalError;
296  }
297  else {
298  put_int(stMsgData->paramValue, this->preassnBestThreshold);
299  }
300  stMsgData->paramtype = hostIf_IntegerType;
301  stMsgData->paramLen=4;
302  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
303  return retStatus;
304 }
305 
306 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestThresholdLevel(HOSTIF_MsgData_t *stMsgData )
307 {
308  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
309  int retStatus = NOK;
310  int threshold = 0;
311  if( radioFirstExTime == 0)
312  checkWifiClientRoamingropsFetch();
313  threshold = get_int(stMsgData->paramValue);
314  if(threshold > 0 || threshold < -200) {
315  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set BestThresholdLevel - Invalid Value\n", __FUNCTION__, __FILE__);
316  stMsgData->faultCode = fcInvalidParameterValue;
317  return retStatus;
318  }
319  WiFi_RoamingCtrl_t param;
320  memset(&param,0,sizeof(param));
321  update_from_local_config(&param,this);
322  param.preassnBestThreshold = threshold;
323  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
324  if(retStatus != OK)
325  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set BestThresholdLevel..\n", __FUNCTION__, __FILE__);
326 
327  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
328  return retStatus;
329 }
330 
331 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestDeltaLevel(HOSTIF_MsgData_t *stMsgData )
332 {
333  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
334  int retStatus = OK;
335  retStatus = checkWifiClientRoamingropsFetch();
336  if(retStatus != OK) {
337  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get getDeltaLevel \n", __FUNCTION__, __FILE__);
338  stMsgData->faultCode = fcInternalError;
339  }
340  else {
341  put_int(stMsgData->paramValue, this->preassnBestDelta);
342  }
343  stMsgData->paramtype = hostIf_UnsignedIntType;
344  stMsgData->paramLen=4;
345  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
346  return retStatus;
347 }
348 
349 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PreAssn_BestDeltaLevel(HOSTIF_MsgData_t *stMsgData )
350 {
351  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
352  int retStatus = NOK;
353  if( radioFirstExTime == 0)
354  checkWifiClientRoamingropsFetch();
355  int delta = get_int(stMsgData->paramValue);
356  if(delta < 0 || delta > 200) {
357  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PreAssn_BestDeltaLevel - Invalid Value\n", __FUNCTION__, __FILE__);
358  stMsgData->faultCode = fcInvalidParameterValue;
359  return retStatus;
360  }
361  WiFi_RoamingCtrl_t param;
362  memset(&param,0,sizeof(param));
363  update_from_local_config(&param,this);
364  param.preassnBestDelta = delta;
365  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
366  if(retStatus != OK)
367  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PreAssn_BestDeltaLevel..\n", __FUNCTION__, __FILE__);
368  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
369  return retStatus;
370 }
371 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride(HOSTIF_MsgData_t *stMsgData)
372 {
373  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
374  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] get get_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride \n", __FUNCTION__, __FILE__);
375  int retStatus = OK;
376  retStatus = checkWifiClientRoamingropsFetch();
377  if(retStatus != OK) {
378  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get SelfSteerOverride value \n", __FUNCTION__, __FILE__);
379  stMsgData->faultCode = fcInternalError;
380  }
381  else {
382  put_int(stMsgData->paramValue, this->postAssnSelfSteerOverrideEnable);
383  }
384  stMsgData->paramtype = hostIf_BooleanType;
385  stMsgData->paramLen=4;
386  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
387  return retStatus;
388 }
389 
390 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_SelfSteerOverride(HOSTIF_MsgData_t *stMsgData)
391 {
392  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
393  int retStatus = NOK;
394  if( radioFirstExTime == 0)
395  checkWifiClientRoamingropsFetch();
396  int self_steerOverride = get_int(stMsgData->paramValue);
397  if(self_steerOverride != 0 && self_steerOverride != 1) {
398  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set SelfSteerOverride Invalid Value\n", __FUNCTION__, __FILE__);
399  stMsgData->faultCode = fcInvalidParameterValue;
400  return retStatus;
401  }
402  WiFi_RoamingCtrl_t param;
403  memset(&param,0,sizeof(param));
404  update_from_local_config(&param,this);
405  param.selfSteerOverride = self_steerOverride;
406  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
407  if(retStatus != OK)
408  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set SelfSteerOverride..\n", __FUNCTION__, __FILE__);
409  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
410  return retStatus;
411 }
412 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelConnected(HOSTIF_MsgData_t *stMsgData)
413 {
414  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
415  int retStatus = OK;
416  retStatus = checkWifiClientRoamingropsFetch();
417  if(retStatus != OK) {
418  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_LevelDeltaConnected \n", __FUNCTION__, __FILE__);
419  stMsgData->faultCode = fcInternalError;
420  }
421  else {
422  put_int(stMsgData->paramValue, this->postAssnLevelDeltaConnected);
423  }
424  stMsgData->paramtype = hostIf_UnsignedIntType;
425  stMsgData->paramLen=4;
426  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
427  return retStatus;
428 }
429 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelConnected(HOSTIF_MsgData_t *stMsgData)
430 {
431  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
432  int retStatus = NOK;
433  if( radioFirstExTime == 0)
434  checkWifiClientRoamingropsFetch();
435  int post_level_Delta_Connected = get_int(stMsgData->paramValue);
436  if(post_level_Delta_Connected < 0 || post_level_Delta_Connected > 200) {
437  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_LevelDeltaConnected Invalid Value\n", __FUNCTION__, __FILE__);
438  stMsgData->faultCode = fcInvalidParameterValue;
439  return retStatus;
440  }
441  WiFi_RoamingCtrl_t param;
442  memset(&param,0,sizeof(param));
443  update_from_local_config(&param,this);
444  param.postAssnLevelDeltaConnected = post_level_Delta_Connected;
445  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
446  if(retStatus != OK)
447  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set postAssnLevelDeltaConnected..\n", __FUNCTION__, __FILE__);
448  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
449  return retStatus;
450 }
451 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelDisconnected(HOSTIF_MsgData_t *stMsgData)
452 {
453  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
454  int retStatus = OK;
455  retStatus = checkWifiClientRoamingropsFetch();
456  if(retStatus != OK) {
457  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_LevelDeltaDisconnected \n", __FUNCTION__, __FILE__);
458  stMsgData->faultCode = fcInternalError;
459  }
460  else {
461  put_int(stMsgData->paramValue, this->postAssnLevelDeltaDisconnected);
462  }
463  stMsgData->paramtype = hostIf_UnsignedIntType;
464  stMsgData->paramLen=4;
465  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
466  return retStatus;
467 }
468 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_BestDeltaLevelDisconnected(HOSTIF_MsgData_t *stMsgData)
469 {
470  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
471  int retStatus = NOK;
472  if( radioFirstExTime == 0)
473  checkWifiClientRoamingropsFetch();
474  int post_level_Delta_Disconnected = get_int(stMsgData->paramValue);
475  if(post_level_Delta_Disconnected < 0 || post_level_Delta_Disconnected > 200) {
476  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_LevelDeltaConnected Invalid Value\n", __FUNCTION__, __FILE__);
477  stMsgData->faultCode = fcInvalidParameterValue;
478  return retStatus;
479  }
480  WiFi_RoamingCtrl_t param;
481  memset(&param,0,sizeof(param));
482  update_from_local_config(&param,this);
483  param.postAssnLevelDeltaDisconnected = post_level_Delta_Disconnected;
484  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
485  if(retStatus != OK)
486  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set postAssnLevelDeltaDisconnected..\n", __FUNCTION__, __FILE__);
487  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
488  return retStatus;
489 }
490 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerThreshold(HOSTIF_MsgData_t *stMsgData)
491 {
492  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
493  int retStatus = OK;
494  retStatus = checkWifiClientRoamingropsFetch();
495  if(retStatus != OK) {
496  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_SelfSteerThreshold \n", __FUNCTION__, __FILE__);
497  stMsgData->faultCode = fcInternalError;
498  }
499  else {
500  put_int(stMsgData->paramValue, this->postAssnSelfSteerThreshold);
501  }
502  stMsgData->paramtype = hostIf_IntegerType;
503  stMsgData->paramLen=4;
504  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
505  return retStatus;
506 }
507 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerThreshold(HOSTIF_MsgData_t *stMsgData)
508 {
509  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
510  int retStatus = NOK;
511  if( radioFirstExTime == 0)
512  checkWifiClientRoamingropsFetch();
513  int post_Self_SteerThreshold = get_int(stMsgData->paramValue);
514  if(post_Self_SteerThreshold > 0 || post_Self_SteerThreshold < -200) {
515  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerThreshold Invalid Value\n", __FUNCTION__, __FILE__);
516  stMsgData->faultCode = fcInvalidParameterValue;
517  return retStatus;
518  }
519  WiFi_RoamingCtrl_t param;
520  memset(&param,0,sizeof(param));
521  update_from_local_config(&param,this);
522  param.postAssnSelfSteerThreshold = post_Self_SteerThreshold;
523  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
524  if(retStatus != OK)
525  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerThreshold..\n", __FUNCTION__, __FILE__);
526  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
527  return retStatus;
528 }
529 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerTimeframe(HOSTIF_MsgData_t *stMsgData)
530 {
531  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
532  int retStatus = OK;
533  retStatus = checkWifiClientRoamingropsFetch();
534  if(retStatus != OK) {
535  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_SelfSteerTimeframe \n", __FUNCTION__, __FILE__);
536  stMsgData->faultCode = fcInternalError;
537  }
538  else {
539  put_int(stMsgData->paramValue, this->postAssnSelfSteerTimeframe);
540  }
541  stMsgData->paramtype = hostIf_UnsignedIntType;
542  stMsgData->paramLen=4;
543  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
544  return retStatus;
545 }
546 
547 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerTimeframe(HOSTIF_MsgData_t *stMsgData)
548 {
549  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
550  int retStatus = NOK;
551  if( radioFirstExTime == 0)
552  get_Device_WiFi_Client_Roaming_Configs();
553  int post_Self_SteerTimeframe = get_int(stMsgData->paramValue);
554  if(post_Self_SteerTimeframe < 0 || post_Self_SteerTimeframe > POST_ASSN_MAX_TIME_FRAME) {
555  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerTimeframe Invalid Value\n", __FUNCTION__, __FILE__);
556  stMsgData->faultCode = fcInvalidParameterValue;
557  return retStatus;
558  }
559  WiFi_RoamingCtrl_t param;
560  memset(&param,0,sizeof(param));
561  update_from_local_config(&param,this);
562  param.postAssnSelfSteerTimeframe = post_Self_SteerTimeframe;
563  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
564  if(retStatus != OK)
565  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerTimeframe..\n", __FUNCTION__, __FILE__);
566  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
567  return retStatus;
568 }
569 /*
570 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerBeaconsMissedTime(HOSTIF_MsgData_t *stMsgData)
571 {
572  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
573  int retStatus = OK;
574  retStatus = checkWifiClientRoamingropsFetch();
575  if(retStatus != OK) {
576  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_SelfSteerBeaconsMissedTime \n", __FUNCTION__, __FILE__);
577  stMsgData->faultCode = fcInternalError;
578  }
579  else {
580  put_int(stMsgData->paramValue, this->postAssnSelfSteerBeaconsMissedTime);
581  }
582  stMsgData->paramtype = hostIf_IntegerType;
583  stMsgData->paramLen=4;
584  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
585  return retStatus;
586 }
587 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_SelfSteerBeaconsMissedTime(HOSTIF_MsgData_t *stMsgData)
588 {
589  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
590  int retStatus = NOK;
591  if( radioFirstExTime == 0)
592  checkWifiClientRoamingropsFetch();
593  int post_Self_SteerBeacons_MissedTime = get_int(stMsgData->paramValue);
594  if(post_Self_SteerBeacons_MissedTime < 0) {
595  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerBeaconsMissedTime Invalid Value\n", __FUNCTION__, __FILE__);
596  stMsgData->faultCode = fcInvalidParameterValue;
597  return retStatus;
598  }
599  WiFi_RoamingCtrl_t param;
600  memset(&param,0,sizeof(param));
601  update_from_local_config(&param,this);
602  param.postAssnSelfSteerBeaconsMissedTime = post_Self_SteerBeacons_MissedTime;
603  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
604  if(retStatus != OK)
605  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_SelfSteerBeaconsMissedTime ..\n", __FUNCTION__, __FILE__);
606  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
607  return retStatus;
608 }*/
609 
610 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolThresholdLevel(HOSTIF_MsgData_t *stMsgData)
611 {
612  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
613  int retStatus = OK;
614  retStatus = checkWifiClientRoamingropsFetch();
615  if(retStatus != OK) {
616  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_APcontrolThresholdLevel \n", __FUNCTION__, __FILE__);
617  stMsgData->faultCode = fcInternalError;
618  }
619  else {
620  put_int(stMsgData->paramValue, this->postAssnAPcontrolThresholdLevel);
621  }
622  stMsgData->paramtype = hostIf_IntegerType;
623  stMsgData->paramLen=4;
624  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
625  return retStatus;
626 }
627 
628 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolThresholdLevel(HOSTIF_MsgData_t *stMsgData)
629 {
630  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
631  int retStatus = NOK;
632  if( radioFirstExTime == 0)
633  get_Device_WiFi_Client_Roaming_Configs();
634  int APcontrolThresholdLevel = get_int(stMsgData->paramValue);
635  if(APcontrolThresholdLevel > 0 || APcontrolThresholdLevel < -200 ) {
636  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_APcontrolThresholdLevel Invalid Value\n", __FUNCTION__, __FILE__);
637  stMsgData->faultCode = fcInvalidParameterValue;
638  return retStatus;
639  }
640  WiFi_RoamingCtrl_t param;
641  memset(&param,0,sizeof(param));
642  update_from_local_config(&param,this);
643  param.postAssnAPcontrolThresholdLevel = APcontrolThresholdLevel;
644  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
645  if(retStatus != OK)
646  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_APcontrolThresholdLevel..\n", __FUNCTION__, __FILE__);
647  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
648  return retStatus;
649 }
650 
651 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolTimeframe(HOSTIF_MsgData_t *stMsgData)
652 {
653  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
654  int retStatus = OK;
655  retStatus = checkWifiClientRoamingropsFetch();
656  if(retStatus != OK) {
657  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get PostAssn_APcontrolTimeframe \n", __FUNCTION__, __FILE__);
658  stMsgData->faultCode = fcInternalError;
659  }
660  else {
661  put_int(stMsgData->paramValue, this->postAssnAPcontrolTimeframe);
662  }
663  stMsgData->paramtype = hostIf_UnsignedIntType;
664  stMsgData->paramLen=4;
665  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
666  return retStatus;
667 }
668 
669 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_PostAssn_APcontrolTimeframe(HOSTIF_MsgData_t *stMsgData)
670 {
671  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
672  int retStatus = NOK;
673  if( radioFirstExTime == 0)
674  get_Device_WiFi_Client_Roaming_Configs();
675  int APcontrolTimeframe = get_int(stMsgData->paramValue);
676  if(APcontrolTimeframe < 0 || APcontrolTimeframe > POST_ASSN_MAX_TIME_FRAME) {
677  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_APcontrolTimeframe Invalid Value\n", __FUNCTION__, __FILE__);
678  stMsgData->faultCode = fcInvalidParameterValue;
679  return retStatus;
680  }
681  WiFi_RoamingCtrl_t param;
682  memset(&param,0,sizeof(param));
683  update_from_local_config(&param,this);
684  param.postAssnAPcontrolTimeframe = APcontrolTimeframe;
685  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
686  if(retStatus != OK)
687  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set PostAssn_APcontrolTimeframe..\n", __FUNCTION__, __FILE__);
688  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
689  return retStatus;
690 }
691 
692 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_postAssnBackOffTime(HOSTIF_MsgData_t *stMsgData)
693 {
694  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
695  int retStatus = OK;
696  retStatus = checkWifiClientRoamingropsFetch();
697  if(retStatus != OK) {
698  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get postAssnBackOffTime \n", __FUNCTION__, __FILE__);
699  stMsgData->faultCode = fcInternalError;
700  }
701  else {
702  put_int(stMsgData->paramValue, this->postAssnBackOffTime);
703  }
704  stMsgData->paramtype = hostIf_UnsignedIntType;
705  stMsgData->paramLen=4;
706  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
707  return retStatus;
708 }
709 
710 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_postAssnBackOffTime(HOSTIF_MsgData_t *stMsgData)
711 {
712  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
713  int retStatus = NOK;
714  if( radioFirstExTime == 0)
715  get_Device_WiFi_Client_Roaming_Configs();
716  int postAssnBackOffTime = get_int(stMsgData->paramValue);
717  if(postAssnBackOffTime < 0 || postAssnBackOffTime > MAX_POST_ASSN_BACKOFF) {
718  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set postAssnBackOffTime Invalid Value\n", __FUNCTION__, __FILE__);
719  stMsgData->faultCode = fcInvalidParameterValue;
720  return retStatus;
721  }
722  WiFi_RoamingCtrl_t param;
723  memset(&param,0,sizeof(param));
724  update_from_local_config(&param,this);
725  param.postAssnBackOffTime = postAssnBackOffTime;
726  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
727  if(retStatus != OK)
728  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set postAssnBackOffTime..\n", __FUNCTION__, __FILE__);
729  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
730  return retStatus;
731 }
732 
733 int hostIf_WiFi_Xrdk_ClientRoaming::get_Device_WiFi_X_Rdkcentral_clientRoaming_80211kvrEnable(HOSTIF_MsgData_t *stMsgData)
734 {
735  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering...\n", __FUNCTION__, __FILE__);
736  int retStatus = OK;
737  retStatus = checkWifiClientRoamingropsFetch();
738  if(retStatus != OK) {
739  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to get 80211kvrEnable \n", __FUNCTION__, __FILE__);
740  stMsgData->faultCode = fcInternalError;
741  }
742  else {
743  put_int(stMsgData->paramValue, this->roaming80211kvrEnable);
744  }
745  stMsgData->paramtype = hostIf_BooleanType;;
746  stMsgData->paramLen=4;
747  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting...\n", __FUNCTION__, __FILE__);
748  return retStatus;
749 }
750 
751 int hostIf_WiFi_Xrdk_ClientRoaming::set_Device_WiFi_X_Rdkcentral_clientRoaming_80211kvrEnable(HOSTIF_MsgData_t *stMsgData)
752 {
753  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Entering..\n", __FUNCTION__, __FILE__);
754  int retStatus = NOK;
755  if( radioFirstExTime == 0)
756  get_Device_WiFi_Client_Roaming_Configs();
757  int roaming80211kvrEnable = get_int(stMsgData->paramValue);
758  if(roaming80211kvrEnable < 0) {
759  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set 80211kvrEnable Invalid Value\n", __FUNCTION__, __FILE__);
760  stMsgData->faultCode = fcInvalidParameterValue;
761  return retStatus;
762  }
763  WiFi_RoamingCtrl_t param;
764  memset(&param,0,sizeof(param));
765  update_from_local_config(&param,this);
766  param.roaming80211kvrEnable = roaming80211kvrEnable;
767  retStatus = set_Device_WiFi_Client_Roaming_Configs(&param);
768  if(retStatus != OK)
769  RDK_LOG(RDK_LOG_ERROR,LOG_TR69HOSTIF,"[%s:%s] Failed to set 80211kvrEnable..\n", __FUNCTION__, __FILE__);
770  RDK_LOG(RDK_LOG_TRACE1,LOG_TR69HOSTIF,"[%s:%s] Exiting..\n", __FUNCTION__, __FILE__);
771  return retStatus;
772 }
773 
774 #endif /* #ifdef USE_WIFI_PROFILE */
IARM_Bus_Call
IARM_Result_t IARM_Bus_Call(const char *ownerName, const char *methodName, void *arg, size_t argLen)
This API is used to Invoke RPC method by its application name and method name.
Definition: iarm_bus.c:57
_HostIf_MsgData_t
Definition: hostIf_tr69ReqHandler.h:170
put_boolean
void put_boolean(char *ptr, bool val)
This function converts the input data to Boolean type.
Definition: hostIf_utils.cpp:191
_HostIf_MsgData_t::paramtype
HostIf_ParamType_t paramtype
Definition: hostIf_tr69ReqHandler.h:177
RDK_LOG
#define RDK_LOG
Definition: rdk_debug.h:258
_HostIf_MsgData_t::faultCode
faultCode_t faultCode
Definition: hostIf_tr69ReqHandler.h:179
Device_WiFi_X_RDKCENTRAL_COM_ClientRoaming.h
TR-069 Device.WiFi.Radio object Public API.
_HostIf_MsgData_t::paramValue
char paramValue[(4 *1024)]
Definition: hostIf_tr69ReqHandler.h:172
put_int
void put_int(char *ptr, int val)
This function converts the input data to integer type.
Definition: hostIf_utils.cpp:152
_HostIf_MsgData_t::paramLen
short paramLen
Definition: hostIf_tr69ReqHandler.h:175