FreeCalypso > hg > fc-magnetite
view src/g23m-gprs/sm/sm_upm_output_handler.c @ 337:0df0668f8bea
FCHG: task core function implemented
author | Mychaela Falconia <falcon@freecalypso.org> |
---|---|
date | Thu, 14 Dec 2017 21:47:40 +0000 |
parents | 219afcfc6250 |
children |
line wrap: on
line source
/*---------------------------------------------------------------------------- | Project : 3G PS | Module : SM +----------------------------------------------------------------------------- | Copyright 2003 Texas Instruments. | All rights reserved. | | This file is confidential and a trade secret of Texas | Instruments . | 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. +----------------------------------------------------------------------------- | Purpose: Output functions for primitives from SM to the UPM entity. | For design details, see: | 8010.908 SM Detailed Specification +---------------------------------------------------------------------------*/ /*==== DECLARATION CONTROL =================================================*/ /*==== INCLUDES ============================================================*/ #include "sm.h" #include "sm_upm_output_handler.h" #include "sm_qos.h" /*==== CONSTS ===============================================================*/ /*==== TYPES ================================================================*/ /*==== LOCALS ===============================================================*/ /*==== PUBLIC FUNCTIONS =====================================================*/ /* +------------------------------------------------------------------------------ | Function : send_sm_activate_started_ind +------------------------------------------------------------------------------ | Description : Allocate, pack and send SM_ACTIVATE_STARTED_IND primitive. | | Parameters : context - Pointer to context data +------------------------------------------------------------------------------ */ void send_sm_activate_started_ind(struct T_SM_CONTEXT_DATA *context) { (void)TRACE_FUNCTION("send_sm_activate_started_ind"); { PALLOC(prim, SM_ACTIVATE_STARTED_IND); /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ prim->nsapi = context->nsapi; prim->rat = sm_get_current_rat(); (void)PSEND(hCommUPM, prim); /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ } } /* +------------------------------------------------------------------------------ | Function : send_sm_activate_ind +------------------------------------------------------------------------------ | Description : Allocate, pack and send SM_ACTIVATE_IND primitive. | | Parameters : context - Pointer to context data +------------------------------------------------------------------------------ */ void send_sm_activate_ind(struct T_SM_CONTEXT_DATA *context) { (void)TRACE_FUNCTION("send_sm_activate_ind"); { PALLOC(prim, SM_ACTIVATE_IND); /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ prim->nsapi = context->nsapi; prim->sapi = context->sapi; prim->radio_prio = context->radio_prio; if (sm_is_pfi_included(context)) { prim->pkt_flow_id = context->pfi; } else { prim->pkt_flow_id = (U8)PS_PKT_FLOW_ID_NOT_PRES; } sm_qos_copy_from_sm(&prim->qos, &context->accepted_qos, &prim->ctrl_qos); if ((context->flags & SM_CONTEXT_FLAG_COMP_PARAMS) != (U8)0) { prim->v_comp_params = (U8)TRUE; memcpy(&prim->comp_params, &context->comp_params, sizeof(T_NAS_comp_params)); } else { prim->v_comp_params = (U8)FALSE; } (void)PSEND(hCommUPM, prim); /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ } } /* +------------------------------------------------------------------------------ | Function : send_sm_deactivate_ind +------------------------------------------------------------------------------ | Description : Allocate, pack and send SM_DEACTIVATE_IND primitive. | | Parameters : context - Pointer to context data +------------------------------------------------------------------------------ */ void send_sm_deactivate_ind(U16 nsapi_set, T_PS_rel_ind rel_ind) { (void)TRACE_FUNCTION("send_sm_deactivate_ind"); { PALLOC(prim, SM_DEACTIVATE_IND); /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ prim->nsapi_set = nsapi_set; prim->rel_ind = (U8)rel_ind; (void)PSEND(hCommUPM, prim); /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ } } /* +------------------------------------------------------------------------------ | Function : send_sm_modify_ind +------------------------------------------------------------------------------ | Description : Allocate, pack and send SM_MODIFY_IND primitive. | | Parameters : context - Pointer to context data +------------------------------------------------------------------------------ */ void send_sm_modify_ind(struct T_SM_CONTEXT_DATA *context) { (void)TRACE_FUNCTION("send_sm_modify_ind"); { PALLOC(prim, SM_MODIFY_IND); /*lint -e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ prim->nsapi = context->nsapi; prim->sapi = context->sapi; prim->radio_prio = context->radio_prio; if (sm_is_pfi_included(context)) { prim->pkt_flow_id = context->pfi; } else { prim->pkt_flow_id = (U8)PS_PKT_FLOW_ID_NOT_PRES; } sm_qos_copy_from_sm(&prim->qos, &context->accepted_qos, &prim->ctrl_qos); (void)PSEND(hCommUPM, prim); /*lint +e613 (Possible use of null pointer 'prim' in left argument to operator '->') */ } } /*==== END OF FILE ==========================================================*/