ViewVC Help
View File | Revision Log | Show Annotations | Download File
/cvs/rxvt-unicode/src/iom_perl.xs
(Generate patch)

Comparing rxvt-unicode/src/iom_perl.xs (file contents):
Revision 1.2 by root, Thu Dec 14 17:22:04 2006 UTC vs.
Revision 1.3 by root, Thu Dec 14 17:33:53 2006 UTC

2# IOM_CLASS constants 2# IOM_CLASS constants
3############################################################################# 3#############################################################################
4 4
5BOOT: 5BOOT:
6{ 6{
7 {
7 HV *stash = gv_stashpv ("IOM_CLASS", 1); 8 HV *stash = gv_stashpv ("IOM_CLASS", 1);
8 SV *baseclass = newSVpv ("IOM_CLASS::watcher", 0); 9 SV *baseclass = newSVpv ("IOM_CLASS::watcher", 0);
9 10
10 static const struct { 11 static const struct {
11 const char *name; 12 const char *name;
12 IV iv; 13 IV iv;
13 } *civ, const_iv[] = { 14 } *civ, iom_const_iv[] = {
14# define const_iv(name) { # name, (IV)name } 15# define iom_const_iv(name) { # name, (IV)name }
15 const_iv (EVENT_NONE), 16 iom_const_iv (EVENT_NONE),
16 const_iv (EVENT_READ), 17 iom_const_iv (EVENT_READ),
17 const_iv (EVENT_WRITE), 18 iom_const_iv (EVENT_WRITE),
19# undef iom_const
18 }; 20 };
19 21
20 for (civ = const_iv + sizeof (const_iv) / sizeof (const_iv [0]); civ-- > const_iv; ) 22 for (civ = iom_const_iv + sizeof (iom_const_iv) / sizeof (iom_const_iv [0]); civ-- > iom_const_iv; )
21 newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv)); 23 newCONSTSUB (stash, (char *)civ->name, newSViv (civ->iv));
22 24
23 /* slightly dirty to put the same scalar into all those arrays, but */ 25 /* slightly dirty to put the same scalar into all those arrays, but */
24 /* we do not expect users to modify them anyways */ 26 /* we do not expect users to modify them anyways */
25 av_push (get_av ("IOM_CLASS" "::timer::ISA", 1), SvREFCNT_inc (baseclass)); 27 av_push (get_av ("IOM_CLASS" "::timer::ISA", 1), SvREFCNT_inc (baseclass));
26 av_push (get_av ("IOM_CLASS" "::iow::ISA", 1), SvREFCNT_inc (baseclass)); 28 av_push (get_av ("IOM_CLASS" "::iow::ISA", 1), SvREFCNT_inc (baseclass));
27 av_push (get_av ("IOM_CLASS" "::pw::ISA", 1), SvREFCNT_inc (baseclass)); 29 av_push (get_av ("IOM_CLASS" "::pw::ISA", 1), SvREFCNT_inc (baseclass));
28 av_push (get_av ("IOM_CLASS" "::iw::ISA", 1), SvREFCNT_inc (baseclass)); 30 av_push (get_av ("IOM_CLASS" "::iw::ISA", 1), SvREFCNT_inc (baseclass));
29 31
30 SvREFCNT_dec (baseclass); 32 SvREFCNT_dec (baseclass);
33 }
31} 34}
32 35
33############################################################################# 36#############################################################################
34# IOM_CLASS::watcher 37# IOM_CLASS::watcher
35############################################################################# 38#############################################################################
36 39
37MODULE = IOM_MODULE PACKAGE = IOM_CLASS::watcher 40MODULE = IOM_MODULE PACKAGE = IOM_CLASS::watcher
38 41
39CHAINED 42IOM_CHAINED
40perl_watcher::cb (SV *cb) 43perl_watcher::cb (SV *cb)
41 CODE: 44 CODE:
42 THIS->cb (cb); 45 THIS->cb (cb);
43 OUTPUT: 46 OUTPUT:
44 RETVAL 47 RETVAL
64 CODE: 67 CODE:
65 RETVAL = THIS->at; 68 RETVAL = THIS->at;
66 OUTPUT: 69 OUTPUT:
67 RETVAL 70 RETVAL
68 71
69CHAINED 72IOM_CHAINED
70timer::interval (NV interval) 73timer::interval (NV interval)
71 CODE: 74 CODE:
72 THIS->interval = interval; 75 THIS->interval = interval;
73 OUTPUT: 76 OUTPUT:
74 RETVAL 77 RETVAL
75 78
76CHAINED 79IOM_CHAINED
77timer::set (NV tstamp) 80timer::set (NV tstamp)
78 CODE: 81 CODE:
79 THIS->set (tstamp); 82 THIS->set (tstamp);
80 OUTPUT: 83 OUTPUT:
81 RETVAL 84 RETVAL
82 85
83CHAINED 86IOM_CHAINED
84timer::start (NV tstamp = THIS->at) 87timer::start (NV tstamp = THIS->at)
85 CODE: 88 CODE:
86 THIS->start (tstamp); 89 THIS->start (tstamp);
87 OUTPUT: 90 OUTPUT:
88 RETVAL 91 RETVAL
89 92
90CHAINED 93IOM_CHAINED
91timer::after (NV delay) 94timer::after (NV delay)
92 CODE: 95 CODE:
93 THIS->start (NOW + delay); 96 THIS->start (NOW + delay);
94 OUTPUT: 97 OUTPUT:
95 RETVAL 98 RETVAL
96 99
97CHAINED 100IOM_CHAINED
98timer::stop () 101timer::stop ()
99 CODE: 102 CODE:
100 THIS->stop (); 103 THIS->stop ();
101 OUTPUT: 104 OUTPUT:
102 RETVAL 105 RETVAL
117 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow"); 120 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iow");
118 w->self = (HV *)SvRV (RETVAL); 121 w->self = (HV *)SvRV (RETVAL);
119 OUTPUT: 122 OUTPUT:
120 RETVAL 123 RETVAL
121 124
122CHAINED 125IOM_CHAINED
123iow::fd (int fd) 126iow::fd (int fd)
124 CODE: 127 CODE:
125 THIS->fd = fd; 128 THIS->fd = fd;
126 OUTPUT: 129 OUTPUT:
127 RETVAL 130 RETVAL
128 131
129CHAINED 132IOM_CHAINED
130iow::events (short events) 133iow::events (short events)
131 CODE: 134 CODE:
132 THIS->events = events; 135 THIS->events = events;
133 OUTPUT: 136 OUTPUT:
134 RETVAL 137 RETVAL
135 138
136CHAINED 139IOM_CHAINED
137iow::start () 140iow::start ()
138 CODE: 141 CODE:
139 THIS->start (); 142 THIS->start ();
140 OUTPUT: 143 OUTPUT:
141 RETVAL 144 RETVAL
142 145
143CHAINED 146IOM_CHAINED
144iow::stop () 147iow::stop ()
145 CODE: 148 CODE:
146 THIS->stop (); 149 THIS->stop ();
147 OUTPUT: 150 OUTPUT:
148 RETVAL 151 RETVAL
163 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw"); 166 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::iw");
164 w->self = (HV *)SvRV (RETVAL); 167 w->self = (HV *)SvRV (RETVAL);
165 OUTPUT: 168 OUTPUT:
166 RETVAL 169 RETVAL
167 170
168CHAINED 171IOM_CHAINED
169iw::start () 172iw::start ()
170 CODE: 173 CODE:
171 THIS->start (); 174 THIS->start ();
172 OUTPUT: 175 OUTPUT:
173 RETVAL 176 RETVAL
174 177
175CHAINED 178IOM_CHAINED
176iw::stop () 179iw::stop ()
177 CODE: 180 CODE:
178 THIS->stop (); 181 THIS->stop ();
179 OUTPUT: 182 OUTPUT:
180 RETVAL 183 RETVAL
195 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw"); 198 RETVAL = newSVptr ((void *)(perl_watcher *)w, "IOM_CLASS::pw");
196 w->self = (HV *)SvRV (RETVAL); 199 w->self = (HV *)SvRV (RETVAL);
197 OUTPUT: 200 OUTPUT:
198 RETVAL 201 RETVAL
199 202
200CHAINED 203IOM_CHAINED
201pw::start (int pid) 204pw::start (int pid)
202 CODE: 205 CODE:
203 THIS->start (pid); 206 THIS->start (pid);
204 OUTPUT: 207 OUTPUT:
205 RETVAL 208 RETVAL
206 209
207CHAINED 210IOM_CHAINED
208pw::stop () 211pw::stop ()
209 CODE: 212 CODE:
210 THIS->stop (); 213 THIS->stop ();
211 OUTPUT: 214 OUTPUT:
212 RETVAL 215 RETVAL

Diff Legend

Removed lines
+ Added lines
< Changed lines
> Changed lines