diff src/g23m-gprs/grlc/grlc_rdp.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/grlc/grlc_rdp.c	Fri Oct 16 06:25:50 2020 +0000
@@ -0,0 +1,133 @@
+/* 
++----------------------------------------------------------------------------- 
+|  Project :  GPRS (8441)
+|  Modul   :  GRLC
++----------------------------------------------------------------------------- 
+|  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 primitive handler functions for service
+|             RD of entity GRLC.
++----------------------------------------------------------------------------- 
+*/ 
+
+#ifndef GRLC_RDP_C
+#define GRLC_RDP_C
+#endif
+
+#define ENTITY_GRLC
+
+/*==== INCLUDES =============================================================*/
+
+#include "typedefs.h"    /* to get Condat data types */
+
+#include "vsi.h"        /* to get a lot of macros */
+#include "macdef.h"
+#include "gprs.h"
+#include "gsm.h"        /* to get a lot of macros */
+#include "ccdapi.h"     /* to get CCD API */
+#include "cnf_grlc.h"    /* to get cnf-definitions */
+#include "mon_grlc.h"    /* to get mon-definitions */
+#include "prim.h"       /* to get the definitions of used SAP and directions */
+#include "message.h"
+#include "grlc.h"        /* to get the global entity definitions */
+#include "grlc_tms.h"
+#include "grlc_rdf.h"
+#include "grlc_f.h"
+
+/*==== CONST ================================================================*/
+
+
+/*==== LOCAL VARS ===========================================================*/
+
+/*==== PRIVATE FUNCTIONS ====================================================*/
+
+/*==== PUBLIC FUNCTIONS =====================================================*/
+
+
+/*
++------------------------------------------------------------------------------
+| Function    : rd_t3190
++------------------------------------------------------------------------------
+| Description : Handles the primitive T3190
+|
+| Parameters  : *t3190 - Ptr to primitive payload
+|
++------------------------------------------------------------------------------
+*/
+GLOBAL void rd_t3190 ( void )
+{ 
+  TRACE_FUNCTION( "t3190" );
+  
+  
+  switch( GET_STATE( RD ) )
+  {
+    case RD_ACK:
+    case RD_UACK:
+    case RD_REL_ACK:
+    case RD_REL_UACK:
+      SET_STATE(RD,RD_NULL);
+      TRACE_EVENT("timeout T3190");
+
+      rd_free_desc_list_partions();
+      rd_free_database_partions();
+
+      grlc_data->tbf_ctrl[grlc_data->dl_index].vs_vr  = grlc_data->rd.vr;
+      grlc_data->tbf_ctrl[grlc_data->dl_index].va_vq  = grlc_data->rd.vq;
+      grlc_trace_tbf_par ( grlc_data->dl_index );
+      sig_rd_tm_end_of_tbf(TRUE);
+      break;
+    default:
+      TRACE_ERROR( "T3190 unexpected" );
+      break;
+  }
+
+} /* rd_t3190() */
+
+
+
+/*
++------------------------------------------------------------------------------
+| Function    : rd_t3192
++------------------------------------------------------------------------------
+| Description : Handles the primitive T3192
+|
+| Parameters  : *t3192 - Ptr to primitive payload
+|
++------------------------------------------------------------------------------
+*/
+GLOBAL void rd_t3192 ( void )
+{ 
+  TRACE_FUNCTION( "t3192" );
+  
+  
+  switch( GET_STATE( RD ) )
+  {
+    case RD_REL_ACK:
+    case RD_REL_UACK:
+      SET_STATE(RD,RD_NULL);
+      grlc_data->tbf_ctrl[grlc_data->dl_index].vs_vr  = grlc_data->rd.vr;
+      grlc_data->tbf_ctrl[grlc_data->dl_index].va_vq  = grlc_data->rd.vq;  
+      grlc_trace_tbf_par ( grlc_data->dl_index );
+      sig_rd_tm_end_of_tbf(FALSE);
+      break;
+    default:
+      TRACE_ERROR( "T3192 unexpected" );
+      break;
+  }
+
+} /* rd_t3192() */
+
+
+
+
+
+