3 * Copyright 2012 Samsung Electronics S.LSI Co. LTD
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
9 * http://www.apache.org/licenses/LICENSE-2.0
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.
19 * @file Exynos_OSAL_Queue.h
21 * @author SeungBeom Kim (sbcrux.kim@samsung.com)
27 #ifndef EXYNOS_OSAL_QUEUE
28 #define EXYNOS_OSAL_QUEUE
30 #include "OMX_Types.h"
33 #define QUEUE_ELEMENTS 10
34 #define MAX_QUEUE_ELEMENTS 40
36 typedef struct _EXYNOS_QElem
39 struct _EXYNOS_QElem *qNext;
42 typedef struct _EXYNOS_QUEUE
48 OMX_HANDLETYPE qMutex;
56 OMX_ERRORTYPE Exynos_OSAL_QueueCreate(EXYNOS_QUEUE *queueHandle, int maxNumElem);
57 OMX_ERRORTYPE Exynos_OSAL_QueueTerminate(EXYNOS_QUEUE *queueHandle);
58 int Exynos_OSAL_Queue(EXYNOS_QUEUE *queueHandle, void *data);
59 void *Exynos_OSAL_Dequeue(EXYNOS_QUEUE *queueHandle);
60 int Exynos_OSAL_GetElemNum(EXYNOS_QUEUE *queueHandle);
61 int Exynos_OSAL_SetElemNum(EXYNOS_QUEUE *queueHandle, int ElemNum);
62 int Exynos_OSAL_ResetQueue(EXYNOS_QUEUE *queueHandle);