xine-lib  1.2.9
goomsl.h
Go to the documentation of this file.
1 #ifndef _GOOMSL_H
2 #define _GOOMSL_H
3 
4 #include "goomsl_hash.h"
5 
6 typedef struct _GoomSL GoomSL;
7 typedef void (*GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars);
8 
9 GoomSL*gsl_new(void);
10 void gsl_free(GoomSL *gss);
11 
12 char *gsl_init_buffer(const char *file_name);
13 void gsl_append_file_to_buffer(const char *file_name, char **buffer);
14 
15 void gsl_compile (GoomSL *scanner, const char *script);
16 void gsl_execute (GoomSL *scanner);
17 int gsl_is_compiled (GoomSL *gss);
18 void gsl_bind_function(GoomSL *gss, const char *fname, GoomSL_ExternalFunction func);
19 
20 int gsl_malloc (GoomSL *_this, int size);
21 void *gsl_get_ptr (GoomSL *_this, int id);
22 void gsl_free_ptr(GoomSL *_this, int id);
23 
24 GoomHash *gsl_globals(GoomSL *_this);
25 
26 #define GSL_LOCAL_PTR(gsl,local,name) gsl_get_ptr(gsl, *(int*)goom_hash_get(local,name)->ptr)
27 #define GSL_LOCAL_INT(gsl,local,name) (*(int*)goom_hash_get(local,name)->ptr)
28 #define GSL_LOCAL_FLOAT(gsl,local,name) (*(float*)goom_hash_get(local,name)->ptr)
29 
30 #define GSL_GLOBAL_PTR(gsl,name) gsl_get_ptr(gsl, *(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)
31 #define GSL_GLOBAL_INT(gsl,name) (*(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)
32 #define GSL_GLOBAL_FLOAT(gsl,name) (*(float*)goom_hash_get(gsl_globals(gsl),name)->ptr)
33 
34 #endif
void * gsl_get_ptr(GoomSL *_this, int id)
Definition: goomsl.c:793
GoomSL * gsl_new(void)
Definition: goomsl.c:1387
void gsl_execute(GoomSL *scanner)
Definition: goomsl.c:1376
void(* GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars)
Definition: goomsl.h:7
void gsl_bind_function(GoomSL *gss, const char *fname, GoomSL_ExternalFunction func)
Definition: goomsl.c:1414
char * gsl_init_buffer(const char *file_name)
Definition: goomsl.c:1453
void gsl_compile(GoomSL *scanner, const char *script)
Definition: goomsl.c:1332
int gsl_malloc(GoomSL *_this, int size)
Definition: goomsl.c:783
GoomHash * gsl_globals(GoomSL *_this)
Definition: goomsl.c:1296
void gsl_free(GoomSL *gss)
Definition: goomsl.c:1429
Definition: goomsl_hash.h:20
Definition: goomsl_private.h:165
void gsl_free_ptr(GoomSL *_this, int id)
Definition: goomsl.c:801
int gsl_is_compiled(GoomSL *gss)
Definition: goomsl.c:1424
void gsl_append_file_to_buffer(const char *file_name, char **buffer)
Definition: goomsl.c:1487