47 #define EV_CLASS_MASK 0x007f
48 #define EV_CLASS_CAN_REPEAT_FLAG 0x0080
49 #define EV_CLASS_IS_REPEAT 0x0100
51 #define HARDWARE_EVENT(id) (id & EV_CLASS_MASK)
52 #define USER_EVENT(id) ((id & EV_CLASS_MASK) | EV_CLASS_CAN_REPEAT_FLAG)
56 #define EVENT_CODE(class, type) (((class ) << 16) | (type))
59 #define EVENT_CLASS(code) ((code >> 16) & 0xff)
60 #define EVENT_TYPE(code) (code & 0xffff)
63 #define EV_CLASS_HSET USER_EVENT(0x01)
64 #define EV_CLASS_KEYP USER_EVENT(0x02)
65 #define EV_CLASS_TUNE HARDWARE_EVENT(0x03)
66 #define EV_CLASS_DECODE HARDWARE_EVENT(0x04)
67 #define EV_CLASS_SEARCH HARDWARE_EVENT(0x05)
68 #define EV_CLASS_LNB HARDWARE_EVENT(0x06)
69 #define EV_CLASS_DISH HARDWARE_EVENT(0x07)
70 #define EV_CLASS_SKEW HARDWARE_EVENT(0x08)
71 #define EV_CLASS_SCART HARDWARE_EVENT(0x09)
72 #define EV_CLASS_UI HARDWARE_EVENT(0x0a)
73 #define EV_CLASS_OTA_SW_UPGRADE HARDWARE_EVENT(0x0b)
75 #define EV_CLASS_MHEG HARDWARE_EVENT(0xc)
76 #define EV_CLASS_MHEG_TUNE_REQUEST HARDWARE_EVENT(0xd)
77 #define EV_CLASS_PVR HARDWARE_EVENT(0xe)
78 #define EV_CLASS_TIMER HARDWARE_EVENT(0xf)
79 #define EV_CLASS_APPLICATION HARDWARE_EVENT(0x10)
80 #define EV_CLASS_DVD HARDWARE_EVENT(0x12)
81 #define EV_CLASS_MHEG_DISPLAY_INFO HARDWARE_EVENT(0x13)
83 #define EV_CLASS_CI HARDWARE_EVENT(0x14)
84 #define EV_CLASS_DISK HARDWARE_EVENT(0x15)
85 #define EV_CLASS_HDMI HARDWARE_EVENT(0x16)
86 #define EV_CLASS_MHEG_STREAMING_REQUEST HARDWARE_EVENT(0x17)
87 #define EV_CLASS_MHEG_ACTION_REQUEST HARDWARE_EVENT(0x18)
88 #define EV_CLASS_CA HARDWARE_EVENT(0x19)
90 #define EV_CLASS_PRIVATE HARDWARE_EVENT(0xFF)
93 #define EV_TYPE_FAIL 0x0000
94 #define EV_TYPE_SUCCESS 0x0001
95 #define EV_TYPE_FORCE 0x0002
96 #define EV_TYPE_LOCKED 0x0003
97 #define EV_TYPE_NOTLOCKED 0x0004
98 #define EV_TYPE_STARTED 0x0005
99 #define EV_TYPE_STOPPED 0x0006
100 #define EV_TYPE_AUDIO_STARTED 0x0007
101 #define EV_TYPE_AUDIO_STOPPED 0x0008
102 #define EV_TYPE_VIDEO_STARTED 0x0009
103 #define EV_TYPE_VIDEO_STOPPED 0x000a
104 #define EV_TYPE_PAUSED 0x000b
105 #define EV_TYPE_16_9 0x000c
106 #define EV_TYPE_4_3 0x000d
107 #define EV_TYPE_SIGNAL_DATA_BAD 0x000e
108 #define EV_TYPE_SIGNAL_DATA_OK 0x000f
109 #define EV_TYPE_DISCONNECTED 0x0010
110 #define EV_TYPE_SAMPLE_STARTED 0x0011
111 #define EV_TYPE_SAMPLE_STOPPED 0x0012
112 #define EV_TYPE_AD_STARTED 0x0013
113 #define EV_TYPE_AD_STOPPED 0x0014
114 #define EV_TYPE_CONNECTED 0x0015
115 #define EV_TYPE_AUDIO_UNDERFLOW 0x0016
116 #define EV_TYPE_VIDEO_UNDERFLOW 0x0017
117 #define EV_TYPE_UPDATE 0x0018
118 #define EV_TYPE_FORCED_SERVICE_CHANGE 0x0019
119 #define EV_TYPE_USER_INTERACTION_TIMEOUT 0x0020
122 #define EV_TYPE_OTA_SW_UPGRADE_FOUND 0x3000
123 #define EV_TYPE_OTA_SW_UPGRADE_NOTFOUND 0x3001
125 #define EV_TYPE_OTA_SW_UPGRADE_DOWNLOADING 0x3002
126 #define EV_TYPE_OTA_SW_UPGRADE_ERROR 0x3003
127 #define EV_TYPE_OTA_SW_UPGRADE_BURNING 0x3004
128 #define EV_TYPE_OTA_SW_UPGRADE_COMPLETED 0x3005
131 #define EV_TYPE_START_SUBTITLES 0x4001
132 #define EV_TYPE_STOP_SUBTITLES 0x4002
133 #define EV_TYPE_MHEG_TUNE_INDEX 0x4003
134 #define EV_TYPE_MHEG_TUNE_DSD 0x4004
135 #define EV_TYPE_MHEG_TUNE_TRIPLET 0x4005
138 #define EV_TYPE_TERR_NETWORK_CHANGED 0x5000
141 #define EV_TYPE_PVR_REC_START 0x6000
142 #define EV_TYPE_PVR_REC_STOP 0x6001
143 #define EV_TYPE_PVR_PLAY_START 0x6002
144 #define EV_TYPE_PVR_PLAY_STOP 0x6003
145 #define EV_TYPE_PVR_PLAY_BOF 0x6004
146 #define EV_TYPE_PVR_PLAY_EOF 0x6005
149 #define EV_TYPE_DVD_DISK_INSERTED 0x7000
150 #define EV_TYPE_DVD_DISK_REMOVED 0x7001
153 #define EV_TYPE_MHEG_TUNE_NORMALLY 0x8000
154 #define EV_TYPE_MHEG_TUNE_QUIETLY 0x8001
155 #define EV_TYPE_MHEG_PROMO_LINK_CHANGE 0x8002
158 #define EV_TYPE_CI_INSERT 0x9001
159 #define EV_TYPE_CI_REMOVE 0x9002
160 #define EV_TYPE_CI_CAM_UPGRADE_PROGRESS 0x9003
161 #define EV_TYPE_CI_CAM_UPGRADE_COMPLETE 0x9004
162 #define EV_TYPE_CI_CAM_UPGRADE_FAILED 0x9005
163 #define EV_TYPE_CI_SLOT_STATUS_UPDATED 0x9006
164 #define EV_TYPE_CI_URI_UPDATED 0x9007
165 #define EV_TYPE_CI_KEYS_UPDATED 0x9008
166 #define EV_TYPE_CI_OPEN 0x9009
167 #define EV_TYPE_CI_CLOSE 0x900A
168 #define EV_TYPE_CI_TUNE 0x900B
169 #define EV_TYPE_CI_RELEASE_REPLY 0x900C
170 #define EV_TYPE_CI_REQUEST_OPERATOR_SEARCH 0x900D
171 #define EV_TYPE_CI_OPERATOR_SEARCH_FINISHED 0x900E
172 #define EV_TYPE_CI_RECORD_START 0x900F
173 #define EV_TYPE_CI_RECORD_START_FAILED 0x9010
174 #define EV_TYPE_CI_RECORD_LICENCE_UPDATED 0x9011
175 #define EV_TYPE_CI_PLAYBACK_LICENCE_UPDATED 0x9012
176 #define EV_TYPE_CI_PLAYBACK_LICENCE_STATUS 0x9013
177 #define EV_TYPE_CI_PIN_STATUS 0x9014
178 #define EV_TYPE_CI_RECORD_PIN 0x9015
179 #define EV_TYPE_CI_PLAYBACK_BLANK_VIDEO 0x9016
180 #define EV_TYPE_CI_PLAYBACK_PIN_STATUS 0x9017
181 #define EV_TYPE_CI_APP_INFO 0x9018
184 #define EV_TYPE_DISK_CONNECTED 0xA000
185 #define EV_TYPE_DISK_REMOVED 0xA001
186 #define EV_TYPE_DISK_FULL 0xA002
189 #define EV_TYPE_MHEG_STREAMING_SETUP 0xB001
190 #define EV_TYPE_MHEG_STREAMING_STOP 0xB002
191 #define EV_TYPE_MHEG_STREAMING_PAUSE 0xB003
192 #define EV_TYPE_MHEG_PIN_REQUEST 0xB004
195 #define EV_TYPE_MHEG_REQUEST_VIDEO 0xC001
196 #define EV_TYPE_MHEG_REQUEST_AUDIO 0xC002
197 #define EV_TYPE_MHEG_REQUEST_RESTORE_VIDEO 0xc003
198 #define EV_TYPE_MHEG_REQUEST_RESTORE_AUDIO 0xC004
201 #define STB_EVENT_TUNE_LOCKED EVENT_CODE(EV_CLASS_TUNE, EV_TYPE_LOCKED)
202 #define STB_EVENT_TUNE_NOTLOCKED EVENT_CODE(EV_CLASS_TUNE, EV_TYPE_NOTLOCKED)
203 #define STB_EVENT_TUNE_STOPPED EVENT_CODE(EV_CLASS_TUNE, EV_TYPE_STOPPED)
204 #define STB_EVENT_TUNE_SIGNAL_DATA_BAD EVENT_CODE(EV_CLASS_TUNE, EV_TYPE_SIGNAL_DATA_BAD)
205 #define STB_EVENT_TUNE_SIGNAL_DATA_OK EVENT_CODE(EV_CLASS_TUNE, EV_TYPE_SIGNAL_DATA_OK)
208 #define STB_EVENT_SEARCH_FAIL EVENT_CODE(EV_CLASS_SEARCH, EV_TYPE_FAIL)
209 #define STB_EVENT_SEARCH_SUCCESS EVENT_CODE(EV_CLASS_SEARCH, EV_TYPE_SUCCESS)
212 #define STB_EVENT_AD_DECODE_STARTED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_AD_STARTED)
213 #define STB_EVENT_AD_DECODE_STOPPED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_AD_STOPPED)
214 #define STB_EVENT_AUDIO_DECODE_STARTED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_AUDIO_STARTED)
215 #define STB_EVENT_AUDIO_DECODE_STOPPED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_AUDIO_STOPPED)
216 #define STB_EVENT_AUDIO_DECODE_UNDERFLOW EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_AUDIO_UNDERFLOW)
217 #define STB_EVENT_VIDEO_DECODE_STARTED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_VIDEO_STARTED)
218 #define STB_EVENT_VIDEO_DECODE_STOPPED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_VIDEO_STOPPED)
219 #define STB_EVENT_VIDEO_DECODE_UNDERFLOW EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_VIDEO_UNDERFLOW)
220 #define STB_EVENT_SAMPLE_DECODE_STARTED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_SAMPLE_STARTED)
221 #define STB_EVENT_SAMPLE_DECODE_STOPPED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_SAMPLE_STOPPED)
222 #define STB_EVENT_DECODE_LOCKED EVENT_CODE(EV_CLASS_DECODE, EV_TYPE_LOCKED)
224 #define STB_EVENT_FORCED_SERVICE_CHANGE EVENT_CODE(EV_CLASS_APPLICATION, EV_TYPE_FORCED_SERVICE_CHANGE)
227 #define STB_EVENT_TIMER_NOTIFY EVENT_CODE(EV_CLASS_TIMER, EV_TYPE_FAIL)
228 #define STB_EVENT_TIMER_EXPIRE EVENT_CODE(EV_CLASS_TIMER, EV_TYPE_SUCCESS)
229 #define STB_EVENT_USER_INTERACTION_TIMEOUT EVENT_CODE(EV_CLASS_TIMER, EV_TYPE_USER_INTERACTION_TIMEOUT)
232 #define STB_EVENT_HDMI_CONNECTED EVENT_CODE(EV_CLASS_HDMI, EV_TYPE_CONNECTED)
233 #define STB_EVENT_HDMI_DISCONNECTED EVENT_CODE(EV_CLASS_HDMI, EV_TYPE_DISCONNECTED)
236 #define STB_EVENT_OTA_SW_UPGRADE_FOUND EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_FOUND)
237 #define STB_EVENT_OTA_SW_UPGRADE_NOTFOUND EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_NOTFOUND)
238 #define STB_EVENT_OTA_SW_UPGRADE_DOWNLOADING EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_DOWNLOADING)
239 #define STB_EVENT_OTA_SW_UPGRADE_BURNING EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_BURNING)
240 #define STB_EVENT_OTA_SW_UPGRADE_RESET_REQD EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_RESET_REQD)
241 #define STB_EVENT_OTA_SW_UPGRADE_ERROR EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_ERROR)
242 #define STB_EVENT_OTA_SW_UPGRADE_COMPLETED EVENT_CODE(EV_CLASS_OTA_SW_UPGRADE, EV_TYPE_OTA_SW_UPGRADE_COMPLETED)
245 #define STB_EVENT_CI_OPEN_MODULE EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_OPEN)
246 #define STB_EVENT_CI_CLOSE_MODULE EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_CLOSE)
247 #define STB_EVENT_CI_REMOVE EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_REMOVE)
248 #define STB_EVENT_CI_INSERT EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_INSERT)
249 #define STB_EVENT_CI_CAM_UPGRADE_PROGRESS EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_CAM_UPGRADE_PROGRESS)
250 #define STB_EVENT_CI_CAM_UPGRADE_FAILED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_CAM_UPGRADE_FAILED)
251 #define STB_EVENT_CI_CAM_UPGRADE_COMPLETE EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_CAM_UPGRADE_COMPLETE)
252 #define STB_EVENT_CI_SLOT_STATUS_CHANGED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_SLOT_STATUS_UPDATED)
253 #define STB_EVENT_CI_URI_CHANGED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_URI_UPDATED)
254 #define STB_EVENT_CI_KEYS_CHANGED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_KEYS_UPDATED)
255 #define STB_EVENT_CI_TUNE_REQUEST EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_TUNE)
256 #define STB_EVENT_CI_RELEASE_REPLY EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_RELEASE_REPLY)
257 #define STB_EVENT_CI_REQUEST_OPERATOR_SEARCH EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_REQUEST_OPERATOR_SEARCH)
258 #define STB_EVENT_CI_OPERATOR_SEARCH_FINISHED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_OPERATOR_SEARCH_FINISHED)
259 #define STB_EVENT_CI_RECORD_START EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_RECORD_START)
260 #define STB_EVENT_CI_RECORD_START_FAILED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_RECORD_START_FAILED)
261 #define STB_EVENT_CI_RECORD_LICENCE_CHANGED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_RECORD_LICENCE_UPDATED)
262 #define STB_EVENT_CI_PLAYBACK_LICENCE_CHANGED EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_PLAYBACK_LICENCE_UPDATED)
263 #define STB_EVENT_CI_PLAYBACK_LICENCE_STATUS EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_PLAYBACK_LICENCE_STATUS)
264 #define STB_EVENT_CI_PIN_STATUS EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_PIN_STATUS)
265 #define STB_EVENT_CI_RECORD_PIN EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_RECORD_PIN)
266 #define STB_EVENT_CI_PLAYBACK_BLANK_VIDEO EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_PLAYBACK_BLANK_VIDEO)
267 #define STB_EVENT_CI_PLAYBACK_PIN_STATUS EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_PLAYBACK_PIN_STATUS)
268 #define STB_EVENT_CI_APP_INFO EVENT_CODE(EV_CLASS_CI, EV_TYPE_CI_APP_INFO)
271 #define STB_EVENT_PVR_REC_START EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_REC_START)
272 #define STB_EVENT_PVR_REC_STOP EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_REC_STOP)
273 #define STB_EVENT_PVR_PLAY_START EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_PLAY_START)
274 #define STB_EVENT_PVR_PLAY_STOP EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_PLAY_STOP)
275 #define STB_EVENT_PVR_PLAY_BOF EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_PLAY_BOF)
276 #define STB_EVENT_PVR_PLAY_EOF EVENT_CODE(EV_CLASS_PVR, EV_TYPE_PVR_PLAY_EOF)
279 #define STB_EVENT_DISK_CONNECTED EVENT_CODE(EV_CLASS_DISK, EV_TYPE_DISK_CONNECTED)
280 #define STB_EVENT_DISK_REMOVED EVENT_CODE(EV_CLASS_DISK, EV_TYPE_DISK_REMOVED)
281 #define STB_EVENT_DISK_FULL EVENT_CODE(EV_CLASS_DISK, EV_TYPE_DISK_FULL)
284 #define UI_EVENT_UPDATE EVENT_CODE(EV_CLASS_UI, EV_TYPE_UPDATE)
287 #define STB_EVENT_MHEG_PIN_REQUEST EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_MHEG_PIN_REQUEST)
288 #define STB_EVENT_MHEG_START_SUBTITLES EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_START_SUBTITLES)
289 #define STB_EVENT_MHEG_STOP_SUBTITLES EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_STOP_SUBTITLES)
290 #define STB_EVENT_MHEG_LIFE_CYCLE EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_MHEG_LIFE_CYCLE)
291 #define STB_EVENT_MHEG_TUNE_DSD EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_MHEG_TUNE_DSD)
292 #define STB_EVENT_MHEG_TUNE_TRIPLET EVENT_CODE(EV_CLASS_MHEG, EV_TYPE_MHEG_TUNE_TRIPLET)
294 #define STB_EVENT_REPEAT (EV_CLASS_IS_REPEAT << 16)
303 void STB_ERRegisterHandler(BOOLEAN (*func)(BOOLEAN latched, BOOLEAN repeat, U16BIT event_class, U16BIT event_type,
void *data, U32BIT data_size));
305 void STB_ERSendEvent(BOOLEAN latched, BOOLEAN repeat, U16BIT path_class, U16BIT type,
void *data, U32BIT data_size);
void STB_ERInitialise(void)
Initialises STB layer Event Reporting control.
Definition: stberc.c:468
void STB_ERRegisterHandler(BOOLEAN(*func)(BOOLEAN latched, BOOLEAN repeat, U16BIT class, U16BIT type, void *data, U32BIT data_size))
Called by app to register callback function for events.
Definition: stberc.c:491
void STB_ERSetUserInteractionTimeout(U32BIT timeout)
Sets the time, in seconds, after which the STB_EVENT_USER_INTERACTION_TIMEOUT event will be sent to i...
Definition: stberc.c:617
void STB_ERSendEvent(BOOLEAN latched, BOOLEAN repeat, U16BIT path_class, U16BIT type, void *data, U32BIT data_size)
Sends an event to event reporting control module.
Definition: stberc.c:552
void STB_ERNotifyEvent(U8BIT event_class, U16BIT event_type)
Called by app to notify consumption of latched event.
Definition: stberc.c:513
System Wide Global Technical Data Type Definitions.