1 /* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
2 This file is built by embed.pl from global.sym, intrpvar.h,
3 and thrdvar.h. Any changes made here will be lost!
6 /* (Doing namespace management portably in C is really gross.) */
8 /* EMBED has no run-time penalty, but helps keep the Perl namespace
9 from colliding with that used by other libraries pulled in
10 by extensions or by embedding perl. Allow a cc -DNO_EMBED
11 override, however, to keep binary compatability with previous
16 /* Put interpreter-specific symbols into a struct? */
21 /* If we do not have threads then per-thread vars are per-interpreter */
23 #define Sv (curinterp->TSv)
24 #define Xpv (curinterp->TXpv)
25 #define bodytarget (curinterp->Tbodytarget)
26 #define chopset (curinterp->Tchopset)
27 #define curcop (curinterp->Tcurcop)
28 #define curpad (curinterp->Tcurpad)
29 #define curpm (curinterp->Tcurpm)
30 #define curstack (curinterp->Tcurstack)
31 #define curstash (curinterp->Tcurstash)
32 #define cxstack (curinterp->Tcxstack)
33 #define cxstack_ix (curinterp->Tcxstack_ix)
34 #define cxstack_max (curinterp->Tcxstack_max)
35 #define defoutgv (curinterp->Tdefoutgv)
36 #define defstash (curinterp->Tdefstash)
37 #define delaymagic (curinterp->Tdelaymagic)
38 #define dirty (curinterp->Tdirty)
39 #define formtarget (curinterp->Tformtarget)
40 #define in_eval (curinterp->Tin_eval)
41 #define last_in_gv (curinterp->Tlast_in_gv)
42 #define localizing (curinterp->Tlocalizing)
43 #define mainstack (curinterp->Tmainstack)
44 #define markstack (curinterp->Tmarkstack)
45 #define markstack_max (curinterp->Tmarkstack_max)
46 #define markstack_ptr (curinterp->Tmarkstack_ptr)
47 #define nrs (curinterp->Tnrs)
48 #define ofs (curinterp->Tofs)
49 #define ofslen (curinterp->Tofslen)
50 #define op (curinterp->Top)
51 #define opsave (curinterp->Topsave)
52 #define restartop (curinterp->Trestartop)
53 #define retstack (curinterp->Tretstack)
54 #define retstack_ix (curinterp->Tretstack_ix)
55 #define retstack_max (curinterp->Tretstack_max)
56 #define rs (curinterp->Trs)
57 #define savestack (curinterp->Tsavestack)
58 #define savestack_ix (curinterp->Tsavestack_ix)
59 #define savestack_max (curinterp->Tsavestack_max)
60 #define scopestack (curinterp->Tscopestack)
61 #define scopestack_ix (curinterp->Tscopestack_ix)
62 #define scopestack_max (curinterp->Tscopestack_max)
63 #define stack_base (curinterp->Tstack_base)
64 #define stack_max (curinterp->Tstack_max)
65 #define stack_sp (curinterp->Tstack_sp)
66 #define start_env (curinterp->Tstart_env)
67 #define statbuf (curinterp->Tstatbuf)
68 #define tainted (curinterp->Ttainted)
69 #define timesbuf (curinterp->Ttimesbuf)
70 #define tmps_floor (curinterp->Ttmps_floor)
71 #define tmps_ix (curinterp->Ttmps_ix)
72 #define tmps_max (curinterp->Ttmps_max)
73 #define tmps_stack (curinterp->Ttmps_stack)
74 #define top_env (curinterp->Ttop_env)
75 #define toptarget (curinterp->Ttoptarget)
77 #endif /* !USE_THREADS */
79 /* These are always per-interpreter if there is more than one */
81 #define Argv (curinterp->IArgv)
82 #define Cmd (curinterp->ICmd)
83 #define DBgv (curinterp->IDBgv)
84 #define DBline (curinterp->IDBline)
85 #define DBsignal (curinterp->IDBsignal)
86 #define DBsingle (curinterp->IDBsingle)
87 #define DBsub (curinterp->IDBsub)
88 #define DBtrace (curinterp->IDBtrace)
89 #define ampergv (curinterp->Iampergv)
90 #define argvgv (curinterp->Iargvgv)
91 #define argvoutgv (curinterp->Iargvoutgv)
92 #define basetime (curinterp->Ibasetime)
93 #define beginav (curinterp->Ibeginav)
94 #define cddir (curinterp->Icddir)
95 #define copline (curinterp->Icopline)
96 #define curcopdb (curinterp->Icurcopdb)
97 #define curstname (curinterp->Icurstname)
98 #define dbargs (curinterp->Idbargs)
99 #define debdelim (curinterp->Idebdelim)
100 #define debname (curinterp->Idebname)
101 #define debstash (curinterp->Idebstash)
102 #define defgv (curinterp->Idefgv)
103 #define diehook (curinterp->Idiehook)
104 #define dlevel (curinterp->Idlevel)
105 #define dlmax (curinterp->Idlmax)
106 #define doextract (curinterp->Idoextract)
107 #define doswitches (curinterp->Idoswitches)
108 #define dowarn (curinterp->Idowarn)
109 #define dumplvl (curinterp->Idumplvl)
110 #define e_fp (curinterp->Ie_fp)
111 #define e_tmpname (curinterp->Ie_tmpname)
112 #define endav (curinterp->Iendav)
113 #define envgv (curinterp->Ienvgv)
114 #define errgv (curinterp->Ierrgv)
115 #define eval_root (curinterp->Ieval_root)
116 #define eval_start (curinterp->Ieval_start)
117 #define fdpid (curinterp->Ifdpid)
118 #define filemode (curinterp->Ifilemode)
119 #define firstgv (curinterp->Ifirstgv)
120 #define forkprocess (curinterp->Iforkprocess)
121 #define formfeed (curinterp->Iformfeed)
122 #define gensym (curinterp->Igensym)
123 #define globalstash (curinterp->Iglobalstash)
124 #define incgv (curinterp->Iincgv)
125 #define initav (curinterp->Iinitav)
126 #define inplace (curinterp->Iinplace)
127 #define lastfd (curinterp->Ilastfd)
128 #define lastscream (curinterp->Ilastscream)
129 #define lastsize (curinterp->Ilastsize)
130 #define lastspbase (curinterp->Ilastspbase)
131 #define laststatval (curinterp->Ilaststatval)
132 #define laststype (curinterp->Ilaststype)
133 #define leftgv (curinterp->Ileftgv)
134 #define lineary (curinterp->Ilineary)
135 #define localpatches (curinterp->Ilocalpatches)
136 #define main_cv (curinterp->Imain_cv)
137 #define main_root (curinterp->Imain_root)
138 #define main_start (curinterp->Imain_start)
139 #define maxscream (curinterp->Imaxscream)
140 #define maxsysfd (curinterp->Imaxsysfd)
141 #define mess_sv (curinterp->Imess_sv)
142 #define minus_F (curinterp->Iminus_F)
143 #define minus_a (curinterp->Iminus_a)
144 #define minus_c (curinterp->Iminus_c)
145 #define minus_l (curinterp->Iminus_l)
146 #define minus_n (curinterp->Iminus_n)
147 #define minus_p (curinterp->Iminus_p)
148 #define multiline (curinterp->Imultiline)
149 #define mystrk (curinterp->Imystrk)
150 #define ofmt (curinterp->Iofmt)
151 #define oldlastpm (curinterp->Ioldlastpm)
152 #define oldname (curinterp->Ioldname)
153 #define op_mask (curinterp->Iop_mask)
154 #define origargc (curinterp->Iorigargc)
155 #define origargv (curinterp->Iorigargv)
156 #define origfilename (curinterp->Iorigfilename)
157 #define ors (curinterp->Iors)
158 #define orslen (curinterp->Iorslen)
159 #define parsehook (curinterp->Iparsehook)
160 #define patchlevel (curinterp->Ipatchlevel)
161 #define perl_destruct_level (curinterp->Iperl_destruct_level)
162 #define perldb (curinterp->Iperldb)
163 #define preambleav (curinterp->Ipreambleav)
164 #define preambled (curinterp->Ipreambled)
165 #define preprocess (curinterp->Ipreprocess)
166 #define rightgv (curinterp->Irightgv)
167 #define sawampersand (curinterp->Isawampersand)
168 #define sawstudy (curinterp->Isawstudy)
169 #define sawvec (curinterp->Isawvec)
170 #define screamfirst (curinterp->Iscreamfirst)
171 #define screamnext (curinterp->Iscreamnext)
172 #define secondgv (curinterp->Isecondgv)
173 #define siggv (curinterp->Isiggv)
174 #define signalstack (curinterp->Isignalstack)
175 #define sortcop (curinterp->Isortcop)
176 #define sortstack (curinterp->Isortstack)
177 #define sortstash (curinterp->Isortstash)
178 #define splitstr (curinterp->Isplitstr)
179 #define statcache (curinterp->Istatcache)
180 #define statgv (curinterp->Istatgv)
181 #define statname (curinterp->Istatname)
182 #define statusvalue (curinterp->Istatusvalue)
183 #define statusvalue_vms (curinterp->Istatusvalue_vms)
184 #define stdingv (curinterp->Istdingv)
185 #define strchop (curinterp->Istrchop)
186 #define strtab (curinterp->Istrtab)
187 #define sv_arenaroot (curinterp->Isv_arenaroot)
188 #define sv_count (curinterp->Isv_count)
189 #define sv_objcount (curinterp->Isv_objcount)
190 #define sv_root (curinterp->Isv_root)
191 #define tainting (curinterp->Itainting)
192 #define thrsv (curinterp->Ithrsv)
193 #define unsafe (curinterp->Iunsafe)
194 #define warnhook (curinterp->Iwarnhook)
196 #else /* !MULTIPLICITY */
201 #define IDBline DBline
202 #define IDBsignal DBsignal
203 #define IDBsingle DBsingle
205 #define IDBtrace DBtrace
206 #define Iampergv ampergv
207 #define Iargvgv argvgv
208 #define Iargvoutgv argvoutgv
209 #define Ibasetime basetime
210 #define Ibeginav beginav
212 #define Icopline copline
213 #define Icurcopdb curcopdb
214 #define Icurstname curstname
215 #define Idbargs dbargs
216 #define Idebdelim debdelim
217 #define Idebname debname
218 #define Idebstash debstash
220 #define Idiehook diehook
221 #define Idlevel dlevel
223 #define Idoextract doextract
224 #define Idoswitches doswitches
225 #define Idowarn dowarn
226 #define Idumplvl dumplvl
228 #define Ie_tmpname e_tmpname
232 #define Ieval_root eval_root
233 #define Ieval_start eval_start
235 #define Ifilemode filemode
236 #define Ifirstgv firstgv
237 #define Iforkprocess forkprocess
238 #define Iformfeed formfeed
239 #define Igensym gensym
240 #define Iglobalstash globalstash
242 #define Iinitav initav
243 #define Iinplace inplace
244 #define Ilastfd lastfd
245 #define Ilastscream lastscream
246 #define Ilastsize lastsize
247 #define Ilastspbase lastspbase
248 #define Ilaststatval laststatval
249 #define Ilaststype laststype
250 #define Ileftgv leftgv
251 #define Ilineary lineary
252 #define Ilocalpatches localpatches
253 #define Imain_cv main_cv
254 #define Imain_root main_root
255 #define Imain_start main_start
256 #define Imaxscream maxscream
257 #define Imaxsysfd maxsysfd
258 #define Imess_sv mess_sv
259 #define Iminus_F minus_F
260 #define Iminus_a minus_a
261 #define Iminus_c minus_c
262 #define Iminus_l minus_l
263 #define Iminus_n minus_n
264 #define Iminus_p minus_p
265 #define Imultiline multiline
266 #define Imystrk mystrk
268 #define Ioldlastpm oldlastpm
269 #define Ioldname oldname
270 #define Iop_mask op_mask
271 #define Iorigargc origargc
272 #define Iorigargv origargv
273 #define Iorigfilename origfilename
275 #define Iorslen orslen
276 #define Iparsehook parsehook
277 #define Ipatchlevel patchlevel
278 #define Iperl_destruct_level perl_destruct_level
279 #define Iperldb perldb
280 #define Ipreambleav preambleav
281 #define Ipreambled preambled
282 #define Ipreprocess preprocess
283 #define Irightgv rightgv
284 #define Isawampersand sawampersand
285 #define Isawstudy sawstudy
286 #define Isawvec sawvec
287 #define Iscreamfirst screamfirst
288 #define Iscreamnext screamnext
289 #define Isecondgv secondgv
291 #define Isignalstack signalstack
292 #define Isortcop sortcop
293 #define Isortstack sortstack
294 #define Isortstash sortstash
295 #define Isplitstr splitstr
296 #define Istatcache statcache
297 #define Istatgv statgv
298 #define Istatname statname
299 #define Istatusvalue statusvalue
300 #define Istatusvalue_vms statusvalue_vms
301 #define Istdingv stdingv
302 #define Istrchop strchop
303 #define Istrtab strtab
304 #define Isv_arenaroot sv_arenaroot
305 #define Isv_count sv_count
306 #define Isv_objcount sv_objcount
307 #define Isv_root sv_root
308 #define Itainting tainting
310 #define Iunsafe unsafe
311 #define Iwarnhook warnhook
317 #define Tbodytarget bodytarget
318 #define Tchopset chopset
319 #define Tcurcop curcop
320 #define Tcurpad curpad
322 #define Tcurstack curstack
323 #define Tcurstash curstash
324 #define Tcxstack cxstack
325 #define Tcxstack_ix cxstack_ix
326 #define Tcxstack_max cxstack_max
327 #define Tdefoutgv defoutgv
328 #define Tdefstash defstash
329 #define Tdelaymagic delaymagic
331 #define Tformtarget formtarget
332 #define Tin_eval in_eval
333 #define Tlast_in_gv last_in_gv
334 #define Tlocalizing localizing
335 #define Tmainstack mainstack
336 #define Tmarkstack markstack
337 #define Tmarkstack_max markstack_max
338 #define Tmarkstack_ptr markstack_ptr
341 #define Tofslen ofslen
343 #define Topsave opsave
344 #define Trestartop restartop
345 #define Tretstack retstack
346 #define Tretstack_ix retstack_ix
347 #define Tretstack_max retstack_max
349 #define Tsavestack savestack
350 #define Tsavestack_ix savestack_ix
351 #define Tsavestack_max savestack_max
352 #define Tscopestack scopestack
353 #define Tscopestack_ix scopestack_ix
354 #define Tscopestack_max scopestack_max
355 #define Tstack_base stack_base
356 #define Tstack_max stack_max
357 #define Tstack_sp stack_sp
358 #define Tstart_env start_env
359 #define Tstatbuf statbuf
360 #define Ttainted tainted
361 #define Ttimesbuf timesbuf
362 #define Ttmps_floor tmps_floor
363 #define Ttmps_ix tmps_ix
364 #define Ttmps_max tmps_max
365 #define Ttmps_stack tmps_stack
366 #define Ttop_env top_env
367 #define Ttoptarget toptarget
369 #endif /* USE_THREADS */
371 /* Hide what would have been interpreter-specific symbols? */
375 #define Argv Perl_Argv
377 #define DBgv Perl_DBgv
378 #define DBline Perl_DBline
379 #define DBsignal Perl_DBsignal
380 #define DBsingle Perl_DBsingle
381 #define DBsub Perl_DBsub
382 #define DBtrace Perl_DBtrace
383 #define ampergv Perl_ampergv
384 #define argvgv Perl_argvgv
385 #define argvoutgv Perl_argvoutgv
386 #define basetime Perl_basetime
387 #define beginav Perl_beginav
388 #define cddir Perl_cddir
389 #define copline Perl_copline
390 #define curcopdb Perl_curcopdb
391 #define curstname Perl_curstname
392 #define dbargs Perl_dbargs
393 #define debdelim Perl_debdelim
394 #define debname Perl_debname
395 #define debstash Perl_debstash
396 #define defgv Perl_defgv
397 #define diehook Perl_diehook
398 #define dlevel Perl_dlevel
399 #define dlmax Perl_dlmax
400 #define doextract Perl_doextract
401 #define doswitches Perl_doswitches
402 #define dowarn Perl_dowarn
403 #define dumplvl Perl_dumplvl
404 #define e_fp Perl_e_fp
405 #define e_tmpname Perl_e_tmpname
406 #define endav Perl_endav
407 #define envgv Perl_envgv
408 #define errgv Perl_errgv
409 #define eval_root Perl_eval_root
410 #define eval_start Perl_eval_start
411 #define fdpid Perl_fdpid
412 #define filemode Perl_filemode
413 #define firstgv Perl_firstgv
414 #define forkprocess Perl_forkprocess
415 #define formfeed Perl_formfeed
416 #define gensym Perl_gensym
417 #define globalstash Perl_globalstash
418 #define incgv Perl_incgv
419 #define initav Perl_initav
420 #define inplace Perl_inplace
421 #define lastfd Perl_lastfd
422 #define lastscream Perl_lastscream
423 #define lastsize Perl_lastsize
424 #define lastspbase Perl_lastspbase
425 #define laststatval Perl_laststatval
426 #define laststype Perl_laststype
427 #define leftgv Perl_leftgv
428 #define lineary Perl_lineary
429 #define localpatches Perl_localpatches
430 #define main_cv Perl_main_cv
431 #define main_root Perl_main_root
432 #define main_start Perl_main_start
433 #define maxscream Perl_maxscream
434 #define maxsysfd Perl_maxsysfd
435 #define mess_sv Perl_mess_sv
436 #define minus_F Perl_minus_F
437 #define minus_a Perl_minus_a
438 #define minus_c Perl_minus_c
439 #define minus_l Perl_minus_l
440 #define minus_n Perl_minus_n
441 #define minus_p Perl_minus_p
442 #define multiline Perl_multiline
443 #define mystrk Perl_mystrk
444 #define ofmt Perl_ofmt
445 #define oldlastpm Perl_oldlastpm
446 #define oldname Perl_oldname
447 #define op_mask Perl_op_mask
448 #define origargc Perl_origargc
449 #define origargv Perl_origargv
450 #define origfilename Perl_origfilename
452 #define orslen Perl_orslen
453 #define parsehook Perl_parsehook
454 #define patchlevel Perl_patchlevel
455 #define perl_destruct_level Perl_perl_destruct_level
456 #define perldb Perl_perldb
457 #define preambleav Perl_preambleav
458 #define preambled Perl_preambled
459 #define preprocess Perl_preprocess
460 #define rightgv Perl_rightgv
461 #define sawampersand Perl_sawampersand
462 #define sawstudy Perl_sawstudy
463 #define sawvec Perl_sawvec
464 #define screamfirst Perl_screamfirst
465 #define screamnext Perl_screamnext
466 #define secondgv Perl_secondgv
467 #define siggv Perl_siggv
468 #define signalstack Perl_signalstack
469 #define sortcop Perl_sortcop
470 #define sortstack Perl_sortstack
471 #define sortstash Perl_sortstash
472 #define splitstr Perl_splitstr
473 #define statcache Perl_statcache
474 #define statgv Perl_statgv
475 #define statname Perl_statname
476 #define statusvalue Perl_statusvalue
477 #define statusvalue_vms Perl_statusvalue_vms
478 #define stdingv Perl_stdingv
479 #define strchop Perl_strchop
480 #define strtab Perl_strtab
481 #define sv_arenaroot Perl_sv_arenaroot
482 #define sv_count Perl_sv_count
483 #define sv_objcount Perl_sv_objcount
484 #define sv_root Perl_sv_root
485 #define tainting Perl_tainting
486 #define thrsv Perl_thrsv
487 #define unsafe Perl_unsafe
488 #define warnhook Perl_warnhook
494 #define bodytarget Perl_bodytarget
495 #define chopset Perl_chopset
496 #define curcop Perl_curcop
497 #define curpad Perl_curpad
498 #define curpm Perl_curpm
499 #define curstack Perl_curstack
500 #define curstash Perl_curstash
501 #define cxstack Perl_cxstack
502 #define cxstack_ix Perl_cxstack_ix
503 #define cxstack_max Perl_cxstack_max
504 #define defoutgv Perl_defoutgv
505 #define defstash Perl_defstash
506 #define delaymagic Perl_delaymagic
507 #define dirty Perl_dirty
508 #define formtarget Perl_formtarget
509 #define in_eval Perl_in_eval
510 #define last_in_gv Perl_last_in_gv
511 #define localizing Perl_localizing
512 #define mainstack Perl_mainstack
513 #define markstack Perl_markstack
514 #define markstack_max Perl_markstack_max
515 #define markstack_ptr Perl_markstack_ptr
518 #define ofslen Perl_ofslen
520 #define opsave Perl_opsave
521 #define restartop Perl_restartop
522 #define retstack Perl_retstack
523 #define retstack_ix Perl_retstack_ix
524 #define retstack_max Perl_retstack_max
526 #define savestack Perl_savestack
527 #define savestack_ix Perl_savestack_ix
528 #define savestack_max Perl_savestack_max
529 #define scopestack Perl_scopestack
530 #define scopestack_ix Perl_scopestack_ix
531 #define scopestack_max Perl_scopestack_max
532 #define stack_base Perl_stack_base
533 #define stack_max Perl_stack_max
534 #define stack_sp Perl_stack_sp
535 #define start_env Perl_start_env
536 #define statbuf Perl_statbuf
537 #define tainted Perl_tainted
538 #define timesbuf Perl_timesbuf
539 #define tmps_floor Perl_tmps_floor
540 #define tmps_ix Perl_tmps_ix
541 #define tmps_max Perl_tmps_max
542 #define tmps_stack Perl_tmps_stack
543 #define top_env Perl_top_env
544 #define toptarget Perl_toptarget
546 #endif /* USE_THREADS */
548 #endif /* MULTIPLICITY */
550 /* Now same trickey for per-thread variables */
554 #define Sv (thr->TSv)
555 #define Xpv (thr->TXpv)
556 #define bodytarget (thr->Tbodytarget)
557 #define chopset (thr->Tchopset)
558 #define curcop (thr->Tcurcop)
559 #define curpad (thr->Tcurpad)
560 #define curpm (thr->Tcurpm)
561 #define curstack (thr->Tcurstack)
562 #define curstash (thr->Tcurstash)
563 #define cxstack (thr->Tcxstack)
564 #define cxstack_ix (thr->Tcxstack_ix)
565 #define cxstack_max (thr->Tcxstack_max)
566 #define defoutgv (thr->Tdefoutgv)
567 #define defstash (thr->Tdefstash)
568 #define delaymagic (thr->Tdelaymagic)
569 #define dirty (thr->Tdirty)
570 #define formtarget (thr->Tformtarget)
571 #define in_eval (thr->Tin_eval)
572 #define last_in_gv (thr->Tlast_in_gv)
573 #define localizing (thr->Tlocalizing)
574 #define mainstack (thr->Tmainstack)
575 #define markstack (thr->Tmarkstack)
576 #define markstack_max (thr->Tmarkstack_max)
577 #define markstack_ptr (thr->Tmarkstack_ptr)
578 #define nrs (thr->Tnrs)
579 #define ofs (thr->Tofs)
580 #define ofslen (thr->Tofslen)
581 #define op (thr->Top)
582 #define opsave (thr->Topsave)
583 #define restartop (thr->Trestartop)
584 #define retstack (thr->Tretstack)
585 #define retstack_ix (thr->Tretstack_ix)
586 #define retstack_max (thr->Tretstack_max)
587 #define rs (thr->Trs)
588 #define savestack (thr->Tsavestack)
589 #define savestack_ix (thr->Tsavestack_ix)
590 #define savestack_max (thr->Tsavestack_max)
591 #define scopestack (thr->Tscopestack)
592 #define scopestack_ix (thr->Tscopestack_ix)
593 #define scopestack_max (thr->Tscopestack_max)
594 #define stack_base (thr->Tstack_base)
595 #define stack_max (thr->Tstack_max)
596 #define stack_sp (thr->Tstack_sp)
597 #define start_env (thr->Tstart_env)
598 #define statbuf (thr->Tstatbuf)
599 #define tainted (thr->Ttainted)
600 #define timesbuf (thr->Ttimesbuf)
601 #define tmps_floor (thr->Ttmps_floor)
602 #define tmps_ix (thr->Ttmps_ix)
603 #define tmps_max (thr->Ttmps_max)
604 #define tmps_stack (thr->Ttmps_stack)
605 #define top_env (thr->Ttop_env)
606 #define toptarget (thr->Ttoptarget)
608 #endif /* USE_THREADS */