Home | History | Annotate | Download | only in inc
      1 /*
      2  * Copyright (c) 2010, Texas Instruments Incorporated
      3  * All rights reserved.
      4  *
      5  * Redistribution and use in source and binary forms, with or without
      6  * modification, are permitted provided that the following conditions
      7  * are met:
      8  *
      9  * *  Redistributions of source code must retain the above copyright
     10  *    notice, this list of conditions and the following disclaimer.
     11  *
     12  * *  Redistributions in binary form must reproduce the above copyright
     13  *    notice, this list of conditions and the following disclaimer in the
     14  *    documentation and/or other materials provided with the distribution.
     15  *
     16  * *  Neither the name of Texas Instruments Incorporated nor the names of
     17  *    its contributors may be used to endorse or promote products derived
     18  *    from this software without specific prior written permission.
     19  *
     20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
     21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO,
     22  * THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
     23  * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR
     24  * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
     25  * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
     26  * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
     27  * OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
     28  * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
     29  * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,
     30  * EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
     31  */
     32 
     33 #include <dirent.h>
     34 
     35 #define MAX_ROLES 20
     36 #define MAX_TABLE_SIZE 50
     37 
     38 typedef struct _ComponentTable {
     39     OMX_STRING name;
     40     OMX_U16 nRoles;
     41     OMX_STRING pRoleArray[MAX_ROLES];
     42 }ComponentTable;
     43 
     44 
     45 OMX_API OMX_ERRORTYPE OMX_GetRolesOfComponent (
     46     OMX_IN      OMX_STRING compName,
     47     OMX_INOUT   OMX_U32 *pNumRoles,
     48     OMX_OUT     OMX_U8 **roles);
     49 
     50 OMX_ERRORTYPE OMX_PrintComponentTable();
     51 OMX_ERRORTYPE OMX_BuildComponentTable();
     52 OMX_ERRORTYPE ComponentTable_EventHandler(
     53         OMX_IN OMX_HANDLETYPE hComponent,
     54         OMX_IN OMX_PTR pAppData,
     55         OMX_IN OMX_EVENTTYPE eEvent,
     56         OMX_IN OMX_U32 nData1,
     57         OMX_IN OMX_U32 nData2,
     58         OMX_IN OMX_PTR pEventData);
     59 
     60 OMX_ERRORTYPE ComponentTable_EmptyBufferDone(
     61         OMX_OUT OMX_HANDLETYPE hComponent,
     62         OMX_OUT OMX_PTR pAppData,
     63         OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
     64 
     65 OMX_ERRORTYPE ComponentTable_FillBufferDone(
     66         OMX_OUT OMX_HANDLETYPE hComponent,
     67         OMX_OUT OMX_PTR pAppData,
     68         OMX_OUT OMX_BUFFERHEADERTYPE* pBuffer);
     69