00001
00002
00003
00004
00005
00006
00007
00018
00019 #ifndef MESSAGE__H
00020 #define MESSAGE__H
00021
00022
00023 #ifdef __cplusplus
00024 extern "C" {
00025 #endif
00026
00027
00028 #include "../feature.h"
00029
00030
00031 #define MSG_ID UINT16
00032 #define MSG_DATA int
00033 #define MSGQ_HDL int
00034
00035 #define MSG_ISSERED (0x8000) // is MSG serialized?
00036 #define MSG_SERMASK (0x7F00) // serialization ID.
00037 #define MSG_DEFMASK (0x00ff)
00038
00039 #define SYS_MSG_Q_LENGTH (16)
00040 #define UI_MSG_Q_LENGTH (16)
00041 #define LCD_MSG_Q_LENGTH (32)
00042
00043 #define MSGQ_MAX_HDL (8)
00044 #define MSGQ_INVALID_HDL (-1)
00045
00046 #define INVALID_MSG_ID (0)
00047 #define KBD_MSG_ID (0x001)
00048 #define LCD_MSG_ID (0x002)
00049 #define SYS_MSG_ID (0x003)
00050 #define TMR_MSG_ID (0x004)
00051
00052 #define DONTCARE (0xffff)
00053
00056 typedef enum
00057 {
00058 SSHUT_DOWN,
00059 SUSB_PLUG,
00060 SUSB_UNPLUG,
00061 SUSB_START,
00062 SUSB_STOP,
00063 SSTATE_START,
00064 SSTATE_END,
00065 SMENUBROWSE,
00066 SDBBROWSE,
00067 SBROWSE,
00068 SENDOFMENU,
00069 SMSGBOX_CREATE,
00070 SMSGBOX_EXIT,
00071 SCSF_NULL,
00072 SSF_NULL,
00073 SPSF_NULL,
00074 SCREATETASK,
00075 SXIM_CREATE,
00076 SXIM_EXIT,
00077 SSTATE_END_ACK,
00078 SSTART2PLAY,
00079 SSTOPPLAY,
00080 SRESUMEPLAY,
00081 SAUDIOCTL,
00082 SAUDIOTIME_UPDT,
00083 SENDOFMUSIC,
00084 SCURRENTAUDIOFILE,
00085 SNEXTAUDIOFILE,
00086 SVOLWIN_CREATE,
00087 SSTARTRADIO,
00088 SSTART2RECORD,
00089 SSTART2HISI,
00090 SMEMBAR_UPDT,
00091 SPOWERUP,
00092 SDISKDBREADY,
00093 SPOWER_LOW,
00094 SPOWER_PLUG,
00095 SPOWER_UNPLUG,
00096 SSHUFFLECHANGED,
00097 SREPEATCHANGED,
00098 SMIFIMODECHANGED,
00099 SMIFIQUALITYCHANGED,
00100 SMEDIAFULL,
00101 SPRESET,
00102 SGO2PRESET,
00103 SRTC_UPDT,
00104 SMYMIXCHANGED,
00105 SMYFICHANNELWIN_CREATE,
00106 SMYFICHANNELCHANGED,
00107 SBATLEVEL_UPDT,
00108 SBATLOW_SHUTDOWN,
00109 SPOWERUP_SEQUENCEDONE,
00110 SHIDDENFEATURE,
00111 SPLAYQCHANGED,
00112 SFORCEOFF,
00113 SINITSTATUSBAR,
00114
00115 SDIAGNOSIS,
00116 xxxxxxxxxxx
00117 } SYS_MSG;
00118
00121 typedef enum
00122 {
00123 LUPDATE
00124 } LCD_MSG;
00125
00126
00129 typedef enum
00130 {
00131 TSYNCDISPLAY = 1,
00132 TZEROTRAFFIC = 2,
00133 TSETBUSY = 3,
00134 TSYSBUSY = 4,
00135 TSYSNOTBUSY = 5,
00136 TAUTOSCAN = 6,
00137 TMSGBOX_CANCEL = 7,
00138 TRESUMEPLAY = 8,
00139 TSHUTDOWN = 9,
00140 TVOLUMEWINDOW = 10,
00141 TFRWD_DOUBLECLICK = 11,
00142 TTUNERSEEK = 12,
00143 THISI_DOUBLECLICK = 13,
00144 TRECANIMATION = 14,
00145 TRECVUMETER = 15,
00146 TRECORDDONE = 16,
00147 THISIANIMATION = 17,
00148 THISIDONE = 18,
00149 TMYFICHANNELWINDOW = 19,
00150 TMYFISHUTDOWN = 20,
00151 TBACKLIGHTOFF = 21,
00152 THDDPOWEROFF = 22,
00153 THFKEYSEQUENCE = 23,
00154 TTXTSCROLL = 24
00155
00156 } TIMER_MSG;
00157
00160 typedef struct
00161 {
00166 MSG_ID id;
00167 MSG_DATA d1;
00168 MSG_DATA d2;
00169
00170 } st_MSG, *pMSG;
00171
00172
00173 #define mMSG_get(q, m, t) MSG_get(q, m, SYS_FOREVER)
00174
00175
00176
00177
00178
00179 #define mMSG_send(q, mID, mD1, mD2, t) MSG_send2(q, mID, mD1, mD2, t)
00180
00181
00182 extern MSGQ_HDL sysMsgQ;
00183 extern MSGQ_HDL uiChildMsgQ;
00184 extern MSGQ_HDL uiMsgQ;
00185 extern MSGQ_HDL uiParentMsgQ;
00186 extern MSGQ_HDL lcdMsgQ;
00187
00188
00189 MSGQ_HDL MSG_createQ(int);
00190 BOOL MSG_send(MSGQ_HDL, st_MSG*, USHORT);
00191 void MSG_get(MSGQ_HDL, st_MSG*, USHORT);
00192 unsigned short MSG_getSerialID(void);
00193
00194 BOOL MSG_send2(MSGQ_HDL, MSG_ID, MSG_DATA, MSG_DATA, USHORT);
00195
00196 #ifdef __cplusplus
00197 }
00198 #endif
00199
00200
00201 #endif
00202
00203
00204
00205
00206