view src/g23m-aci/aci/dcm_handle_message.c @ 216:2be687f4476c
default tip
l1_init.c: sync with Tourmaline: L1 recovery ABB init fix
author
Mychaela Falconia <falcon@freecalypso.org>
date
Mon, 31 Oct 2022 01:23:14 +0000 (2022-10-31)
parents
d393cd9bb723
children
line source
+ − /*
+ − +-----------------------------------------------------------------------------
+ − | Project : GSM-F&D (8411)
+ − | Modul : ACI
+ − +-----------------------------------------------------------------------------
+ − | Copyright 2002 Texas Instruments Berlin, AG
+ − | All rights reserved.
+ − |
+ − | This file is confidential and a trade secret of Texas
+ − | Instruments Berlin, AG
+ − | The receipt of or possession of this file does not convey
+ − | any rights to reproduce or disclose its contents or to
+ − | manufacture, use, or sell anything it may describe, in
+ − | whole, or in part, without the specific written consent of
+ − | Texas Instruments Berlin, AG.
+ − +-----------------------------------------------------------------------------
+ − | Description : DCM handle_msg function, which is called when DCM
+ − | receives a new message by application or rAT_function.
+ − +-----------------------------------------------------------------------------
+ − */
+ −
+ −
+ − /*********************************** INCLUDES ********************************************/
+ − #include "aci_all.h"
+ − #include "dcm.h"
+ − #include "dcm_utils.h"
+ − #include "dcm_state.h"
+ − #include "dcm_env.h"
+ −
+ − /**************************** LOCAL VARIABLE DEFINITION ***********************************/
+ − /**************************** EXTERN VARIABLE DEFINITION **********************************/
+ − extern T_DCM_ENV_CTRL_BLK *dcm_env_ctrl_blk_p;
+ −
+ − /**************************** LOCAL FUCNTION DEFINITION ***********************************/
+ − /************************** EXTERN FUCNTION DEFINITION ************************************/
+ −
+ −
+ − /******************************************************************************************
+ − * Function : dcm_handle_message
+ − * Description : Called every time DCM is in WAITING state or
+ − * When receiving message from Application or rAT_function
+ − * Parameter : T_DCM_HDR
+ − * -Pointer on the header of the message.
+ − * Return : T_DCM_RET DCM
+ − * -DCM Result : DCM_OK, DCM_NOT_READY.
+ − * History : 0001 03/09/17 CJH Created
+ − ********************************************************************************************/
+ − T_DCM_RET dcm_handle_message(T_DCM_HDR *msg_p)
+ − {
+ − T_DCM_GET_CURRENT_CONN_REQ_MSG *current_conn_info;
+ −
+ − TRACE_FUNCTION("DCM: dcm_handle_message()");
+ − dcm_display_message(msg_p->msg_id);
+ − dcm_dispay_state((U8)dcm_env_ctrl_blk_p->state[0],
+ − (U8)dcm_env_ctrl_blk_p->substate[0]);
+ −
+ − if (msg_p != NULL)
+ − {
+ − /* get current conn req is always received regardless of current state..*/
+ − if(msg_p->msg_id == DCM_GET_CURRENT_CONN_REQ_MSG)
+ − {
+ − TRACE_EVENT("DCM: DCM_GET_CURRENT_CONN_REQ_MSG");
+ − current_conn_info = (T_DCM_GET_CURRENT_CONN_REQ_MSG*)msg_p;
+ − dcm_process_get_current_conn_event(current_conn_info);
+ − return DCM_OK;
+ − }
+ − switch (dcm_env_ctrl_blk_p->state[0])
+ − {
+ − case DCM_IDLE:
+ − TRACE_EVENT("DCM: DCM_IDLE") ;
+ − /* there is no current action */
+ − return dcm_idle(msg_p);
+ −
+ − case DCM_ACTIVATING_CONN:
+ − TRACE_EVENT("DCM: DCM_ACTIVATING_CONN") ;
+ − /* An IP User have asked the opening of a connection */
+ − return dcm_activating_conn(msg_p);
+ −
+ − case DCM_CONN_ACTIVATED:
+ − TRACE_EVENT("DCM: DCM_CONN_ACTIVATED") ;
+ − /* At leat, on connection is active */
+ − return dcm_conn_activated(msg_p);
+ −
+ − case DCM_CLOSING_CONN:
+ − TRACE_EVENT("DCM: DCM_CLOSING_CONN") ;
+ − /* An IP User have asked the closing of a connection */
+ − return dcm_closing_conn(msg_p);
+ −
+ − default:
+ − TRACE_EVENT("DCM: unknown state") ;
+ − return DCM_NOT_READY;
+ − }
+ − }
+ − else
+ − {
+ − TRACE_ERROR("DCM: NULL message") ;
+ − return DCM_INVALID_PARAMETER;
+ − }
+ − }