goomsl.h

来自「linux下的MPEG1」· C头文件 代码 · 共 35 行

H
35
字号
#ifndef _GOOMSL_H#define _GOOMSL_H#include "goomsl_hash.h"typedef struct _GoomSL GoomSL;typedef void (*GoomSL_ExternalFunction)(GoomSL *gsl, GoomHash *global_vars, GoomHash *local_vars);GoomSL*gsl_new(void);void   gsl_free(GoomSL *gss);char *gsl_init_buffer(const char *file_name);void  gsl_append_file_to_buffer(const char *file_name, char **buffer);void   gsl_compile (GoomSL *scanner, const char *script);void   gsl_execute (GoomSL *scanner);int    gsl_is_compiled  (GoomSL *gss);void   gsl_bind_function(GoomSL *gss, const char *fname, GoomSL_ExternalFunction func);int    gsl_malloc  (GoomSL *_this, int size);void  *gsl_get_ptr (GoomSL *_this, int id);void   gsl_free_ptr(GoomSL *_this, int id);GoomHash *gsl_globals(GoomSL *_this);#define GSL_LOCAL_PTR(gsl,local,name)   gsl_get_ptr(gsl, *(int*)goom_hash_get(local,name)->ptr)#define GSL_LOCAL_INT(gsl,local,name)   (*(int*)goom_hash_get(local,name)->ptr)#define GSL_LOCAL_FLOAT(gsl,local,name) (*(float*)goom_hash_get(local,name)->ptr)#define GSL_GLOBAL_PTR(gsl,name)   gsl_get_ptr(gsl, *(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)#define GSL_GLOBAL_INT(gsl,name)   (*(int*)goom_hash_get(gsl_globals(gsl),name)->ptr)#define GSL_GLOBAL_FLOAT(gsl,name) (*(float*)goom_hash_get(gsl_globals(gsl),name)->ptr)#endif

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?