/* myjs.h */ #ifndef _MYJS_H_ #define _MYJS_H_ #ifndef jsapi_h___ #include "jsapi.h" #endif #ifndef MY_JS_MAXBYTES #define MY_JS_MAXBYTES (8L * 1024L * 1024L) #endif #ifndef MY_JS_STACKSIZE #define MY_JS_STACKSIZE 8192 #endif /* * スクリプトファイルを読み込んで実行 * 返り値: * 1:成功 * 0:失敗 */ int my_js_execute_script( JSContext *jsctx /* IN: JSContext */ , char *filename /* IN: スクリプトファイル */ , JSScript **js_script_p /* OUT: コンパイル済みスクリプト */ , jsval *rval /* OUT: スクリプトで最後に評価した式の結果 */ ); /* 関数の実行 int[]→int * 返り値: * 1:成功 * 0:失敗 */ int my_js_call_function_IA_I ( JSContext *jsctx /* IN: JSContext */ , const char *func_name /* IN: 関数名 */ , int argc /* IN: 引数の個数 */ , int *args /* IN: 引数の配列 */ , int *ret /* OUT: 関数の実行結果 */ ); /* 関数の実行 char**→char* * 返り値: * 1:成功 * 0:失敗 */ int my_js_call_function_SA_S ( JSContext *jsctx /* IN: JSContext */ , const char *func_name /* IN: 関数名 */ , int argc /* IN: 引数の個数 */ , char **args /* IN: 引数の配列 */ , char **ret /* OUT: 関数の実行結果 */ ); /* * JSRuntime の初期化 * ・プロセス単位で実行すること * 返り値: * 1:成功 * 0:失敗 */ int my_js_rt_init(); /* * JSContext の生成 * ・スレッド単位で実行すること * 返り値: * NULL:失敗 */ JSContext *my_js_ctx_init(); /* * JSContext の解放 */ void my_js_ctx_clear( JSContext *jsctx ); /* * JSRuntime の解放 */ void my_js_rt_clear(); #endif /* _MYJS_H_ */