-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjsirssi.h
66 lines (47 loc) · 1.67 KB
/
jsirssi.h
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
#include <stdlib.h>
#include <string.h>
#include <irssi/src/common.h>
#include <irssi/src/core/modules.h>
#include <irssi/src/core/commands.h>
#include <irssi/src/irc/core/irc.h>
#include <irssi/src/fe-common/core/formats.h>
#include <irssi/src/fe-common/core/printtext.h>
#include <irssi/src/core/levels.h>
#define XP_UNIX
#include <js/jsapi.h>
#define MODULE_NAME "js"
/* begin modules.c */
typedef jsval module_hook(JSContext*);
struct module {
int id, type;
char *name;
JSObject *moduleobj;
jsval onremove, exports;
module_hook *hook;
} *modules_a[1000];
int modules_c;
struct module *modules_create(JSContext *cx, const char *moduleid, JSObject **global);
struct module *modules_hook_native(JSContext *cx, module_hook *hook, const char *moduleid);
void modules_delete(JSContext *cx, struct module *module);
void modules_shutdown(JSContext *cx);
JSBool modules_require(JSContext *cx, const char *moduleid, jsval *rval);
JSBool modules_runscript(JSContext *cx, JSObject *global, const char *moduleid);
/* end modules.c */
/* begin jsirssi.c */
void js_core_init();
void js_core_deinit();
void cmd_js(char *data, void *server, WI_ITEM_REC *item);
void cmd_js_exec(char *data, void *server, WI_ITEM_REC *item);
void cmd_js_list(char *data, void *server, WI_ITEM_REC *item);
void cmd_js_open(char *data, void *server, WI_ITEM_REC *item);
JSRuntime *js_rt;
JSContext *js_cx;
struct JSClass js_class_global;
struct module *js_cmdline;
module_hook js_mod_test;
void js_errorhandler(JSContext *cx, const char *msg, JSErrorReport *report);
JSBool js_fun_print(JSContext *cx, uintN argc, jsval *vp);
/* end jsirssi.c */
/* begin mod_irssi.c */
module_hook mod_irssi_get;
/* end mod_irssi.c */