[T106][ZXW-22]7520V3SCV2.01.01.02P42U09_VEC_V0.8_AP_VEC origin source commit

Change-Id: Ic6e05d89ecd62fc34f82b23dcf306c93764aec4b
diff --git a/ap/app/include/message.h b/ap/app/include/message.h
new file mode 100755
index 0000000..86f0fb2
--- /dev/null
+++ b/ap/app/include/message.h
@@ -0,0 +1,323 @@
+/**
+ * @file message.h
+ * @brief ¶¨ÒåÓ¦Óù«¹²ÏûÏ¢¶ÓÁÐkey, ÏûÏ¢Ìå, ÏûÏ¢ÃüÁîID, ·¢ËÍÏûÏ¢µÄAPI½Ó¿Ú
+ * Copyright (C) 2017 Sanechips Technology Co., Ltd.
+ * @author
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 as
+ * published by the Free Software Foundation.
+ *
+ */
+
+#ifndef _MESSAGE_H_
+#define _MESSAGE_H_
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
+#include "max_macro.h"
+
+/*******************************************************************************
+ *                             Type definitions                                *
+ ******************************************************************************/
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+/**
+ * @brief ¸÷Ó¦ÓÃÄ£¿éµÄÏûÏ¢ID£¬ÓÃÓÚÏûÏ¢¶ÓÁеÄÉú³É£¬ÒÔ¼°Ö¸Ê¾ÏûÏ¢ÊÕ·¢Ä£¿é
+ * @note MODULE_ID_USER_BASE±íʾ¿Í»§¿ª·¢Ó¦ÓÃ×Ô¶¨ÒåÄ£¿éÏûÏ¢IDµÄÆðʼµã
+ */
+
+/* -- APºË´æÔÚµÄÄ£¿éID£¬Óû§ÐÂÔöÓ¦ÓÃÄ£¿éIDÐèÒª¶¨ÒåÔÚ´ËenumÖеÄMODULE_ID_USER_BASE¶Î -- */
+typedef enum AP_Module_ID{
+	MODULE_ID_APBASE = 0x1000,		/*APºËÄ£¿éIDÆðʼµØÖ·£¬×î´óÖµ<0x2000(MODULE_ID_CPBASE)*/
+	MODULE_ID_WEB_CGI,				/*WEB CGIÄ£¿éµÄÏûÏ¢¶ÓÁÐID*/
+	MODULE_ID_SLAAC,
+	MODULE_ID_WIFI,					/*wifi control*/
+	MODULE_ID_WLAN_SERVER,			/*wifi×Ô¼º¸ø×Ô¼º·¢ÏûÏ¢¶¨ÒåµÄmsg id*/
+	MODULE_ID_MMI,
+	MODULE_ID_FLUXSTAT,				/*fluxstat*/
+	MODULE_ID_AP_RTC_SERVICE,
+	MODULE_ID_SMS,					/*SMSÏûÏ¢¶ÓÁÐÃû³Æ*/
+	MODULE_ID_SMS_LOCAL,			/*SMSÏûÏ¢¶ÓÁÐÃû³Æ, SMSÄ£¿éÄÚ²¿Ê¹Ó㬷Ŵ˴¦±ãÓÚͳһ¹ÜÀí*/
+	MODULE_ID_PB,					/*PBÏûÏ¢¶ÓÁÐÃû³Æ*/
+	MODULE_ID_PB_LOCAL,				/*PBÏûÏ¢¶ÓÁÐÃû³Æ, PBÄ£¿éÄÚ²¿Ê¹Ó㬷Ŵ˴¦±ãÓÚͳһ¹ÜÀí*/
+	MODULE_ID_SNTP,
+	MODULE_ID_PPPD,
+	MODULE_ID_WDT,
+
+	MODULE_ID_AP_AT_CTL,			/*at ctlÄ£¿éID*/
+	MODULE_ID_SLIC,					/*slicÄ£¿éµÄÏûÏ¢¶ÓÁÐID*/
+	MODULE_ID_DM,					/*DMÄ£¿é*/
+	MODULE_ID_DM_POLLING,			/*DM POLLING*/
+	MODULE_ID_DM_WEBUI_AT,
+	MODULE_ID_FAC_DIAL,				/*Éú²ú²âÊÔÄ£¿é µÄÏûÏ¢¶ÓÁÐID*/
+	MODULE_ID_TR069,				/*TR069 Ä£¿é*/
+	MODULE_ID_MAIN_CTRL,			/*Ö÷¿ØÄ£¿éID*/
+	MODULE_ID_ZSSID,
+	MODULE_ID_LOG_AGENT,
+	MODULE_ID_LOCALUPDATE,			/*localUpdateID*/
+	MODULE_ID_PARENT_CONTROL_SET,
+	MODULE_ID_WPA_SUPPLICANT,
+	MODULE_ID_EMBMS_CTRL,
+	MODULE_ID_HOTPLUG,				/*ÈȲå°ÎÄ£¿éID*/
+	MODULE_ID_VOLTE,
+	MODULE_ID_VOLTE_TEMP1,	/*·ÏÆú£¬Ê¹ÓÃMODULE_ID_ATCTL_TO_VOLTE */
+	MODULE_ID_VOLTE_TEMP2,  /*·ÏÆú£¬Ê¹ÓÃMODULE_ID_VOLTE_TO_ATCTL */
+
+	MODULE_ID_USBCFGMNG,  /* ´Ë´¦Èç´Ë¶¨ÒåÊÇΪÁ˸øVOLTEÔ¤ÁôαͨµÀºÅ */
+	MODULE_ID_DRVCOMMNG,
+	
+
+	/********************************************************************/
+	//µ÷ÓÃÍøÂç½Ó¿Úʱ½«Ä£¿éID×÷Ϊ²ÎÊý´«µÝ¸øÍøÂçÄ£¿é
+	/********************************************************************/
+	MODULE_ID_CALL_CTRL,
+	MODULE_ID_CALL_CTRL_LOCAL,
+	MODULE_ID_CALL_CTRL_RSP,
+	MODULE_ID_NV,
+	MODULE_ID_UICTL,
+	MODULE_ID_ISMS,
+	MODULE_ID_DMREG,
+	MODULE_ID_DMSENDMSG,
+	MODULE_ID_SAFECARE,
+	MODULE_ID_CODEC,				/*audioÖ÷¿Ø*/
+	MODULE_ID_AT_TOOL,				/*ÓÃÓÚ¿ØÖÆÊäÈëatÃüÁîµÄÓ¦ÓÃ*/
+	MODULE_ID_AT_TEST,				/*ÓÃÓÚ¿ØÖÆÊäÈëatÃüÁîµÄÓ¦ÓÃ*/
+	MODULE_ID_IP_PROXY,             /*ip proxyÄ£¿éID*/
+
+	MODULE_ID_BIP,					/* BIPÓ¦ÓÃ */
+
+	/* ----- ƽ̨ÄÚ²¿¾²Ì¬Ä£¿éIDµÄ½áβ£¬Æ½Ì¨ÄÚ²¿ÐÂÔöIDÐèÌí¼ÓÔÚÉÏ·½ ------ */
+	
+	//ÒÔÏÂΪ¶¯Ì¬¶ÓÁеÄID±êʶ£¬¶¯Ì¬´´½¨ºÍ¹Ø±Õ£¬²»ÄÜÓ뾲̬ģ¿éIDÒ»Ö£¬ÈκÎʱ¿ÌµãÖ»ÄÜÓÐÒ»¸öʹÓ÷½
+	//£¨²»×¼ÔÚÖмä²åÈëÐÂID£©
+	MODULE_ID_SOFTTIMER_BASE,												/*AP²àÈí¶¨Ê±Æ÷¶¯Ì¬IDÆðʼֵ*/
+	MODULE_ID_SOFTTIMER_END = MODULE_ID_SOFTTIMER_BASE + 0x100,				/*AP²àÈí¶¨Ê±Æ÷¶¯Ì¬ID½áÊøÖµ*/
+	MODULE_ID_AP_ATDYNAMIC_BASE,											/*AP²à²éѯatÃüÁ̬IDÆðʼֵ*/
+	MODULE_ID_AP_ATDYNAMIC_END = MODULE_ID_AP_ATDYNAMIC_BASE + 0x100,		/*AP²à²éѯatÃüÁ̬ID½áÊøÖµ*/
+	MODULE_ID_AP_AUDIODYNAMIC_BASE,											/*AP²àaudio¶¯Ì¬IDÆðʼֵ*/
+	MODULE_ID_AP_AUDIODYNAMIC_END = MODULE_ID_AP_AUDIODYNAMIC_BASE + 0x100,	/*AP²àaudio¶¯Ì¬IDÆðʼֵ*/
+	MODULE_ID_AP_GETHOSTBYNAME_BASE,										 /*ap²àgethostbyname¶¯Ì¬IDÆðʼֵ*/
+	MODULE_ID_AP_GETHOSTBYNAME_END = MODULE_ID_AP_GETHOSTBYNAME_BASE + 0x100, /*ap²àgethostbyname¶¯Ì¬ID½áÊøÖµ*/
+	//AP¶¯Ì¬¶ÓÁÐEND
+
+	//µ±Ç°cmux×î´óÖ§³Ö4·£¬ÐèÒªÆô¶¯4¸ösocket proxy½ø³Ì£¬Èç¹ûºóÐøcmux×î´óÖ§³ÖµÄͨµÀÊýÓиı䣬ÔòÕâÀïÒ²ÐèÒªÐÞ¸Ä
+	MODULE_ID_SOCKET_PROXY,    //¿Í»§¶þ´Î¿ª·¢Ó¦ÓøöÊýÖ§³Ö0x100¸ö£¬¿É¶¯Ì¬ÐÞ¸Ä
+	MODULE_ID_SOCKET_PROXY_END = MODULE_ID_SOCKET_PROXY + 3, 
+	MODULE_ID_GUODIAN_BASE,
+	MODULE_ID_GPS,  //	GPSÓ¦ÓÃÄ£¿éID
+
+	// for audio-ctrl
+	MODULE_ID_ZCORE,
+	MODULE_ID_CALL_23G,
+	MODULE_ID_CLAL_VOLTE,
+	MODULE_ID_ZCORE_TEMP,
+	MODULE_ID_CALL_23G_TEMP,
+	MODULE_ID_CLAL_VOLTE_TEMP,
+	MODULE_ID_LOCKNET,
+	//kwatchtest
+	MODULE_ID_KWATCH_CTRL, /*¶ùͯÊÖ±íºǫ́·þÎñÄ£¿éID*/
+	MODULE_ID_KWATCH_CTRL_LOCAL,
+	MODULE_ID_MMI_SVR, /*zte_phone MMI·þÎñ²ãÄ£¿éID*/
+	MODULE_ID_MMI_SVR_LOCAL,
+
+	MODULE_ID_AMT,	
+	
+	/********************************************************************/
+	//¿Í»§¶þ´Î¿ª·¢Ó¦ÓõÄÏûÏ¢¶ÓÁÐIDÆðʼ£¬×î´óÖµ±ØÐë<0x2000(MODULE_ID_CPBASE)
+	/********************************************************************/
+	MODULE_ID_USER_BASE,
+	MODULE_ID_AP_GPS_APP,
+	MODULE_ID_USER_END = MODULE_ID_USER_BASE + 0x100,
+
+	MODULE_ID_ATCTL_TO_VOLTE, /*²»¶ÔӦʵ¼ÊÓ¦Óã¬Ö»ÊÇÓÃÀ´±êʶÓëVOLTEͨѶµÄαͨµÀºÅ£¬´ËMODULEID¶ÔÓ¦at_ctlÖ÷¶¯·¢ËÍÇëÇó¸øVOLTEµÄαͨµÀ */
+	MODULE_ID_VOLTE_TO_ATCTL = MODULE_ID_ATCTL_TO_VOLTE +10, /*²»¶ÔӦʵ¼ÊÓ¦Óã¬Ö»ÊÇÓÃÀ´±êʶÓëVOLTEͨѶµÄαͨµÀºÅ£¬´ËMODULEID¶ÔÓ¦VOLTEÖ÷¶¯·¢ËÍÇëÇó¸øat_ctlµÄαͨµÀ */
+	MODULE_ID_USBHOTPLUG,
+	MODULE_ID_POC_CTRL, /*POCºǫ́·þÎñÄ£¿éID*/
+	MODULE_ID_SECURITY_LOG,
+	MODULE_ID_MBIM,
+	MODULE_ID_VSIM,
+} T_AP_Module_ID;
+
+/* ------------- CPºË´æÔÚµÄÄ£¿éID£¬Æ½Ì¨ÄÚ²¿Ê¹Ó㬲»¿ª·Å¸ø¿Í»§ ------------- */
+typedef enum {
+	MODULE_ID_CPBASE = 0x2000,		/*CPºËÄ£¿éIDÆðʼµØÖ·*/
+	MODULE_ID_BL,
+	MODULE_ID_FP_CLOCK,				/*ÄÖÖÓÄ£¿éID*/
+//	MODULE_ID_ZCORE,
+	MODULE_ID_CP_AT_CTL,
+	MODULE_ID_CP_RTC_SERVICE,
+	MODULE_ID_CP_MMI,
+	MODUEL_ID_TCARD,
+	MODULE_ID_CP_GPS_APP,
+
+	// for audio ctrl
+//	MODULE_ID_CALL_23G,
+//	MODULE_ID_CLAL_VOLTE,
+//	MODULE_ID_ZCORE_TEMP,
+//	MODULE_ID_CALL_23G_TEMP,
+//	MODULE_ID_CLAL_VOLTE_TEMP,
+	
+	/////ÒÔÏÂΪ¶¯Ì¬¶ÓÁеÄID±êʶ£¬¶¯Ì¬´´½¨ºÍ¹Ø±Õ£¬²»ÄÜÓ뾲̬ģ¿éIDÒ»Ö£¬ÈκÎʱ¿ÌµãÖ»ÄÜÓÐÒ»¸öʹÓ÷½
+	//£¨²»×¼ÔÚÖмä²åÈëÐÂID£©
+	//MODULE_ID_SOFTTIMER_BASE,
+	//MODULE_ID_SOFTTIMER_END = MODULE_ID_SOFTTIMER_BASE + 0x100,
+	MODULE_ID_CP_ATDYNAMIC_BASE,											/*cp²à²éѯatÃüÁ̬IDÆðʼֵ*/
+	MODULE_ID_CP_ATDYNAMIC_END = MODULE_ID_CP_ATDYNAMIC_BASE + 0x100,		/*cp²à²éѯatÃüÁ̬ID½áÊøÖµ*/
+	MODULE_ID_CP_AUDIODYNAMIC_BASE,											/*cp²àaudio¶¯Ì¬IDÆðʼֵ*/
+	MODULE_ID_CP_AUDIODYNAMIC_END = MODULE_ID_CP_AUDIODYNAMIC_BASE + 0x100,	/*cp²àaudio¶¯Ì¬ID½áÊøÖµ*/
+	//CP¶¯Ì¬¶ÓÁÐEND
+
+	MODULE_ID_MAX, /*ÓÐЧmdouleidµÄ×î´óÖµ*/
+} T_CP_Module_ID;
+
+#if 0//(APP_OS_TYPE == APP_OS_TOS)
+#define  MODULE_ID_AT_CTL  MODULE_ID_AP_AT_CTL
+#define  MODULE_ID_EXTERNAL_AT_CTL  MODULE_ID_AP_AT_CTL
+#define  MODULE_ID_RTC_SERVICE MODULE_ID_CP_RTC_SERVICE
+#define  MODULE_ID_EXTERNAL_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
+#define  MODULE_ID_ATDYNAMIC_BASE MODULE_ID_CP_ATDYNAMIC_BASE
+#define  MODULE_ID_ATDYNAMIC_END MODULE_ID_CP_ATDYNAMIC_END
+#define  MODULE_ID_AUDIODYNAMIC_BASE MODULE_ID_CP_AUDIODYNAMIC_BASE
+#define  MODULE_ID_AUDIODYNAMIC_END MODULE_ID_CP_AUDIODYNAMIC_END
+#define  MODULE_ID_GPS_APP  MODULE_ID_CP_GPS_APP
+//#elif(APP_OS_TYPE == APP_OS_LINUX)
+#else
+#define  MODULE_ID_AT_CTL  MODULE_ID_AP_AT_CTL
+#define  MODULE_ID_EXTERNAL_AT_CTL  MODULE_ID_AP_AT_CTL
+#define  MODULE_ID_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
+#define  MODULE_ID_EXTERNAL_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
+#define  MODULE_ID_ATDYNAMIC_BASE MODULE_ID_AP_ATDYNAMIC_BASE
+#define  MODULE_ID_ATDYNAMIC_END MODULE_ID_AP_ATDYNAMIC_END
+#define  MODULE_ID_AUDIODYNAMIC_BASE MODULE_ID_AP_AUDIODYNAMIC_BASE
+#define  MODULE_ID_AUDIODYNAMIC_END MODULE_ID_AP_AUDIODYNAMIC_END
+#define  MODULE_ID_GPS_APP  MODULE_ID_AP_GPS_APP
+#endif
+
+/* ¶¨Òå¸÷Ä£¿éID´¦ÀíµÄÏûÏ¢Âë MSG CMD·¶Î§ */
+enum MSG_CDM_SCOPE {
+	/**/
+	MSG_CMD_MAINCTRL_BASE 	= 0x1000,
+	MSG_CMD_MAINCTRL_END	= 0x1500,
+	/**/
+	MSG_CMD_ATCTL_BASE 		= 0x1501,
+	MSG_CMD_ATCTL_END		= 0x1800,
+	/**/
+	MSG_CMD_ATCTL_INNER_BASE = 0x1801,
+	MSG_CMD_ATCTL_INNER_END	= 0x2000,
+	/**/
+	MSG_CMD_SMS_BASE 		= 0x2001,
+	MSG_CMD_SMS_END			= 0x2200,
+	/**/
+	MSG_CMD_PB_BASE 		= 0x2201,
+	MSG_CMD_PB_END			= 0x2400,
+	/**/
+	MSG_CMD_BL_BASE 		= 0x2401,
+	MSG_CMD_BL_END			= 0x3500,
+	/**/
+	MSG_CMD_OTHER_BASE  	= 0x3501,
+	MSG_CMD_OTHER_END		= 0x4000,
+	/**/
+	MSG_CMD_WIFI_BASE 		= 0x4001,
+	MSG_CMD_WIFI_END		= 0x4200,
+	/**/
+	MSG_CMD_MMI_BASE		= 0x4201,
+	MSG_CMD_MMI_END			= 0x4400,
+	/**/
+	MSG_CMD_FOTA_BASE 		= 0x4401,
+	MSG_CMD_FOTA_END		= 0x4600,
+
+	/**/
+	MSG_CMD_DM_BASE 		= 0x4801,
+	MSG_CMD_DM_END			= 0x5000,
+	/**/
+	MSG_CMD_RTC_BASE 		= 0x5001,
+	MSG_CMD_RTC_END			= 0x5200,
+	/**/
+	MSG_CMD_USER_BASE 		= 0x5201,
+	MSG_CMD_USER_END		= 0x5700,
+	/**/
+	MSG_CMD_EXTAT_BASE 		= 0x5701,
+	MSG_CMD_EXTAT_END		= 0x6000,
+
+	/**/
+	MSG_CMD_SOCMSG_BASE		= 0x6001,
+	MSG_CMD_SOCMSG_END		= 0x6800,
+	
+	/**/
+	MSG_CMD_LQ_BASE		    = 0x6801,
+	MSG_CMD_LQ_END		    = 0x6900,
+
+	/**/
+	MSG_CMD_DRV_BASE 		= 0x6901,
+	MSG_CMD_DRV_END			= 0x7000,
+
+	//kwatchtest
+	MSG_CMD_KWATCH_BASE      = 0x8001,
+	MSG_CMD_KWATCH_END      = 0x9000,
+
+	//amt device test
+	MSG_CMD_AMT_DEVICE_TEST_BASE      = 0x9001,
+	MSG_CMD_AMT_DEVICE_TEST_END      = 0x90C8,
+	
+	//pocsvr
+	MSG_CMD_POCSVR_BASE      = 0x9101,
+	MSG_CMD_POCSVR_END      = 0x9200,
+};
+#endif
+
+#define MSG_MAGIC_WORD       0x3A3A3A3A  /*ȱʡħÊõ×Ö*/
+#define MSG_TYPE_DEFAULT     1   /*lMsgTypeĬÈϵÄÏûÏ¢ÀàÐÍ*/
+#define MSG_TYPE_SOFTTIMER_TIMEOUT  2     /*soft timer³¬Ê±ÏûÏ¢,ɾ³ý¶¨Ê±Æ÷ɾ³ý³¬Ê±ÏûϢʱÐèÒªÖ¸¶¨ÀàÐÍ*/
+
+/*¶¨ÒåͨÓõÄÏûÏ¢½á¹¹*/
+
+/**
+ * @brief message queue body for processes to exchange data
+ * @param lMsgType ÏûÏ¢ÀàÐÍ£¬Õâ¸öÊÇÓÃÀ´¿ØÖÆÏûÏ¢ÊÕÈ¡µÄÓÅÏÈ˳ÐòµÄ
+ * @param usTargetModuleID Ä¿µÄÄ£¿éÏûÏ¢¶ÓÁÐID
+ * @param usSourceModuleID Ô´Ä£¿éÏûÏ¢¶ÓÁÐID
+ * @param usMsgCmd ÏûÏ¢Â룬Õâ¸öÊÇÓÃÀ´Ö¸Ê¾ÏûÏ¢µÄÄÚÈÝÊÇʲôµÄ
+ * @param usDataLen Я´øµÄÓÐЧÊý¾Ý³¤¶È
+ * @param aucDataBuf Я´øµÄÓÐЧÊý¾Ýbuffer
+ * @param ulMagic ħÊõ×Ö£¬Õý³£Çé¿öÏÂֵΪMSG_MAGIC_WORD
+ */
+typedef struct tagMSG_BUF {
+	long   lMsgType;                /*ÏûÏ¢ÀàÐÍ£¬Õâ¸öÊÇÓÃÀ´¿ØÖÆÏûÏ¢ÊÕÈ¡µÄÓÅÏÈ˳ÐòµÄ*/
+	int dst_id;                     /*Ä¿µÄÄ£¿éÏûÏ¢¶ÓÁÐID*/
+	int src_id;                     /*Ô´Ä£¿éÏûÏ¢¶ÓÁÐID*/
+	unsigned short usMsgCmd;        /*ÏûÏ¢Â룬Õâ¸öÊÇÓÃÀ´Ö¸Ê¾ÏûÏ¢µÄÄÚÈÝÊÇʲôµÄ*/
+	unsigned short usDataLen;       /*Я´øµÄÓÐЧÊý¾Ý³¤¶È*/
+	unsigned long  ulMagic;         /*ħÊõ×Ö£¬Õý³£Çé¿öÏÂֵΪMSG_MAGIC_WORD*/
+	unsigned char  aucDataBuf[MSG_DATA_MAX_LEN]; /*Я´øµÄÓÐЧÊý¾Ýbuffer*/
+} MSG_BUF;
+
+
+
+#ifndef DOXYGEN_SHOULD_SKIP_THIS
+/**
+ * @brief ͨ¹ýATÃüÁî·¢Ë͵ĺ˼äÏûÏ¢
+ * @param targetId ½ÓÊÕÏûÏ¢µÄÄ£¿éºÅ
+ * @param position  ÏûÏ¢·¢Ë͵ķ½Ïò
+ * @param msg_cmd  ÏûÏ¢id
+ * @param len  Êý¾Ý³¤¶È
+ * @param msg  Êý¾ÝÄÚÈÝ
+ */
+typedef struct {
+	int srcId;
+	int targetId;
+	unsigned short position;
+	unsigned short msg_cmd;
+	unsigned short len;
+	unsigned char  msg[SOC_MSG_MAX_LEN];
+} T_Soc_Msg;
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif
+