FreeCalypso > hg > fc-magnetite
annotate src/g23m-aci/aci/dcm_handle_message.c @ 266:692f565226ef
components/main-init compilation recipe created
| author | Mychaela Falconia <falcon@freecalypso.org> | 
|---|---|
| date | Sat, 05 Aug 2017 02:11:22 +0000 | 
| parents | 53929b40109c | 
| children | 
| rev | line source | 
|---|---|
| 162 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 1 /* | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 2 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 3 | Project : GSM-F&D (8411) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 4 | Modul : ACI | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 5 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 6 | Copyright 2002 Texas Instruments Berlin, AG | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 7 | All rights reserved. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 8 | | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 9 | This file is confidential and a trade secret of Texas | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 10 | Instruments Berlin, AG | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 11 | The receipt of or possession of this file does not convey | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 12 | any rights to reproduce or disclose its contents or to | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 13 | manufacture, use, or sell anything it may describe, in | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 14 | whole, or in part, without the specific written consent of | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 15 | Texas Instruments Berlin, AG. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 16 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 17 | Description : DCM handle_msg function, which is called when DCM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 18 | receives a new message by application or rAT_function. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 19 +----------------------------------------------------------------------------- | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 20 */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 21 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 22 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 23 /*********************************** INCLUDES ********************************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 24 #include "aci_all.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 25 #include "dcm.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 26 #include "dcm_utils.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 27 #include "dcm_state.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 28 #include "dcm_env.h" | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 29 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 30 /**************************** LOCAL VARIABLE DEFINITION ***********************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 31 /**************************** EXTERN VARIABLE DEFINITION **********************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 32 extern T_DCM_ENV_CTRL_BLK *dcm_env_ctrl_blk_p; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 33 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 34 /**************************** LOCAL FUCNTION DEFINITION ***********************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 35 /************************** EXTERN FUCNTION DEFINITION ************************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 36 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 37 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 38 /****************************************************************************************** | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 39 * Function : dcm_handle_message | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 40 * Description : Called every time DCM is in WAITING state or | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 41 * When receiving message from Application or rAT_function | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 42 * Parameter : T_DCM_HDR | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 43 * -Pointer on the header of the message. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 44 * Return : T_DCM_RET DCM | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 45 * -DCM Result : DCM_OK, DCM_NOT_READY. | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 46 * History : 0001 03/09/17 CJH Created | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 47 ********************************************************************************************/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 48 T_DCM_RET dcm_handle_message(T_DCM_HDR *msg_p) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 49 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 50 T_DCM_GET_CURRENT_CONN_REQ_MSG *current_conn_info; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 51 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 52 TRACE_FUNCTION("DCM: dcm_handle_message()"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 53 dcm_display_message(msg_p->msg_id); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 54 dcm_dispay_state((U8)dcm_env_ctrl_blk_p->state[0], | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 55 (U8)dcm_env_ctrl_blk_p->substate[0]); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 56 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 57 if (msg_p != NULL) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 58 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 59 /* get current conn req is always received regardless of current state..*/ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 60 if(msg_p->msg_id == DCM_GET_CURRENT_CONN_REQ_MSG) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 61 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 62 TRACE_EVENT("DCM: DCM_GET_CURRENT_CONN_REQ_MSG"); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 63 current_conn_info = (T_DCM_GET_CURRENT_CONN_REQ_MSG*)msg_p; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 64 dcm_process_get_current_conn_event(current_conn_info); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 65 return DCM_OK; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 66 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 67 switch (dcm_env_ctrl_blk_p->state[0]) | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 68 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 69 case DCM_IDLE: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 70 TRACE_EVENT("DCM: DCM_IDLE") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 71 /* there is no current action */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 72 return dcm_idle(msg_p); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 73 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 74 case DCM_ACTIVATING_CONN: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 75 TRACE_EVENT("DCM: DCM_ACTIVATING_CONN") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 76 /* An IP User have asked the opening of a connection */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 77 return dcm_activating_conn(msg_p); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 78 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 79 case DCM_CONN_ACTIVATED: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 80 TRACE_EVENT("DCM: DCM_CONN_ACTIVATED") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 81 /* At leat, on connection is active */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 82 return dcm_conn_activated(msg_p); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 83 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 84 case DCM_CLOSING_CONN: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 85 TRACE_EVENT("DCM: DCM_CLOSING_CONN") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 86 /* An IP User have asked the closing of a connection */ | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 87 return dcm_closing_conn(msg_p); | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 88 | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 89 default: | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 90 TRACE_EVENT("DCM: unknown state") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 91 return DCM_NOT_READY; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 92 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 93 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 94 else | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 95 { | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 96 TRACE_ERROR("DCM: NULL message") ; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 97 return DCM_INVALID_PARAMETER; | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 98 } | 
| 
53929b40109c
src/g23m-aci: initial import from TCS3.2/LoCosto
 Mychaela Falconia <falcon@freecalypso.org> parents: diff
changeset | 99 } | 
