myjs.h

最終更新:2009/11/18

myjs.h

001: /* myjs.h
002:  */
003: 
004: #ifndef _MYJS_H_
005: #define _MYJS_H_
006: 
007: #ifndef jsapi_h___
008: #include "jsapi.h"
009: #endif
010: 
011: #ifndef MY_JS_MAXBYTES
012: #define MY_JS_MAXBYTES (8L * 1024L * 1024L)
013: #endif
014: 
015: #ifndef MY_JS_STACKSIZE
016: #define MY_JS_STACKSIZE 8192
017: #endif
018: 
019: /*
020:  * スクリプトファイルを読み込んで実行
021:  * 返り値:
022:  *   1:成功
023:  *   0:失敗
024:  */
025: 
026: int my_js_execute_script(
027:   JSContext *jsctx         /* IN: JSContext */
028:   , char *filename         /* IN: スクリプトファイル */
029:   , JSScript **js_script_p /* OUT: コンパイル済みスクリプト */
030:   , jsval *rval            /* OUT: スクリプトで最後に評価した式の結果 */
031: );
032: 
033: /* 関数の実行 int[]→int
034:  * 返り値:
035:  *   1:成功
036:  *   0:失敗
037:  */
038:  
039: int my_js_call_function_IA_I (
040:   JSContext *jsctx        /* IN: JSContext */
041:   , const char *func_name /* IN: 関数名 */
042:   , int argc              /* IN: 引数の個数 */
043:   , int *args             /* IN: 引数の配列 */
044:   , int *ret              /* OUT: 関数の実行結果 */
045: );
046: 
047: /* 関数の実行 char**→char*
048:  * 返り値:
049:  *   1:成功
050:  *   0:失敗
051:  */
052:  
053: int my_js_call_function_SA_S (
054:   JSContext *jsctx        /* IN: JSContext */
055:   , const char *func_name /* IN: 関数名 */
056:   , int argc              /* IN: 引数の個数 */
057:   , char **args           /* IN: 引数の配列 */
058:   , char **ret             /* OUT: 関数の実行結果 */
059: );
060: 
061: /*
062:  * JSRuntime の初期化
063:  * ・プロセス単位で実行すること
064:  * 返り値:
065:  *   1:成功
066:  *   0:失敗
067:  */
068: 
069: int my_js_rt_init();
070: 
071: /*
072:  * JSContext の生成
073:  * ・スレッド単位で実行すること
074:  * 返り値:
075:  *   NULL:失敗
076:  */
077: JSContext *my_js_ctx_init();
078: 
079: /*
080:  * JSContext の解放
081:  */
082: void my_js_ctx_clear(
083:   JSContext *jsctx
084: );
085: 
086: /*
087:  * JSRuntime の解放
088:  */
089: void my_js_rt_clear();
090: 
091: #endif /* _MYJS_H_ */
Copyright (C) KAKU PROJECT (2009)KAKU PROJECT (2009)