34 #define HW_EV_CLASS_HANDSET 0
35 #define HW_EV_CLASS_KEYPAD 1
36 #define HW_EV_CLASS_LNB 2
37 #define HW_EV_CLASS_TUNER 3
38 #define HW_EV_CLASS_DECODE 4
39 #define HW_EV_CLASS_SCART 5
40 #define HW_EV_CLASS_DISK 6
41 #define HW_EV_CLASS_DVD 7
42 #define HW_EV_CLASS_PVR 8
43 #define HW_EV_CLASS_USB 9
44 #define HW_EV_CLASS_HDMI 10
45 #define HW_EV_CLASS_CEC 11
46 #define HW_EV_CLASS_PRIVATE 255
48 #define HW_EV_TYPE_FALSE 0
49 #define HW_EV_TYPE_TRUE 1
50 #define HW_EV_TYPE_LOCKED 2
51 #define HW_EV_TYPE_NOTLOCKED 3
53 #define HW_EV_TYPE_AUDIO_STARTED 4
54 #define HW_EV_TYPE_VIDEO_STARTED 5
55 #define HW_EV_TYPE_AUDIO_STOPPED 6
56 #define HW_EV_TYPE_VIDEO_STOPPED 7
58 #define HW_EV_TYPE_4_3 8
59 #define HW_EV_TYPE_16_9 9
61 #define HW_EV_TYPE_SIGNAL_DATA_BAD 10
62 #define HW_EV_TYPE_SIGNAL_DATA_OK 11
64 #define HW_EV_TYPE_FORMAT_COMPLETE 12
65 #define HW_EV_TYPE_FORMAT_FAILED 13
67 #define HW_EV_TYPE_REPAIR_COMPLETE 14
68 #define HW_EV_TYPE_REPAIR_FAILED 15
70 #define HW_EV_TYPE_DVD_DISK_INSERTED 16
71 #define HW_EV_TYPE_DVD_DISK_REMOVED 17
73 #define HW_EV_TYPE_PVR_REC_START 18
74 #define HW_EV_TYPE_PVR_REC_STOP 19
75 #define HW_EV_TYPE_PVR_PLAY_START 20
76 #define HW_EV_TYPE_PVR_PLAY_STOP 21
77 #define HW_EV_TYPE_PVR_PLAY_BOF 22
78 #define HW_EV_TYPE_PVR_PLAY_EOF 23
79 #define HW_EV_TYPE_PVR_PLAY_NOTIFY_TIME 24
81 #define HW_EV_TYPE_SAMPLE_STOPPED 25
83 #define HW_EV_TYPE_DISK_CONNECTED 26
84 #define HW_EV_TYPE_DISK_REMOVED 27
85 #define HW_EV_TYPE_DISK_FULL 28
87 #define HW_EV_TYPE_HDMI_CONNECT 29
88 #define HW_EV_TYPE_HDMI_DISCONNECT 30
90 #define HW_EV_TYPE_CEC_PLAY 31
91 #define HW_EV_TYPE_CEC_STANDBY 32
93 #define HW_EV_TYPE_AD_STARTED 34
94 #define HW_EV_TYPE_AD_STOPPED 35
96 #define HW_EV_TYPE_VIDEO_UNDERFLOW 36
97 #define HW_EV_TYPE_AUDIO_UNDERFLOW 37
100 #define TIMEOUT_NOW 0
101 #define TIMEOUT_NEVER 0xffff
128 void STB_OSSendEvent(BOOLEAN repeat, U16BIT event_class, U16BIT event_type,
void *data, U32BIT data_size);
181 void*
STB_OSCreateTask(
void (*
function)(
void *),
void *param, U32BIT stack, U8BIT priority, U8BIT *name);
257 BOOLEAN
STB_OSReadQueue(
void *queue,
void *msg, U16BIT msg_size, U16BIT timeout);
267 BOOLEAN
STB_OSWriteQueue(
void *queue,
void *msg, U16BIT msg_size, U16BIT timeout);
void STB_OSResetCPU(void)
Reset the board.
U32BIT STB_OSGetClockGMT(void)
Returns the system time in seconds.
void STB_OSTaskUnlock(void)
Unlock the calling task. Allows task scheduler to preempting calling task and should always be used a...
void STB_OSInitialise(void)
Allows setting of initial boot time.
void STB_OSSetClockRTC(U32BIT num_seconds)
Set the local time in seconds since midnight 1-1-1970.
U32BIT STB_OSGetClockDiff(U32BIT timestamp)
Get Difference between Given Time and Current Time.
void * STB_OSCreateSemaphore(void)
Create a Semaphore.
void STB_OSTaskLock(void)
Lock the calling task. Prevents task scheduler from preempting calling task and should always be used...
BOOLEAN STB_OSSemaphoreWaitTimeout(void *semaphore, U16BIT timeout)
Wait on Semaphore for Set Time Period in an Attempt to Acquire.
void STB_OSSemaphoreSignal(void *semaphore)
Signal a Semaphore to Release it by decrementing its counter.
void * STB_OSCreateCountSemaphore(U32BIT value)
Create a counting semaphore.
void STB_OSTaskSleep(void)
Put Calling Task to Sleep. This is the equivalent of a Task Reschedule which is useful when a task wa...
void STB_OSSendEvent(BOOLEAN repeat, U16BIT event_class, U16BIT event_type, void *data, U32BIT data_size)
Send an event by calling the registered callback function.
BOOLEAN STB_OSDestroyQueue(void *queue)
Destroy Queue.
void STB_OSDestroyTask(void *task)
Delete Task must be called upon termination of each task as it frees all OS specific resources alloca...
void STB_OSDeleteSemaphore(void *semaphore)
Delete a Semaphore.
U8BIT STB_OSTaskPriority(void *task, U8BIT priority)
Set a New Priority Level for Specified Task.
void STB_OSMutexUnlock(void *mutex)
Unlock a mutex (a.k.a. 'leave', 'signal' or 'release')
void STB_OSTaskSuspend(void)
Suspend the calling task.
void STB_OSSemaphoreWait(void *semaphore)
Wait on Semaphore Indefinity or Until Released.
void STB_OSInitCountSemaphore(void *semaphore, U32BIT value)
Initialise a counting semaphore.
U32BIT STB_OSGetClockRTC(void)
Returns the current time in seconds. This is calculated by using the set UTC time and adding the diff...
void STB_OSRegisterCallback(void(*func)(BOOLEAN, U16BIT, U16BIT, void *, U32BIT))
Register the function that will be called when STB_OSSendEvent is used.
void STB_OSMutexLock(void *mutex)
Lock a mutex (a.k.a. 'enter', 'wait' or 'get').
void * STB_OSGetCurrentTask(void)
Returns the handle of the current task.
BOOLEAN STB_OSWriteQueue(void *queue, void *msg, U16BIT msg_size, U16BIT timeout)
Write a message to the queue.
System Wide Global Technical Data Type Definitions.
void STB_OSSetClockGMT(U32BIT num_seconds)
Set the time in seconds since midnight 1-1-1970 in GMT.
void * STB_OSCreateTask(void(*function)(void *), void *param, U32BIT stack, U8BIT priority, U8BIT *name)
Create a New Task to the calling process. Upon success, the created task runs on its own stack...
void * STB_OSCreateQueue(U16BIT msg_size, U16BIT msg_max)
Create Queue of given number of messages and size of message.
void * STB_OSCreateMutex(void)
Create a mutex.
void STB_OSTaskWakeUp(void)
Wake up a task that was put to sleep when it called STB_OSTaskSleep().
BOOLEAN STB_OSReadQueue(void *queue, void *msg, U16BIT msg_size, U16BIT timeout)
Read a message from a queue.
void STB_OSTaskDelay(U16BIT timeout)
Delay Task for Specifed Time Period.
void STB_OSDeleteMutex(void *mutex)
Delete a mutex.
U32BIT STB_OSGetClockMilliseconds(void)
Get Current Computer Clock Time.