comparison src/g23m-fad/l2r/tra_dns.c @ 1:d393cd9bb723

src/g23m-*: initial import from Magnetite
author Mychaela Falconia <falcon@freecalypso.org>
date Sun, 15 Jul 2018 04:40:46 +0000
parents
children
comparison
equal deleted inserted replaced
0:b6a5e36de839 1:d393cd9bb723
1 /*
2 +-----------------------------------------------------------------------------
3 | Project : CSD (8411)
4 | Modul : L2r_dns.c
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 : This Modul defines the functions for processing
18 | of incomming signals for the component
19 | L2R of the base station
20 +-----------------------------------------------------------------------------
21 */
22
23 #ifndef TRA_DNS_C
24 #define TRA_DNS_C
25 #endif
26
27 #define ENTITY_L2R
28
29 /*==== INCLUDES ===================================================*/
30
31 #include <string.h>
32
33 #include "typedefs.h"
34 #include "pconst.cdg"
35 #include "vsi.h"
36 #include "macdef.h"
37 #include "custom.h"
38 #include "gsm.h"
39 #include "prim.h"
40 #include "pei.h"
41 #include "tok.h"
42 #include "dti.h"
43
44 #include "cl_ribu.h"
45 #include "tra_pei.h"
46 #include "tra.h"
47
48 /*==== CONST =======================================================*/
49
50 /*==== TYPES =======================================================*/
51
52 /*==== VAR EXPORT ==================================================*/
53
54 /*==== VAR LOCAL ===================================================*/
55
56 /*==== FUNCTIONS ===================================================*/
57
58 /*
59 +-------------------------------------------------------------------------------------
60 | Function : sig_mgt_tra_dn_dti_conn_setup
61 +-------------------------------------------------------------------------------------
62 | Description : Process signal SIG_MGT_DL_CONNECT received from process management.
63 |
64 | Parameters :
65 |
66 | Return : -
67 +-------------------------------------------------------------------------------------
68 */
69 GLOBAL void sig_mgt_tra_dn_dti_conn_setup ()
70 {
71 TRACE_FUNCTION ("sig_mgt_tra_dn_dti_conn_setup()");
72
73 switch (GET_STATE (DN))
74 {
75 case DN_INACTIVE:
76 dl_init(&tra_data->dn);
77 break;
78 }
79 }
80
81 /*
82 +-------------------------------------------------------------------------------------
83 | Function : sig_mgt_tra_dn_dti_conn_open
84 +-------------------------------------------------------------------------------------
85 | Description : Process signal SIG_MGT_DL_CONNECT received from process management.
86 |
87 | Parameters :
88 |
89 | Return : -
90 +-------------------------------------------------------------------------------------
91 */
92 GLOBAL void sig_mgt_tra_dn_dti_conn_open ()
93 {
94 TRACE_FUNCTION ("sig_mgt_tra_dn_dti_conn_open()");
95
96 switch (GET_STATE (DN))
97 {
98 case DN_INACTIVE:
99 dl_init(&tra_data->dn);
100 SET_STATE (DN, DN_IDLE);
101 break;
102 }
103 }
104
105 /*
106 +------------------------------------------------------------------------------
107 | Function : sig_mgt_tra_dn_dti_disc
108 +------------------------------------------------------------------------------
109 | Description : Process signal SIG_MGT_DL_DISC received
110 | from process management.
111 |
112 |
113 | Parameters : -
114 |
115 |
116 | Return : -
117 +------------------------------------------------------------------------------
118 */
119
120 GLOBAL void sig_mgt_tra_dn_dti_disc(void)
121 {
122 T_TRA_DN *ddl = &tra_data->dn;
123
124 TRACE_FUNCTION ("sig_mgt_tra_dn_dti_disc()");
125
126 SET_STATE (DN, DN_INACTIVE);
127
128 if (ddl->prim NEQ NULL) /* free allocated prims and their lists */
129 {
130 PFREE_DESC2(ddl->prim)
131 ddl->prim = NULL;
132 }
133 }
134
135 /*
136 +------------------------------------------------------------------------------
137 | Function : sig_any_tra_dn_send_break_req
138 +------------------------------------------------------------------------------
139 | Description : Process signal SIG_MGT_DN_SEND_BREAK_REQ received
140 | from process uplink.
141 |
142 |
143 | Parameters : -
144 |
145 |
146 | Return : -
147 +------------------------------------------------------------------------------
148 */
149
150 GLOBAL void sig_any_tra_dn_send_break_req(void)
151 {
152 T_TRA_DN *ddl = &tra_data->dn;
153
154 TRACE_FUNCTION ("sig_any_tra_dn_send_break_req");
155
156 switch (GET_STATE (DN))
157 {
158 case DN_WAIT:
159 if (ddl->Brk_dti_data_ind NEQ NULL)
160 {
161 dti_send_data(l2r_hDTI, TRA_DTI_UP_INSTANCE, TRA_DTI_UP_INTERFACE, TRA_DTI_UP_CHANNEL, ddl->Brk_dti_data_ind);
162 ddl->Brk_dti_data_ind = NULL; /* do not send it twice .. */
163 SET_STATE (DN, DN_IDLE);
164 }
165 break;
166
167 default:
168 TRACE_ERROR ("[sig_any_tra_dn_send_break_req] unexpected state");
169 break;
170 }
171 }
172
173 GLOBAL void sig_mgt_tra_dn_break_req(void)
174 {
175 T_TRA_DN *ddl = &tra_data->dn;
176
177 TRACE_FUNCTION ("sig_mgt_tra_dn_break_req()");
178
179 switch (GET_STATE (DN))
180 {
181 case DN_SEND:
182 SET_STATE (DN, DN_IDLE);
183 /* Fall through */
184
185 case DN_IDLE:
186 case DN_WAIT:
187 if (ddl->prim NEQ NULL) /* free allocated prims and their lists */
188 {
189 PFREE_DESC2(ddl->prim)
190 ddl->prim = NULL;
191 }
192 ddl->list_end = NULL;
193 ddl->sa = FL_INACTIVE;
194 ddl->sb = FL_INACTIVE;
195 ddl->x = FL_INACTIVE;
196 break;
197 }
198 }
199