FreeCalypso > hg > fc-tourmaline
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 |
