/usr/include/gpac/modules/term_ext.h is in libgpac-dev 0.5.2-426-gc5ad4e4+dfsg5-3.
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 | /*
* GPAC - Multimedia Framework C SDK
*
* Authors: Jean Le Feuvre
* Copyright (c) Telecom ParisTech 2000-2012
* All rights reserved
*
* This file is part of GPAC / modules interfaces
*
* GPAC 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, or (at your option)
* any later version.
*
* GPAC 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; see the file COPYING. If not, write to
* the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
*
*/
#ifndef _GF_MODULE_TERM_EXT_H_
#define _GF_MODULE_TERM_EXT_H_
#ifdef __cplusplus
extern "C" {
#endif
#include <gpac/terminal.h>
/*interface name and version for Terminal Extensions services*/
#define GF_TERM_EXT_INTERFACE GF_4CC('G','T','E', '1')
typedef struct _term_ext GF_TermExt;
typedef struct {
void *scenegraph;
void *ctx;
void *global;
Bool unload;
} GF_TermExtJS;
enum
{
/*start terminal extension. If 0 is returned, the module will be unloaded
associated param: GF_Terminal *term
@return: 1 if OK, 0 otherwise (in which case the extensions will be removed without calling stop)
*/
GF_TERM_EXT_START = 1,
/*stop terminal extension
associated param: NULL
@return: ignored
*/
GF_TERM_EXT_STOP,
/*process extension - only called GF_TERM_EXTENSION_NOT_THREADED capability is set
associated param: NULL
@return: ignored
*/
GF_TERM_EXT_PROCESS,
/*load/unload js bindings of this extension
associated param: GF_TermExtJS *jsext
@return: ignored
*/
GF_TERM_EXT_JSBIND,
};
enum
{
/*signal the extension is to be called on regular basis (once per simulation tick). This MUST be set during
the GF_TERM_EXT_START command and cannot be changed at run-time*/
GF_TERM_EXTENSION_NOT_THREADED = 1<<1,
GF_TERM_EXTENSION_JS = 1<<2,
};
struct _term_ext
{
/* interface declaration*/
GF_DECL_MODULE_INTERFACE
/*caps of the module*/
u32 caps;
/*terminal extension proc
termext: pointer to the module
action: action type of this call
param: associated param of the call
*/
Bool (*process)(GF_TermExt *termext, u32 action, void *param);
/*module private*/
void *udta;
};
#ifdef __cplusplus
}
#endif
#endif /*#define _GF_MODULE_TERM_EXT_H_*/
|