diff gsm-fw/g23m-aci/aci/cmh_phbt.c @ 775:eedbf248bac0

gsm-fw/g23m-aci subtree: initial import from LoCosto source
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sun, 12 Oct 2014 01:45:14 +0000
parents
children ac09e56b4e3b
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/gsm-fw/g23m-aci/aci/cmh_phbt.c	Sun Oct 12 01:45:14 2014 +0000
@@ -0,0 +1,221 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  GSM-PS (6147)
+|  Modul   :  CMH_PHBT
++----------------------------------------------------------------------------- 
+|  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 test functions related to the 
+|             protocol stack adapter for the phonebook management.
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifndef CMH_PHBT_C
+#define CMH_PHBT_C
+#endif
+
+#include "aci_all.h"
+/*==== INCLUDES ===================================================*/
+#include "aci_cmh.h"
+
+#ifdef FAX_AND_DATA
+#include "aci_fd.h"
+#endif    /* of #ifdef FAX_AND_DATA */
+
+#include "psa.h"
+#include "phb.h"
+#include "cmh.h"
+#include "cmh_phb.h"
+
+/*==== CONSTANTS ==================================================*/
+
+#define PHB_CMH_FIRST_IDX   (1)  /* first index in phonebook */
+
+/*==== EXPORT =====================================================*/
+
+/*==== VARIABLES ==================================================*/
+
+/*==== FUNCTIONS ==================================================*/
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_PHBT                 |
+| STATE   : code                  ROUTINE : cmhPHB_get_phonebook_info|
++--------------------------------------------------------------------+
+
+  PURPOSE : This function is used to get the basic adjustments of the
+            current selected phonebook storage.
+
+            <firstIdx>: first supported index 
+            <lastIdx>:  last supported index
+            <nlength>:  maximum length of phone number
+            <tlength>:  maximum length of associated text
+*/
+LOCAL T_ACI_RETURN cmhPHB_get_phonebook_info( T_ACI_CMD_SRC srcId,
+                                              SHORT*        firstIdx,
+                                              SHORT*        lastIdx,
+                                              UBYTE*        nlength,
+                                              UBYTE*        tlength )
+{
+  T_PHB_CMD_PRM * pPHBCmdPrm; /* points to PHB command parameter */
+  SHORT maxIdx;   /* maximum record index     */
+  UBYTE numLen;   /* maximum num length       */
+  UBYTE tagLen;   /* maximum tag length       */
+  SHORT dmyUsed;  /* dummy variable, not used */
+  SHORT dmyMaxExt;
+  SHORT dmyUsedExt;
+  #ifndef TI_PS_FFS_PHB
+  UBYTE dmySrvc;  /* dummy variable, not used */
+  SHORT dmyAvail; /* dummy variable, not used */
+#endif
+
+  TRACE_FUNCTION("cmhPHB_get_phonebook_info( )");
+
+  /*
+   *-----------------------------------------------------------------
+   * check command source
+   *-----------------------------------------------------------------
+   */  
+  if( ! cmh_IsVldCmdSrc (srcId) ) 
+  { 
+    return( AT_FAIL );
+  }
+
+  pPHBCmdPrm = &cmhPrm[srcId].phbCmdPrm;
+
+  /*
+   *-----------------------------------------------------------------
+   * fill in parameter <firstIdx>, <lastIdx>, <nlength> and <tlength>
+   *-----------------------------------------------------------------
+   */  
+
+  if ( pPHBCmdPrm -> cmhStor EQ PB_STOR_NotPresent )
+  {
+    *firstIdx = ACI_NumParmNotPresent;
+    *lastIdx  = ACI_NumParmNotPresent;
+    *nlength  = 0;
+    *tlength  = 0;
+    return(AT_CMPL);
+  }
+
+#ifdef TI_PS_FFS_PHB
+  if (pb_read_sizes ((T_PHB_TYPE)pPHBCmdPrm -> phbStor,
+                     &maxIdx, 
+                     &dmyUsed,
+                     &numLen,
+                     &tagLen,
+                     &dmyMaxExt,
+                     &dmyUsedExt) NEQ PHB_OK)
+#else
+  numLen = 2 * PHB_PACKED_NUM_LEN;
+  if ( pb_read_status ( pPHBCmdPrm -> phbStor,
+                        &dmySrvc,
+                        &maxIdx, 
+                        &dmyUsed,
+                        &tagLen,
+                        &dmyAvail,
+                        &dmyMaxExt,
+                        &dmyUsedExt ) EQ PHB_FAIL )
+#endif
+  {
+    ACI_ERR_DESC( ACI_ERR_CLASS_Cme, CME_ERR_Unknown );
+    return( AT_FAIL );
+  }
+
+  *firstIdx = PHB_CMH_FIRST_IDX;
+  *lastIdx  = maxIdx;
+  *nlength  = numLen;
+  *tlength  = tagLen; /* excluding null termination */
+
+  return ( AT_CMPL );
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_PHBT                 |
+| STATE   : code                  ROUTINE : tAT_PlusCPBR             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CPBR=? 
+            AT command which is responsible to test for all supported
+            memory indices, the length of phone numbers and
+            the length of texts associated with these numbers.
+
+            <firstIdx>: first supported index 
+            <lastIdx>:  last supported index
+            <nlength>:  maximum length of phone number
+            <tlength>:  maximum length of associated text
+*/
+GLOBAL T_ACI_RETURN tAT_PlusCPBR ( T_ACI_CMD_SRC srcId,
+                                   SHORT*        firstIdx,
+                                   SHORT*        lastIdx,
+                                   UBYTE*        nlength,
+                                   UBYTE*        tlength )
+{
+  TRACE_FUNCTION ("tAT_PlusCPBR ()");
+
+  return(cmhPHB_get_phonebook_info(srcId, firstIdx, lastIdx, nlength, tlength));
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_PHBT                 |
+| STATE   : code                  ROUTINE : tAT_PlusCPBF             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CPBF=? 
+            AT command which is responsible to test for the length of
+            phone numbers and the length of texts associated with
+            these numbers.
+
+            <nlength>:  maximum length of phone number
+            <tlength>:  maximum length of associated text
+*/
+GLOBAL T_ACI_RETURN tAT_PlusCPBF ( T_ACI_CMD_SRC srcId,
+                                   UBYTE*        nlength,
+                                   UBYTE*        tlength )
+{
+  SHORT firstIdx; /* dummy variable, not used */
+  SHORT lastIdx;  /* dummy variable, not used */
+  
+  TRACE_FUNCTION ("tAT_PlusCPBF ()");
+
+  return(cmhPHB_get_phonebook_info(srcId, &firstIdx, &lastIdx, nlength, tlength));
+}
+
+/*
++--------------------------------------------------------------------+
+| PROJECT : GSM-PS (6147)         MODULE  : CMH_PHBT                 |
+| STATE   : code                  ROUTINE : tAT_PlusCPBW             |
++--------------------------------------------------------------------+
+
+  PURPOSE : This is the functional counterpart to the +CPBW=? 
+            AT command which is responsible to test for all supported
+            memory indices, the length of phone numbers and
+            the length of texts associated with these numbers.
+
+            <firstIdx>: first supported index 
+            <lastIdx>:  last supported index
+            <nlength>:  maximum length of phone number
+            <tlength>:  maximum length of associated text
+*/
+GLOBAL T_ACI_RETURN tAT_PlusCPBW ( T_ACI_CMD_SRC srcId,
+                                   SHORT*        firstIdx,
+                                   SHORT*        lastIdx,
+                                   UBYTE*        nlength,
+                                   UBYTE*        tlength )
+{
+  TRACE_FUNCTION ("tAT_PlusCPBW ()");
+
+  return(cmhPHB_get_phonebook_info(srcId, firstIdx, lastIdx, nlength, tlength));
+}
+
+/*==== EOF ========================================================*/