⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pcsyn_mmis.c

📁 是一个手机功能的模拟程序
💻 C
字号:
/*
+-----------------------------------------------------------------------------
|  File     : pcsyn_mmis.c
+-----------------------------------------------------------------------------
|  Purpose  : This Modul defines the functions for processing
|             of outcomming primitives to mmi for pcsyn task
+-----------------------------------------------------------------------------
*/
 
#define ENTITY_PCSYN

/*==== INCLUDES ===================================================*/
#if defined (NEW_FRAME)

#include <stdarg.h>
#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include "typedefs.h"
#include "pcm.h"
#include "pconst.cdg"
#include "mconst.cdg"
#include "message.h"
#include "ccdapi.h"
#include "vsi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "pei.h"
#include "tok.h"

#else

#include <string.h>
#include <stdlib.h>
#include <stddef.h>
#include "stddefs.h"
#include "pconst.cdg"
#include "mconst.cdg"
#include "message.h"
#include "ccdapi.h"
#include "custom.h"
#include "gsm.h"
#include "prim.h"
#include "vsi.h"
#include "pei.h"
#include "tok.h"

#endif

#include "pcsyn.h"
#include "pcsyn_protocol.h"


#define TRACE_EVENT(f) PCSYN_TRACE_EVENT((f));

/****************PCSYN TASK***************************/
/*
pcsyn status ind to aci(mmi)

   * 
   *                    |
   *                   PCSYN                 
   *                    |
   *                    v
   *      +-----------(ACI)----------+
   *      |                          |
   *      |            MMI        	|
   *      |                          |
   *      +-------------^------------+
   *                    
  */
void   psa_PCSYN_MMI_IND (BYTE event_id,void* data, USHORT data_size)
{
	PALLOC_SDU (pcsyn_mmi_ind, PCSYN_MMI_IND, 8*data_size);
	pcsyn_mmi_ind->event_id = event_id;
	pcsyn_mmi_ind->sdu.o_buf     = 0;
	pcsyn_mmi_ind->sdu.l_buf     = 8*data_size;
	memcpy(pcsyn_mmi_ind->sdu.buf,data,data_size);

	TRACE_EVENT("psa_PCSYN_MMI_IND");

		
        PSENDX (MMI, pcsyn_mmi_ind);
}

/******************************************************
$Description:
	send pcsyn status to mmi
********************************************************/
void P_PCSYN_MMI_STATUS_IND(T_PCSYN_MMI_STATUS_IND *parameter)
{
	TRACE_EVENT("P_PCSYN_MMI_STATUS_IND") ;
		
      psa_PCSYN_MMI_IND(P_PCSYN_MMI_SATTUS_IND_ID,parameter,sizeof(T_PCSYN_MMI_STATUS_IND));
}


/******************************************************
$Description:
	send SENDMMS to mmi
********************************************************/
void P_PCSYN_MMI_SENDMMS_IND(T_PCSYN_MMI_SENDMMS_IND *parameter)
{
	TRACE_EVENT("P_PCSYN_MMI_SENDMMS_IND") ;
		
      psa_PCSYN_MMI_IND(P_PCSYN_MMI_SENDMMS_IND_ID,parameter,sizeof(T_PCSYN_MMI_SENDMMS_IND));
}



/********************MMI TASK***********************************/

/******************************************************
$Description:
	process: pcsyn status to mmi
********************************************************/
void M_PCSYN_MMI_STATUS_IND(T_PCSYN_MMI_STATUS_IND *parameter)
{
extern void send_pcsyn_event(USHORT event, void * parameter);
	TRACE_EVENT("M_PCSYN_MMI_STATUS_IND") ;
		
      send_pcsyn_event(0, parameter);
}


/******************************************************
$Description:
	process: SENDMMS to mmi
********************************************************/
void M_PCSYN_MMI_SENDMMS_IND(T_PCSYN_MMI_SENDMMS_IND *parameter)
{
extern unsigned int SendShortMessage(PC_Interface_Info * info, BYTE stype,BYTE rptype);
	TRACE_EVENT("M_PCSYN_MMI_SENDMMS_IND") ;
	SendShortMessage(parameter->info,parameter->stype,parameter->rptype);	
}




/****************************************************
$Description:
	process pcsyn->mmi ind in mmi task
*******************************************************/
GLOBAL const void pcsyn_mmi_ind (
                                  T_PCSYN_MMI_IND *pcsyn_mmi_ind
                                )
{
#define PCSYN_MMI_IND_HANDLE(N)\
{\
	T_PCSYN_MMI_##N##_IND (parameter);\
	memcpy(&parameter, pcsyn_mmi_ind->sdu.buf,pcsyn_mmi_ind->sdu.l_buf/8);\
	M_PCSYN_MMI_##N##_IND(&parameter);\
}
	  //PACCESS(pcsyn_mms_ind);

	  TRACE_EVENT("pcsyn_mmi_ind()");

	  
	  switch(pcsyn_mmi_ind->event_id)
  	{
	case P_PCSYN_MMI_SATTUS_IND_ID:
		PCSYN_MMI_IND_HANDLE(STATUS)
		break;
	case P_PCSYN_MMI_SENDMMS_IND_ID:
		PCSYN_MMI_IND_HANDLE(SENDMMS)
		break;
	default:
		break;
  	}
	  /*It is no necessary because aci will free it*/
	 // PFREE(pcsyn_mms_ind);
}


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -