diff src/aci2/aci/cmh_lcq.c @ 3:93999a60b835

src/aci2, src/condat2: import of g23m/condat source pieces from TCS211
author Mychaela Falconia <falcon@freecalypso.org>
date Mon, 26 Sep 2016 00:29:36 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/aci2/aci/cmh_lcq.c	Mon Sep 26 00:29:36 2016 +0000
@@ -0,0 +1,209 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  GSM-PS (6147)
+|  Modul   :  CMH_LCQ
++----------------------------------------------------------------------------- 
+|  Copyright 2002 Texas Instruments Berlin, AG 
+|                 All rights reserved. 
+| 
+|                 This file is confidential and a trade secret of Texas 
+|                 Instruments Berlin, AG 
+|                 The receipt of or possession of this file does not convey 
+|                 any rights to reproduce or disclose its contents or to 
+|                 manufacture, use, or sell anything it may describe, in 
+|                 whole, or in part, without the specific written consent of 
+|                 Texas Instruments Berlin, AG. 
++----------------------------------------------------------------------------- 
+|  Purpose :  This module provides the query functions related to the
+|             protocol stack adapter for the location service.
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifndef CMH_LCQ_C
+#define CMH_LCQ_C
+#endif
+
+#ifdef FF_EOTD
+
+#ifdef MFW
+#define ENTITY_MFW
+#else
+#ifdef SMI
+#define ENTITY_SMI
+#else
+#define ENTITY_ACI
+#endif
+#endif
+
+#define ACI_MEMBER
+
+/*==== INCLUDES ===================================================*/
+#include "aci_all.h"
+#include "aci_cmh.h"
+#include "ati_cmd.h"
+#include "aci_cmd.h"
+
+#include "psa.h"
+#include "cmh.h"
+
+#include "cmh_lc.h"
+
+
+
+/*==== CONSTANTS ==================================================*/
+
+/*==== EXPORT =====================================================*/
+
+/*==== VARIABLES ==================================================*/
+
+/*==== FUNCTIONS ==================================================*/
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_LC                   |
+| STATE   : code                  ROUTINE : qAT_PlusCLSA             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CLSA?
+            AT command which returns the Service Mobile Location
+            Center source and destination address.
+
+            <mlcsc>: mobile location center source address
+            <mlcda>: mobile location center destination address
+
+*/
+GLOBAL T_ACI_RETURN qAT_PlusCLSA ( T_ACI_CMD_SRC srcId,
+                                   CHAR*         mlcsc,
+                                   CHAR*         mlcda)
+{
+   T_LOC_SERV_PARA *p_lsprm = 0;
+
+   TRACE_FUNCTION ("qAT_PlusCLSA ()");
+
+  /*
+   *-----------------------------------------------------------------
+   * check command source
+   *-----------------------------------------------------------------
+   */
+    if(!cmh_IsVldCmdSrc (srcId))
+    {
+      ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_LCS_CmdNotRec);
+      return( AT_FAIL );
+    }
+
+    p_lsprm = &locServPrm; /* global structure LC parameters */
+
+  /*
+   *-----------------------------------------------------------------
+   * fill in parameters
+   *-----------------------------------------------------------------
+   */
+
+   if(!mlcsc)
+   {
+      ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_LCS_CmdNotRec);
+      return( AT_FAIL );
+    }
+   else
+   {
+        if(p_lsprm->mlcsrc.toa.ton EQ TON_International)
+        *mlcsc++ = '+';
+         strncpy(mlcsc,p_lsprm->mlcsrc.address,strlen(p_lsprm->mlcsrc.address));
+   }
+   if(!mlcda)
+    ;
+   else
+   {
+        if(p_lsprm->mlcdest.toa.ton EQ TON_International)
+            *mlcda++ = '+';
+        strncpy(mlcda,p_lsprm->mlcdest.address,strlen(p_lsprm->mlcdest.address));
+   }
+
+   return ( AT_CMPL );
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_LC                   |
+| STATE   : code                  ROUTINE : qAT_PlusCLOM             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CLOM?
+            AT command which returns the Operating mode settings of
+            Location service
+            <number_lc_clients>: number of LC client entries in list
+            <client_list>: pointer to list of LC clients
+
+*/
+GLOBAL T_ACI_RETURN qAT_PlusCLOM ( T_ACI_CMD_SRC srcId,
+                                   UBYTE        * number_lc_clients,
+                                   T_LOC_SERV_PARA  ** client_list)
+{
+   T_LOC_SERV_PARA *p_client_list = 0;
+
+   TRACE_FUNCTION ("qAT_PlusCLOM ()");
+  /*
+   *-----------------------------------------------------------------
+   * check command source
+   *-----------------------------------------------------------------
+   */
+    if(!cmh_IsVldCmdSrc (srcId))
+    {
+      ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_LCS_CmdNotRec );
+      return( AT_FAIL );
+    }
+   p_client_list = &locServPrm; /* global structure LC parameters */
+  /*
+   *-----------------------------------------------------------------
+   * fill in parameters
+   *-----------------------------------------------------------------
+   */
+
+   *number_lc_clients = p_client_list->numb_lc_clients;
+   *client_list = p_client_list;
+   return ( AT_CMPL );
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_LC                   |
+| STATE   : code                  ROUTINE : qAT_PlusCLPS             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CLPS?
+            AT command which returns the Periodic Update settings of
+            Location service
+            <number_lc_clients>: number of LC client entries in list
+            <client_list>: pointer to list of LC clients
+
+*/
+GLOBAL T_ACI_RETURN qAT_PlusCLPS ( T_ACI_CMD_SRC srcId,
+                                   UBYTE        * number_lc_clients,
+                                   T_LOC_SERV_PARA  ** client_list)
+{
+   T_LOC_SERV_PARA *p_client_list = 0;
+
+   TRACE_FUNCTION ("qAT_PlusCLPS ()");
+  /*
+   *-----------------------------------------------------------------
+   * check command source
+   *-----------------------------------------------------------------
+   */
+    if(!cmh_IsVldCmdSrc (srcId))
+    {
+      ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_LCS_CmdNotRec );
+      return( AT_FAIL );
+    }
+   p_client_list = &locServPrm; /* global structure LC parameters */
+  /*
+   *-----------------------------------------------------------------
+   * fill in parameters
+   *-----------------------------------------------------------------
+   */
+
+   *number_lc_clients = p_client_list->numb_lc_clients;
+   *client_list = p_client_list;
+   return ( AT_CMPL );
+}
+
+#endif /* FF_EOTD */
+/*==== EOF ========================================================*/