This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Fixup exports in non -DDEBUGGING case
[perl5.git] / embedvar.h
CommitLineData
d4cce5f1
NIS
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!
4*/
5
6/* (Doing namespace management portably in C is really gross.) */
7
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
12 versions of perl.
13*/
14
15
16/* Put interpreter-specific symbols into a struct? */
17
18#ifdef MULTIPLICITY
19
20#ifndef USE_THREADS
21/* If we do not have threads then per-thread vars are per-interpreter */
22
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)
76
77#endif /* !USE_THREADS */
78
79/* These are always per-interpreter if there is more than one */
80
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)
195
196#else /* !MULTIPLICITY */
197
198#define IArgv Argv
199#define ICmd Cmd
200#define IDBgv DBgv
201#define IDBline DBline
202#define IDBsignal DBsignal
203#define IDBsingle DBsingle
204#define IDBsub DBsub
205#define IDBtrace DBtrace
206#define Iampergv ampergv
207#define Iargvgv argvgv
208#define Iargvoutgv argvoutgv
209#define Ibasetime basetime
210#define Ibeginav beginav
211#define Icddir cddir
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
219#define Idefgv defgv
220#define Idiehook diehook
221#define Idlevel dlevel
222#define Idlmax dlmax
223#define Idoextract doextract
224#define Idoswitches doswitches
225#define Idowarn dowarn
226#define Idumplvl dumplvl
227#define Ie_fp e_fp
228#define Ie_tmpname e_tmpname
229#define Iendav endav
230#define Ienvgv envgv
231#define Ierrgv errgv
232#define Ieval_root eval_root
233#define Ieval_start eval_start
234#define Ifdpid fdpid
235#define Ifilemode filemode
236#define Ifirstgv firstgv
237#define Iforkprocess forkprocess
238#define Iformfeed formfeed
239#define Igensym gensym
240#define Iglobalstash globalstash
241#define Iincgv incgv
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
267#define Iofmt ofmt
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
274#define Iors ors
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
290#define Isiggv siggv
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
309#define Ithrsv thrsv
310#define Iunsafe unsafe
311#define Iwarnhook warnhook
312
313#ifndef USE_THREADS
314
315#define TSv Sv
316#define TXpv Xpv
317#define Tbodytarget bodytarget
318#define Tchopset chopset
319#define Tcurcop curcop
320#define Tcurpad curpad
321#define Tcurpm curpm
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
330#define Tdirty dirty
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
339#define Tnrs nrs
340#define Tofs ofs
341#define Tofslen ofslen
342#define Top op
343#define Topsave opsave
344#define Trestartop restartop
345#define Tretstack retstack
346#define Tretstack_ix retstack_ix
347#define Tretstack_max retstack_max
348#define Trs rs
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
368
369#endif /* USE_THREADS */
370
371/* Hide what would have been interpreter-specific symbols? */
372
373#ifdef EMBED
374
375#define Argv Perl_Argv
376#define Cmd Perl_Cmd
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
451#define ors Perl_ors
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
489
490#ifndef USE_THREADS
491
492#define Sv Perl_Sv
493#define Xpv Perl_Xpv
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
516#define nrs Perl_nrs
517#define ofs Perl_ofs
518#define ofslen Perl_ofslen
519#define op Perl_op
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
525#define rs Perl_rs
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
545
546#endif /* USE_THREADS */
547#endif /* EMBED */
548#endif /* MULTIPLICITY */
549
550/* Now same trickey for per-thread variables */
551
552#ifdef USE_THREADS
553
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)
607
608#endif /* USE_THREADS */
609