ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/rxvtperl.h
Revision: 1.22
Committed: Sat Aug 26 06:37:11 2006 UTC (17 years, 8 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 ***

File Contents

# Content
1 /*
2 * rxvtperl.h
3 */
4
5 #ifndef RXVTPERL_H_
6 #define RXVTPERL_H_
7
8 #if ENABLE_PERL
9 # 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 # define HOOK_INVOKE(args) rxvt_perl.invoke args
16
17 #include "rxvt.h"
18
19 enum data_type {
20 DT_END, // no further arguments
21 DT_INT,
22 DT_LONG,
23 DT_STR, // 0-terminated string
24 DT_STR_LEN, // string + length
25 DT_WCS_LEN, // wchar_t* + length
26 DT_LCS_LEN, // long* + length
27 DT_XEVENT,
28 };
29
30 enum hook_type {
31 # define def(sym) HOOK_ ## sym,
32 # include "hookinc.h"
33 # undef def
34 HOOK_NUM,
35 };
36
37 struct rxvt_perl_term
38 {
39 void *self;
40 unsigned long grabtime;
41 uint8_t should_invoke[HOOK_NUM];
42 };
43
44 struct rxvt_perl_interp
45 {
46 char **perl_environ;
47
48 ~rxvt_perl_interp ();
49
50 void init (rxvt_term *term);
51 bool invoke (rxvt_term *term, hook_type htype, ...);
52 void line_update (rxvt_term *term);
53 };
54
55 extern struct rxvt_perl_interp rxvt_perl;
56
57 #else
58 # define SHOULD_INVOKE(htype) false
59 # define HOOK_INVOKE(args) false
60 #endif
61
62 #endif
63