This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Generate the definitions for magic vtables from data in a regen script.
[perl5.git] / mg_vtable.h
1 /* -*- buffer-read-only: t -*-
2  *
3  *    mg_vtable.h
4  * !!!!!!!   DO NOT EDIT THIS FILE   !!!!!!!
5  * This file is built by regen/mg_vtable.pl.
6  * Any changes made here will be lost!
7  */
8
9 /* These all need to be 0, not NULL, as NULL can be (void*)0, which is a
10  * pointer to data, whereas we're assigning pointers to functions, which are
11  * not the same beast. ANSI doesn't allow the assignment from one to the other.
12  * (although most, but not all, compilers are prepared to do it)
13  */
14
15 /* args are:
16     vtable
17     get
18     set
19     len
20     clear
21     free
22     copy
23     dup
24     local
25 */
26
27 MGVTBL_SET(
28     PL_vtbl_sv,
29     Perl_magic_get,
30     Perl_magic_set,
31     Perl_magic_len,
32     0,
33     0,
34     0,
35     0,
36     0
37 );
38
39 MGVTBL_SET(
40     PL_vtbl_env,
41     0,
42     Perl_magic_set_all_env,
43     0,
44     Perl_magic_clear_all_env,
45     0,
46     0,
47     0,
48     0
49 );
50
51 MGVTBL_SET(
52     PL_vtbl_envelem,
53     0,
54     Perl_magic_setenv,
55     0,
56     Perl_magic_clearenv,
57     0,
58     0,
59     0,
60     0
61 );
62
63 #ifndef PERL_MICRO
64 MGVTBL_SET(
65     PL_vtbl_sigelem,
66     Perl_magic_getsig,
67     Perl_magic_setsig,
68     0,
69     Perl_magic_clearsig,
70     0,
71     0,
72     0,
73     0
74 );
75 #endif
76
77 MGVTBL_SET(
78     PL_vtbl_pack,
79     0,
80     0,
81     Perl_magic_sizepack,
82     Perl_magic_wipepack,
83     0,
84     0,
85     0,
86     0
87 );
88
89 MGVTBL_SET(
90     PL_vtbl_packelem,
91     Perl_magic_getpack,
92     Perl_magic_setpack,
93     0,
94     Perl_magic_clearpack,
95     0,
96     0,
97     0,
98     0
99 );
100
101 MGVTBL_SET(
102     PL_vtbl_dbline,
103     0,
104     Perl_magic_setdbline,
105     0,
106     0,
107     0,
108     0,
109     0,
110     0
111 );
112
113 MGVTBL_SET(
114     PL_vtbl_isa,
115     0,
116     Perl_magic_setisa,
117     0,
118     Perl_magic_clearisa,
119     0,
120     0,
121     0,
122     0
123 );
124
125 MGVTBL_SET(
126     PL_vtbl_isaelem,
127     0,
128     Perl_magic_setisa,
129     0,
130     0,
131     0,
132     0,
133     0,
134     0
135 );
136
137 MGVTBL_SET_CONST_MAGIC_GET(
138     PL_vtbl_arylen,
139     Perl_magic_getarylen,
140     Perl_magic_setarylen,
141     0,
142     0,
143     0,
144     0,
145     0,
146     0
147 );
148
149 MGVTBL_SET(
150     PL_vtbl_arylen_p,
151     0,
152     0,
153     0,
154     0,
155     Perl_magic_freearylen_p,
156     0,
157     0,
158     0
159 );
160
161 MGVTBL_SET(
162     PL_vtbl_mglob,
163     0,
164     Perl_magic_setmglob,
165     0,
166     0,
167     0,
168     0,
169     0,
170     0
171 );
172
173 MGVTBL_SET(
174     PL_vtbl_nkeys,
175     Perl_magic_getnkeys,
176     Perl_magic_setnkeys,
177     0,
178     0,
179     0,
180     0,
181     0,
182     0
183 );
184
185 MGVTBL_SET(
186     PL_vtbl_taint,
187     Perl_magic_gettaint,
188     Perl_magic_settaint,
189     0,
190     0,
191     0,
192     0,
193     0,
194     0
195 );
196
197 MGVTBL_SET(
198     PL_vtbl_substr,
199     Perl_magic_getsubstr,
200     Perl_magic_setsubstr,
201     0,
202     0,
203     0,
204     0,
205     0,
206     0
207 );
208
209 MGVTBL_SET(
210     PL_vtbl_vec,
211     Perl_magic_getvec,
212     Perl_magic_setvec,
213     0,
214     0,
215     0,
216     0,
217     0,
218     0
219 );
220
221 MGVTBL_SET(
222     PL_vtbl_pos,
223     Perl_magic_getpos,
224     Perl_magic_setpos,
225     0,
226     0,
227     0,
228     0,
229     0,
230     0
231 );
232
233 MGVTBL_SET(
234     PL_vtbl_bm,
235     0,
236     Perl_magic_setregexp,
237     0,
238     0,
239     0,
240     0,
241     0,
242     0
243 );
244
245 MGVTBL_SET(
246     PL_vtbl_fm,
247     0,
248     Perl_magic_setregexp,
249     0,
250     0,
251     0,
252     0,
253     0,
254     0
255 );
256
257 MGVTBL_SET(
258     PL_vtbl_uvar,
259     Perl_magic_getuvar,
260     Perl_magic_setuvar,
261     0,
262     0,
263     0,
264     0,
265     0,
266     0
267 );
268
269 MGVTBL_SET(
270     PL_vtbl_defelem,
271     Perl_magic_getdefelem,
272     Perl_magic_setdefelem,
273     0,
274     0,
275     0,
276     0,
277     0,
278     0
279 );
280
281 MGVTBL_SET(
282     PL_vtbl_regexp,
283     0,
284     Perl_magic_setregexp,
285     0,
286     0,
287     0,
288     0,
289     0,
290     0
291 );
292
293 MGVTBL_SET(
294     PL_vtbl_regdata,
295     0,
296     0,
297     Perl_magic_regdata_cnt,
298     0,
299     0,
300     0,
301     0,
302     0
303 );
304
305 MGVTBL_SET(
306     PL_vtbl_regdatum,
307     Perl_magic_regdatum_get,
308     Perl_magic_regdatum_set,
309     0,
310     0,
311     0,
312     0,
313     0,
314     0
315 );
316
317 MGVTBL_SET(
318     PL_vtbl_amagic,
319     0,
320     Perl_magic_setamagic,
321     0,
322     0,
323     Perl_magic_setamagic,
324     0,
325     0,
326     0
327 );
328
329 MGVTBL_SET(
330     PL_vtbl_amagicelem,
331     0,
332     Perl_magic_setamagic,
333     0,
334     0,
335     Perl_magic_setamagic,
336     0,
337     0,
338     0
339 );
340
341 MGVTBL_SET(
342     PL_vtbl_backref,
343     0,
344     0,
345     0,
346     0,
347     Perl_magic_killbackrefs,
348     0,
349     0,
350     0
351 );
352
353 MGVTBL_SET(
354     PL_vtbl_ovrld,
355     0,
356     0,
357     0,
358     0,
359     Perl_magic_freeovrld,
360     0,
361     0,
362     0
363 );
364
365 MGVTBL_SET(
366     PL_vtbl_utf8,
367     0,
368     Perl_magic_setutf8,
369     0,
370     0,
371     0,
372     0,
373     0,
374     0
375 );
376
377 #ifdef USE_LOCALE_COLLATE
378 MGVTBL_SET(
379     PL_vtbl_collxfrm,
380     0,
381     Perl_magic_setcollxfrm,
382     0,
383     0,
384     0,
385     0,
386     0,
387     0
388 );
389 #endif
390
391 MGVTBL_SET(
392     PL_vtbl_hintselem,
393     0,
394     Perl_magic_sethint,
395     0,
396     Perl_magic_clearhint,
397     0,
398     0,
399     0,
400     0
401 );
402
403 MGVTBL_SET(
404     PL_vtbl_hints,
405     0,
406     0,
407     0,
408     Perl_magic_clearhints,
409     0,
410     0,
411     0,
412     0
413 );
414
415
416 /* ex: set ro: */