diff src/g23m-gprs/grlc/grlc_tmf.h @ 183:219afcfc6250

src/g23m-gprs: initial import from TCS3.2/LoCosto
author Mychaela Falconia <falcon@freecalypso.org>
date Thu, 13 Oct 2016 04:24:13 +0000
parents
children
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/g23m-gprs/grlc/grlc_tmf.h	Thu Oct 13 04:24:13 2016 +0000
@@ -0,0 +1,100 @@
+/* 
++----------------------------------------------------------------------------- 
+|  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 :  Definitions for service TC.
++----------------------------------------------------------------------------- 
+*/ 
+
+
+
+#ifndef GRLC_TCF_H
+#define GRLC_TCF_H
+
+
+typedef enum
+{
+  C_PRIM_CONTINUE,            /*  primitive has lower prio, throughput and so on */
+  C_PRIM_PUT,                 /*  queue at that possition */
+  C_PRIM_REALLOC_START,       /*  primitive needs to start re-allocation immedatly */
+  C_PRIM_REALLOC_MARK,        /*  primitive needs to start re-allocation 
+                                  at next llc bondary */
+  C_PRIM_NEW_TBF,             /*  mark begin of an new tbf in the prim_queue */
+  C_PRIM_REALLOC_SHORT,       /*  primitive needs to start re-allocation if previous on is short access*/
+  C_PRIM_RLC_MODE_CHANGE      /*  prim whose rlc mode changes and had greater priority*/
+} T_COMPARE_PRIM;
+
+
+typedef enum
+{
+  R_BUILD_2PHASE_ACCESS, 
+  R_RE_ALLOC,
+  R_FIX_RE_ALLOC
+} T_REASON_BUILD;
+
+
+
+EXTERN BOOL           tm_access_allowed             (  UBYTE  radio_prio  );
+
+EXTERN void           tm_get_gmm_prim_queue         ( void );
+EXTERN void           tm_handle_grlc_ready_ind      ( void );
+EXTERN void           tm_get_llc_prim_queue         ( void );
+EXTERN void           tm_ul_tbf_ind                 ( void );
+EXTERN UBYTE          tm_prim_queue_get_free_count  ( void );
+EXTERN void           tm_abort_tbf                  ( T_TBF_TYPE tbf_i );
+EXTERN void           tm_data_req                   ( T_PRIM_TYPE prime_tpye_i,T_GRLC_DATA_REQ * ptr2prim_i);                                                                                
+EXTERN void           tm_build_chan_req_des         ( T_chan_req_des * out_i,T_PRIM_QUEUE * p_ptr_i );
+EXTERN void           tm_handle_error_ra            ( void );
+EXTERN void           tm_build_res_req              ( T_U_GRLC_RESOURCE_REQ *ptr2res_req,
+                                                      T_REASON_BUILD    reason_i);
+EXTERN BOOL           tm_store_ctrl_blk             ( T_BLK_OWNER blk_owner, void *blk_struct );
+EXTERN void           tm_delete_prim_queue          ( void);
+EXTERN void           tm_queue_test_mode_prim       ( UBYTE pdu_num_i );
+EXTERN void           tm_send_tbf_rel               ( T_TBF_TYPE );
+EXTERN T_COMPARE_PRIM tm_compare_prim               ( UBYTE new_prim_i,UBYTE position_i,BOOL *new_qos);
+EXTERN void           tm_tfi_handling               ( ULONG tbf_start,
+                                                      UBYTE tbf_type, 
+                                                      UBYTE ul_tfi, 
+                                                      BYTE dl_tfi);                    
+EXTERN void           tm_activate_tbf               ( T_TBF_TYPE );
+EXTERN void           tm_deactivate_tbf             ( T_TBF_TYPE );
+EXTERN void           tm_ini_realloc                ( UBYTE start_of_new_tbf_i );
+EXTERN void           tm_init_prim                  ( void );                     
+EXTERN void           tm_start_access               ( void );
+EXTERN void           tm_grlc_init                  ( void );
+
+
+EXTERN void           tm_cgrlc_status_ind           ( UBYTE cause ); 
+
+EXTERN void           tm_handle_polling_bit         ( ULONG st_fn, UBYTE tn );
+
+EXTERN void           tm_store_fa_bitmap            (T_CGRLC_fix_alloc_struct * ptr2_fix_alloc);
+EXTERN void           tm_handle_final_alloc         (UBYTE final_allocation);
+EXTERN USHORT         tm_set_fa_bitmap              ( UBYTE ts_mask, T_FA_ALLOC* ptr_alloc);
+EXTERN void           tm_handle_test_mode_cnf       ( BOOL v_test_mode_cnf );
+
+/*********************************************************************************/
+
+EXTERN void           tm_prcs_pwr_ctrl              ( T_CGRLC_pwr_ctrl *pwr_ctrl );
+
+EXTERN BOOL           tm_cancel_ctrl_blk            ( T_BLK_OWNER blk_owner );
+EXTERN UBYTE*         tm_set_start_ctrl_blk         ( UBYTE *index );
+EXTERN T_BLK_INDEX    tm_set_stop_ctrl_blk          ( BOOL        is_tx_success,
+                                                      T_BLK_OWNER srch_owner,
+                                                      T_BLK_INDEX start_idx );
+EXTERN void           tm_set_stop_tc_ctrl_blk       ( void );
+EXTERN void           tm_set_stop_all_ctrl_blk      ( void );
+
+#endif /* !GRLC_TCF_H */