comparison src/g23m-aci/aci/psa_dcms.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 +-----------------------------------------------------------------------------
3 | Project : DCM and TCPIP
4 | Modul : ACI
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 :
18 +-----------------------------------------------------------------------------
19 */
20 #ifndef PSA_DCMS_C
21 #define PSA_DCMS_C
22 #endif
23
24 /*==== INCLUDES ===================================================*/
25 #include "aci_all.h"
26 #include "psa_dcm.h"
27 #include "socket_int.h"
28
29 /*==== CONSTANTS ==================================================*/
30
31 /*==== TYPES ======================================================*/
32
33 /*==== EXPORT =====================================================*/
34
35 /*==== VARIABLES ==================================================*/
36
37 /*==== FUNCTIONS ==================================================*/
38
39 /***************************************************************************************
40 * Function : psaDCM_open_conn_cnf
41 * Parameter : T_DCM_RET
42 * - dcm result
43 * T_APPLI_USER
44 * - application user id
45 * Return : BOOL
46 * if sending primitive is sucessful , return TREU , otherwise return FALSE
47 * Description : send dcm open conn cnf primitive to application
48 ***************************************************************************************/
49 GLOBAL BOOL psaDCM_open_conn_cnf(T_DCM_RET result, T_SOCK_API_INSTANCE api_instance)
50 {
51 T_SOCK_API_INSTANCE_DATA* api_data;
52
53 TRACE_FUNCTION("DCM: psaDCM_open_conn_cnf()");
54 TRACE_EVENT_P1("DCM: result %d",result);
55
56 /* set api_data */
57 api_data = (T_SOCK_API_INSTANCE_DATA*)api_instance;
58 {
59 PALLOC(dcm_open_conn_cnf, DCM_OPEN_CONN_CNF);
60 dcm_open_conn_cnf->result = result;
61 PSEND(api_data->hCommAPP, dcm_open_conn_cnf);
62 }
63 return TRUE;
64 }
65
66
67 /***************************************************************************************
68 * Function : psaDCM_close_conn_cnf
69 * Parameter : T_DCM_RET
70 * - dcm result
71 * T_APPLI_USER
72 * - application user id
73 * Return : BOOL
74 if sending primitive is sucessful , return TREU , otherwise return FALSE
75 * Description : send dcm cloes conn cnf primitive to application
76 ***************************************************************************************/
77 GLOBAL BOOL psaDCM_close_conn_cnf(T_DCM_RET result, T_SOCK_API_INSTANCE api_instance)
78 {
79 T_SOCK_API_INSTANCE_DATA* api_data;
80
81 TRACE_FUNCTION("DCM: psaDCM_close_conn_cnf()");
82
83 /* set api_data */
84 api_data = (T_SOCK_API_INSTANCE_DATA*)api_instance;
85 {
86 PALLOC(dcm_close_conn_cnf, DCM_CLOSE_CONN_CNF);
87 dcm_close_conn_cnf->result = result;
88 PSEND(api_data->hCommAPP, dcm_close_conn_cnf);
89 }
90 return TRUE;
91
92 }
93
94
95 /***************************************************************************************
96 * Function : psaDCM_get_current_conn_cnf
97 * Parameter : T_DCM_RET
98 * - dcm result
99 * T_APPLI_USER
100 * - application user id
101 * Return : BOOL
102 * if sending primitive is sucessful , return TREU , otherwise return FALSE
103 * Description : send dcm get current conn cnf primitive to application
104 ***************************************************************************************/
105 GLOBAL BOOL psaDCM_get_current_conn_cnf(T_DCM_RET result,
106 T_SOCK_API_INSTANCE api_instance,
107 T_DCM_ENV_CTRL_BLK *dcm_evt_blk)
108 {
109 U8 row;
110 T_SOCK_API_INSTANCE_DATA* api_data;
111
112 TRACE_FUNCTION("DCM: psaDCM_get_current_conn_cnf()");
113
114 /* set api_data */
115 api_data = (T_SOCK_API_INSTANCE_DATA*)api_instance;
116
117 row = dcm_evt_blk->current_row;
118 {
119 PALLOC(dcm_get_current_conn_cnf, DCM_GET_CURRENT_CONN_CNF);
120 dcm_get_current_conn_cnf->result = result;
121
122 if(result == DCM_OK)
123 {
124 /* current connected user infomation*/
125 dcm_get_current_conn_cnf->dcm_info_conn.bearer_handle =
126 dcm_evt_blk->ipu_list[row].bearer_handle;
127 dcm_get_current_conn_cnf->dcm_info_conn.app_handle =
128 dcm_evt_blk->ipu_list[row].app_handle;
129 dcm_get_current_conn_cnf->dcm_info_conn.bearer_type =
130 dcm_evt_blk->ipu_list[row].bearer_type;
131 dcm_get_current_conn_cnf->dcm_info_conn.apn_valid =
132 dcm_evt_blk->ipu_list[row].apn_valid;
133 memcpy(dcm_get_current_conn_cnf->dcm_info_conn.apn,
134 dcm_evt_blk->ipu_list[row].apn , (CDCM_APN_MAX_LEN + 1) );
135 dcm_get_current_conn_cnf->dcm_info_conn.phone_number_valid =
136 dcm_evt_blk->ipu_list[row].phone_number_valid;
137 memcpy(dcm_get_current_conn_cnf->dcm_info_conn.phone_number,
138 dcm_evt_blk->ipu_list[row].phone_number, (CDCM_PHONE_NR_LEN + 1) );
139 dcm_get_current_conn_cnf->dcm_info_conn.user_id_valid =
140 dcm_evt_blk->ipu_list[row].user_id_valid;
141 memcpy(dcm_get_current_conn_cnf->dcm_info_conn.user_id,
142 dcm_evt_blk->ipu_list[row].user_id, (CDCM_USER_MAX_LEN + 1) );
143 dcm_get_current_conn_cnf->dcm_info_conn.password_valid =
144 dcm_evt_blk->ipu_list[row].password_valid;
145 memcpy(dcm_get_current_conn_cnf->dcm_info_conn.password,
146 dcm_evt_blk->ipu_list[row].password, (CDCM_PASSWORD_MAX_LEN + 1) );
147 dcm_get_current_conn_cnf->dcm_info_conn.cid =
148 dcm_evt_blk->ipu_list[row].cid;
149 dcm_get_current_conn_cnf->dcm_info_conn.ip_address =
150 dcm_evt_blk->ipu_list[row].ip_address;
151 dcm_get_current_conn_cnf->dcm_info_conn.dns1 =
152 dcm_evt_blk->ipu_list[row].dns1;
153 dcm_get_current_conn_cnf->dcm_info_conn.dns2 =
154 dcm_evt_blk->ipu_list[row].dns2;
155 dcm_get_current_conn_cnf->dcm_info_conn.gateway =
156 dcm_evt_blk->ipu_list[row].gateway;
157 dcm_get_current_conn_cnf->dcm_info_conn.auth_type =
158 dcm_evt_blk->ipu_list[row].auth_type;
159 dcm_get_current_conn_cnf->dcm_info_conn.data_compr =
160 dcm_evt_blk->ipu_list[row].data_compr;
161 dcm_get_current_conn_cnf->dcm_info_conn.header_compr =
162 dcm_evt_blk->ipu_list[row].header_compr;
163 dcm_get_current_conn_cnf->dcm_info_conn.precedence =
164 dcm_evt_blk->ipu_list[row].precedence;
165 dcm_get_current_conn_cnf->dcm_info_conn.delay =
166 dcm_evt_blk->ipu_list[row].delay;
167 dcm_get_current_conn_cnf->dcm_info_conn.reliability =
168 dcm_evt_blk->ipu_list[row].reliability;
169 dcm_get_current_conn_cnf->dcm_info_conn.peak_throughput =
170 dcm_evt_blk->ipu_list[row].peak_throughput;
171 dcm_get_current_conn_cnf->dcm_info_conn.mean_throughput =
172 dcm_evt_blk->ipu_list[row].mean_throughput;
173 dcm_get_current_conn_cnf->dcm_info_conn.shareable =
174 dcm_evt_blk->ipu_list[row].shareable;
175 }
176 PSEND(api_data->hCommAPP, dcm_get_current_conn_cnf);
177 }
178 return TRUE;
179 }
180
181
182 /***************************************************************************************
183 * Function : psaDCM_error_ind
184 * Parameter : T_DCM_STATUS_IND_MSG *
185 * - dcm error indication msg
186 * T_APPLI_USER
187 * - application user id
188 * Return : BOOL
189 * if sending primitive is sucessful , return TRUE , otherwise return FALSE
190 * Description : send error ind primitive to application
191 ***************************************************************************************/
192 extern BOOL is_netdrop ;
193 GLOBAL BOOL psaDCM_error_ind(T_DCM_STATUS_IND_MSG* dcm_error_ind_msg,
194 T_SOCK_API_INSTANCE api_instance )
195 {
196 T_SOCK_API_INSTANCE_DATA* api_data;
197
198 TRACE_FUNCTION("DCM: psaDCM_error_ind()");
199
200 /* set api_data */
201 api_data = (T_SOCK_API_INSTANCE_DATA*)api_instance;
202 {
203 PALLOC(dcm_error_ind, DCM_ERROR_IND);
204 if( is_netdrop==TRUE) //pinghua added
205 {
206 dcm_error_ind->dcm_err = 99 ;
207 dcm_error_ind->result = 99;
208 is_netdrop=FALSE ;
209 }
210 else
211 {
212 dcm_error_ind->dcm_err = dcm_error_ind_msg->error;
213
214 dcm_error_ind->result = DCM_PS_CONN_BROKEN;
215 } //pinghua add end
216 PSEND(api_data->hCommAPP, dcm_error_ind);
217 }
218 return TRUE;
219 }
220