This file is indexed.

/usr/include/bellagio/component_loader.h is in libomxil-bellagio-dev 0.9.3-2ubuntu1.

This file is owned by root:root, with mode 0o644.

The actual contents of the file can be viewed below.

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
/**
  src/component_loader.h

  OpenMAX Component loader APIs. This header file specifies the entry point
  that a component loader must provide.

  Copyright (C) 2007-2009 STMicroelectronics
  Copyright (C) 2007-2009 Nokia Corporation and/or its subsidiary(-ies).

  This library is free software; you can redistribute it and/or modify it under
  the terms of the GNU Lesser General Public License as published by the Free
  Software Foundation; either version 2.1 of the License, or (at your option)
  any later version.

  This library is distributed in the hope that it will be useful, but WITHOUT
  ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
  FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public License for more
  details.

  You should have received a copy of the GNU Lesser General Public License
  along with this library; if not, write to the Free Software Foundation, Inc.,
  51 Franklin St, Fifth Floor, Boston, MA
  02110-1301  USA

*/

#ifndef __COMPONENT_LOADER_H__
#define __COMPONENT_LOADER_H__

#include <OMX_Core.h>

/** @brief Component loader entry points
 *
 * The component loader generic structure contains the entry points for
 * each component loader. The list of component loaders is filled using
 * a special function, called AddComponentLoader.
 */
typedef struct BOSA_COMPONENTLOADER
{
  /** @brief The constructor of the component loader
   *
   * The component loader creator is called by the OMX_Init function. It is
   * implemented by the specific component loader. It must allocate any
   * resource needed by the component loader.
   *
   * @param loader A private data structure, if needed by the component loader.
   * This data structure is passed every time a function of this loader is called.
   * @return OMX_ErrorInsufficientResources if the component loader can not be constructed
   */
  OMX_ERRORTYPE (*BOSA_InitComponentLoader)(struct BOSA_COMPONENTLOADER *loader);

  /** @brief The destructor of the component loader
   *
   * The component loader destructor is called by the OMX_Deinit function. It is
   * implemented by the specific component loader. It must free every specific
   * resource used by the component loader.
   *
   * @param loader the specific component loader. This parameter is also specific
   * to the component loader, and its structure is defined by each loader.
   * @return OMX_ErrorNone
   */
  OMX_ERRORTYPE (*BOSA_DeInitComponentLoader)(struct BOSA_COMPONENTLOADER *loader);

  /** @brief The component constructor of the current component loader
   *
   * This function implements the OMX_GetHandle function for the
   * specific component loader. Its interface is the same as the
   * standard GetHandle function, except that the first parameter
   * that contains the private data of the specific component loader.
   *
   * @param loader Private data of the component loader
   * @param pHandle the openmax handle returned by the function, or NULL
   * in case of failure.
   * @param cComponentName A string that contains the standard
   * component's name
   * @param pAppData private data of the component (if needed)
   * @param pCallBacks IL client callback function pointers passed
   * to the component
   *
   * @return OMX_ErrorNone if the component is correctly constructed and returned
   * @return OMX_ErrorComponentNotFound if the component is not found
   * @return OMX_ErrorInsufficientResources if the component exists but can not be allocated.
   */
  OMX_ERRORTYPE (*BOSA_CreateComponent)(
    struct BOSA_COMPONENTLOADER *loader,
    OMX_HANDLETYPE* pHandle,
    OMX_STRING cComponentName,
    OMX_PTR pAppData,
    OMX_CALLBACKTYPE* pCallBacks);

  /** @brief The component destructor of the current component loader
   *
   * This function implements the OMX_FreeHandle function for the
   * specific component loader. Its interface is the same as the
   * standard FreeHandle function, except that the first parameter
   * that contains the private data of the specific component loader.
   *
   * @param loader Private data of the component loader
   * @param pHandle the openmax handle returned by the function, or NULL
   * in case of failure.
   * @param cComponentName A string that contains the standard
   * component's name
   * @param pAppData private data of the component (if needed)
   * @param pCallBacks IL client callback function pointers passed
   * to the component
   *
   * @return OMX_ErrorNone if the component is correctly constructed and returned
   * @return OMX_ErrorComponentNotFound if the component is not found
   * @return OMX_ErrorInsufficientResources if the component exists but can not be allocated.
   */
  OMX_ERRORTYPE (*BOSA_DestroyComponent)(
      struct BOSA_COMPONENTLOADER *loader,
      OMX_HANDLETYPE hComponent);

  /** @brief An enumerator of the components handled by the current component loader.
   *
   * This function implements the OMX_ComponentNameEnum function
   * for the specific component loader
   *
   * @param loader Private data of the component loader
   * @param cComponentName A pointer to a null terminated string
   * with the component name.  The names of the components are
   * strings less than 127 bytes in length plus the trailing null
   * for a maximum size of 128 bytes (OMX_MAX_STRINGNAME_SIZE).
   * @param nNameLength The number of characters in the
   * cComponentName string.  With all component name strings
   * restricted to less than 128 characters (including the trailing null)
   * it is recommended that the caller provide a input string for the
   * cComponentName of 128 characters.
   * @param nIndex A number containing the enumeration index
   * for the component. Multiple calls to OMX_ComponentNameEnum
   * with increasing values of nIndex will enumerate through the
   * component names in the system until OMX_ErrorNoMore is returned.
   * The value of nIndex is 0 to (N-1), where N is the number of
   * valid installed components in the system.
   *
   * @return OMX_ErrorNone If the command successfully executes
   * @return OMX_ErrorNoMore If the value of nIndex exceeds the
   * number of components handled by the component loader minus 1
   */
  OMX_ERRORTYPE (*BOSA_ComponentNameEnum)(
    struct BOSA_COMPONENTLOADER *loader,
    OMX_STRING cComponentName,
    OMX_U32 nNameLength,
    OMX_U32 nIndex);

  /** @brief This function implements the OMX_GetRolesOfComponent standard function for the current component loader
   *
   * This function will return the number of roles supported by
   * the given component and (if the roles field is non-NULL)
   * the names of those roles. The call will fail if an insufficiently
   * sized array of names is supplied.
   * To ensure the array is sufficiently sized the client should:
   * - first call this function with the roles field NULL to
   *   determine the number of role names
   * - second call this function with the roles field pointing to
   *   an array of names allocated according to the number
   *   returned by the first call.
   *
   * @param loader Private data of the component loader
   * @param compName The name of the component being queried about.
   * @param pNumRoles This parameter is used both as input and output.
   * If roles is NULL, the input is ignored and the output specifies
   * how many roles the component supports. If compNames is not NULL,
   * on input it bounds the size of the input structure and on output,
   * it specifies the number of roles string names listed within
   * the roles parameter.
   * @param roles If NULL this field is ignored. If non-NULL this points
   * to an array of 128-byte strings which accepts a list of the names of
   * all standard components roles implemented on the specified
   * component name. numComps indicates the number of names.
   */
  OMX_ERRORTYPE (*BOSA_GetRolesOfComponent)(
    struct BOSA_COMPONENTLOADER *loader,
    OMX_STRING compName,
    OMX_U32 *pNumRoles,
    OMX_U8 **roles);

  /** @brief This function implements the OMX_GetComponentsOfRole
   * standard function for the current component loader
   *
   * This function will return the number of components that support
   * the given role and (if the compNames field is non-NULL) the names
   * of those components. The call will fail if an insufficiently
   * sized array of names is supplied. To ensure the array is
   * sufficiently sized the client should:
   * - first call this function with the compNames field NULL to
   *   determine the number of component names
   * - second call this function with the compNames field pointing
   *   to an array of names allocated according to the number
   *   returned by the first call.
   *
   * @param loader Private data of the component loader
   * @param role This is generic standard component name consisting
   * only of component class name and the type within that class
   * (e.g. 'audio_decoder.aac').
   * @param pNumComps This is used both as input and output. If compNames
   * is NULL, the input is ignored and the output specifies how many
   * components support the given role. If compNames is not NULL,
   * on input it bounds the size of the input structure and on output,
   * it specifies the number of components string names listed within
   * the compNames parameter.
   * @param compNames If NULL this field is ignored. If non-NULL this points
   * to an array of 128-byte strings which accepts a list of the names of
   * all physical components that implement the specified standard component
   * name. Each name is NULL terminated. numComps indicates the number of names.
   */
  OMX_ERRORTYPE (*BOSA_GetComponentsOfRole) (
    struct BOSA_COMPONENTLOADER *loader,
    OMX_STRING role,
    OMX_U32 *pNumComps,
    OMX_U8  **compNames);

  /** @brief The reference to the current component loader private data
   *
   * The current loader specified by this structure is described with this
   * generic pointer that contains the private data of the loader.
   */
  void *loaderPrivate;

} BOSA_COMPONENTLOADER;

#endif