This file is indexed.

/usr/lib/x86_64-linux-gnu/perl5/5.20/GStreamer/Install/gst2perl-autogen.h is in libgstreamer-perl 0.19-1+b1.

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
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
/* This file is automatically generated. Any changes made here will be lost. */

/* This header defines simple perlapi-ish macros for creating SV wrappers
 * and extracting the GPerl value from SV wrappers.  These macros are used
 * by the autogenerated typemaps, and are defined here so that you can use
 * the same logic anywhere in your code (e.g., if you handle the argument
 * stack by hand instead of using the typemap). */

#ifdef GST_TYPE_BIN
  typedef GstBin GstBin_ornull;
# define SvGstBin(sv)		((GstBin *) gperl_get_object_check (sv, GST_TYPE_BIN))
# define newSVGstBin(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstBin_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstBin (sv) : NULL)
# define newSVGstBin_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstBin (val))
#endif /* GST_TYPE_BIN */

#ifdef GST_TYPE_BUS
  typedef GstBus GstBus_ornull;
# define SvGstBus(sv)		((GstBus *) gperl_get_object_check (sv, GST_TYPE_BUS))
# define newSVGstBus(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstBus_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstBus (sv) : NULL)
# define newSVGstBus_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstBus (val))
#endif /* GST_TYPE_BUS */

#ifdef GST_TYPE_CLOCK
  typedef GstClock GstClock_ornull;
# define SvGstClock(sv)		((GstClock *) gperl_get_object_check (sv, GST_TYPE_CLOCK))
# define newSVGstClock(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstClock_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstClock (sv) : NULL)
# define newSVGstClock_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstClock (val))
#endif /* GST_TYPE_CLOCK */

#ifdef GST_TYPE_ELEMENT
  typedef GstElement GstElement_ornull;
# define SvGstElement(sv)		((GstElement *) gperl_get_object_check (sv, GST_TYPE_ELEMENT))
# define newSVGstElement(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstElement_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstElement (sv) : NULL)
# define newSVGstElement_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstElement (val))
#endif /* GST_TYPE_ELEMENT */

#ifdef GST_TYPE_ELEMENT_FACTORY
  typedef GstElementFactory GstElementFactory_ornull;
# define SvGstElementFactory(sv)		((GstElementFactory *) gperl_get_object_check (sv, GST_TYPE_ELEMENT_FACTORY))
# define newSVGstElementFactory(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstElementFactory_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstElementFactory (sv) : NULL)
# define newSVGstElementFactory_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstElementFactory (val))
#endif /* GST_TYPE_ELEMENT_FACTORY */

#ifdef GST_TYPE_GHOST_PAD
  typedef GstGhostPad GstGhostPad_ornull;
# define SvGstGhostPad(sv)		((GstGhostPad *) gperl_get_object_check (sv, GST_TYPE_GHOST_PAD))
# define newSVGstGhostPad(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstGhostPad_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstGhostPad (sv) : NULL)
# define newSVGstGhostPad_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstGhostPad (val))
#endif /* GST_TYPE_GHOST_PAD */

#ifdef GST_TYPE_INDEX
  typedef GstIndex GstIndex_ornull;
# define SvGstIndex(sv)		((GstIndex *) gperl_get_object_check (sv, GST_TYPE_INDEX))
# define newSVGstIndex(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstIndex_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstIndex (sv) : NULL)
# define newSVGstIndex_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstIndex (val))
#endif /* GST_TYPE_INDEX */

#ifdef GST_TYPE_INDEX_FACTORY
  typedef GstIndexFactory GstIndexFactory_ornull;
# define SvGstIndexFactory(sv)		((GstIndexFactory *) gperl_get_object_check (sv, GST_TYPE_INDEX_FACTORY))
# define newSVGstIndexFactory(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstIndexFactory_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstIndexFactory (sv) : NULL)
# define newSVGstIndexFactory_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstIndexFactory (val))
#endif /* GST_TYPE_INDEX_FACTORY */

#ifdef GST_TYPE_OBJECT
  typedef GstObject GstObject_ornull;
# define SvGstObject(sv)		((GstObject *) gperl_get_object_check (sv, GST_TYPE_OBJECT))
# define newSVGstObject(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstObject_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstObject (sv) : NULL)
# define newSVGstObject_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstObject (val))
#endif /* GST_TYPE_OBJECT */

#ifdef GST_TYPE_PAD
  typedef GstPad GstPad_ornull;
# define SvGstPad(sv)		((GstPad *) gperl_get_object_check (sv, GST_TYPE_PAD))
# define newSVGstPad(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstPad_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstPad (sv) : NULL)
# define newSVGstPad_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstPad (val))
#endif /* GST_TYPE_PAD */

#ifdef GST_TYPE_PAD_TEMPLATE
  typedef GstPadTemplate GstPadTemplate_ornull;
# define SvGstPadTemplate(sv)		((GstPadTemplate *) gperl_get_object_check (sv, GST_TYPE_PAD_TEMPLATE))
# define newSVGstPadTemplate(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstPadTemplate_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstPadTemplate (sv) : NULL)
# define newSVGstPadTemplate_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstPadTemplate (val))
#endif /* GST_TYPE_PAD_TEMPLATE */

#ifdef GST_TYPE_PIPELINE
  typedef GstPipeline GstPipeline_ornull;
# define SvGstPipeline(sv)		((GstPipeline *) gperl_get_object_check (sv, GST_TYPE_PIPELINE))
# define newSVGstPipeline(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstPipeline_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstPipeline (sv) : NULL)
# define newSVGstPipeline_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstPipeline (val))
#endif /* GST_TYPE_PIPELINE */

#ifdef GST_TYPE_PLUGIN
  typedef GstPlugin GstPlugin_ornull;
# define SvGstPlugin(sv)		((GstPlugin *) gperl_get_object_check (sv, GST_TYPE_PLUGIN))
# define newSVGstPlugin(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstPlugin_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstPlugin (sv) : NULL)
# define newSVGstPlugin_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstPlugin (val))
#endif /* GST_TYPE_PLUGIN */

#ifdef GST_TYPE_PLUGIN_FEATURE
  typedef GstPluginFeature GstPluginFeature_ornull;
# define SvGstPluginFeature(sv)		((GstPluginFeature *) gperl_get_object_check (sv, GST_TYPE_PLUGIN_FEATURE))
# define newSVGstPluginFeature(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstPluginFeature_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstPluginFeature (sv) : NULL)
# define newSVGstPluginFeature_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstPluginFeature (val))
#endif /* GST_TYPE_PLUGIN_FEATURE */

#ifdef GST_TYPE_QUEUE
  typedef GstQueue GstQueue_ornull;
# define SvGstQueue(sv)		((GstQueue *) gperl_get_object_check (sv, GST_TYPE_QUEUE))
# define newSVGstQueue(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstQueue_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstQueue (sv) : NULL)
# define newSVGstQueue_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstQueue (val))
#endif /* GST_TYPE_QUEUE */

#ifdef GST_TYPE_REGISTRY
  typedef GstRegistry GstRegistry_ornull;
# define SvGstRegistry(sv)		((GstRegistry *) gperl_get_object_check (sv, GST_TYPE_REGISTRY))
# define newSVGstRegistry(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstRegistry_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstRegistry (sv) : NULL)
# define newSVGstRegistry_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstRegistry (val))
#endif /* GST_TYPE_REGISTRY */

#ifdef GST_TYPE_SYSTEM_CLOCK
  typedef GstSystemClock GstSystemClock_ornull;
# define SvGstSystemClock(sv)		((GstSystemClock *) gperl_get_object_check (sv, GST_TYPE_SYSTEM_CLOCK))
# define newSVGstSystemClock(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstSystemClock_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstSystemClock (sv) : NULL)
# define newSVGstSystemClock_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstSystemClock (val))
#endif /* GST_TYPE_SYSTEM_CLOCK */

#ifdef GST_TYPE_TASK
  typedef GstTask GstTask_ornull;
# define SvGstTask(sv)		((GstTask *) gperl_get_object_check (sv, GST_TYPE_TASK))
# define newSVGstTask(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstTask_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstTask (sv) : NULL)
# define newSVGstTask_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstTask (val))
#endif /* GST_TYPE_TASK */

#ifdef GST_TYPE_TYPE_FIND_FACTORY
  typedef GstTypeFindFactory GstTypeFindFactory_ornull;
# define SvGstTypeFindFactory(sv)		((GstTypeFindFactory *) gperl_get_object_check (sv, GST_TYPE_TYPE_FIND_FACTORY))
# define newSVGstTypeFindFactory(val)		(gperl_new_object (G_OBJECT (val), TRUE))
# define SvGstTypeFindFactory_ornull(sv)	(((sv) && SvOK (sv)) ? SvGstTypeFindFactory (sv) : NULL)
# define newSVGstTypeFindFactory_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstTypeFindFactory (val))
#endif /* GST_TYPE_TYPE_FIND_FACTORY */

#ifdef GST_TYPE_CHILD_PROXY
  /* GInterface derivative GstChildProxy */
# define SvGstChildProxy(sv)	((GstChildProxy*)gperl_get_object_check (sv, GST_TYPE_CHILD_PROXY))
# define newSVGstChildProxy(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GstChildProxy GstChildProxy_ornull;
# define SvGstChildProxy_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstChildProxy(sv) : NULL)
# define newSVGstChildProxy_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
#endif /* GST_TYPE_CHILD_PROXY */

#ifdef GST_TYPE_TAG_SETTER
  /* GInterface derivative GstTagSetter */
# define SvGstTagSetter(sv)	((GstTagSetter*)gperl_get_object_check (sv, GST_TYPE_TAG_SETTER))
# define newSVGstTagSetter(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GstTagSetter GstTagSetter_ornull;
# define SvGstTagSetter_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstTagSetter(sv) : NULL)
# define newSVGstTagSetter_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
#endif /* GST_TYPE_TAG_SETTER */

#ifdef GST_TYPE_URI_HANDLER
  /* GInterface derivative GstURIHandler */
# define SvGstURIHandler(sv)	((GstURIHandler*)gperl_get_object_check (sv, GST_TYPE_URI_HANDLER))
# define newSVGstURIHandler(val)	(gperl_new_object (G_OBJECT (val), FALSE))
  typedef GstURIHandler GstURIHandler_ornull;
# define SvGstURIHandler_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstURIHandler(sv) : NULL)
# define newSVGstURIHandler_ornull(val)	(((val) == NULL) ? &PL_sv_undef : gperl_new_object (G_OBJECT (val), FALSE))
#endif /* GST_TYPE_URI_HANDLER */

#ifdef GST_TYPE_BUFFER
  typedef GstBuffer GstBuffer_ornull;
  typedef GstBuffer GstBuffer_noinc;
  typedef GstBuffer GstBuffer_noinc_ornull;
# define SvGstBuffer(sv)			((GstBuffer *) gst2perl_mini_object_from_sv (sv))
# define SvGstBuffer_ornull(sv)		(((sv) && SvOK (sv)) ? SvGstBuffer(sv) : NULL)
# define newSVGstBuffer(val)			(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), TRUE))
# define newSVGstBuffer_ornull(val)		(((val) == NULL) ? &PL_sv_undef : newSVGstBuffer(val))
# define newSVGstBuffer_noinc(val)		(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), FALSE))
# define newSVGstBuffer_noinc_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstBuffer_noinc(val))
#endif /* GST_TYPE_BUFFER */

#ifdef GST_TYPE_EVENT
  typedef GstEvent GstEvent_ornull;
  typedef GstEvent GstEvent_noinc;
  typedef GstEvent GstEvent_noinc_ornull;
# define SvGstEvent(sv)			((GstEvent *) gst2perl_mini_object_from_sv (sv))
# define SvGstEvent_ornull(sv)		(((sv) && SvOK (sv)) ? SvGstEvent(sv) : NULL)
# define newSVGstEvent(val)			(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), TRUE))
# define newSVGstEvent_ornull(val)		(((val) == NULL) ? &PL_sv_undef : newSVGstEvent(val))
# define newSVGstEvent_noinc(val)		(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), FALSE))
# define newSVGstEvent_noinc_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstEvent_noinc(val))
#endif /* GST_TYPE_EVENT */

#ifdef GST_TYPE_MESSAGE
  typedef GstMessage GstMessage_ornull;
  typedef GstMessage GstMessage_noinc;
  typedef GstMessage GstMessage_noinc_ornull;
# define SvGstMessage(sv)			((GstMessage *) gst2perl_mini_object_from_sv (sv))
# define SvGstMessage_ornull(sv)		(((sv) && SvOK (sv)) ? SvGstMessage(sv) : NULL)
# define newSVGstMessage(val)			(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), TRUE))
# define newSVGstMessage_ornull(val)		(((val) == NULL) ? &PL_sv_undef : newSVGstMessage(val))
# define newSVGstMessage_noinc(val)		(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), FALSE))
# define newSVGstMessage_noinc_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstMessage_noinc(val))
#endif /* GST_TYPE_MESSAGE */

#ifdef GST_TYPE_MINI_OBJECT
  typedef GstMiniObject GstMiniObject_ornull;
  typedef GstMiniObject GstMiniObject_noinc;
  typedef GstMiniObject GstMiniObject_noinc_ornull;
# define SvGstMiniObject(sv)			((GstMiniObject *) gst2perl_mini_object_from_sv (sv))
# define SvGstMiniObject_ornull(sv)		(((sv) && SvOK (sv)) ? SvGstMiniObject(sv) : NULL)
# define newSVGstMiniObject(val)			(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), TRUE))
# define newSVGstMiniObject_ornull(val)		(((val) == NULL) ? &PL_sv_undef : newSVGstMiniObject(val))
# define newSVGstMiniObject_noinc(val)		(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), FALSE))
# define newSVGstMiniObject_noinc_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstMiniObject_noinc(val))
#endif /* GST_TYPE_MINI_OBJECT */

#ifdef GST_TYPE_QUERY
  typedef GstQuery GstQuery_ornull;
  typedef GstQuery GstQuery_noinc;
  typedef GstQuery GstQuery_noinc_ornull;
# define SvGstQuery(sv)			((GstQuery *) gst2perl_mini_object_from_sv (sv))
# define SvGstQuery_ornull(sv)		(((sv) && SvOK (sv)) ? SvGstQuery(sv) : NULL)
# define newSVGstQuery(val)			(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), TRUE))
# define newSVGstQuery_ornull(val)		(((val) == NULL) ? &PL_sv_undef : newSVGstQuery(val))
# define newSVGstQuery_noinc(val)		(gst2perl_sv_from_mini_object (GST_MINI_OBJECT (val), FALSE))
# define newSVGstQuery_noinc_ornull(val)	(((val) == NULL) ? &PL_sv_undef : newSVGstQuery_noinc(val))
#endif /* GST_TYPE_QUERY */

#ifdef GST_TYPE_CAPS
  /* GBoxed GstCaps */
  typedef GstCaps GstCaps_ornull;
# define SvGstCaps(sv)	((GstCaps *) gperl_get_boxed_check ((sv), GST_TYPE_CAPS))
# define SvGstCaps_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstCaps (sv) : NULL)
  typedef GstCaps GstCaps_own;
  typedef GstCaps GstCaps_copy;
  typedef GstCaps GstCaps_own_ornull;
# define newSVGstCaps(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_CAPS, FALSE))
# define newSVGstCaps_ornull(val)	((val) ? newSVGstCaps(val) : &PL_sv_undef)
# define newSVGstCaps_own(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_CAPS, TRUE))
# define newSVGstCaps_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GST_TYPE_CAPS))
# define newSVGstCaps_own_ornull(val)	((val) ? newSVGstCaps_own(val) : &PL_sv_undef)
#endif /* GST_TYPE_CAPS */

#ifdef GST_TYPE_INDEX_ENTRY
  /* GBoxed GstIndexEntry */
  typedef GstIndexEntry GstIndexEntry_ornull;
# define SvGstIndexEntry(sv)	((GstIndexEntry *) gperl_get_boxed_check ((sv), GST_TYPE_INDEX_ENTRY))
# define SvGstIndexEntry_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstIndexEntry (sv) : NULL)
  typedef GstIndexEntry GstIndexEntry_own;
  typedef GstIndexEntry GstIndexEntry_copy;
  typedef GstIndexEntry GstIndexEntry_own_ornull;
# define newSVGstIndexEntry(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_INDEX_ENTRY, FALSE))
# define newSVGstIndexEntry_ornull(val)	((val) ? newSVGstIndexEntry(val) : &PL_sv_undef)
# define newSVGstIndexEntry_own(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_INDEX_ENTRY, TRUE))
# define newSVGstIndexEntry_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GST_TYPE_INDEX_ENTRY))
# define newSVGstIndexEntry_own_ornull(val)	((val) ? newSVGstIndexEntry_own(val) : &PL_sv_undef)
#endif /* GST_TYPE_INDEX_ENTRY */

#ifdef GST_TYPE_TAG_LIST
  /* GBoxed GstTagList */
  typedef GstTagList GstTagList_ornull;
# define SvGstTagList(sv)	((GstTagList *) gperl_get_boxed_check ((sv), GST_TYPE_TAG_LIST))
# define SvGstTagList_ornull(sv)	(gperl_sv_is_defined (sv) ? SvGstTagList (sv) : NULL)
  typedef GstTagList GstTagList_own;
  typedef GstTagList GstTagList_copy;
  typedef GstTagList GstTagList_own_ornull;
# define newSVGstTagList(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_TAG_LIST, FALSE))
# define newSVGstTagList_ornull(val)	((val) ? newSVGstTagList(val) : &PL_sv_undef)
# define newSVGstTagList_own(val)	(gperl_new_boxed ((gpointer) (val), GST_TYPE_TAG_LIST, TRUE))
# define newSVGstTagList_copy(val)	(gperl_new_boxed_copy ((gpointer) (val), GST_TYPE_TAG_LIST))
# define newSVGstTagList_own_ornull(val)	((val) ? newSVGstTagList_own(val) : &PL_sv_undef)
#endif /* GST_TYPE_TAG_LIST */

#ifdef GST_TYPE_CLOCK_RETURN
  /* GEnum GstClockReturn */
# define SvGstClockReturn(sv)	((GstClockReturn)gperl_convert_enum (GST_TYPE_CLOCK_RETURN, sv))
# define newSVGstClockReturn(val)	(gperl_convert_back_enum (GST_TYPE_CLOCK_RETURN, val))
#endif /* GST_TYPE_CLOCK_RETURN */

#ifdef GST_TYPE_EVENT_TYPE
  /* GEnum GstEventType */
# define SvGstEventType(sv)	((GstEventType)gperl_convert_enum (GST_TYPE_EVENT_TYPE, sv))
# define newSVGstEventType(val)	(gperl_convert_back_enum (GST_TYPE_EVENT_TYPE, val))
#endif /* GST_TYPE_EVENT_TYPE */

#ifdef GST_TYPE_FLOW_RETURN
  /* GEnum GstFlowReturn */
# define SvGstFlowReturn(sv)	((GstFlowReturn)gperl_convert_enum (GST_TYPE_FLOW_RETURN, sv))
# define newSVGstFlowReturn(val)	(gperl_convert_back_enum (GST_TYPE_FLOW_RETURN, val))
#endif /* GST_TYPE_FLOW_RETURN */

#ifdef GST_TYPE_FORMAT
  /* GEnum GstFormat */
# define SvGstFormat(sv)	((GstFormat)gperl_convert_enum (GST_TYPE_FORMAT, sv))
# define newSVGstFormat(val)	(gperl_convert_back_enum (GST_TYPE_FORMAT, val))
#endif /* GST_TYPE_FORMAT */

#ifdef GST_TYPE_INDEX_CERTAINTY
  /* GEnum GstIndexCertainty */
# define SvGstIndexCertainty(sv)	((GstIndexCertainty)gperl_convert_enum (GST_TYPE_INDEX_CERTAINTY, sv))
# define newSVGstIndexCertainty(val)	(gperl_convert_back_enum (GST_TYPE_INDEX_CERTAINTY, val))
#endif /* GST_TYPE_INDEX_CERTAINTY */

#ifdef GST_TYPE_INDEX_LOOKUP_METHOD
  /* GEnum GstIndexLookupMethod */
# define SvGstIndexLookupMethod(sv)	((GstIndexLookupMethod)gperl_convert_enum (GST_TYPE_INDEX_LOOKUP_METHOD, sv))
# define newSVGstIndexLookupMethod(val)	(gperl_convert_back_enum (GST_TYPE_INDEX_LOOKUP_METHOD, val))
#endif /* GST_TYPE_INDEX_LOOKUP_METHOD */

#ifdef GST_TYPE_PAD_DIRECTION
  /* GEnum GstPadDirection */
# define SvGstPadDirection(sv)	((GstPadDirection)gperl_convert_enum (GST_TYPE_PAD_DIRECTION, sv))
# define newSVGstPadDirection(val)	(gperl_convert_back_enum (GST_TYPE_PAD_DIRECTION, val))
#endif /* GST_TYPE_PAD_DIRECTION */

#ifdef GST_TYPE_PAD_LINK_RETURN
  /* GEnum GstPadLinkReturn */
# define SvGstPadLinkReturn(sv)	((GstPadLinkReturn)gperl_convert_enum (GST_TYPE_PAD_LINK_RETURN, sv))
# define newSVGstPadLinkReturn(val)	(gperl_convert_back_enum (GST_TYPE_PAD_LINK_RETURN, val))
#endif /* GST_TYPE_PAD_LINK_RETURN */

#ifdef GST_TYPE_PAD_PRESENCE
  /* GEnum GstPadPresence */
# define SvGstPadPresence(sv)	((GstPadPresence)gperl_convert_enum (GST_TYPE_PAD_PRESENCE, sv))
# define newSVGstPadPresence(val)	(gperl_convert_back_enum (GST_TYPE_PAD_PRESENCE, val))
#endif /* GST_TYPE_PAD_PRESENCE */

#ifdef GST_TYPE_QUERY_TYPE
  /* GEnum GstQueryType */
# define SvGstQueryType(sv)	((GstQueryType)gperl_convert_enum (GST_TYPE_QUERY_TYPE, sv))
# define newSVGstQueryType(val)	(gperl_convert_back_enum (GST_TYPE_QUERY_TYPE, val))
#endif /* GST_TYPE_QUERY_TYPE */

#ifdef GST_TYPE_SEEK_TYPE
  /* GEnum GstSeekType */
# define SvGstSeekType(sv)	((GstSeekType)gperl_convert_enum (GST_TYPE_SEEK_TYPE, sv))
# define newSVGstSeekType(val)	(gperl_convert_back_enum (GST_TYPE_SEEK_TYPE, val))
#endif /* GST_TYPE_SEEK_TYPE */

#ifdef GST_TYPE_STATE
  /* GEnum GstState */
# define SvGstState(sv)	((GstState)gperl_convert_enum (GST_TYPE_STATE, sv))
# define newSVGstState(val)	(gperl_convert_back_enum (GST_TYPE_STATE, val))
#endif /* GST_TYPE_STATE */

#ifdef GST_TYPE_STATE_CHANGE_RETURN
  /* GEnum GstStateChangeReturn */
# define SvGstStateChangeReturn(sv)	((GstStateChangeReturn)gperl_convert_enum (GST_TYPE_STATE_CHANGE_RETURN, sv))
# define newSVGstStateChangeReturn(val)	(gperl_convert_back_enum (GST_TYPE_STATE_CHANGE_RETURN, val))
#endif /* GST_TYPE_STATE_CHANGE_RETURN */

#ifdef GST_TYPE_TAG_MERGE_MODE
  /* GEnum GstTagMergeMode */
# define SvGstTagMergeMode(sv)	((GstTagMergeMode)gperl_convert_enum (GST_TYPE_TAG_MERGE_MODE, sv))
# define newSVGstTagMergeMode(val)	(gperl_convert_back_enum (GST_TYPE_TAG_MERGE_MODE, val))
#endif /* GST_TYPE_TAG_MERGE_MODE */

#ifdef GST_TYPE_URI_TYPE
  /* GEnum GstURIType */
# define SvGstURIType(sv)	((GstURIType)gperl_convert_enum (GST_TYPE_URI_TYPE, sv))
# define newSVGstURIType(val)	(gperl_convert_back_enum (GST_TYPE_URI_TYPE, val))
#endif /* GST_TYPE_URI_TYPE */

#ifdef GST_TYPE_ASSOC_FLAGS
  /* GFlags GstAssocFlags */
# define SvGstAssocFlags(sv)	((GstAssocFlags)gperl_convert_flags (GST_TYPE_ASSOC_FLAGS, sv))
# define newSVGstAssocFlags(val)	(gperl_convert_back_flags (GST_TYPE_ASSOC_FLAGS, val))
#endif /* GST_TYPE_ASSOC_FLAGS */

#ifdef GST_TYPE_BUFFER_FLAG
  /* GFlags GstBufferFlag */
# define SvGstBufferFlag(sv)	((GstBufferFlag)gperl_convert_flags (GST_TYPE_BUFFER_FLAG, sv))
# define newSVGstBufferFlag(val)	(gperl_convert_back_flags (GST_TYPE_BUFFER_FLAG, val))
#endif /* GST_TYPE_BUFFER_FLAG */

#ifdef GST_TYPE_EVENT_TYPE_FLAGS
  /* GFlags GstEventTypeFlags */
# define SvGstEventTypeFlags(sv)	((GstEventTypeFlags)gperl_convert_flags (GST_TYPE_EVENT_TYPE_FLAGS, sv))
# define newSVGstEventTypeFlags(val)	(gperl_convert_back_flags (GST_TYPE_EVENT_TYPE_FLAGS, val))
#endif /* GST_TYPE_EVENT_TYPE_FLAGS */

#ifdef GST_TYPE_MESSAGE_TYPE
  /* GFlags GstMessageType */
# define SvGstMessageType(sv)	((GstMessageType)gperl_convert_flags (GST_TYPE_MESSAGE_TYPE, sv))
# define newSVGstMessageType(val)	(gperl_convert_back_flags (GST_TYPE_MESSAGE_TYPE, val))
#endif /* GST_TYPE_MESSAGE_TYPE */

#ifdef GST_TYPE_SEEK_FLAGS
  /* GFlags GstSeekFlags */
# define SvGstSeekFlags(sv)	((GstSeekFlags)gperl_convert_flags (GST_TYPE_SEEK_FLAGS, sv))
# define newSVGstSeekFlags(val)	(gperl_convert_back_flags (GST_TYPE_SEEK_FLAGS, val))
#endif /* GST_TYPE_SEEK_FLAGS */

#ifdef GST_TYPE_TAG_FLAG
  /* GFlags GstTagFlag */
# define SvGstTagFlag(sv)	((GstTagFlag)gperl_convert_flags (GST_TYPE_TAG_FLAG, sv))
# define newSVGstTagFlag(val)	(gperl_convert_back_flags (GST_TYPE_TAG_FLAG, val))
#endif /* GST_TYPE_TAG_FLAG */