diff g23m-aci/aci/cmh_smt.c @ 0:75a11d740a02

initial import of gsm-fw from freecalypso-sw rev 1033:5ab737ac3ad7
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 09 Jun 2016 00:02:41 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/g23m-aci/aci/cmh_smt.c	Thu Jun 09 00:02:41 2016 +0000
@@ -0,0 +1,213 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  
+|  Modul   :  
++----------------------------------------------------------------------------- 
+|  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 implements the test fuinctions related to the
+|             protocol stack adapter for GPRS session management ( SM ).
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifdef GPRS
+
+#ifndef CMH_SMT_C
+#define CMH_SMT_C
+#endif
+
+#include "aci_all.h"
+/*==== INCLUDES ===================================================*/
+#include "dti.h"      /* functionality of the dti library */
+#include "aci_cmh.h"
+
+#include "dti_conn_mng.h"
+#include "dti_cntrl_mng.h"
+
+#include "gaci.h"
+#include "gaci_cmh.h"
+#include "psa.h"
+#include "psa_sm.h"
+#include "psa_gppp.h"
+#include "psa_gmm.h"
+
+#include "cmh.h"
+#include "cmh_sm.h"
+#include "cmh_gppp.h"
+
+#include "cmh_gmm.h"
+
+
+/*==== CONSTANTS ==================================================*/
+
+/*==== EXPORT =====================================================*/
+
+/*==== VARIABLES ==================================================*/
+
+/*==== FUNCTIONS ==================================================*/
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (8441)         MODULE  : CMH_SMS                  |
+| STATE   : finnished             ROUTINE : tAT_PlusCGPADDR          |
++--------------------------------------------------------------------+
+
+PURPOSE : This is the functional counterpart to the +CGPADDR= AT
+          command which sets the requested QOS.
+*/
+
+GLOBAL T_ACI_RETURN tAT_PlusCGPADDR ( T_ACI_CMD_SRC srcId, U8 *cids)
+{
+  T_PDP_CONTEXT_STATE  con_state;
+  U8 cid;
+  U8 index = 0;
+
+  TRACE_FUNCTION ("tAT_PlusCGPADDR()");
+
+  for( cid = PDP_CONTEXT_CID_MIN; cid <= PDP_CONTEXT_CID_MAX; cid++ )
+  {
+    con_state = get_state_over_cid(cid);
+    /*if ( (con_state NEQ PDP_CONTEXT_STATE_UNDEFINED)AND
+         (con_state NEQ PDP_CONTEXT_STATE_INVALID) )*/
+    if ( (con_state NEQ PDP_CONTEXT_STATE_INVALID) )
+    {
+      cids[index ++] = cid;
+    }
+    cids[index] = PDP_CONTEXT_CID_INVALID;
+  }
+
+  return AT_CMPL;
+}
+
+GLOBAL T_ACI_RETURN tAT_PlusCGSMS( T_ACI_CMD_SRC srcId, SHORT *service_list)
+{
+
+  TRACE_FUNCTION ("tAT_PlusCGSMS()");
+
+  *service_list = 15;
+
+  return AT_CMPL;
+}
+
+#ifdef REL99
+/*
++--------------------------------------------------------------------+
+| PROJECT : UMTS                  MODULE  : CMH_SMQ                  |
+| STATE   : finished              ROUTINE : qAT_PlusCGEQNEG          |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CGEQNEG=? or
+            +CGCMOD AT command and returns context_activated.
+  RETURNS:  - AT_CMPL : Completed.
+            - AT_FAIL : Command not valid for srcId.
+  UPDATES:  - context_activated: true  - context is activated for cid.
+                                 false - context is not activated.
+*/
+GLOBAL T_ACI_RETURN tAT_PlusCGEQNEG_CGCMOD ( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated)
+{
+  TRACE_FUNCTION ("tAT_PlusCGEQNEG_CGCMOD()");
+
+/*
+ *-------------------------------------------------------------------
+ * check command source - should be Serial link ?
+ *-------------------------------------------------------------------
+ */
+  if ( !cmh_IsVldCmdSrc (srcId) )
+  {
+    ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
+    return( AT_FAIL );
+  }
+
+/*
+ *-------------------------------------------------------------------
+ * fill in parameters
+ *-------------------------------------------------------------------
+ */
+  if (( get_state_over_cid(cid) EQ PDP_CONTEXT_STATE_ACTIVATED ) OR ( get_state_over_cid(cid) EQ PDP_CONTEXT_STATE_DATA_LINK ))
+    *context_activated = TRUE;
+  else 
+    *context_activated = FALSE;
+
+  return( AT_CMPL );
+}
+
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : UMTS                  MODULE  : CMH_SMT                  |
+| STATE   : finished              ROUTINE : tAT_PlusCGDSCONT         |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CGDSCONT=?
+
+  RETURNS:  - AT_CMPL : Completed.
+            - AT_FAIL : Command not valid for srcId.
+  UPDATES:  - context_activated: true  - primary context is activated for cid.
+                                 false - context is not activated or not primary.
+*/
+GLOBAL T_ACI_RETURN tAT_PlusCGDSCONT( T_ACI_CMD_SRC srcId, U8 cid, BOOL *context_activated )
+{
+  T_PDP_CONTEXT_INTERNAL *p_pdp_context_node = NULL;
+  TRACE_FUNCTION ("tAT_PlusCGDSCONT()");
+
+/*
+ *-------------------------------------------------------------------
+ * check command source - should be Serial link ?
+ *-------------------------------------------------------------------
+ */
+  if( !cmh_IsVldCmdSrc (srcId) )
+  {
+    ACI_ERR_DESC( ACI_ERR_CLASS_Ext, EXT_ERR_Parameter );
+    return( AT_FAIL );
+  }
+
+/*
+ *-------------------------------------------------------------------
+ * fill in parameters
+ *-------------------------------------------------------------------
+ */
+
+  p_pdp_context_node = pdp_context_find_node_from_cid( cid );
+  if( p_pdp_context_node )
+  {
+    if( p_pdp_context_node->type EQ PDP_CONTEXT_TYPE_PRIMARY )
+    {
+      if( p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_ACTIVATED OR
+          p_pdp_context_node->internal_data.state EQ PDP_CONTEXT_STATE_DATA_LINK )
+      {
+        *context_activated = TRUE;
+        return AT_CMPL;
+      }
+      else
+      {
+        *context_activated = FALSE;
+        return AT_CMPL;
+      }
+    }
+    else
+    {
+      *context_activated = FALSE;
+      return AT_CMPL;
+    }
+  }
+  else
+  {
+    *context_activated = FALSE;
+    return AT_CMPL;
+  }
+}
+#endif /* REL99 */
+
+#endif  /* GPRS */
+
+
+/*==== EOF ========================================================*/