blob: def1e19a60b3ed9a9a2953bba8ad1bdf4b1c3009 [file] [log] [blame]
lh9ed821d2023-04-07 01:36:19 -07001/**
2 * @file message.h
3 * @brief ¶¨ÒåÓ¦Óù«¹²ÏûÏ¢¶ÓÁÐkey, ÏûÏ¢Ìå, ÏûÏ¢ÃüÁîID, ·¢ËÍÏûÏ¢µÄAPI½Ó¿Ú
4 * Copyright (C) 2017 Sanechips Technology Co., Ltd.
5 * @author
6 *
7 * This program is free software; you can redistribute it and/or modify
8 * it under the terms of the GNU General Public License version 2 as
9 * published by the Free Software Foundation.
10 *
11 */
12
13#ifndef _MESSAGE_H_
14#define _MESSAGE_H_
15
16#ifdef __cplusplus
17extern "C" {
18#endif
19
20
21#include "max_macro.h"
22
23/*******************************************************************************
24 * Type definitions *
25 ******************************************************************************/
26#ifndef DOXYGEN_SHOULD_SKIP_THIS
27/**
28 * @brief ¸÷Ó¦ÓÃÄ£¿éµÄÏûÏ¢ID£¬ÓÃÓÚÏûÏ¢¶ÓÁеÄÉú³É£¬ÒÔ¼°Ö¸Ê¾ÏûÏ¢ÊÕ·¢Ä£¿é
29 * @note MODULE_ID_USER_BASE±íʾ¿Í»§¿ª·¢Ó¦ÓÃ×Ô¶¨ÒåÄ£¿éÏûÏ¢IDµÄÆðʼµã
30 */
31
32/* -- APºË´æÔÚµÄÄ£¿éID£¬Óû§ÐÂÔöÓ¦ÓÃÄ£¿éIDÐèÒª¶¨ÒåÔÚ´ËenumÖеÄMODULE_ID_USER_BASE¶Î -- */
33typedef enum AP_Module_ID{
34 MODULE_ID_APBASE = 0x1000, /*APºËÄ£¿éIDÆðʼµØÖ·£¬×î´óÖµ<0x2000(MODULE_ID_CPBASE)*/
35 MODULE_ID_WEB_CGI, /*WEB CGIÄ£¿éµÄÏûÏ¢¶ÓÁÐID*/
36 MODULE_ID_SLAAC,
37 MODULE_ID_WIFI, /*wifi control*/
38 MODULE_ID_WLAN_SERVER, /*wifi×Ô¼º¸ø×Ô¼º·¢ÏûÏ¢¶¨ÒåµÄmsg id*/
39 MODULE_ID_MMI,
40 MODULE_ID_FLUXSTAT, /*fluxstat*/
41 MODULE_ID_AP_RTC_SERVICE,
42 MODULE_ID_SMS, /*SMSÏûÏ¢¶ÓÁÐÃû³Æ*/
43 MODULE_ID_SMS_LOCAL, /*SMSÏûÏ¢¶ÓÁÐÃû³Æ, SMSÄ£¿éÄÚ²¿Ê¹Ó㬷Ŵ˴¦±ãÓÚͳһ¹ÜÀí*/
44 MODULE_ID_PB, /*PBÏûÏ¢¶ÓÁÐÃû³Æ*/
45 MODULE_ID_PB_LOCAL, /*PBÏûÏ¢¶ÓÁÐÃû³Æ, PBÄ£¿éÄÚ²¿Ê¹Ó㬷Ŵ˴¦±ãÓÚͳһ¹ÜÀí*/
46 MODULE_ID_SNTP,
47 MODULE_ID_PPPD,
48 MODULE_ID_WDT,
49
50 MODULE_ID_AP_AT_CTL, /*at ctlÄ£¿éID*/
51 MODULE_ID_SLIC, /*slicÄ£¿éµÄÏûÏ¢¶ÓÁÐID*/
52 MODULE_ID_DM, /*DMÄ£¿é*/
53 MODULE_ID_DM_POLLING, /*DM POLLING*/
54 MODULE_ID_DM_WEBUI_AT,
55 MODULE_ID_FAC_DIAL, /*Éú²ú²âÊÔÄ£¿é µÄÏûÏ¢¶ÓÁÐID*/
56 MODULE_ID_TR069, /*TR069 Ä£¿é*/
57 MODULE_ID_MAIN_CTRL, /*Ö÷¿ØÄ£¿éID*/
58 MODULE_ID_ZSSID,
59 MODULE_ID_LOG_AGENT,
60 MODULE_ID_LOCALUPDATE, /*localUpdateID*/
61 MODULE_ID_PARENT_CONTROL_SET,
62 MODULE_ID_WPA_SUPPLICANT,
63 MODULE_ID_EMBMS_CTRL,
64 MODULE_ID_HOTPLUG, /*ÈȲå°ÎÄ£¿éID*/
65 MODULE_ID_VOLTE,
66 MODULE_ID_VOLTE_TEMP1, /*·ÏÆú£¬Ê¹ÓÃMODULE_ID_ATCTL_TO_VOLTE */
67 MODULE_ID_VOLTE_TEMP2, /*·ÏÆú£¬Ê¹ÓÃMODULE_ID_VOLTE_TO_ATCTL */
68
69 MODULE_ID_USBCFGMNG, /* ´Ë´¦Èç´Ë¶¨ÒåÊÇΪÁ˸øVOLTEÔ¤ÁôαͨµÀºÅ */
70 MODULE_ID_DRVCOMMNG,
71
72
73 /********************************************************************/
74 //µ÷ÓÃÍøÂç½Ó¿Úʱ½«Ä£¿éID×÷Ϊ²ÎÊý´«µÝ¸øÍøÂçÄ£¿é
75 /********************************************************************/
76 MODULE_ID_CALL_CTRL,
77 MODULE_ID_CALL_CTRL_LOCAL,
78 MODULE_ID_CALL_CTRL_RSP,
79 MODULE_ID_NV,
80 MODULE_ID_UICTL,
81 MODULE_ID_ISMS,
82 MODULE_ID_DMREG,
83 MODULE_ID_DMSENDMSG,
84 MODULE_ID_SAFECARE,
85 MODULE_ID_CODEC, /*audioÖ÷¿Ø*/
86 MODULE_ID_AT_TOOL, /*ÓÃÓÚ¿ØÖÆÊäÈëatÃüÁîµÄÓ¦ÓÃ*/
87 MODULE_ID_AT_TEST, /*ÓÃÓÚ¿ØÖÆÊäÈëatÃüÁîµÄÓ¦ÓÃ*/
88 MODULE_ID_IP_PROXY, /*ip proxyÄ£¿éID*/
89
90 MODULE_ID_BIP, /* BIPÓ¦ÓÃ */
91
92 /* ----- ƽ̨ÄÚ²¿¾²Ì¬Ä£¿éIDµÄ½áβ£¬Æ½Ì¨ÄÚ²¿ÐÂÔöIDÐèÌí¼ÓÔÚÉÏ·½ ------ */
93
94 //ÒÔÏÂΪ¶¯Ì¬¶ÓÁеÄID±êʶ£¬¶¯Ì¬´´½¨ºÍ¹Ø±Õ£¬²»ÄÜÓ뾲̬ģ¿éIDÒ»Ö£¬ÈκÎʱ¿ÌµãÖ»ÄÜÓÐÒ»¸öʹÓ÷½
95 //£¨²»×¼ÔÚÖмä²åÈëÐÂID£©
96 MODULE_ID_SOFTTIMER_BASE, /*AP²àÈí¶¨Ê±Æ÷¶¯Ì¬IDÆðʼֵ*/
97 MODULE_ID_SOFTTIMER_END = MODULE_ID_SOFTTIMER_BASE + 0x100, /*AP²àÈí¶¨Ê±Æ÷¶¯Ì¬ID½áÊøÖµ*/
98 MODULE_ID_AP_ATDYNAMIC_BASE, /*AP²à²éѯatÃüÁ̬IDÆðʼֵ*/
99 MODULE_ID_AP_ATDYNAMIC_END = MODULE_ID_AP_ATDYNAMIC_BASE + 0x100, /*AP²à²éѯatÃüÁ̬ID½áÊøÖµ*/
100 MODULE_ID_AP_AUDIODYNAMIC_BASE, /*AP²àaudio¶¯Ì¬IDÆðʼֵ*/
101 MODULE_ID_AP_AUDIODYNAMIC_END = MODULE_ID_AP_AUDIODYNAMIC_BASE + 0x100, /*AP²àaudio¶¯Ì¬IDÆðʼֵ*/
102 MODULE_ID_AP_GETHOSTBYNAME_BASE, /*ap²àgethostbyname¶¯Ì¬IDÆðʼֵ*/
103 MODULE_ID_AP_GETHOSTBYNAME_END = MODULE_ID_AP_GETHOSTBYNAME_BASE + 0x100, /*ap²àgethostbyname¶¯Ì¬ID½áÊøÖµ*/
104 //AP¶¯Ì¬¶ÓÁÐEND
105
106 //µ±Ç°cmux×î´óÖ§³Ö4·£¬ÐèÒªÆô¶¯4¸ösocket proxy½ø³Ì£¬Èç¹ûºóÐøcmux×î´óÖ§³ÖµÄͨµÀÊýÓиı䣬ÔòÕâÀïÒ²ÐèÒªÐÞ¸Ä
107 MODULE_ID_SOCKET_PROXY, //¿Í»§¶þ´Î¿ª·¢Ó¦ÓøöÊýÖ§³Ö0x100¸ö£¬¿É¶¯Ì¬ÐÞ¸Ä
108 MODULE_ID_SOCKET_PROXY_END = MODULE_ID_SOCKET_PROXY + 3,
109 MODULE_ID_GUODIAN_BASE,
110 MODULE_ID_GPS, // GPSÓ¦ÓÃÄ£¿éID
xf.li742dd022023-06-08 01:43:32 -0700111
112 //absvr
113 MODULE_ID_ABSVR,
114 MODULE_ID_ABCLIENT,
115
lh9ed821d2023-04-07 01:36:19 -0700116 // for audio-ctrl
117 MODULE_ID_ZCORE,
118 MODULE_ID_CALL_23G,
119 MODULE_ID_CLAL_VOLTE,
120 MODULE_ID_ZCORE_TEMP,
121 MODULE_ID_CALL_23G_TEMP,
122 MODULE_ID_CLAL_VOLTE_TEMP,
123 MODULE_ID_LOCKNET,
124 //kwatchtest
125 MODULE_ID_KWATCH_CTRL, /*¶ùͯÊÖ±íºǫ́·þÎñÄ£¿éID*/
126 MODULE_ID_KWATCH_CTRL_LOCAL,
127 MODULE_ID_MMI_SVR, /*zte_phone MMI·þÎñ²ãÄ£¿éID*/
128 MODULE_ID_MMI_SVR_LOCAL,
129
130 MODULE_ID_AMT,
131
132 /********************************************************************/
133 //¿Í»§¶þ´Î¿ª·¢Ó¦ÓõÄÏûÏ¢¶ÓÁÐIDÆðʼ£¬×î´óÖµ±ØÐë<0x2000(MODULE_ID_CPBASE)
134 /********************************************************************/
135 MODULE_ID_USER_BASE,
136 MODULE_ID_AP_GPS_APP,
137 MODULE_ID_USER_END = MODULE_ID_USER_BASE + 0x100,
138
139 MODULE_ID_ATCTL_TO_VOLTE, /*²»¶ÔӦʵ¼ÊÓ¦Óã¬Ö»ÊÇÓÃÀ´±êʶÓëVOLTEͨѶµÄαͨµÀºÅ£¬´ËMODULEID¶ÔÓ¦at_ctlÖ÷¶¯·¢ËÍÇëÇó¸øVOLTEµÄαͨµÀ */
140 MODULE_ID_VOLTE_TO_ATCTL = MODULE_ID_ATCTL_TO_VOLTE +10, /*²»¶ÔӦʵ¼ÊÓ¦Óã¬Ö»ÊÇÓÃÀ´±êʶÓëVOLTEͨѶµÄαͨµÀºÅ£¬´ËMODULEID¶ÔÓ¦VOLTEÖ÷¶¯·¢ËÍÇëÇó¸øat_ctlµÄαͨµÀ */
141 MODULE_ID_USBHOTPLUG,
142 MODULE_ID_POC_CTRL, /*POCºǫ́·þÎñÄ£¿éID*/
143 MODULE_ID_SECURITY_LOG,
144 MODULE_ID_MBIM,
145 MODULE_ID_VSIM,
xf.li742dd022023-06-08 01:43:32 -0700146
147 //voice
148 MODULE_ID_VOICE_SERVER,
149 MODULE_ID_VOICE_CLIENT,
lh9ed821d2023-04-07 01:36:19 -0700150} T_AP_Module_ID;
151
152/* ------------- CPºË´æÔÚµÄÄ£¿éID£¬Æ½Ì¨ÄÚ²¿Ê¹Ó㬲»¿ª·Å¸ø¿Í»§ ------------- */
153typedef enum {
154 MODULE_ID_CPBASE = 0x2000, /*CPºËÄ£¿éIDÆðʼµØÖ·*/
155 MODULE_ID_BL,
156 MODULE_ID_FP_CLOCK, /*ÄÖÖÓÄ£¿éID*/
157// MODULE_ID_ZCORE,
158 MODULE_ID_CP_AT_CTL,
159 MODULE_ID_CP_RTC_SERVICE,
160 MODULE_ID_CP_MMI,
161 MODUEL_ID_TCARD,
162 MODULE_ID_CP_GPS_APP,
163
164 // for audio ctrl
165// MODULE_ID_CALL_23G,
166// MODULE_ID_CLAL_VOLTE,
167// MODULE_ID_ZCORE_TEMP,
168// MODULE_ID_CALL_23G_TEMP,
169// MODULE_ID_CLAL_VOLTE_TEMP,
170
171 /////ÒÔÏÂΪ¶¯Ì¬¶ÓÁеÄID±êʶ£¬¶¯Ì¬´´½¨ºÍ¹Ø±Õ£¬²»ÄÜÓ뾲̬ģ¿éIDÒ»Ö£¬ÈκÎʱ¿ÌµãÖ»ÄÜÓÐÒ»¸öʹÓ÷½
172 //£¨²»×¼ÔÚÖмä²åÈëÐÂID£©
173 //MODULE_ID_SOFTTIMER_BASE,
174 //MODULE_ID_SOFTTIMER_END = MODULE_ID_SOFTTIMER_BASE + 0x100,
175 MODULE_ID_CP_ATDYNAMIC_BASE, /*cp²à²éѯatÃüÁ̬IDÆðʼֵ*/
176 MODULE_ID_CP_ATDYNAMIC_END = MODULE_ID_CP_ATDYNAMIC_BASE + 0x100, /*cp²à²éѯatÃüÁ̬ID½áÊøÖµ*/
177 MODULE_ID_CP_AUDIODYNAMIC_BASE, /*cp²àaudio¶¯Ì¬IDÆðʼֵ*/
178 MODULE_ID_CP_AUDIODYNAMIC_END = MODULE_ID_CP_AUDIODYNAMIC_BASE + 0x100, /*cp²àaudio¶¯Ì¬ID½áÊøÖµ*/
179 //CP¶¯Ì¬¶ÓÁÐEND
180
181 MODULE_ID_MAX, /*ÓÐЧmdouleidµÄ×î´óÖµ*/
182} T_CP_Module_ID;
183
184#if 0//(APP_OS_TYPE == APP_OS_TOS)
185#define MODULE_ID_AT_CTL MODULE_ID_AP_AT_CTL
186#define MODULE_ID_EXTERNAL_AT_CTL MODULE_ID_AP_AT_CTL
187#define MODULE_ID_RTC_SERVICE MODULE_ID_CP_RTC_SERVICE
188#define MODULE_ID_EXTERNAL_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
189#define MODULE_ID_ATDYNAMIC_BASE MODULE_ID_CP_ATDYNAMIC_BASE
190#define MODULE_ID_ATDYNAMIC_END MODULE_ID_CP_ATDYNAMIC_END
191#define MODULE_ID_AUDIODYNAMIC_BASE MODULE_ID_CP_AUDIODYNAMIC_BASE
192#define MODULE_ID_AUDIODYNAMIC_END MODULE_ID_CP_AUDIODYNAMIC_END
193#define MODULE_ID_GPS_APP MODULE_ID_CP_GPS_APP
194//#elif(APP_OS_TYPE == APP_OS_LINUX)
195#else
196#define MODULE_ID_AT_CTL MODULE_ID_AP_AT_CTL
197#define MODULE_ID_EXTERNAL_AT_CTL MODULE_ID_AP_AT_CTL
198#define MODULE_ID_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
199#define MODULE_ID_EXTERNAL_RTC_SERVICE MODULE_ID_AP_RTC_SERVICE
200#define MODULE_ID_ATDYNAMIC_BASE MODULE_ID_AP_ATDYNAMIC_BASE
201#define MODULE_ID_ATDYNAMIC_END MODULE_ID_AP_ATDYNAMIC_END
202#define MODULE_ID_AUDIODYNAMIC_BASE MODULE_ID_AP_AUDIODYNAMIC_BASE
203#define MODULE_ID_AUDIODYNAMIC_END MODULE_ID_AP_AUDIODYNAMIC_END
204#define MODULE_ID_GPS_APP MODULE_ID_AP_GPS_APP
205#endif
206
207/* ¶¨Òå¸÷Ä£¿éID´¦ÀíµÄÏûÏ¢Âë MSG CMD·¶Î§ */
208enum MSG_CDM_SCOPE {
209 /**/
210 MSG_CMD_MAINCTRL_BASE = 0x1000,
211 MSG_CMD_MAINCTRL_END = 0x1500,
212 /**/
213 MSG_CMD_ATCTL_BASE = 0x1501,
214 MSG_CMD_ATCTL_END = 0x1800,
215 /**/
216 MSG_CMD_ATCTL_INNER_BASE = 0x1801,
217 MSG_CMD_ATCTL_INNER_END = 0x2000,
218 /**/
219 MSG_CMD_SMS_BASE = 0x2001,
220 MSG_CMD_SMS_END = 0x2200,
221 /**/
222 MSG_CMD_PB_BASE = 0x2201,
223 MSG_CMD_PB_END = 0x2400,
224 /**/
225 MSG_CMD_BL_BASE = 0x2401,
226 MSG_CMD_BL_END = 0x3500,
227 /**/
228 MSG_CMD_OTHER_BASE = 0x3501,
229 MSG_CMD_OTHER_END = 0x4000,
230 /**/
231 MSG_CMD_WIFI_BASE = 0x4001,
232 MSG_CMD_WIFI_END = 0x4200,
233 /**/
234 MSG_CMD_MMI_BASE = 0x4201,
235 MSG_CMD_MMI_END = 0x4400,
236 /**/
237 MSG_CMD_FOTA_BASE = 0x4401,
238 MSG_CMD_FOTA_END = 0x4600,
239
240 /**/
241 MSG_CMD_DM_BASE = 0x4801,
242 MSG_CMD_DM_END = 0x5000,
243 /**/
244 MSG_CMD_RTC_BASE = 0x5001,
245 MSG_CMD_RTC_END = 0x5200,
246 /**/
247 MSG_CMD_USER_BASE = 0x5201,
248 MSG_CMD_USER_END = 0x5700,
249 /**/
250 MSG_CMD_EXTAT_BASE = 0x5701,
251 MSG_CMD_EXTAT_END = 0x6000,
252
253 /**/
254 MSG_CMD_SOCMSG_BASE = 0x6001,
255 MSG_CMD_SOCMSG_END = 0x6800,
256
257 /**/
258 MSG_CMD_LQ_BASE = 0x6801,
259 MSG_CMD_LQ_END = 0x6900,
260
261 /**/
262 MSG_CMD_DRV_BASE = 0x6901,
263 MSG_CMD_DRV_END = 0x7000,
264
265 //kwatchtest
266 MSG_CMD_KWATCH_BASE = 0x8001,
267 MSG_CMD_KWATCH_END = 0x9000,
268
269 //amt device test
270 MSG_CMD_AMT_DEVICE_TEST_BASE = 0x9001,
271 MSG_CMD_AMT_DEVICE_TEST_END = 0x90C8,
xf.li742dd022023-06-08 01:43:32 -0700272
273 //VOICE
274 MSG_CMD_VOICE_BASE = 0x90D0,
275 MSG_CMD_VOICE_END = 0x90FF,
lh9ed821d2023-04-07 01:36:19 -0700276
277 //pocsvr
278 MSG_CMD_POCSVR_BASE = 0x9101,
279 MSG_CMD_POCSVR_END = 0x9200,
xf.li742dd022023-06-08 01:43:32 -0700280
281 //absvr
282 MSG_CMD_ABSVR_BASE = 0x9201,
283 MSG_CMD_ABSVR_END = 0x9300,
lh9ed821d2023-04-07 01:36:19 -0700284};
285#endif
286
287#define MSG_MAGIC_WORD 0x3A3A3A3A /*ȱʡħÊõ×Ö*/
288#define MSG_TYPE_DEFAULT 1 /*lMsgTypeĬÈϵÄÏûÏ¢ÀàÐÍ*/
289#define MSG_TYPE_SOFTTIMER_TIMEOUT 2 /*soft timer³¬Ê±ÏûÏ¢,ɾ³ý¶¨Ê±Æ÷ɾ³ý³¬Ê±ÏûϢʱÐèÒªÖ¸¶¨ÀàÐÍ*/
290
291/*¶¨ÒåͨÓõÄÏûÏ¢½á¹¹*/
292
293/**
294 * @brief message queue body for processes to exchange data
295 * @param lMsgType ÏûÏ¢ÀàÐÍ£¬Õâ¸öÊÇÓÃÀ´¿ØÖÆÏûÏ¢ÊÕÈ¡µÄÓÅÏÈ˳ÐòµÄ
296 * @param usTargetModuleID Ä¿µÄÄ£¿éÏûÏ¢¶ÓÁÐID
297 * @param usSourceModuleID Ô´Ä£¿éÏûÏ¢¶ÓÁÐID
298 * @param usMsgCmd ÏûÏ¢Â룬Õâ¸öÊÇÓÃÀ´Ö¸Ê¾ÏûÏ¢µÄÄÚÈÝÊÇʲôµÄ
299 * @param usDataLen Я´øµÄÓÐЧÊý¾Ý³¤¶È
300 * @param aucDataBuf Я´øµÄÓÐЧÊý¾Ýbuffer
301 * @param ulMagic ħÊõ×Ö£¬Õý³£Çé¿öÏÂֵΪMSG_MAGIC_WORD
302 */
303typedef struct tagMSG_BUF {
304 long lMsgType; /*ÏûÏ¢ÀàÐÍ£¬Õâ¸öÊÇÓÃÀ´¿ØÖÆÏûÏ¢ÊÕÈ¡µÄÓÅÏÈ˳ÐòµÄ*/
305 int dst_id; /*Ä¿µÄÄ£¿éÏûÏ¢¶ÓÁÐID*/
306 int src_id; /*Ô´Ä£¿éÏûÏ¢¶ÓÁÐID*/
307 unsigned short usMsgCmd; /*ÏûÏ¢Â룬Õâ¸öÊÇÓÃÀ´Ö¸Ê¾ÏûÏ¢µÄÄÚÈÝÊÇʲôµÄ*/
308 unsigned short usDataLen; /*Я´øµÄÓÐЧÊý¾Ý³¤¶È*/
309 unsigned long ulMagic; /*ħÊõ×Ö£¬Õý³£Çé¿öÏÂֵΪMSG_MAGIC_WORD*/
310 unsigned char aucDataBuf[MSG_DATA_MAX_LEN]; /*Я´øµÄÓÐЧÊý¾Ýbuffer*/
311} MSG_BUF;
312
313
314
315#ifndef DOXYGEN_SHOULD_SKIP_THIS
316/**
317 * @brief ͨ¹ýATÃüÁî·¢Ë͵ĺ˼äÏûÏ¢
318 * @param targetId ½ÓÊÕÏûÏ¢µÄÄ£¿éºÅ
319 * @param position ÏûÏ¢·¢Ë͵ķ½Ïò
320 * @param msg_cmd ÏûÏ¢id
321 * @param len Êý¾Ý³¤¶È
322 * @param msg Êý¾ÝÄÚÈÝ
323 */
324typedef struct {
325 int srcId;
326 int targetId;
327 unsigned short position;
328 unsigned short msg_cmd;
329 unsigned short len;
330 unsigned char msg[SOC_MSG_MAX_LEN];
331} T_Soc_Msg;
332#endif
333
334#ifdef __cplusplus
335}
336#endif
337
338#endif
339