diff src/g23m-gprs/upm/upm_mm_output_handler.c @ 1:fa8dc04885d8

src/g23m-*: import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:25:50 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/g23m-gprs/upm/upm_mm_output_handler.c	Fri Oct 16 06:25:50 2020 +0000
@@ -0,0 +1,112 @@
+/*----------------------------------------------------------------------------
+|  Project :  3G PS
+|  Module  :  UPM
++-----------------------------------------------------------------------------
+|             Copyright 2003 Texas Instruments.
+|             All rights reserved. 
+| 
+|             This file is confidential and a trade secret of Texas 
+|             Instruments .
+|             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. 
++-----------------------------------------------------------------------------
+| Purpose:    Output functions for primitives from UPM to the MM entity.
+|             For design details, see:
+|             8010.939 UPM Detailed Specification
++---------------------------------------------------------------------------*/
+
+/*==== DECLARATION CONTROL =================================================*/
+
+/*==== INCLUDES ============================================================*/
+
+#include "upm.h"
+
+#include "upm_mm_output_handler.h"
+
+/*==== CONSTS ===============================================================*/
+
+/*==== TYPES ================================================================*/
+
+/*==== LOCALS ===============================================================*/
+
+/*==== PUBLIC FUNCTIONS =====================================================*/
+
+/*
++------------------------------------------------------------------------------
+| Function    : send_mmpm_reestablish_req
++------------------------------------------------------------------------------
+| Description : Allocate, pack and send MMPM_REESTABLISH_RES primitive.
+|
+| Parameters  : None
++------------------------------------------------------------------------------
+*/
+#ifdef TI_UMTS
+void send_mmpm_reestablish_req(U8 most_demanding)
+{
+  U8  establish_cause;
+  (void)TRACE_FUNCTION("send_mmpm_reestablish_req");
+
+  switch ((T_PS_tc)most_demanding) {
+  case PS_TC_CONV:
+    establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_CONVERSATIONAL;
+    break;
+  case PS_TC_STREAM:
+    establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_STREAMING;
+    break;
+  case PS_TC_INTER:
+    establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_INTERACTIVE;
+    break;
+  case PS_TC_BG:
+    establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_BACKGROUND;
+    break;
+  case PS_TC_SUB:
+    establish_cause = (U8)MMPM_CAUSE_ESTABL_ORIG_BACKGROUND;
+    break;
+  }
+
+  {
+    PALLOC(prim, MMPM_REESTABLISH_REQ);
+
+    prim->establish_cause = establish_cause;
+
+    (void)PSEND(hCommMM, prim);
+  }
+}
+#endif /* TI_UMTS */
+
+/*
++------------------------------------------------------------------------------
+| Function    : send_mmpm_sequence_res
++------------------------------------------------------------------------------
+| Description : Allocate, pack and send MMPM_SEQUENCE_RES primitive.
+|
+| Parameters  : sn_sequence_cnf   - SN_SEQUENCE_CNF primitive
++------------------------------------------------------------------------------
+*/
+#ifdef TI_GPRS
+void send_mmpm_sequence_res(T_SN_SEQUENCE_CNF *sn_sequence_cnf)
+{
+  U16  index;
+  (void)TRACE_FUNCTION("send_mmpm_sequence_res");
+  {
+    PALLOC(prim, MMPM_SEQUENCE_RES);
+
+  /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */
+    prim->c_npdu_list = sn_sequence_cnf->c_receive_no_list;
+
+    memcpy(&prim->npdu_list, sn_sequence_cnf->receive_no_list,
+	   (size_t)sn_sequence_cnf->c_receive_no_list * sizeof(T_MMPM_npdu_list));
+    for (index = 0; index < (U16)sn_sequence_cnf->c_receive_no_list; index++)
+    {
+      prim->npdu_list[index].nsapi                    = sn_sequence_cnf->receive_no_list[index].nsapi;
+      prim->npdu_list[index].receive_n_pdu_number_val = sn_sequence_cnf->receive_no_list[index].receive_no;
+    }
+  /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */
+   (void)PSEND(hCommMM, prim);
+  }
+}
+#endif /* TI_GPRS */
+/*==== END OF FILE ==========================================================*/