197
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
1 /*----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
2 | Project : 3G PS
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
3 | Module : UPM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
4 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
5 | Copyright 2003 Texas Instruments.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
6 | All rights reserved.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
7 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
8 | This file is confidential and a trade secret of Texas
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
9 | Instruments .
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
10 | The receipt of or possession of this file does not convey
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
11 | any rights to reproduce or disclose its contents or to
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
12 | manufacture, use, or sell anything it may describe, in
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
13 | whole, or in part, without the specific written consent of
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
14 | Texas Instruments.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
15 +-----------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
16 | Purpose: Utility functions for the UPM entity.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
17 | For design details, see:
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
18 | 8010.939 UPM Detailed Specification
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
19 +---------------------------------------------------------------------------*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
20
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
21 /*==== DECLARATION CONTROL =================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
22
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
23 /*==== INCLUDES ============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
24
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
25 #include "upm.h"
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
26
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
27 /*==== CONSTS ===============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
28
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
29 /*==== TYPES ================================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
30
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
31 T_UPM_DATA upm_data;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
32
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
33 /*==== LOCALS ===============================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
34
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
35 /*==== PUBLIC FUNCTIONS =====================================================*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
36
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
37 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
38 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
39 | Function : upm_pfree
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
40 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
41 | Description : PFREE macro replacement
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
42 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
43 | Parameters : data - memory to free
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
44 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
45 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
46 void upm_pfree(/*@only@*/ /*@null@*/ /*@out@*/ void *data)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
47 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
48 if (data != NULL)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
49 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
50 vsi_c_pfree((T_VOID_STRUCT **)&data FILE_LINE_MACRO);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
51 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
52 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
53
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
54 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
55 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
56 | Function : upm_mfree
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
57 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
58 | Description : Wrapper for MFREE macro.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
59 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
60 | Parameters : data - memory to free (NULL allowed)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
61 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
62 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
63 void upm_mfree(/*@only@*/ /*@out@*/ /*@null@*/ void *data)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
64 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
65 if (data != NULL) {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
66 MFREE(data);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
67 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
68 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
69
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
70 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
71 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
72 | Function : upm_nsapi2nsapi_set
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
73 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
74 | Description : Return nsapi_set corresponding to NSAPI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
75 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
76 | Parameters : nsapi - NSAPI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
77 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
78 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
79 U16 upm_nsapi2nsapi_set(int /*@alt U8@*/ nsapi) /*@*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
80 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
81 TRACE_ASSERT ((T_NAS_nsapi)nsapi >= NAS_NSAPI_5 && nsapi <= NAS_NSAPI_15);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
82
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
83 return (U16)(1UL << (U16)nsapi);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
84 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
85
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
86 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
87 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
88 | Function : upm_get_context_data_from_nsapi
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
89 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
90 | Description : Returns context data structure associated with indicated NSAPI.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
91 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
92 | Parameters : nsapi - NSAPI index
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
93 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
94 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
95 /*@null@*/ /*@exposed@*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
96 struct T_CONTEXT_DATA *upm_get_context_data_from_nsapi(int /*@alt U8@*/ nsapi)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
97 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
98 TRACE_ASSERT (((T_NAS_nsapi)nsapi >= NAS_NSAPI_5 && nsapi <= NAS_NSAPI_15));
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
99
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
100 /*lint -e{661} upm_context_array causes out of bounds access, it does not! */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
101 return (upm_data.upm_context_array[nsapi - (int)NAS_NSAPI_5]);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
102 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
103
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
104 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
105 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
106 | Function : upm_assign_context_data_to_nsapi
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
107 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
108 | Description : Assign context data structure to global context array.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
109 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
110 | Parameters : ptr_context_data - Pointer to context data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
111 | nsapi - NSAPI index
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
112 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
113 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
114 void upm_assign_context_data_to_nsapi(/*@keep@*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
115 struct T_CONTEXT_DATA *ptr_context_data,
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
116 int /*@alt U8@*/ nsapi)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
117 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
118 (void)TRACE_EVENT_P2("upm_assign_context_data_to_nsapi: NSAPI%3d = %p", nsapi, ptr_context_data);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
119
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
120 TRACE_ASSERT ((T_NAS_nsapi)nsapi >= NAS_NSAPI_5 && nsapi <= NAS_NSAPI_15);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
121
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
122 /*lint -e{661} upm_context_array causes out of bounds access, it does not! */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
123 upm_data.upm_context_array[nsapi - (int)NAS_NSAPI_5] = ptr_context_data;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
124 ptr_context_data->nsapi = nsapi;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
125 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
126
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
127 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
128 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
129 | Function : upm_free_context_data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
130 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
131 | Description : Free context data structure associated with indicated NSAPI.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
132 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
133 | Parameters : nsapi - NSAPI index
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
134 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
135 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
136 void upm_free_context_data(int /*@alt U8@*/ nsapi)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
137 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
138 TRACE_ASSERT ((T_NAS_nsapi)nsapi >= NAS_NSAPI_5 && nsapi <= NAS_NSAPI_15);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
139
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
140 /*lint -e661 (upm_context_array causes out of bounds access, it does not!) */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
141 if ( upm_data.upm_context_array[nsapi - (int)NAS_NSAPI_5] != NULL ) {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
142 upm_mfree(upm_data.upm_context_array[nsapi - (int)NAS_NSAPI_5]);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
143 upm_data.upm_context_array[nsapi - (int)NAS_NSAPI_5] = NULL;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
144 /*lint +e661 (upm_context_array causes out of bounds access, it does not!) */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
145 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
146 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
147
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
148 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
149 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
150 | Function : upm_check_for_released_context_and_release
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
151 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
152 | Description : Check whether a context is released (both link and DTI
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
153 | connections released), and if so, freee context data structure
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
154 | associated with indicated NSAPI.
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
155 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
156 | Parameters : nsapi - NSAPI index
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
157 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
158 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
159 void upm_check_for_released_context_and_release(struct T_CONTEXT_DATA *context)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
160 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
161 if (upm_is_link_released(context)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
162 #ifndef UPM_WITHOUT_USER_PLANE
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
163 && upm_is_dti_disconnected(context)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
164 #endif
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
165 )
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
166 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
167 U8 nsapi = context->nsapi;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
168
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
169 upm_free_context_data(nsapi);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
170 (void)TRACE_EVENT_P1("upm_check_for_released_context_and_release on NSAPI %d: Context data freed...", nsapi);
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
171 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
172 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
173
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
174 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
175 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
176 | Function : upm_get_current_rat
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
177 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
178 | Description : Returns the RAT in which UPM is currently active
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
179 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
180 | Parameters : None
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
181 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
182 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
183 #ifdef TI_DUAL_MODE
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
184 T_PS_rat upm_get_current_rat(void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
185 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
186 return upm_data.upm_rat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
187 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
188 #endif /* TI_DUAL_MODE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
189
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
190 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
191 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
192 | Function : upm_set_current_rat
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
193 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
194 | Description : Sets currently active RAT
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
195 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
196 | Parameters : rat - RAT received from SM or MM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
197 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
198 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
199 #ifdef TI_DUAL_MODE
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
200 void upm_set_current_rat(T_PS_rat rat)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
201 /*@modifies upm_data.upm_rat@*/
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
202 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
203 upm_data.upm_rat = rat;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
204 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
205 #endif /* TI_DUAL_MODE */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
206
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
207 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
208 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
209 | Function : upm_ll_entity_test
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
210 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
211 | Description : Returns TRUE if upm_ll_entity_test is set in UPM data struct
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
212 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
213 | Parameters : None
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
214 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
215 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
216 BOOL upm_ll_entity_test(void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
217 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
218 return upm_data.upm_ll_entity_test;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
219 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
220
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
221 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
222 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
223 | Function : upm_activate_ll_entity_test
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
224 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
225 | Description : Enables lower layer stubs for entity test
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
226 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
227 | Parameters : None
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
228 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
229 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
230 void upm_activate_ll_entity_test(void)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
231 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
232 upm_data.upm_ll_entity_test = TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
233 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
234
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
235 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
236 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
237 | Function : upm_set_sequence_number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
238 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
239 | Description : Stores the receive sequence number from MM for later retrieval
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
240 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
241 | Parameters : ptr_context_data - Context data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
242 | seq_no - Receive sequence number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
243 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
244 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
245 void upm_set_sequence_number(struct T_CONTEXT_DATA *ptr_context_data, U8 seq_no)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
246 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
247 (void)TRACE_FUNCTION("upm_set_sequence_number");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
248
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
249 ptr_context_data->seq_nos_valid = (U8)TRUE;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
250 ptr_context_data->recv_seq_no = seq_no;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
251 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
252
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
253 /*
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
254 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
255 | Function : upm_get_sequence_number
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
256 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
257 | Description : Retrieves the receive sequence number previously gotten from MM
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
258 |
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
259 | Parameters : ptr_context_data - Context data
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
260 +------------------------------------------------------------------------------
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
261 */
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
262 U8 upm_get_sequence_number(struct T_CONTEXT_DATA *ptr_context_data)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
263 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
264 (void)TRACE_FUNCTION("upm_get_sequence_number");
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
265
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
266 if (ptr_context_data->seq_nos_valid != (U8)0)
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
267 {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
268 ptr_context_data->seq_nos_valid = (U8)0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
269 return ptr_context_data->recv_seq_no;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
270 } else {
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
271 return (U8)0;
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
272 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
273 }
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
274
|
Mychaela Falconia <falcon@freecalypso.org>
parents:
diff
changeset
|
275 /*==== END OF FILE ==========================================================*/
|