comparison gsm-fw/g23m-gsm/mm/mm_regp.c @ 727:87cef40cf601

mm_regp.c compiles
author Michael Spacefalcon <msokolov@ivan.Harhan.ORG>
date Sat, 04 Oct 2014 22:48:18 +0000
parents 2f7df7a314f8
children
comparison
equal deleted inserted replaced
726:105ac33aa5a1 727:87cef40cf601
19 +----------------------------------------------------------------------------- 19 +-----------------------------------------------------------------------------
20 */ 20 */
21 21
22 #ifndef MM_REGP_C 22 #ifndef MM_REGP_C
23 #define MM_REGP_C 23 #define MM_REGP_C
24
25 #include "config.h"
26 #include "fixedconf.h"
27 #include "condat-features.h"
24 28
25 #define ENTITY_MM 29 #define ENTITY_MM
26 30
27 /*==== INCLUDES ===================================================*/ 31 /*==== INCLUDES ===================================================*/
28 #if defined (NEW_FRAME) 32 #if defined (NEW_FRAME)
1294 */ 1298 */
1295 1299
1296 GLOBAL void reg_send_sim_sync_req (void) 1300 GLOBAL void reg_send_sim_sync_req (void)
1297 { 1301 {
1298 GET_INSTANCE_DATA; 1302 GET_INSTANCE_DATA;
1299 PALLOC (sync_req, SIM_SYNC_REQ); 1303 PALLOC (sync_req, SIM_SYNC_REQ);
1300 sync_req->synccs = (U8)SYNC_MM_FINISHED_READING; 1304 sync_req->synccs = (U8)SYNC_MM_FINISHED_READING;
1301 PSENDX (SIM, sync_req); 1305 PSENDX (SIM, sync_req);
1302 mm_data->reg.sim_sync_req_pending = FALSE; 1306 mm_data->reg.sim_sync_req_pending = FALSE;
1303 } 1307 }
1304 1308
1305 /* 1309 /*
1306 +--------------------------------------------------------------------+ 1310 +--------------------------------------------------------------------+
1307 | PROJECT : GSM-PS (6147) MODULE : MM_REG | 1311 | PROJECT : GSM-PS (6147) MODULE : MM_REG |
1386 1390
1387 mm_data->reg.sim_ucps_at_len = 0; 1391 mm_data->reg.sim_ucps_at_len = 0;
1388 if (mm_data->reg.upd_sim_ocps_at EQ SAT_UNCHANGED) 1392 if (mm_data->reg.upd_sim_ocps_at EQ SAT_UNCHANGED)
1389 { 1393 {
1390 /* 1394 /*
1391 * EF PLMNsel can be used if indicated because EF EFPLMNwAcT reading error and 1395 * EF PLMNsel can be used if indicated because EF EFPLMNwAcT reading
1392 * EFOPLMNwAcT is not indicated. 1396 * error and EFOPLMNwAcT is not indicated.
1393 */ 1397 */
1394 mm_data->reg.sim_uocps_at_used = FALSE; 1398 mm_data->reg.sim_uocps_at_used = FALSE;
1395 } 1399 }
1396 } 1400 }
1397 break; 1401 break;
1398 case SIM_OCPS_ACTEC: 1402 case SIM_OCPS_ACTEC:
1399 /* 1403 /*
1400 * Read Operator controlled PLMN selector with access technology list. 1404 * Read Operator controlled PLMN selector with access technology list.
1401 * This can happens only after SIM insert indication indicates to read file from SIM. 1405 * This can happens only after SIM insert indication indicates to read
1406 * file from SIM.
1402 */ 1407 */
1403 mm_data->reg.upd_sim_ocps_at = SAT_UNCHANGED; 1408 mm_data->reg.upd_sim_ocps_at = SAT_UNCHANGED;
1404 if (sim_read_cnf->cause EQ SIM_NO_ERROR) 1409 if (sim_read_cnf->cause EQ SIM_NO_ERROR)
1405 { 1410 {
1406 /* 1411 /*
1407 * EF PLMNsel will not be used. PLMNsel only be used if EFs EFPLMNwAcT or EFOPLMNwAcT 1412 * EF PLMNsel will not be used. PLMNsel only be used if EFs EFPLMNwAcT
1408 * are not used. MM should not read EF SIM_PLMNSEL. 1413 * or EFOPLMNwAcT are not used. MM should not read EF SIM_PLMNSEL.
1409 */ 1414 */
1410 mm_data->reg.upd_sim_plmnsel = SAT_UNCHANGED; 1415 mm_data->reg.upd_sim_plmnsel = SAT_UNCHANGED;
1411 1416
1412 if ( mm_data->reg.sim_sync_req_pending == TRUE ) 1417 if ( mm_data->reg.sim_sync_req_pending == TRUE )
1413 { 1418 {
1418 mm_data->reg.sim_uocps_at_used = TRUE; 1423 mm_data->reg.sim_uocps_at_used = TRUE;
1419 reg_read_ocps_acctec(sim_read_cnf->trans_data, sim_read_cnf->length); 1424 reg_read_ocps_acctec(sim_read_cnf->trans_data, sim_read_cnf->length);
1420 } 1425 }
1421 else 1426 else
1422 { 1427 {
1423 /* 1428 /*
1424 * EF PLMNsel can be used if indicated and if there was any error during reading of 1429 * EF PLMNsel can be used if indicated and if there was any error
1425 * EF EFPLMNwAcT. 1430 * during reading of EF EFPLMNwAcT.
1426 */ 1431 */
1427 TRACE_EVENT_P2 ("SIM read cnf error file:%x, cause:%x", 1432 TRACE_EVENT_P2 ("SIM read cnf error file:%x, cause:%x",
1428 SIM_OCPS_ACTEC, sim_read_cnf->cause); 1433 SIM_OCPS_ACTEC, sim_read_cnf->cause);
1429 } 1434 }
1430 break; 1435 break;
1431 #endif 1436 #endif
1504 { 1509 {
1505 /* All changed SIM files read */ 1510 /* All changed SIM files read */
1506 /* Acknowledge completion of file update */ 1511 /* Acknowledge completion of file update */
1507 /* SIM_FILE_UPDATE_RES should be sent immediately after response 1512 /* SIM_FILE_UPDATE_RES should be sent immediately after response
1508 from SIM : Issue 23561*/ 1513 from SIM : Issue 23561*/
1509 if(mm_data->reg.sim_file_upd_ind_rec) 1514 if(mm_data->reg.sim_file_upd_ind_rec)
1510 { 1515 {
1511
1512 PALLOC (update_res, SIM_FILE_UPDATE_RES); /* T_SIM_FILE_UPDATE_RES */ 1516 PALLOC (update_res, SIM_FILE_UPDATE_RES); /* T_SIM_FILE_UPDATE_RES */
1513 update_res->source = SRC_MM; 1517 update_res->source = SRC_MM;
1514 update_res->fu_rsc = SIM_FU_SUCCESS; 1518 update_res->fu_rsc = SIM_FU_SUCCESS;
1515 PSENDX (SIM, update_res); 1519 PSENDX (SIM, update_res);
1516 mm_data->reg.sim_file_upd_ind_rec = FALSE; 1520 mm_data->reg.sim_file_upd_ind_rec = FALSE;
1536 1540
1537 /* Inform RR about changes by SAT */ 1541 /* Inform RR about changes by SAT */
1538 mm_build_rr_sync_req_cause (SYNCCS_ACCC); 1542 mm_build_rr_sync_req_cause (SYNCCS_ACCC);
1539 } 1543 }
1540 1544
1541
1542 if (mm_data->reg.upd_sim_hplmn NEQ SAT_UNCHANGED) 1545 if (mm_data->reg.upd_sim_hplmn NEQ SAT_UNCHANGED)
1543 { 1546 {
1544 if (mm_data->first_attach_mem AND 1547 if (mm_data->first_attach_mem AND
1545 mm_data->reg.thplmn NEQ 0) 1548 mm_data->reg.thplmn NEQ 0)
1546 { 1549 {
1554 reg_stop_hplmn_tim (); 1557 reg_stop_hplmn_tim ();
1555 reg_check_hplmn_tim(mm_data->reg.thplmn); 1558 reg_check_hplmn_tim(mm_data->reg.thplmn);
1556 } 1559 }
1557 }/*end of mm_data->reg.upd_sim_hplmn*/ 1560 }/*end of mm_data->reg.upd_sim_hplmn*/
1558 1561
1559
1560 if (mm_data->reg.upd_sim_act_hplmn NEQ SAT_UNCHANGED ) 1562 if (mm_data->reg.upd_sim_act_hplmn NEQ SAT_UNCHANGED )
1561 { 1563 {
1562 BOOL valid_ahplmn= FALSE; 1564 BOOL valid_ahplmn= FALSE;
1563 valid_ahplmn = valid_acting_hplmn(&mm_data->reg.acting_hplmn); 1565 valid_ahplmn = valid_acting_hplmn(&mm_data->reg.acting_hplmn);
1564 mm_build_rr_sync_hplmn_req(); 1566 mm_build_rr_sync_hplmn_req();
1576 1578
1577 /*Inform ACI of the new AHPLMN value*/ 1579 /*Inform ACI of the new AHPLMN value*/
1578 mm_mmgmm_ahplmn_ind(&mm_data->reg.acting_hplmn); 1580 mm_mmgmm_ahplmn_ind(&mm_data->reg.acting_hplmn);
1579 1581
1580 /* Delete any Equivalent PLMN list */ 1582 /* Delete any Equivalent PLMN list */
1581 reg_clear_plmn_list (mm_data->reg.eqv_plmns.eqv_plmn_list, EPLMNLIST_SIZE); 1583 reg_clear_plmn_list (mm_data->reg.eqv_plmns.eqv_plmn_list,
1582 1584 EPLMNLIST_SIZE);
1583 1585
1584 /* If AHPLMN value read from SIM is same as the RPLMN then inform 1586 /* If AHPLMN value read from SIM is same as the RPLMN then inform
1585 * RR about it. No need of registering again. Set the flag 1587 * RR about it. No need of registering again. Set the flag
1586 * to true so that hplmn will now be taken from this 1588 * to true so that hplmn will now be taken from this
1587 */ 1589 */
1588 if (reg_plmn_equal_rplmn(&mm_data->reg.acting_hplmn)) 1590 if (reg_plmn_equal_rplmn(&mm_data->reg.acting_hplmn))
1633 check_if_cingular_sim(); /*for cingular only 31179*/ 1635 check_if_cingular_sim(); /*for cingular only 31179*/
1634 }/*end of mm_data->reg.upd_sim_act_hplmn*/ 1636 }/*end of mm_data->reg.upd_sim_act_hplmn*/
1635 }/*end of reg_read_next_sim_file*/ 1637 }/*end of reg_read_next_sim_file*/
1636 }/*end of reg_sim_read_cnf*/ 1638 }/*end of reg_sim_read_cnf*/
1637 1639
1638
1639 #endif 1640 #endif
1640