comparison src/g23m-gprs/grlc/grlc_tmf.h @ 1:fa8dc04885d8

src/g23m-*: import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Fri, 16 Oct 2020 06:25:50 +0000
parents
children
comparison
equal deleted inserted replaced
0:4e78acac3d88 1:fa8dc04885d8
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : GPRS (8441)
4 | Modul : GRLC
5 +-----------------------------------------------------------------------------
6 | Copyright 2002 Texas Instruments Berlin, AG
7 | All rights reserved.
8 |
9 | This file is confidential and a trade secret of Texas
10 | Instruments Berlin, AG
11 | The receipt of or possession of this file does not convey
12 | any rights to reproduce or disclose its contents or to
13 | manufacture, use, or sell anything it may describe, in
14 | whole, or in part, without the specific written consent of
15 | Texas Instruments Berlin, AG.
16 +-----------------------------------------------------------------------------
17 | Purpose : Definitions for service TC.
18 +-----------------------------------------------------------------------------
19 */
20
21
22
23 #ifndef GRLC_TCF_H
24 #define GRLC_TCF_H
25
26
27 typedef enum
28 {
29 C_PRIM_CONTINUE, /* primitive has lower prio, throughput and so on */
30 C_PRIM_PUT, /* queue at that possition */
31 C_PRIM_REALLOC_START, /* primitive needs to start re-allocation immedatly */
32 C_PRIM_REALLOC_MARK, /* primitive needs to start re-allocation
33 at next llc bondary */
34 C_PRIM_NEW_TBF, /* mark begin of an new tbf in the prim_queue */
35 C_PRIM_REALLOC_SHORT, /* primitive needs to start re-allocation if previous on is short access*/
36 C_PRIM_RLC_MODE_CHANGE /* prim whose rlc mode changes and had greater priority*/
37 } T_COMPARE_PRIM;
38
39
40 typedef enum
41 {
42 R_BUILD_2PHASE_ACCESS,
43 R_RE_ALLOC,
44 R_FIX_RE_ALLOC
45 } T_REASON_BUILD;
46
47
48
49 EXTERN BOOL tm_access_allowed ( UBYTE radio_prio );
50
51 EXTERN void tm_get_gmm_prim_queue ( void );
52 EXTERN void tm_handle_grlc_ready_ind ( void );
53 EXTERN void tm_get_llc_prim_queue ( void );
54 EXTERN void tm_ul_tbf_ind ( void );
55 EXTERN UBYTE tm_prim_queue_get_free_count ( void );
56 EXTERN void tm_abort_tbf ( T_TBF_TYPE tbf_i );
57 EXTERN void tm_data_req ( T_PRIM_TYPE prime_tpye_i,T_GRLC_DATA_REQ * ptr2prim_i);
58 EXTERN void tm_build_chan_req_des ( T_chan_req_des * out_i,T_PRIM_QUEUE * p_ptr_i );
59 EXTERN void tm_handle_error_ra ( void );
60 EXTERN void tm_build_res_req ( T_U_GRLC_RESOURCE_REQ *ptr2res_req,
61 T_REASON_BUILD reason_i);
62 EXTERN BOOL tm_store_ctrl_blk ( T_BLK_OWNER blk_owner, void *blk_struct );
63 EXTERN void tm_delete_prim_queue ( void);
64 EXTERN void tm_queue_test_mode_prim ( UBYTE pdu_num_i );
65 EXTERN void tm_send_tbf_rel ( T_TBF_TYPE );
66 EXTERN T_COMPARE_PRIM tm_compare_prim ( UBYTE new_prim_i,UBYTE position_i,BOOL *new_qos);
67 EXTERN void tm_tfi_handling ( ULONG tbf_start,
68 UBYTE tbf_type,
69 UBYTE ul_tfi,
70 BYTE dl_tfi);
71 EXTERN void tm_activate_tbf ( T_TBF_TYPE );
72 EXTERN void tm_deactivate_tbf ( T_TBF_TYPE );
73 EXTERN void tm_ini_realloc ( UBYTE start_of_new_tbf_i );
74 EXTERN void tm_init_prim ( void );
75 EXTERN void tm_start_access ( void );
76 EXTERN void tm_grlc_init ( void );
77
78
79 EXTERN void tm_cgrlc_status_ind ( UBYTE cause );
80
81 EXTERN void tm_handle_polling_bit ( ULONG st_fn, UBYTE tn );
82
83 EXTERN void tm_store_fa_bitmap (T_CGRLC_fix_alloc_struct * ptr2_fix_alloc);
84 EXTERN void tm_handle_final_alloc (UBYTE final_allocation);
85 EXTERN USHORT tm_set_fa_bitmap ( UBYTE ts_mask, T_FA_ALLOC* ptr_alloc);
86 EXTERN void tm_handle_test_mode_cnf ( BOOL v_test_mode_cnf );
87
88 /*********************************************************************************/
89
90 EXTERN void tm_prcs_pwr_ctrl ( T_CGRLC_pwr_ctrl *pwr_ctrl );
91
92 EXTERN BOOL tm_cancel_ctrl_blk ( T_BLK_OWNER blk_owner );
93 EXTERN UBYTE* tm_set_start_ctrl_blk ( UBYTE *index );
94 EXTERN T_BLK_INDEX tm_set_stop_ctrl_blk ( BOOL is_tx_success,
95 T_BLK_OWNER srch_owner,
96 T_BLK_INDEX start_idx );
97 EXTERN void tm_set_stop_tc_ctrl_blk ( void );
98 EXTERN void tm_set_stop_all_ctrl_blk ( void );
99
100 #endif /* !GRLC_TCF_H */