This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Builds and passes tests with -DMULTIPLICITY and -DCRIPPLED_CC
[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
3280af22
NIS
23#define PL_Sv (curinterp->TSv)
24#define PL_Xpv (curinterp->TXpv)
25#define PL_av_fetch_sv (curinterp->Tav_fetch_sv)
26#define PL_bodytarget (curinterp->Tbodytarget)
27#define PL_bostr (curinterp->Tbostr)
28#define PL_chopset (curinterp->Tchopset)
29#define PL_colors (curinterp->Tcolors)
30#define PL_colorset (curinterp->Tcolorset)
31#define PL_curcop (curinterp->Tcurcop)
32#define PL_curpad (curinterp->Tcurpad)
33#define PL_curpm (curinterp->Tcurpm)
34#define PL_curstack (curinterp->Tcurstack)
35#define PL_curstackinfo (curinterp->Tcurstackinfo)
36#define PL_curstash (curinterp->Tcurstash)
37#define PL_defoutgv (curinterp->Tdefoutgv)
38#define PL_defstash (curinterp->Tdefstash)
39#define PL_delaymagic (curinterp->Tdelaymagic)
40#define PL_dirty (curinterp->Tdirty)
41#define PL_extralen (curinterp->Textralen)
42#define PL_firstgv (curinterp->Tfirstgv)
43#define PL_formtarget (curinterp->Tformtarget)
44#define PL_hv_fetch_ent_mh (curinterp->Thv_fetch_ent_mh)
45#define PL_hv_fetch_sv (curinterp->Thv_fetch_sv)
46#define PL_in_eval (curinterp->Tin_eval)
47#define PL_last_in_gv (curinterp->Tlast_in_gv)
48#define PL_lastgotoprobe (curinterp->Tlastgotoprobe)
49#define PL_lastscream (curinterp->Tlastscream)
50#define PL_localizing (curinterp->Tlocalizing)
51#define PL_mainstack (curinterp->Tmainstack)
52#define PL_markstack (curinterp->Tmarkstack)
53#define PL_markstack_max (curinterp->Tmarkstack_max)
54#define PL_markstack_ptr (curinterp->Tmarkstack_ptr)
55#define PL_maxscream (curinterp->Tmaxscream)
56#define PL_modcount (curinterp->Tmodcount)
57#define PL_nrs (curinterp->Tnrs)
58#define PL_ofs (curinterp->Tofs)
59#define PL_ofslen (curinterp->Tofslen)
60#define PL_op (curinterp->Top)
61#define PL_opsave (curinterp->Topsave)
62#define PL_reg_eval_set (curinterp->Treg_eval_set)
63#define PL_reg_flags (curinterp->Treg_flags)
64#define PL_reg_start_tmp (curinterp->Treg_start_tmp)
65#define PL_reg_start_tmpl (curinterp->Treg_start_tmpl)
66#define PL_regbol (curinterp->Tregbol)
67#define PL_regcc (curinterp->Tregcc)
68#define PL_regcode (curinterp->Tregcode)
69#define PL_regcomp_parse (curinterp->Tregcomp_parse)
70#define PL_regcomp_rx (curinterp->Tregcomp_rx)
71#define PL_regcompp (curinterp->Tregcompp)
72#define PL_regdata (curinterp->Tregdata)
73#define PL_regdummy (curinterp->Tregdummy)
74#define PL_regendp (curinterp->Tregendp)
75#define PL_regeol (curinterp->Tregeol)
76#define PL_regexecp (curinterp->Tregexecp)
77#define PL_regflags (curinterp->Tregflags)
78#define PL_regindent (curinterp->Tregindent)
79#define PL_reginput (curinterp->Treginput)
80#define PL_reginterp_cnt (curinterp->Treginterp_cnt)
81#define PL_reglastparen (curinterp->Treglastparen)
82#define PL_regnarrate (curinterp->Tregnarrate)
83#define PL_regnaughty (curinterp->Tregnaughty)
84#define PL_regnpar (curinterp->Tregnpar)
85#define PL_regprecomp (curinterp->Tregprecomp)
86#define PL_regprev (curinterp->Tregprev)
87#define PL_regprogram (curinterp->Tregprogram)
88#define PL_regsawback (curinterp->Tregsawback)
89#define PL_regseen (curinterp->Tregseen)
90#define PL_regsize (curinterp->Tregsize)
91#define PL_regstartp (curinterp->Tregstartp)
92#define PL_regtill (curinterp->Tregtill)
93#define PL_regxend (curinterp->Tregxend)
94#define PL_restartop (curinterp->Trestartop)
95#define PL_retstack (curinterp->Tretstack)
96#define PL_retstack_ix (curinterp->Tretstack_ix)
97#define PL_retstack_max (curinterp->Tretstack_max)
98#define PL_rs (curinterp->Trs)
99#define PL_savestack (curinterp->Tsavestack)
100#define PL_savestack_ix (curinterp->Tsavestack_ix)
101#define PL_savestack_max (curinterp->Tsavestack_max)
102#define PL_scopestack (curinterp->Tscopestack)
103#define PL_scopestack_ix (curinterp->Tscopestack_ix)
104#define PL_scopestack_max (curinterp->Tscopestack_max)
105#define PL_screamfirst (curinterp->Tscreamfirst)
106#define PL_screamnext (curinterp->Tscreamnext)
107#define PL_secondgv (curinterp->Tsecondgv)
108#define PL_seen_evals (curinterp->Tseen_evals)
109#define PL_seen_zerolen (curinterp->Tseen_zerolen)
110#define PL_sortcop (curinterp->Tsortcop)
111#define PL_sortcxix (curinterp->Tsortcxix)
112#define PL_sortstash (curinterp->Tsortstash)
113#define PL_stack_base (curinterp->Tstack_base)
114#define PL_stack_max (curinterp->Tstack_max)
115#define PL_stack_sp (curinterp->Tstack_sp)
116#define PL_start_env (curinterp->Tstart_env)
117#define PL_statbuf (curinterp->Tstatbuf)
118#define PL_statcache (curinterp->Tstatcache)
119#define PL_statgv (curinterp->Tstatgv)
120#define PL_statname (curinterp->Tstatname)
121#define PL_tainted (curinterp->Ttainted)
122#define PL_timesbuf (curinterp->Ttimesbuf)
123#define PL_tmps_floor (curinterp->Ttmps_floor)
124#define PL_tmps_ix (curinterp->Ttmps_ix)
125#define PL_tmps_max (curinterp->Ttmps_max)
126#define PL_tmps_stack (curinterp->Ttmps_stack)
127#define PL_top_env (curinterp->Ttop_env)
128#define PL_toptarget (curinterp->Ttoptarget)
d4cce5f1
NIS
129
130#endif /* !USE_THREADS */
131
132/* These are always per-interpreter if there is more than one */
133
3280af22
NIS
134#define PL_Argv (curinterp->IArgv)
135#define PL_Cmd (curinterp->ICmd)
136#define PL_DBcv (curinterp->IDBcv)
137#define PL_DBgv (curinterp->IDBgv)
138#define PL_DBline (curinterp->IDBline)
139#define PL_DBsignal (curinterp->IDBsignal)
140#define PL_DBsingle (curinterp->IDBsingle)
141#define PL_DBsub (curinterp->IDBsub)
142#define PL_DBtrace (curinterp->IDBtrace)
143#define PL_ampergv (curinterp->Iampergv)
144#define PL_archpat_auto (curinterp->Iarchpat_auto)
145#define PL_argvgv (curinterp->Iargvgv)
146#define PL_argvoutgv (curinterp->Iargvoutgv)
147#define PL_basetime (curinterp->Ibasetime)
148#define PL_beginav (curinterp->Ibeginav)
149#define PL_cddir (curinterp->Icddir)
150#define PL_compcv (curinterp->Icompcv)
151#define PL_compiling (curinterp->Icompiling)
152#define PL_comppad (curinterp->Icomppad)
153#define PL_comppad_name (curinterp->Icomppad_name)
154#define PL_comppad_name_fill (curinterp->Icomppad_name_fill)
155#define PL_comppad_name_floor (curinterp->Icomppad_name_floor)
156#define PL_copline (curinterp->Icopline)
157#define PL_curcopdb (curinterp->Icurcopdb)
158#define PL_curstname (curinterp->Icurstname)
159#define PL_dbargs (curinterp->Idbargs)
160#define PL_debdelim (curinterp->Idebdelim)
161#define PL_debname (curinterp->Idebname)
162#define PL_debstash (curinterp->Idebstash)
163#define PL_defgv (curinterp->Idefgv)
164#define PL_diehook (curinterp->Idiehook)
165#define PL_dlevel (curinterp->Idlevel)
166#define PL_dlmax (curinterp->Idlmax)
167#define PL_doextract (curinterp->Idoextract)
168#define PL_doswitches (curinterp->Idoswitches)
169#define PL_dowarn (curinterp->Idowarn)
170#define PL_dumplvl (curinterp->Idumplvl)
171#define PL_e_script (curinterp->Ie_script)
172#define PL_endav (curinterp->Iendav)
173#define PL_envgv (curinterp->Ienvgv)
174#define PL_errgv (curinterp->Ierrgv)
175#define PL_eval_root (curinterp->Ieval_root)
176#define PL_eval_start (curinterp->Ieval_start)
177#define PL_exitlist (curinterp->Iexitlist)
178#define PL_exitlistlen (curinterp->Iexitlistlen)
179#define PL_fdpid (curinterp->Ifdpid)
180#define PL_filemode (curinterp->Ifilemode)
181#define PL_forkprocess (curinterp->Iforkprocess)
182#define PL_formfeed (curinterp->Iformfeed)
183#define PL_generation (curinterp->Igeneration)
184#define PL_gensym (curinterp->Igensym)
185#define PL_globalstash (curinterp->Iglobalstash)
186#define PL_hintgv (curinterp->Ihintgv)
187#define PL_in_clean_all (curinterp->Iin_clean_all)
188#define PL_in_clean_objs (curinterp->Iin_clean_objs)
189#define PL_incgv (curinterp->Iincgv)
190#define PL_initav (curinterp->Iinitav)
191#define PL_inplace (curinterp->Iinplace)
192#define PL_last_proto (curinterp->Ilast_proto)
193#define PL_lastfd (curinterp->Ilastfd)
194#define PL_lastsize (curinterp->Ilastsize)
195#define PL_lastspbase (curinterp->Ilastspbase)
196#define PL_laststatval (curinterp->Ilaststatval)
197#define PL_laststype (curinterp->Ilaststype)
198#define PL_leftgv (curinterp->Ileftgv)
199#define PL_lineary (curinterp->Ilineary)
200#define PL_linestart (curinterp->Ilinestart)
201#define PL_localpatches (curinterp->Ilocalpatches)
202#define PL_main_cv (curinterp->Imain_cv)
203#define PL_main_root (curinterp->Imain_root)
204#define PL_main_start (curinterp->Imain_start)
205#define PL_maxsysfd (curinterp->Imaxsysfd)
206#define PL_mess_sv (curinterp->Imess_sv)
207#define PL_minus_F (curinterp->Iminus_F)
208#define PL_minus_a (curinterp->Iminus_a)
209#define PL_minus_c (curinterp->Iminus_c)
210#define PL_minus_l (curinterp->Iminus_l)
211#define PL_minus_n (curinterp->Iminus_n)
212#define PL_minus_p (curinterp->Iminus_p)
213#define PL_modglobal (curinterp->Imodglobal)
214#define PL_multiline (curinterp->Imultiline)
215#define PL_mystrk (curinterp->Imystrk)
216#define PL_ofmt (curinterp->Iofmt)
217#define PL_oldlastpm (curinterp->Ioldlastpm)
218#define PL_oldname (curinterp->Ioldname)
219#define PL_op_mask (curinterp->Iop_mask)
220#define PL_origargc (curinterp->Iorigargc)
221#define PL_origargv (curinterp->Iorigargv)
222#define PL_origfilename (curinterp->Iorigfilename)
223#define PL_ors (curinterp->Iors)
224#define PL_orslen (curinterp->Iorslen)
225#define PL_parsehook (curinterp->Iparsehook)
226#define PL_patchlevel (curinterp->Ipatchlevel)
227#define PL_pending_ident (curinterp->Ipending_ident)
228#define PL_perl_destruct_level (curinterp->Iperl_destruct_level)
229#define PL_perldb (curinterp->Iperldb)
230#define PL_preambleav (curinterp->Ipreambleav)
231#define PL_preambled (curinterp->Ipreambled)
232#define PL_preprocess (curinterp->Ipreprocess)
233#define PL_profiledata (curinterp->Iprofiledata)
234#define PL_replgv (curinterp->Ireplgv)
235#define PL_rightgv (curinterp->Irightgv)
236#define PL_rsfp (curinterp->Irsfp)
237#define PL_rsfp_filters (curinterp->Irsfp_filters)
238#define PL_sawampersand (curinterp->Isawampersand)
239#define PL_sawstudy (curinterp->Isawstudy)
240#define PL_sawvec (curinterp->Isawvec)
241#define PL_siggv (curinterp->Isiggv)
242#define PL_splitstr (curinterp->Isplitstr)
243#define PL_statusvalue (curinterp->Istatusvalue)
244#define PL_statusvalue_vms (curinterp->Istatusvalue_vms)
245#define PL_stdingv (curinterp->Istdingv)
246#define PL_strchop (curinterp->Istrchop)
247#define PL_strtab (curinterp->Istrtab)
248#define PL_sub_generation (curinterp->Isub_generation)
249#define PL_sublex_info (curinterp->Isublex_info)
250#define PL_sv_arenaroot (curinterp->Isv_arenaroot)
251#define PL_sv_count (curinterp->Isv_count)
252#define PL_sv_objcount (curinterp->Isv_objcount)
253#define PL_sv_root (curinterp->Isv_root)
254#define PL_sys_intern (curinterp->Isys_intern)
255#define PL_tainting (curinterp->Itainting)
256#define PL_threadnum (curinterp->Ithreadnum)
257#define PL_thrsv (curinterp->Ithrsv)
258#define PL_unsafe (curinterp->Iunsafe)
259#define PL_warnhook (curinterp->Iwarnhook)
d4cce5f1
NIS
260
261#else /* !MULTIPLICITY */
262
3280af22
NIS
263#define IArgv PL_Argv
264#define ICmd PL_Cmd
265#define IDBcv PL_DBcv
266#define IDBgv PL_DBgv
267#define IDBline PL_DBline
268#define IDBsignal PL_DBsignal
269#define IDBsingle PL_DBsingle
270#define IDBsub PL_DBsub
271#define IDBtrace PL_DBtrace
272#define Iampergv PL_ampergv
273#define Iarchpat_auto PL_archpat_auto
274#define Iargvgv PL_argvgv
275#define Iargvoutgv PL_argvoutgv
276#define Ibasetime PL_basetime
277#define Ibeginav PL_beginav
278#define Icddir PL_cddir
279#define Icompcv PL_compcv
280#define Icompiling PL_compiling
281#define Icomppad PL_comppad
282#define Icomppad_name PL_comppad_name
283#define Icomppad_name_fill PL_comppad_name_fill
284#define Icomppad_name_floor PL_comppad_name_floor
285#define Icopline PL_copline
286#define Icurcopdb PL_curcopdb
287#define Icurstname PL_curstname
288#define Idbargs PL_dbargs
289#define Idebdelim PL_debdelim
290#define Idebname PL_debname
291#define Idebstash PL_debstash
292#define Idefgv PL_defgv
293#define Idiehook PL_diehook
294#define Idlevel PL_dlevel
295#define Idlmax PL_dlmax
296#define Idoextract PL_doextract
297#define Idoswitches PL_doswitches
298#define Idowarn PL_dowarn
299#define Idumplvl PL_dumplvl
300#define Ie_script PL_e_script
301#define Iendav PL_endav
302#define Ienvgv PL_envgv
303#define Ierrgv PL_errgv
304#define Ieval_root PL_eval_root
305#define Ieval_start PL_eval_start
306#define Iexitlist PL_exitlist
307#define Iexitlistlen PL_exitlistlen
308#define Ifdpid PL_fdpid
309#define Ifilemode PL_filemode
310#define Iforkprocess PL_forkprocess
311#define Iformfeed PL_formfeed
312#define Igeneration PL_generation
313#define Igensym PL_gensym
314#define Iglobalstash PL_globalstash
315#define Ihintgv PL_hintgv
316#define Iin_clean_all PL_in_clean_all
317#define Iin_clean_objs PL_in_clean_objs
318#define Iincgv PL_incgv
319#define Iinitav PL_initav
320#define Iinplace PL_inplace
321#define Ilast_proto PL_last_proto
322#define Ilastfd PL_lastfd
323#define Ilastsize PL_lastsize
324#define Ilastspbase PL_lastspbase
325#define Ilaststatval PL_laststatval
326#define Ilaststype PL_laststype
327#define Ileftgv PL_leftgv
328#define Ilineary PL_lineary
329#define Ilinestart PL_linestart
330#define Ilocalpatches PL_localpatches
331#define Imain_cv PL_main_cv
332#define Imain_root PL_main_root
333#define Imain_start PL_main_start
334#define Imaxsysfd PL_maxsysfd
335#define Imess_sv PL_mess_sv
336#define Iminus_F PL_minus_F
337#define Iminus_a PL_minus_a
338#define Iminus_c PL_minus_c
339#define Iminus_l PL_minus_l
340#define Iminus_n PL_minus_n
341#define Iminus_p PL_minus_p
342#define Imodglobal PL_modglobal
343#define Imultiline PL_multiline
344#define Imystrk PL_mystrk
345#define Iofmt PL_ofmt
346#define Ioldlastpm PL_oldlastpm
347#define Ioldname PL_oldname
348#define Iop_mask PL_op_mask
349#define Iorigargc PL_origargc
350#define Iorigargv PL_origargv
351#define Iorigfilename PL_origfilename
352#define Iors PL_ors
353#define Iorslen PL_orslen
354#define Iparsehook PL_parsehook
355#define Ipatchlevel PL_patchlevel
356#define Ipending_ident PL_pending_ident
357#define Iperl_destruct_level PL_perl_destruct_level
358#define Iperldb PL_perldb
359#define Ipreambleav PL_preambleav
360#define Ipreambled PL_preambled
361#define Ipreprocess PL_preprocess
362#define Iprofiledata PL_profiledata
363#define Ireplgv PL_replgv
364#define Irightgv PL_rightgv
365#define Irsfp PL_rsfp
366#define Irsfp_filters PL_rsfp_filters
367#define Isawampersand PL_sawampersand
368#define Isawstudy PL_sawstudy
369#define Isawvec PL_sawvec
370#define Isiggv PL_siggv
371#define Isplitstr PL_splitstr
372#define Istatusvalue PL_statusvalue
373#define Istatusvalue_vms PL_statusvalue_vms
374#define Istdingv PL_stdingv
375#define Istrchop PL_strchop
376#define Istrtab PL_strtab
377#define Isub_generation PL_sub_generation
378#define Isublex_info PL_sublex_info
379#define Isv_arenaroot PL_sv_arenaroot
380#define Isv_count PL_sv_count
381#define Isv_objcount PL_sv_objcount
382#define Isv_root PL_sv_root
383#define Isys_intern PL_sys_intern
384#define Itainting PL_tainting
385#define Ithreadnum PL_threadnum
386#define Ithrsv PL_thrsv
387#define Iunsafe PL_unsafe
388#define Iwarnhook PL_warnhook
d4cce5f1
NIS
389
390#ifndef USE_THREADS
391
3280af22
NIS
392#define TSv PL_Sv
393#define TXpv PL_Xpv
394#define Tav_fetch_sv PL_av_fetch_sv
395#define Tbodytarget PL_bodytarget
396#define Tbostr PL_bostr
397#define Tchopset PL_chopset
398#define Tcolors PL_colors
399#define Tcolorset PL_colorset
400#define Tcurcop PL_curcop
401#define Tcurpad PL_curpad
402#define Tcurpm PL_curpm
403#define Tcurstack PL_curstack
404#define Tcurstackinfo PL_curstackinfo
405#define Tcurstash PL_curstash
406#define Tdefoutgv PL_defoutgv
407#define Tdefstash PL_defstash
408#define Tdelaymagic PL_delaymagic
409#define Tdirty PL_dirty
410#define Textralen PL_extralen
411#define Tfirstgv PL_firstgv
412#define Tformtarget PL_formtarget
413#define Thv_fetch_ent_mh PL_hv_fetch_ent_mh
414#define Thv_fetch_sv PL_hv_fetch_sv
415#define Tin_eval PL_in_eval
416#define Tlast_in_gv PL_last_in_gv
417#define Tlastgotoprobe PL_lastgotoprobe
418#define Tlastscream PL_lastscream
419#define Tlocalizing PL_localizing
420#define Tmainstack PL_mainstack
421#define Tmarkstack PL_markstack
422#define Tmarkstack_max PL_markstack_max
423#define Tmarkstack_ptr PL_markstack_ptr
424#define Tmaxscream PL_maxscream
425#define Tmodcount PL_modcount
426#define Tnrs PL_nrs
427#define Tofs PL_ofs
428#define Tofslen PL_ofslen
429#define Top PL_op
430#define Topsave PL_opsave
431#define Treg_eval_set PL_reg_eval_set
432#define Treg_flags PL_reg_flags
433#define Treg_start_tmp PL_reg_start_tmp
434#define Treg_start_tmpl PL_reg_start_tmpl
435#define Tregbol PL_regbol
436#define Tregcc PL_regcc
437#define Tregcode PL_regcode
438#define Tregcomp_parse PL_regcomp_parse
439#define Tregcomp_rx PL_regcomp_rx
440#define Tregcompp PL_regcompp
441#define Tregdata PL_regdata
442#define Tregdummy PL_regdummy
443#define Tregendp PL_regendp
444#define Tregeol PL_regeol
445#define Tregexecp PL_regexecp
446#define Tregflags PL_regflags
447#define Tregindent PL_regindent
448#define Treginput PL_reginput
449#define Treginterp_cnt PL_reginterp_cnt
450#define Treglastparen PL_reglastparen
451#define Tregnarrate PL_regnarrate
452#define Tregnaughty PL_regnaughty
453#define Tregnpar PL_regnpar
454#define Tregprecomp PL_regprecomp
455#define Tregprev PL_regprev
456#define Tregprogram PL_regprogram
457#define Tregsawback PL_regsawback
458#define Tregseen PL_regseen
459#define Tregsize PL_regsize
460#define Tregstartp PL_regstartp
461#define Tregtill PL_regtill
462#define Tregxend PL_regxend
463#define Trestartop PL_restartop
464#define Tretstack PL_retstack
465#define Tretstack_ix PL_retstack_ix
466#define Tretstack_max PL_retstack_max
467#define Trs PL_rs
468#define Tsavestack PL_savestack
469#define Tsavestack_ix PL_savestack_ix
470#define Tsavestack_max PL_savestack_max
471#define Tscopestack PL_scopestack
472#define Tscopestack_ix PL_scopestack_ix
473#define Tscopestack_max PL_scopestack_max
474#define Tscreamfirst PL_screamfirst
475#define Tscreamnext PL_screamnext
476#define Tsecondgv PL_secondgv
477#define Tseen_evals PL_seen_evals
478#define Tseen_zerolen PL_seen_zerolen
479#define Tsortcop PL_sortcop
480#define Tsortcxix PL_sortcxix
481#define Tsortstash PL_sortstash
482#define Tstack_base PL_stack_base
483#define Tstack_max PL_stack_max
484#define Tstack_sp PL_stack_sp
485#define Tstart_env PL_start_env
486#define Tstatbuf PL_statbuf
487#define Tstatcache PL_statcache
488#define Tstatgv PL_statgv
489#define Tstatname PL_statname
490#define Ttainted PL_tainted
491#define Ttimesbuf PL_timesbuf
492#define Ttmps_floor PL_tmps_floor
493#define Ttmps_ix PL_tmps_ix
494#define Ttmps_max PL_tmps_max
495#define Ttmps_stack PL_tmps_stack
496#define Ttop_env PL_top_env
497#define Ttoptarget PL_toptarget
d4cce5f1
NIS
498
499#endif /* USE_THREADS */
500
501/* Hide what would have been interpreter-specific symbols? */
502
503#ifdef EMBED
504
d4cce5f1
NIS
505
506#ifndef USE_THREADS
507
d4cce5f1
NIS
508
509#endif /* USE_THREADS */
510#endif /* EMBED */
511#endif /* MULTIPLICITY */
512
513/* Now same trickey for per-thread variables */
514
515#ifdef USE_THREADS
516
3280af22
NIS
517#define PL_Sv (thr->TSv)
518#define PL_Xpv (thr->TXpv)
519#define PL_av_fetch_sv (thr->Tav_fetch_sv)
520#define PL_bodytarget (thr->Tbodytarget)
521#define PL_bostr (thr->Tbostr)
522#define PL_chopset (thr->Tchopset)
523#define PL_colors (thr->Tcolors)
524#define PL_colorset (thr->Tcolorset)
525#define PL_curcop (thr->Tcurcop)
526#define PL_curpad (thr->Tcurpad)
527#define PL_curpm (thr->Tcurpm)
528#define PL_curstack (thr->Tcurstack)
529#define PL_curstackinfo (thr->Tcurstackinfo)
530#define PL_curstash (thr->Tcurstash)
531#define PL_defoutgv (thr->Tdefoutgv)
532#define PL_defstash (thr->Tdefstash)
533#define PL_delaymagic (thr->Tdelaymagic)
534#define PL_dirty (thr->Tdirty)
535#define PL_extralen (thr->Textralen)
536#define PL_firstgv (thr->Tfirstgv)
537#define PL_formtarget (thr->Tformtarget)
538#define PL_hv_fetch_ent_mh (thr->Thv_fetch_ent_mh)
539#define PL_hv_fetch_sv (thr->Thv_fetch_sv)
540#define PL_in_eval (thr->Tin_eval)
541#define PL_last_in_gv (thr->Tlast_in_gv)
542#define PL_lastgotoprobe (thr->Tlastgotoprobe)
543#define PL_lastscream (thr->Tlastscream)
544#define PL_localizing (thr->Tlocalizing)
545#define PL_mainstack (thr->Tmainstack)
546#define PL_markstack (thr->Tmarkstack)
547#define PL_markstack_max (thr->Tmarkstack_max)
548#define PL_markstack_ptr (thr->Tmarkstack_ptr)
549#define PL_maxscream (thr->Tmaxscream)
550#define PL_modcount (thr->Tmodcount)
551#define PL_nrs (thr->Tnrs)
552#define PL_ofs (thr->Tofs)
553#define PL_ofslen (thr->Tofslen)
554#define PL_op (thr->Top)
555#define PL_opsave (thr->Topsave)
556#define PL_reg_eval_set (thr->Treg_eval_set)
557#define PL_reg_flags (thr->Treg_flags)
558#define PL_reg_start_tmp (thr->Treg_start_tmp)
559#define PL_reg_start_tmpl (thr->Treg_start_tmpl)
560#define PL_regbol (thr->Tregbol)
561#define PL_regcc (thr->Tregcc)
562#define PL_regcode (thr->Tregcode)
563#define PL_regcomp_parse (thr->Tregcomp_parse)
564#define PL_regcomp_rx (thr->Tregcomp_rx)
565#define PL_regcompp (thr->Tregcompp)
566#define PL_regdata (thr->Tregdata)
567#define PL_regdummy (thr->Tregdummy)
568#define PL_regendp (thr->Tregendp)
569#define PL_regeol (thr->Tregeol)
570#define PL_regexecp (thr->Tregexecp)
571#define PL_regflags (thr->Tregflags)
572#define PL_regindent (thr->Tregindent)
573#define PL_reginput (thr->Treginput)
574#define PL_reginterp_cnt (thr->Treginterp_cnt)
575#define PL_reglastparen (thr->Treglastparen)
576#define PL_regnarrate (thr->Tregnarrate)
577#define PL_regnaughty (thr->Tregnaughty)
578#define PL_regnpar (thr->Tregnpar)
579#define PL_regprecomp (thr->Tregprecomp)
580#define PL_regprev (thr->Tregprev)
581#define PL_regprogram (thr->Tregprogram)
582#define PL_regsawback (thr->Tregsawback)
583#define PL_regseen (thr->Tregseen)
584#define PL_regsize (thr->Tregsize)
585#define PL_regstartp (thr->Tregstartp)
586#define PL_regtill (thr->Tregtill)
587#define PL_regxend (thr->Tregxend)
588#define PL_restartop (thr->Trestartop)
589#define PL_retstack (thr->Tretstack)
590#define PL_retstack_ix (thr->Tretstack_ix)
591#define PL_retstack_max (thr->Tretstack_max)
592#define PL_rs (thr->Trs)
593#define PL_savestack (thr->Tsavestack)
594#define PL_savestack_ix (thr->Tsavestack_ix)
595#define PL_savestack_max (thr->Tsavestack_max)
596#define PL_scopestack (thr->Tscopestack)
597#define PL_scopestack_ix (thr->Tscopestack_ix)
598#define PL_scopestack_max (thr->Tscopestack_max)
599#define PL_screamfirst (thr->Tscreamfirst)
600#define PL_screamnext (thr->Tscreamnext)
601#define PL_secondgv (thr->Tsecondgv)
602#define PL_seen_evals (thr->Tseen_evals)
603#define PL_seen_zerolen (thr->Tseen_zerolen)
604#define PL_sortcop (thr->Tsortcop)
605#define PL_sortcxix (thr->Tsortcxix)
606#define PL_sortstash (thr->Tsortstash)
607#define PL_stack_base (thr->Tstack_base)
608#define PL_stack_max (thr->Tstack_max)
609#define PL_stack_sp (thr->Tstack_sp)
610#define PL_start_env (thr->Tstart_env)
611#define PL_statbuf (thr->Tstatbuf)
612#define PL_statcache (thr->Tstatcache)
613#define PL_statgv (thr->Tstatgv)
614#define PL_statname (thr->Tstatname)
615#define PL_tainted (thr->Ttainted)
616#define PL_timesbuf (thr->Ttimesbuf)
617#define PL_tmps_floor (thr->Ttmps_floor)
618#define PL_tmps_ix (thr->Ttmps_ix)
619#define PL_tmps_max (thr->Ttmps_max)
620#define PL_tmps_stack (thr->Ttmps_stack)
621#define PL_top_env (thr->Ttop_env)
622#define PL_toptarget (thr->Ttoptarget)
d4cce5f1
NIS
623
624#endif /* USE_THREADS */
625
22239a37
NIS
626#ifdef PERL_GLOBAL_STRUCT
627
3280af22
NIS
628#define PL_No (Perl_Vars.GNo)
629#define PL_Yes (Perl_Vars.GYes)
630#define PL_amagic_generation (Perl_Vars.Gamagic_generation)
631#define PL_an (Perl_Vars.Gan)
632#define PL_bufend (Perl_Vars.Gbufend)
633#define PL_bufptr (Perl_Vars.Gbufptr)
634#define PL_collation_ix (Perl_Vars.Gcollation_ix)
635#define PL_collation_name (Perl_Vars.Gcollation_name)
636#define PL_collation_standard (Perl_Vars.Gcollation_standard)
637#define PL_collxfrm_base (Perl_Vars.Gcollxfrm_base)
638#define PL_collxfrm_mult (Perl_Vars.Gcollxfrm_mult)
639#define PL_cop_seqmax (Perl_Vars.Gcop_seqmax)
640#define PL_cryptseen (Perl_Vars.Gcryptseen)
641#define PL_cshlen (Perl_Vars.Gcshlen)
642#define PL_cshname (Perl_Vars.Gcshname)
643#define PL_curinterp (Perl_Vars.Gcurinterp)
644#define PL_curthr (Perl_Vars.Gcurthr)
645#define PL_debug (Perl_Vars.Gdebug)
646#define PL_do_undump (Perl_Vars.Gdo_undump)
647#define PL_egid (Perl_Vars.Gegid)
648#define PL_error_count (Perl_Vars.Gerror_count)
649#define PL_euid (Perl_Vars.Geuid)
650#define PL_eval_cond (Perl_Vars.Geval_cond)
651#define PL_eval_mutex (Perl_Vars.Geval_mutex)
652#define PL_eval_owner (Perl_Vars.Geval_owner)
653#define PL_evalseq (Perl_Vars.Gevalseq)
654#define PL_expect (Perl_Vars.Gexpect)
655#define PL_gid (Perl_Vars.Ggid)
656#define PL_he_root (Perl_Vars.Ghe_root)
657#define PL_hexdigit (Perl_Vars.Ghexdigit)
658#define PL_hints (Perl_Vars.Ghints)
659#define PL_in_my (Perl_Vars.Gin_my)
660#define PL_in_my_stash (Perl_Vars.Gin_my_stash)
661#define PL_last_lop (Perl_Vars.Glast_lop)
662#define PL_last_lop_op (Perl_Vars.Glast_lop_op)
663#define PL_last_uni (Perl_Vars.Glast_uni)
664#define PL_lex_brackets (Perl_Vars.Glex_brackets)
665#define PL_lex_brackstack (Perl_Vars.Glex_brackstack)
666#define PL_lex_casemods (Perl_Vars.Glex_casemods)
667#define PL_lex_casestack (Perl_Vars.Glex_casestack)
668#define PL_lex_defer (Perl_Vars.Glex_defer)
669#define PL_lex_dojoin (Perl_Vars.Glex_dojoin)
670#define PL_lex_expect (Perl_Vars.Glex_expect)
671#define PL_lex_fakebrack (Perl_Vars.Glex_fakebrack)
672#define PL_lex_formbrack (Perl_Vars.Glex_formbrack)
673#define PL_lex_inpat (Perl_Vars.Glex_inpat)
674#define PL_lex_inwhat (Perl_Vars.Glex_inwhat)
675#define PL_lex_op (Perl_Vars.Glex_op)
676#define PL_lex_repl (Perl_Vars.Glex_repl)
677#define PL_lex_starts (Perl_Vars.Glex_starts)
678#define PL_lex_state (Perl_Vars.Glex_state)
679#define PL_lex_stuff (Perl_Vars.Glex_stuff)
680#define PL_linestr (Perl_Vars.Glinestr)
681#define PL_malloc_mutex (Perl_Vars.Gmalloc_mutex)
682#define PL_max_intro_pending (Perl_Vars.Gmax_intro_pending)
683#define PL_maxo (Perl_Vars.Gmaxo)
684#define PL_min_intro_pending (Perl_Vars.Gmin_intro_pending)
685#define PL_multi_close (Perl_Vars.Gmulti_close)
686#define PL_multi_end (Perl_Vars.Gmulti_end)
687#define PL_multi_open (Perl_Vars.Gmulti_open)
688#define PL_multi_start (Perl_Vars.Gmulti_start)
689#define PL_na (Perl_Vars.Gna)
690#define PL_nexttoke (Perl_Vars.Gnexttoke)
691#define PL_nexttype (Perl_Vars.Gnexttype)
692#define PL_nextval (Perl_Vars.Gnextval)
693#define PL_nice_chunk (Perl_Vars.Gnice_chunk)
694#define PL_nice_chunk_size (Perl_Vars.Gnice_chunk_size)
695#define PL_ninterps (Perl_Vars.Gninterps)
696#define PL_nomemok (Perl_Vars.Gnomemok)
697#define PL_nthreads (Perl_Vars.Gnthreads)
698#define PL_nthreads_cond (Perl_Vars.Gnthreads_cond)
699#define PL_numeric_local (Perl_Vars.Gnumeric_local)
700#define PL_numeric_name (Perl_Vars.Gnumeric_name)
701#define PL_numeric_standard (Perl_Vars.Gnumeric_standard)
702#define PL_oldbufptr (Perl_Vars.Goldbufptr)
703#define PL_oldoldbufptr (Perl_Vars.Goldoldbufptr)
704#define PL_op_seqmax (Perl_Vars.Gop_seqmax)
705#define PL_origalen (Perl_Vars.Gorigalen)
706#define PL_origenviron (Perl_Vars.Gorigenviron)
707#define PL_osname (Perl_Vars.Gosname)
708#define PL_pad_reset_pending (Perl_Vars.Gpad_reset_pending)
709#define PL_padix (Perl_Vars.Gpadix)
710#define PL_padix_floor (Perl_Vars.Gpadix_floor)
711#define PL_patleave (Perl_Vars.Gpatleave)
712#define PL_pidstatus (Perl_Vars.Gpidstatus)
713#define PL_runops (Perl_Vars.Grunops)
714#define PL_sh_path (Perl_Vars.Gsh_path)
715#define PL_sighandlerp (Perl_Vars.Gsighandlerp)
716#define PL_specialsv_list (Perl_Vars.Gspecialsv_list)
717#define PL_subline (Perl_Vars.Gsubline)
718#define PL_subname (Perl_Vars.Gsubname)
719#define PL_sv_mutex (Perl_Vars.Gsv_mutex)
720#define PL_sv_no (Perl_Vars.Gsv_no)
721#define PL_sv_undef (Perl_Vars.Gsv_undef)
722#define PL_sv_yes (Perl_Vars.Gsv_yes)
723#define PL_svref_mutex (Perl_Vars.Gsvref_mutex)
724#define PL_thisexpr (Perl_Vars.Gthisexpr)
725#define PL_thr_key (Perl_Vars.Gthr_key)
726#define PL_threads_mutex (Perl_Vars.Gthreads_mutex)
727#define PL_threadsv_names (Perl_Vars.Gthreadsv_names)
728#define PL_tokenbuf (Perl_Vars.Gtokenbuf)
729#define PL_uid (Perl_Vars.Guid)
730#define PL_xiv_arenaroot (Perl_Vars.Gxiv_arenaroot)
731#define PL_xiv_root (Perl_Vars.Gxiv_root)
732#define PL_xnv_root (Perl_Vars.Gxnv_root)
733#define PL_xpv_root (Perl_Vars.Gxpv_root)
734#define PL_xrv_root (Perl_Vars.Gxrv_root)
22239a37
NIS
735
736#else /* !PERL_GLOBAL_STRUCT */
737
3280af22
NIS
738#define GNo PL_No
739#define GYes PL_Yes
740#define Gamagic_generation PL_amagic_generation
741#define Gan PL_an
742#define Gbufend PL_bufend
743#define Gbufptr PL_bufptr
744#define Gcollation_ix PL_collation_ix
745#define Gcollation_name PL_collation_name
746#define Gcollation_standard PL_collation_standard
747#define Gcollxfrm_base PL_collxfrm_base
748#define Gcollxfrm_mult PL_collxfrm_mult
749#define Gcop_seqmax PL_cop_seqmax
750#define Gcryptseen PL_cryptseen
751#define Gcshlen PL_cshlen
752#define Gcshname PL_cshname
753#define Gcurinterp PL_curinterp
754#define Gcurthr PL_curthr
755#define Gdebug PL_debug
756#define Gdo_undump PL_do_undump
757#define Gegid PL_egid
758#define Gerror_count PL_error_count
759#define Geuid PL_euid
760#define Geval_cond PL_eval_cond
761#define Geval_mutex PL_eval_mutex
762#define Geval_owner PL_eval_owner
763#define Gevalseq PL_evalseq
764#define Gexpect PL_expect
765#define Ggid PL_gid
766#define Ghe_root PL_he_root
767#define Ghexdigit PL_hexdigit
768#define Ghints PL_hints
769#define Gin_my PL_in_my
770#define Gin_my_stash PL_in_my_stash
771#define Glast_lop PL_last_lop
772#define Glast_lop_op PL_last_lop_op
773#define Glast_uni PL_last_uni
774#define Glex_brackets PL_lex_brackets
775#define Glex_brackstack PL_lex_brackstack
776#define Glex_casemods PL_lex_casemods
777#define Glex_casestack PL_lex_casestack
778#define Glex_defer PL_lex_defer
779#define Glex_dojoin PL_lex_dojoin
780#define Glex_expect PL_lex_expect
781#define Glex_fakebrack PL_lex_fakebrack
782#define Glex_formbrack PL_lex_formbrack
783#define Glex_inpat PL_lex_inpat
784#define Glex_inwhat PL_lex_inwhat
785#define Glex_op PL_lex_op
786#define Glex_repl PL_lex_repl
787#define Glex_starts PL_lex_starts
788#define Glex_state PL_lex_state
789#define Glex_stuff PL_lex_stuff
790#define Glinestr PL_linestr
791#define Gmalloc_mutex PL_malloc_mutex
792#define Gmax_intro_pending PL_max_intro_pending
793#define Gmaxo PL_maxo
794#define Gmin_intro_pending PL_min_intro_pending
795#define Gmulti_close PL_multi_close
796#define Gmulti_end PL_multi_end
797#define Gmulti_open PL_multi_open
798#define Gmulti_start PL_multi_start
799#define Gna PL_na
800#define Gnexttoke PL_nexttoke
801#define Gnexttype PL_nexttype
802#define Gnextval PL_nextval
803#define Gnice_chunk PL_nice_chunk
804#define Gnice_chunk_size PL_nice_chunk_size
805#define Gninterps PL_ninterps
806#define Gnomemok PL_nomemok
807#define Gnthreads PL_nthreads
808#define Gnthreads_cond PL_nthreads_cond
809#define Gnumeric_local PL_numeric_local
810#define Gnumeric_name PL_numeric_name
811#define Gnumeric_standard PL_numeric_standard
812#define Goldbufptr PL_oldbufptr
813#define Goldoldbufptr PL_oldoldbufptr
814#define Gop_seqmax PL_op_seqmax
815#define Gorigalen PL_origalen
816#define Gorigenviron PL_origenviron
817#define Gosname PL_osname
818#define Gpad_reset_pending PL_pad_reset_pending
819#define Gpadix PL_padix
820#define Gpadix_floor PL_padix_floor
821#define Gpatleave PL_patleave
822#define Gpidstatus PL_pidstatus
823#define Grunops PL_runops
824#define Gsh_path PL_sh_path
825#define Gsighandlerp PL_sighandlerp
826#define Gspecialsv_list PL_specialsv_list
827#define Gsubline PL_subline
828#define Gsubname PL_subname
829#define Gsv_mutex PL_sv_mutex
830#define Gsv_no PL_sv_no
831#define Gsv_undef PL_sv_undef
832#define Gsv_yes PL_sv_yes
833#define Gsvref_mutex PL_svref_mutex
834#define Gthisexpr PL_thisexpr
835#define Gthr_key PL_thr_key
836#define Gthreads_mutex PL_threads_mutex
837#define Gthreadsv_names PL_threadsv_names
838#define Gtokenbuf PL_tokenbuf
839#define Guid PL_uid
840#define Gxiv_arenaroot PL_xiv_arenaroot
841#define Gxiv_root PL_xiv_root
842#define Gxnv_root PL_xnv_root
843#define Gxpv_root PL_xpv_root
844#define Gxrv_root PL_xrv_root
22239a37
NIS
845
846#ifdef EMBED
847
22239a37
NIS
848
849#endif /* EMBED */
850#endif /* PERL_GLOBAL_STRUCT */
851