FreeCalypso > hg > fc-tourmaline
comparison src/g23m-gprs/sm/sm_upm_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 |
comparison
equal
deleted
inserted
replaced
0:4e78acac3d88 | 1:fa8dc04885d8 |
---|---|
1 /*---------------------------------------------------------------------------- | |
2 | Project : 3G PS | |
3 | Module : SM | |
4 +----------------------------------------------------------------------------- | |
5 | Copyright 2003 Texas Instruments. | |
6 | All rights reserved. | |
7 | | |
8 | This file is confidential and a trade secret of Texas | |
9 | Instruments . | |
10 | The receipt of or possession of this file does not convey | |
11 | any rights to reproduce or disclose its contents or to | |
12 | manufacture, use, or sell anything it may describe, in | |
13 | whole, or in part, without the specific written consent of | |
14 | Texas Instruments. | |
15 +----------------------------------------------------------------------------- | |
16 | Purpose: Output functions for primitives from SM to the UPM entity. | |
17 | For design details, see: | |
18 | 8010.908 SM Detailed Specification | |
19 +---------------------------------------------------------------------------*/ | |
20 | |
21 /*==== DECLARATION CONTROL =================================================*/ | |
22 | |
23 /*==== INCLUDES ============================================================*/ | |
24 | |
25 #include "sm.h" | |
26 | |
27 #include "sm_upm_output_handler.h" | |
28 #include "sm_qos.h" | |
29 | |
30 /*==== CONSTS ===============================================================*/ | |
31 | |
32 /*==== TYPES ================================================================*/ | |
33 | |
34 /*==== LOCALS ===============================================================*/ | |
35 | |
36 /*==== PUBLIC FUNCTIONS =====================================================*/ | |
37 | |
38 /* | |
39 +------------------------------------------------------------------------------ | |
40 | Function : send_sm_activate_started_ind | |
41 +------------------------------------------------------------------------------ | |
42 | Description : Allocate, pack and send SM_ACTIVATE_STARTED_IND primitive. | |
43 | | |
44 | Parameters : context - Pointer to context data | |
45 +------------------------------------------------------------------------------ | |
46 */ | |
47 void send_sm_activate_started_ind(struct T_SM_CONTEXT_DATA *context) | |
48 { | |
49 (void)TRACE_FUNCTION("send_sm_activate_started_ind"); | |
50 | |
51 { | |
52 PALLOC(prim, SM_ACTIVATE_STARTED_IND); | |
53 | |
54 /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
55 prim->nsapi = context->nsapi; | |
56 prim->rat = sm_get_current_rat(); | |
57 | |
58 (void)PSEND(hCommUPM, prim); | |
59 /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
60 } | |
61 } | |
62 | |
63 /* | |
64 +------------------------------------------------------------------------------ | |
65 | Function : send_sm_activate_ind | |
66 +------------------------------------------------------------------------------ | |
67 | Description : Allocate, pack and send SM_ACTIVATE_IND primitive. | |
68 | | |
69 | Parameters : context - Pointer to context data | |
70 +------------------------------------------------------------------------------ | |
71 */ | |
72 void send_sm_activate_ind(struct T_SM_CONTEXT_DATA *context) | |
73 { | |
74 (void)TRACE_FUNCTION("send_sm_activate_ind"); | |
75 | |
76 { | |
77 PALLOC(prim, SM_ACTIVATE_IND); | |
78 | |
79 /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
80 prim->nsapi = context->nsapi; | |
81 prim->sapi = context->sapi; | |
82 prim->radio_prio = context->radio_prio; | |
83 if (sm_is_pfi_included(context)) { | |
84 prim->pkt_flow_id = context->pfi; | |
85 } else { | |
86 prim->pkt_flow_id = (U8)PS_PKT_FLOW_ID_NOT_PRES; | |
87 } | |
88 sm_qos_copy_from_sm(&prim->qos, &context->accepted_qos, &prim->ctrl_qos); | |
89 | |
90 if ((context->flags & SM_CONTEXT_FLAG_COMP_PARAMS) != (U8)0) { | |
91 prim->v_comp_params = (U8)TRUE; | |
92 memcpy(&prim->comp_params, &context->comp_params, sizeof(T_NAS_comp_params)); | |
93 } else { | |
94 prim->v_comp_params = (U8)FALSE; | |
95 } | |
96 | |
97 (void)PSEND(hCommUPM, prim); | |
98 /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
99 } | |
100 } | |
101 | |
102 /* | |
103 +------------------------------------------------------------------------------ | |
104 | Function : send_sm_deactivate_ind | |
105 +------------------------------------------------------------------------------ | |
106 | Description : Allocate, pack and send SM_DEACTIVATE_IND primitive. | |
107 | | |
108 | Parameters : context - Pointer to context data | |
109 +------------------------------------------------------------------------------ | |
110 */ | |
111 void send_sm_deactivate_ind(U16 nsapi_set, T_PS_rel_ind rel_ind) | |
112 { | |
113 (void)TRACE_FUNCTION("send_sm_deactivate_ind"); | |
114 | |
115 { | |
116 PALLOC(prim, SM_DEACTIVATE_IND); | |
117 | |
118 /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
119 prim->nsapi_set = nsapi_set; | |
120 prim->rel_ind = (U8)rel_ind; | |
121 | |
122 (void)PSEND(hCommUPM, prim); | |
123 /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
124 } | |
125 } | |
126 | |
127 /* | |
128 +------------------------------------------------------------------------------ | |
129 | Function : send_sm_modify_ind | |
130 +------------------------------------------------------------------------------ | |
131 | Description : Allocate, pack and send SM_MODIFY_IND primitive. | |
132 | | |
133 | Parameters : context - Pointer to context data | |
134 +------------------------------------------------------------------------------ | |
135 */ | |
136 void send_sm_modify_ind(struct T_SM_CONTEXT_DATA *context) | |
137 { | |
138 (void)TRACE_FUNCTION("send_sm_modify_ind"); | |
139 | |
140 { | |
141 PALLOC(prim, SM_MODIFY_IND); | |
142 | |
143 /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
144 prim->nsapi = context->nsapi; | |
145 prim->sapi = context->sapi; | |
146 prim->radio_prio = context->radio_prio; | |
147 if (sm_is_pfi_included(context)) { | |
148 prim->pkt_flow_id = context->pfi; | |
149 } else { | |
150 prim->pkt_flow_id = (U8)PS_PKT_FLOW_ID_NOT_PRES; | |
151 } | |
152 sm_qos_copy_from_sm(&prim->qos, &context->accepted_qos, &prim->ctrl_qos); | |
153 | |
154 (void)PSEND(hCommUPM, prim); | |
155 /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ | |
156 } | |
157 } | |
158 | |
159 /*==== END OF FILE ==========================================================*/ |