Revision: | 1.22 |
Committed: | Sat Aug 26 06:37:11 2006 UTC (17 years, 9 months ago) by root |
Content type: | text/plain |
Branch: | MAIN |
CVS Tags: | before_dynamic_fontidx, rel-9_10, rel-8_1, rel-8_5a, rel-8_2, rel-8_9, rel-8_8, dynamic_fontidx, rel-8_0, rel-8_4, rel-9_0, rel-8_3, rel-8_6, rel-8_7, rel-9_09, rel-9_02, rel-9_01, rel-9_06, rel-9_07, rel-9_05 |
Changes since 1.21: | +1 -1 lines |
Log Message: | *** empty log message *** |
# | User | Rev | Content |
---|---|---|---|
1 | root | 1.1 | /* |
2 | * rxvtperl.h | ||
3 | */ | ||
4 | |||
5 | #ifndef RXVTPERL_H_ | ||
6 | #define RXVTPERL_H_ | ||
7 | |||
8 | #if ENABLE_PERL | ||
9 | root | 1.19 | # define SHOULD_INVOKE(htype) \ |
10 | ( (htype) == HOOK_INIT \ | ||
11 | || (htype) == HOOK_DESTROY \ | ||
12 | || (htype) == HOOK_REFRESH_BEGIN \ | ||
13 | || (htype) == HOOK_REFRESH_END \ | ||
14 | || perl.should_invoke [htype]) | ||
15 | root | 1.9 | # define HOOK_INVOKE(args) rxvt_perl.invoke args |
16 | root | 1.1 | |
17 | #include "rxvt.h" | ||
18 | |||
19 | enum data_type { | ||
20 | root | 1.19 | DT_END, // no further arguments |
21 | root | 1.1 | DT_INT, |
22 | DT_LONG, | ||
23 | root | 1.22 | DT_STR, // 0-terminated string |
24 | root | 1.19 | DT_STR_LEN, // string + length |
25 | root | 1.21 | DT_WCS_LEN, // wchar_t* + length |
26 | DT_LCS_LEN, // long* + length | ||
27 | root | 1.5 | DT_XEVENT, |
28 | root | 1.1 | }; |
29 | |||
30 | enum hook_type { | ||
31 | root | 1.7 | # define def(sym) HOOK_ ## sym, |
32 | # include "hookinc.h" | ||
33 | # undef def | ||
34 | root | 1.1 | HOOK_NUM, |
35 | }; | ||
36 | |||
37 | root | 1.13 | struct rxvt_perl_term |
38 | { | ||
39 | void *self; | ||
40 | unsigned long grabtime; | ||
41 | root | 1.18 | uint8_t should_invoke[HOOK_NUM]; |
42 | root | 1.13 | }; |
43 | |||
44 | root | 1.1 | struct rxvt_perl_interp |
45 | { | ||
46 | root | 1.16 | char **perl_environ; |
47 | |||
48 | root | 1.1 | ~rxvt_perl_interp (); |
49 | |||
50 | root | 1.20 | void init (rxvt_term *term); |
51 | root | 1.1 | bool invoke (rxvt_term *term, hook_type htype, ...); |
52 | root | 1.9 | void line_update (rxvt_term *term); |
53 | root | 1.1 | }; |
54 | |||
55 | extern struct rxvt_perl_interp rxvt_perl; | ||
56 | |||
57 | #else | ||
58 | root | 1.9 | # define SHOULD_INVOKE(htype) false |
59 | root | 1.11 | # define HOOK_INVOKE(args) false |
60 | root | 1.1 | #endif |
61 | |||
62 | #endif | ||
63 |