1/*
2 *
3 * Copyright 2012 Samsung Electronics S.LSI Co. LTD
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 *      http://www.apache.org/licenses/LICENSE-2.0
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 */
17
18/*
19 * @file        Exynos_OSAL_Event.h
20 * @brief
21 * @author      SeungBeom Kim (sbcrux.kim@samsung.com)
22 * @version     2.0.0
23 * @history
24 *   2012.02.20 : Create
25 */
26
27#ifndef Exynos_OSAL_EVENT
28#define Exynos_OSAL_EVENT
29
30#include <pthread.h>
31#include "OMX_Types.h"
32#include "OMX_Core.h"
33
34
35#define DEF_MAX_WAIT_TIME 0xFFFFFFFF
36
37typedef struct _Exynos_OSAL_THREADEVENT
38{
39    OMX_BOOL       signal;
40    OMX_HANDLETYPE mutex;
41    pthread_cond_t condition;
42} Exynos_OSAL_THREADEVENT;
43
44
45#ifdef __cplusplus
46extern "C" {
47#endif
48
49
50OMX_ERRORTYPE Exynos_OSAL_SignalCreate(OMX_HANDLETYPE *eventHandle);
51OMX_ERRORTYPE Exynos_OSAL_SignalTerminate(OMX_HANDLETYPE eventHandle);
52OMX_ERRORTYPE Exynos_OSAL_SignalReset(OMX_HANDLETYPE eventHandle);
53OMX_ERRORTYPE Exynos_OSAL_SignalSet(OMX_HANDLETYPE eventHandle);
54OMX_ERRORTYPE Exynos_OSAL_SignalWait(OMX_HANDLETYPE eventHandle, OMX_U32 ms);
55
56
57#ifdef __cplusplus
58}
59#endif
60
61#endif
62