more complete support for implicit thread/interpreter pointer,
[p5sagit/p5-mst-13.2.git] / embedvar.h
CommitLineData
d4cce5f1 1/* !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
cea2e8a9 2 This file is built by embed.pl from data in embed.pl, pp.sym, intrpvar.h,
c6af7a1a 3 perlvars.h and thrdvar.h. Any changes made here will be lost!
d4cce5f1 4*/
5
6/* (Doing namespace management portably in C is really gross.) */
7
d4cce5f1 8/* Put interpreter-specific symbols into a struct? */
9
10#ifdef MULTIPLICITY
11
12#ifndef USE_THREADS
13/* If we do not have threads then per-thread vars are per-interpreter */
14
cea2e8a9 15#ifdef PERL_IMPLICIT_CONTEXT
16
17/* everything has an implicit context pointer */
18
19#define PL_Sv (my_perl->TSv)
20#define PL_Xpv (my_perl->TXpv)
21#define PL_av_fetch_sv (my_perl->Tav_fetch_sv)
22#define PL_bodytarget (my_perl->Tbodytarget)
23#define PL_bostr (my_perl->Tbostr)
24#define PL_chopset (my_perl->Tchopset)
25#define PL_colors (my_perl->Tcolors)
26#define PL_colorset (my_perl->Tcolorset)
27#define PL_curcop (my_perl->Tcurcop)
28#define PL_curpad (my_perl->Tcurpad)
29#define PL_curpm (my_perl->Tcurpm)
30#define PL_curstack (my_perl->Tcurstack)
31#define PL_curstackinfo (my_perl->Tcurstackinfo)
32#define PL_curstash (my_perl->Tcurstash)
33#define PL_defoutgv (my_perl->Tdefoutgv)
34#define PL_defstash (my_perl->Tdefstash)
35#define PL_delaymagic (my_perl->Tdelaymagic)
36#define PL_dirty (my_perl->Tdirty)
37#define PL_dumpindent (my_perl->Tdumpindent)
38#define PL_extralen (my_perl->Textralen)
39#define PL_firstgv (my_perl->Tfirstgv)
40#define PL_formtarget (my_perl->Tformtarget)
41#define PL_hv_fetch_ent_mh (my_perl->Thv_fetch_ent_mh)
42#define PL_hv_fetch_sv (my_perl->Thv_fetch_sv)
43#define PL_in_eval (my_perl->Tin_eval)
44#define PL_last_in_gv (my_perl->Tlast_in_gv)
45#define PL_lastgotoprobe (my_perl->Tlastgotoprobe)
46#define PL_lastscream (my_perl->Tlastscream)
47#define PL_localizing (my_perl->Tlocalizing)
48#define PL_mainstack (my_perl->Tmainstack)
49#define PL_markstack (my_perl->Tmarkstack)
50#define PL_markstack_max (my_perl->Tmarkstack_max)
51#define PL_markstack_ptr (my_perl->Tmarkstack_ptr)
52#define PL_maxscream (my_perl->Tmaxscream)
53#define PL_modcount (my_perl->Tmodcount)
54#define PL_na (my_perl->Tna)
55#define PL_nrs (my_perl->Tnrs)
56#define PL_ofs (my_perl->Tofs)
57#define PL_ofslen (my_perl->Tofslen)
58#define PL_op (my_perl->Top)
59#define PL_opsave (my_perl->Topsave)
60#define PL_protect (my_perl->Tprotect)
61#define PL_reg_call_cc (my_perl->Treg_call_cc)
62#define PL_reg_curpm (my_perl->Treg_curpm)
63#define PL_reg_eval_set (my_perl->Treg_eval_set)
64#define PL_reg_flags (my_perl->Treg_flags)
65#define PL_reg_ganch (my_perl->Treg_ganch)
66#define PL_reg_magic (my_perl->Treg_magic)
67#define PL_reg_oldcurpm (my_perl->Treg_oldcurpm)
68#define PL_reg_oldpos (my_perl->Treg_oldpos)
69#define PL_reg_oldsaved (my_perl->Treg_oldsaved)
70#define PL_reg_oldsavedlen (my_perl->Treg_oldsavedlen)
71#define PL_reg_re (my_perl->Treg_re)
72#define PL_reg_start_tmp (my_perl->Treg_start_tmp)
73#define PL_reg_start_tmpl (my_perl->Treg_start_tmpl)
74#define PL_reg_starttry (my_perl->Treg_starttry)
75#define PL_reg_sv (my_perl->Treg_sv)
76#define PL_regbol (my_perl->Tregbol)
77#define PL_regcc (my_perl->Tregcc)
78#define PL_regcode (my_perl->Tregcode)
79#define PL_regcomp_parse (my_perl->Tregcomp_parse)
80#define PL_regcomp_rx (my_perl->Tregcomp_rx)
81#define PL_regcompp (my_perl->Tregcompp)
82#define PL_regdata (my_perl->Tregdata)
83#define PL_regdummy (my_perl->Tregdummy)
84#define PL_regendp (my_perl->Tregendp)
85#define PL_regeol (my_perl->Tregeol)
86#define PL_regexecp (my_perl->Tregexecp)
87#define PL_regflags (my_perl->Tregflags)
88#define PL_regindent (my_perl->Tregindent)
89#define PL_reginput (my_perl->Treginput)
90#define PL_reginterp_cnt (my_perl->Treginterp_cnt)
91#define PL_reglastparen (my_perl->Treglastparen)
92#define PL_regnarrate (my_perl->Tregnarrate)
93#define PL_regnaughty (my_perl->Tregnaughty)
94#define PL_regnpar (my_perl->Tregnpar)
95#define PL_regprecomp (my_perl->Tregprecomp)
96#define PL_regprev (my_perl->Tregprev)
97#define PL_regprogram (my_perl->Tregprogram)
98#define PL_regsawback (my_perl->Tregsawback)
99#define PL_regseen (my_perl->Tregseen)
100#define PL_regsize (my_perl->Tregsize)
101#define PL_regstartp (my_perl->Tregstartp)
102#define PL_regtill (my_perl->Tregtill)
103#define PL_regxend (my_perl->Tregxend)
104#define PL_restartop (my_perl->Trestartop)
105#define PL_retstack (my_perl->Tretstack)
106#define PL_retstack_ix (my_perl->Tretstack_ix)
107#define PL_retstack_max (my_perl->Tretstack_max)
108#define PL_rs (my_perl->Trs)
109#define PL_savestack (my_perl->Tsavestack)
110#define PL_savestack_ix (my_perl->Tsavestack_ix)
111#define PL_savestack_max (my_perl->Tsavestack_max)
112#define PL_scopestack (my_perl->Tscopestack)
113#define PL_scopestack_ix (my_perl->Tscopestack_ix)
114#define PL_scopestack_max (my_perl->Tscopestack_max)
115#define PL_screamfirst (my_perl->Tscreamfirst)
116#define PL_screamnext (my_perl->Tscreamnext)
117#define PL_secondgv (my_perl->Tsecondgv)
118#define PL_seen_evals (my_perl->Tseen_evals)
119#define PL_seen_zerolen (my_perl->Tseen_zerolen)
120#define PL_sortcop (my_perl->Tsortcop)
121#define PL_sortcxix (my_perl->Tsortcxix)
122#define PL_sortstash (my_perl->Tsortstash)
123#define PL_stack_base (my_perl->Tstack_base)
124#define PL_stack_max (my_perl->Tstack_max)
125#define PL_stack_sp (my_perl->Tstack_sp)
126#define PL_start_env (my_perl->Tstart_env)
127#define PL_statbuf (my_perl->Tstatbuf)
128#define PL_statcache (my_perl->Tstatcache)
129#define PL_statgv (my_perl->Tstatgv)
130#define PL_statname (my_perl->Tstatname)
131#define PL_tainted (my_perl->Ttainted)
132#define PL_timesbuf (my_perl->Ttimesbuf)
133#define PL_tmps_floor (my_perl->Ttmps_floor)
134#define PL_tmps_ix (my_perl->Ttmps_ix)
135#define PL_tmps_max (my_perl->Ttmps_max)
136#define PL_tmps_stack (my_perl->Ttmps_stack)
137#define PL_top_env (my_perl->Ttop_env)
138#define PL_toptarget (my_perl->Ttoptarget)
139#define PL_watchaddr (my_perl->Twatchaddr)
140#define PL_watchok (my_perl->Twatchok)
141
142#else /* !PERL_IMPLICIT_CONTEXT */
143
144/* traditional MULTIPLICITY (intepreter is in a global) */
145
533c011a 146#define PL_Sv (PL_curinterp->TSv)
147#define PL_Xpv (PL_curinterp->TXpv)
148#define PL_av_fetch_sv (PL_curinterp->Tav_fetch_sv)
149#define PL_bodytarget (PL_curinterp->Tbodytarget)
150#define PL_bostr (PL_curinterp->Tbostr)
151#define PL_chopset (PL_curinterp->Tchopset)
152#define PL_colors (PL_curinterp->Tcolors)
153#define PL_colorset (PL_curinterp->Tcolorset)
154#define PL_curcop (PL_curinterp->Tcurcop)
155#define PL_curpad (PL_curinterp->Tcurpad)
156#define PL_curpm (PL_curinterp->Tcurpm)
157#define PL_curstack (PL_curinterp->Tcurstack)
158#define PL_curstackinfo (PL_curinterp->Tcurstackinfo)
159#define PL_curstash (PL_curinterp->Tcurstash)
160#define PL_defoutgv (PL_curinterp->Tdefoutgv)
161#define PL_defstash (PL_curinterp->Tdefstash)
162#define PL_delaymagic (PL_curinterp->Tdelaymagic)
163#define PL_dirty (PL_curinterp->Tdirty)
3967c732 164#define PL_dumpindent (PL_curinterp->Tdumpindent)
533c011a 165#define PL_extralen (PL_curinterp->Textralen)
166#define PL_firstgv (PL_curinterp->Tfirstgv)
167#define PL_formtarget (PL_curinterp->Tformtarget)
168#define PL_hv_fetch_ent_mh (PL_curinterp->Thv_fetch_ent_mh)
169#define PL_hv_fetch_sv (PL_curinterp->Thv_fetch_sv)
170#define PL_in_eval (PL_curinterp->Tin_eval)
171#define PL_last_in_gv (PL_curinterp->Tlast_in_gv)
172#define PL_lastgotoprobe (PL_curinterp->Tlastgotoprobe)
173#define PL_lastscream (PL_curinterp->Tlastscream)
174#define PL_localizing (PL_curinterp->Tlocalizing)
175#define PL_mainstack (PL_curinterp->Tmainstack)
176#define PL_markstack (PL_curinterp->Tmarkstack)
177#define PL_markstack_max (PL_curinterp->Tmarkstack_max)
178#define PL_markstack_ptr (PL_curinterp->Tmarkstack_ptr)
179#define PL_maxscream (PL_curinterp->Tmaxscream)
180#define PL_modcount (PL_curinterp->Tmodcount)
b099ddc0 181#define PL_na (PL_curinterp->Tna)
533c011a 182#define PL_nrs (PL_curinterp->Tnrs)
183#define PL_ofs (PL_curinterp->Tofs)
184#define PL_ofslen (PL_curinterp->Tofslen)
185#define PL_op (PL_curinterp->Top)
186#define PL_opsave (PL_curinterp->Topsave)
e0284a30 187#define PL_protect (PL_curinterp->Tprotect)
0f5d15d6 188#define PL_reg_call_cc (PL_curinterp->Treg_call_cc)
5c5e4c24 189#define PL_reg_curpm (PL_curinterp->Treg_curpm)
533c011a 190#define PL_reg_eval_set (PL_curinterp->Treg_eval_set)
191#define PL_reg_flags (PL_curinterp->Treg_flags)
22e551b9 192#define PL_reg_ganch (PL_curinterp->Treg_ganch)
9661b544 193#define PL_reg_magic (PL_curinterp->Treg_magic)
5c5e4c24 194#define PL_reg_oldcurpm (PL_curinterp->Treg_oldcurpm)
9661b544 195#define PL_reg_oldpos (PL_curinterp->Treg_oldpos)
cf93c79d 196#define PL_reg_oldsaved (PL_curinterp->Treg_oldsaved)
197#define PL_reg_oldsavedlen (PL_curinterp->Treg_oldsavedlen)
0f5d15d6 198#define PL_reg_re (PL_curinterp->Treg_re)
533c011a 199#define PL_reg_start_tmp (PL_curinterp->Treg_start_tmp)
200#define PL_reg_start_tmpl (PL_curinterp->Treg_start_tmpl)
364723c2 201#define PL_reg_starttry (PL_curinterp->Treg_starttry)
22e551b9 202#define PL_reg_sv (PL_curinterp->Treg_sv)
533c011a 203#define PL_regbol (PL_curinterp->Tregbol)
204#define PL_regcc (PL_curinterp->Tregcc)
205#define PL_regcode (PL_curinterp->Tregcode)
206#define PL_regcomp_parse (PL_curinterp->Tregcomp_parse)
207#define PL_regcomp_rx (PL_curinterp->Tregcomp_rx)
208#define PL_regcompp (PL_curinterp->Tregcompp)
209#define PL_regdata (PL_curinterp->Tregdata)
210#define PL_regdummy (PL_curinterp->Tregdummy)
211#define PL_regendp (PL_curinterp->Tregendp)
212#define PL_regeol (PL_curinterp->Tregeol)
213#define PL_regexecp (PL_curinterp->Tregexecp)
214#define PL_regflags (PL_curinterp->Tregflags)
215#define PL_regindent (PL_curinterp->Tregindent)
216#define PL_reginput (PL_curinterp->Treginput)
217#define PL_reginterp_cnt (PL_curinterp->Treginterp_cnt)
218#define PL_reglastparen (PL_curinterp->Treglastparen)
219#define PL_regnarrate (PL_curinterp->Tregnarrate)
220#define PL_regnaughty (PL_curinterp->Tregnaughty)
221#define PL_regnpar (PL_curinterp->Tregnpar)
222#define PL_regprecomp (PL_curinterp->Tregprecomp)
223#define PL_regprev (PL_curinterp->Tregprev)
224#define PL_regprogram (PL_curinterp->Tregprogram)
225#define PL_regsawback (PL_curinterp->Tregsawback)
226#define PL_regseen (PL_curinterp->Tregseen)
227#define PL_regsize (PL_curinterp->Tregsize)
228#define PL_regstartp (PL_curinterp->Tregstartp)
229#define PL_regtill (PL_curinterp->Tregtill)
230#define PL_regxend (PL_curinterp->Tregxend)
231#define PL_restartop (PL_curinterp->Trestartop)
232#define PL_retstack (PL_curinterp->Tretstack)
233#define PL_retstack_ix (PL_curinterp->Tretstack_ix)
234#define PL_retstack_max (PL_curinterp->Tretstack_max)
235#define PL_rs (PL_curinterp->Trs)
236#define PL_savestack (PL_curinterp->Tsavestack)
237#define PL_savestack_ix (PL_curinterp->Tsavestack_ix)
238#define PL_savestack_max (PL_curinterp->Tsavestack_max)
239#define PL_scopestack (PL_curinterp->Tscopestack)
240#define PL_scopestack_ix (PL_curinterp->Tscopestack_ix)
241#define PL_scopestack_max (PL_curinterp->Tscopestack_max)
242#define PL_screamfirst (PL_curinterp->Tscreamfirst)
243#define PL_screamnext (PL_curinterp->Tscreamnext)
244#define PL_secondgv (PL_curinterp->Tsecondgv)
245#define PL_seen_evals (PL_curinterp->Tseen_evals)
246#define PL_seen_zerolen (PL_curinterp->Tseen_zerolen)
247#define PL_sortcop (PL_curinterp->Tsortcop)
248#define PL_sortcxix (PL_curinterp->Tsortcxix)
249#define PL_sortstash (PL_curinterp->Tsortstash)
250#define PL_stack_base (PL_curinterp->Tstack_base)
251#define PL_stack_max (PL_curinterp->Tstack_max)
252#define PL_stack_sp (PL_curinterp->Tstack_sp)
253#define PL_start_env (PL_curinterp->Tstart_env)
254#define PL_statbuf (PL_curinterp->Tstatbuf)
255#define PL_statcache (PL_curinterp->Tstatcache)
256#define PL_statgv (PL_curinterp->Tstatgv)
257#define PL_statname (PL_curinterp->Tstatname)
258#define PL_tainted (PL_curinterp->Ttainted)
259#define PL_timesbuf (PL_curinterp->Ttimesbuf)
260#define PL_tmps_floor (PL_curinterp->Ttmps_floor)
261#define PL_tmps_ix (PL_curinterp->Ttmps_ix)
262#define PL_tmps_max (PL_curinterp->Ttmps_max)
263#define PL_tmps_stack (PL_curinterp->Ttmps_stack)
264#define PL_top_env (PL_curinterp->Ttop_env)
265#define PL_toptarget (PL_curinterp->Ttoptarget)
22c35a8c 266#define PL_watchaddr (PL_curinterp->Twatchaddr)
267#define PL_watchok (PL_curinterp->Twatchok)
d4cce5f1 268
cea2e8a9 269#endif /* !PERL_IMPLICIT_CONTEXT */
d4cce5f1 270#endif /* !USE_THREADS */
271
272/* These are always per-interpreter if there is more than one */
273
533c011a 274#define PL_Argv (PL_curinterp->IArgv)
275#define PL_Cmd (PL_curinterp->ICmd)
276#define PL_DBcv (PL_curinterp->IDBcv)
277#define PL_DBgv (PL_curinterp->IDBgv)
278#define PL_DBline (PL_curinterp->IDBline)
279#define PL_DBsignal (PL_curinterp->IDBsignal)
280#define PL_DBsingle (PL_curinterp->IDBsingle)
281#define PL_DBsub (PL_curinterp->IDBsub)
282#define PL_DBtrace (PL_curinterp->IDBtrace)
283#define PL_ampergv (PL_curinterp->Iampergv)
284#define PL_archpat_auto (PL_curinterp->Iarchpat_auto)
285#define PL_argvgv (PL_curinterp->Iargvgv)
286#define PL_argvoutgv (PL_curinterp->Iargvoutgv)
287#define PL_basetime (PL_curinterp->Ibasetime)
288#define PL_beginav (PL_curinterp->Ibeginav)
289#define PL_cddir (PL_curinterp->Icddir)
290#define PL_compcv (PL_curinterp->Icompcv)
291#define PL_compiling (PL_curinterp->Icompiling)
292#define PL_comppad (PL_curinterp->Icomppad)
293#define PL_comppad_name (PL_curinterp->Icomppad_name)
294#define PL_comppad_name_fill (PL_curinterp->Icomppad_name_fill)
295#define PL_comppad_name_floor (PL_curinterp->Icomppad_name_floor)
296#define PL_copline (PL_curinterp->Icopline)
297#define PL_curcopdb (PL_curinterp->Icurcopdb)
298#define PL_curstname (PL_curinterp->Icurstname)
299#define PL_dbargs (PL_curinterp->Idbargs)
300#define PL_debdelim (PL_curinterp->Idebdelim)
301#define PL_debname (PL_curinterp->Idebname)
302#define PL_debstash (PL_curinterp->Idebstash)
303#define PL_defgv (PL_curinterp->Idefgv)
304#define PL_diehook (PL_curinterp->Idiehook)
305#define PL_dlevel (PL_curinterp->Idlevel)
306#define PL_dlmax (PL_curinterp->Idlmax)
307#define PL_doextract (PL_curinterp->Idoextract)
308#define PL_doswitches (PL_curinterp->Idoswitches)
309#define PL_dowarn (PL_curinterp->Idowarn)
533c011a 310#define PL_e_script (PL_curinterp->Ie_script)
311#define PL_endav (PL_curinterp->Iendav)
312#define PL_envgv (PL_curinterp->Ienvgv)
313#define PL_errgv (PL_curinterp->Ierrgv)
314#define PL_eval_root (PL_curinterp->Ieval_root)
315#define PL_eval_start (PL_curinterp->Ieval_start)
316#define PL_exitlist (PL_curinterp->Iexitlist)
317#define PL_exitlistlen (PL_curinterp->Iexitlistlen)
318#define PL_fdpid (PL_curinterp->Ifdpid)
319#define PL_filemode (PL_curinterp->Ifilemode)
320#define PL_forkprocess (PL_curinterp->Iforkprocess)
321#define PL_formfeed (PL_curinterp->Iformfeed)
322#define PL_generation (PL_curinterp->Igeneration)
323#define PL_gensym (PL_curinterp->Igensym)
324#define PL_globalstash (PL_curinterp->Iglobalstash)
325#define PL_hintgv (PL_curinterp->Ihintgv)
326#define PL_in_clean_all (PL_curinterp->Iin_clean_all)
327#define PL_in_clean_objs (PL_curinterp->Iin_clean_objs)
328#define PL_incgv (PL_curinterp->Iincgv)
329#define PL_initav (PL_curinterp->Iinitav)
330#define PL_inplace (PL_curinterp->Iinplace)
533c011a 331#define PL_lastfd (PL_curinterp->Ilastfd)
332#define PL_lastsize (PL_curinterp->Ilastsize)
333#define PL_lastspbase (PL_curinterp->Ilastspbase)
334#define PL_laststatval (PL_curinterp->Ilaststatval)
335#define PL_laststype (PL_curinterp->Ilaststype)
336#define PL_leftgv (PL_curinterp->Ileftgv)
337#define PL_lineary (PL_curinterp->Ilineary)
338#define PL_linestart (PL_curinterp->Ilinestart)
339#define PL_localpatches (PL_curinterp->Ilocalpatches)
340#define PL_main_cv (PL_curinterp->Imain_cv)
341#define PL_main_root (PL_curinterp->Imain_root)
342#define PL_main_start (PL_curinterp->Imain_start)
343#define PL_maxsysfd (PL_curinterp->Imaxsysfd)
344#define PL_mess_sv (PL_curinterp->Imess_sv)
345#define PL_minus_F (PL_curinterp->Iminus_F)
346#define PL_minus_a (PL_curinterp->Iminus_a)
347#define PL_minus_c (PL_curinterp->Iminus_c)
348#define PL_minus_l (PL_curinterp->Iminus_l)
349#define PL_minus_n (PL_curinterp->Iminus_n)
350#define PL_minus_p (PL_curinterp->Iminus_p)
351#define PL_modglobal (PL_curinterp->Imodglobal)
352#define PL_multiline (PL_curinterp->Imultiline)
353#define PL_mystrk (PL_curinterp->Imystrk)
354#define PL_ofmt (PL_curinterp->Iofmt)
355#define PL_oldlastpm (PL_curinterp->Ioldlastpm)
356#define PL_oldname (PL_curinterp->Ioldname)
357#define PL_op_mask (PL_curinterp->Iop_mask)
358#define PL_origargc (PL_curinterp->Iorigargc)
359#define PL_origargv (PL_curinterp->Iorigargv)
360#define PL_origfilename (PL_curinterp->Iorigfilename)
361#define PL_ors (PL_curinterp->Iors)
362#define PL_orslen (PL_curinterp->Iorslen)
363#define PL_parsehook (PL_curinterp->Iparsehook)
364#define PL_patchlevel (PL_curinterp->Ipatchlevel)
365#define PL_pending_ident (PL_curinterp->Ipending_ident)
366#define PL_perl_destruct_level (PL_curinterp->Iperl_destruct_level)
367#define PL_perldb (PL_curinterp->Iperldb)
368#define PL_preambleav (PL_curinterp->Ipreambleav)
369#define PL_preambled (PL_curinterp->Ipreambled)
370#define PL_preprocess (PL_curinterp->Ipreprocess)
371#define PL_profiledata (PL_curinterp->Iprofiledata)
372#define PL_replgv (PL_curinterp->Ireplgv)
373#define PL_rightgv (PL_curinterp->Irightgv)
374#define PL_rsfp (PL_curinterp->Irsfp)
375#define PL_rsfp_filters (PL_curinterp->Irsfp_filters)
376#define PL_sawampersand (PL_curinterp->Isawampersand)
377#define PL_sawstudy (PL_curinterp->Isawstudy)
378#define PL_sawvec (PL_curinterp->Isawvec)
379#define PL_siggv (PL_curinterp->Isiggv)
380#define PL_splitstr (PL_curinterp->Isplitstr)
381#define PL_statusvalue (PL_curinterp->Istatusvalue)
382#define PL_statusvalue_vms (PL_curinterp->Istatusvalue_vms)
383#define PL_stdingv (PL_curinterp->Istdingv)
384#define PL_strchop (PL_curinterp->Istrchop)
385#define PL_strtab (PL_curinterp->Istrtab)
5f08fbcd 386#define PL_strtab_mutex (PL_curinterp->Istrtab_mutex)
533c011a 387#define PL_sub_generation (PL_curinterp->Isub_generation)
388#define PL_sublex_info (PL_curinterp->Isublex_info)
389#define PL_sv_arenaroot (PL_curinterp->Isv_arenaroot)
390#define PL_sv_count (PL_curinterp->Isv_count)
391#define PL_sv_objcount (PL_curinterp->Isv_objcount)
392#define PL_sv_root (PL_curinterp->Isv_root)
393#define PL_sys_intern (PL_curinterp->Isys_intern)
394#define PL_tainting (PL_curinterp->Itainting)
395#define PL_threadnum (PL_curinterp->Ithreadnum)
396#define PL_thrsv (PL_curinterp->Ithrsv)
397#define PL_unsafe (PL_curinterp->Iunsafe)
398#define PL_warnhook (PL_curinterp->Iwarnhook)
d4cce5f1 399
400#else /* !MULTIPLICITY */
401
533c011a 402#define PL_IArgv PL_Argv
403#define PL_ICmd PL_Cmd
404#define PL_IDBcv PL_DBcv
405#define PL_IDBgv PL_DBgv
406#define PL_IDBline PL_DBline
407#define PL_IDBsignal PL_DBsignal
408#define PL_IDBsingle PL_DBsingle
409#define PL_IDBsub PL_DBsub
410#define PL_IDBtrace PL_DBtrace
411#define PL_Iampergv PL_ampergv
412#define PL_Iarchpat_auto PL_archpat_auto
413#define PL_Iargvgv PL_argvgv
414#define PL_Iargvoutgv PL_argvoutgv
415#define PL_Ibasetime PL_basetime
416#define PL_Ibeginav PL_beginav
417#define PL_Icddir PL_cddir
418#define PL_Icompcv PL_compcv
419#define PL_Icompiling PL_compiling
420#define PL_Icomppad PL_comppad
421#define PL_Icomppad_name PL_comppad_name
422#define PL_Icomppad_name_fill PL_comppad_name_fill
423#define PL_Icomppad_name_floor PL_comppad_name_floor
424#define PL_Icopline PL_copline
425#define PL_Icurcopdb PL_curcopdb
426#define PL_Icurstname PL_curstname
427#define PL_Idbargs PL_dbargs
428#define PL_Idebdelim PL_debdelim
429#define PL_Idebname PL_debname
430#define PL_Idebstash PL_debstash
431#define PL_Idefgv PL_defgv
432#define PL_Idiehook PL_diehook
433#define PL_Idlevel PL_dlevel
434#define PL_Idlmax PL_dlmax
435#define PL_Idoextract PL_doextract
436#define PL_Idoswitches PL_doswitches
437#define PL_Idowarn PL_dowarn
533c011a 438#define PL_Ie_script PL_e_script
439#define PL_Iendav PL_endav
440#define PL_Ienvgv PL_envgv
441#define PL_Ierrgv PL_errgv
442#define PL_Ieval_root PL_eval_root
443#define PL_Ieval_start PL_eval_start
444#define PL_Iexitlist PL_exitlist
445#define PL_Iexitlistlen PL_exitlistlen
446#define PL_Ifdpid PL_fdpid
447#define PL_Ifilemode PL_filemode
448#define PL_Iforkprocess PL_forkprocess
449#define PL_Iformfeed PL_formfeed
450#define PL_Igeneration PL_generation
451#define PL_Igensym PL_gensym
452#define PL_Iglobalstash PL_globalstash
453#define PL_Ihintgv PL_hintgv
454#define PL_Iin_clean_all PL_in_clean_all
455#define PL_Iin_clean_objs PL_in_clean_objs
456#define PL_Iincgv PL_incgv
457#define PL_Iinitav PL_initav
458#define PL_Iinplace PL_inplace
533c011a 459#define PL_Ilastfd PL_lastfd
460#define PL_Ilastsize PL_lastsize
461#define PL_Ilastspbase PL_lastspbase
462#define PL_Ilaststatval PL_laststatval
463#define PL_Ilaststype PL_laststype
464#define PL_Ileftgv PL_leftgv
465#define PL_Ilineary PL_lineary
466#define PL_Ilinestart PL_linestart
467#define PL_Ilocalpatches PL_localpatches
468#define PL_Imain_cv PL_main_cv
469#define PL_Imain_root PL_main_root
470#define PL_Imain_start PL_main_start
471#define PL_Imaxsysfd PL_maxsysfd
472#define PL_Imess_sv PL_mess_sv
473#define PL_Iminus_F PL_minus_F
474#define PL_Iminus_a PL_minus_a
475#define PL_Iminus_c PL_minus_c
476#define PL_Iminus_l PL_minus_l
477#define PL_Iminus_n PL_minus_n
478#define PL_Iminus_p PL_minus_p
479#define PL_Imodglobal PL_modglobal
480#define PL_Imultiline PL_multiline
481#define PL_Imystrk PL_mystrk
482#define PL_Iofmt PL_ofmt
483#define PL_Ioldlastpm PL_oldlastpm
484#define PL_Ioldname PL_oldname
485#define PL_Iop_mask PL_op_mask
486#define PL_Iorigargc PL_origargc
487#define PL_Iorigargv PL_origargv
488#define PL_Iorigfilename PL_origfilename
489#define PL_Iors PL_ors
490#define PL_Iorslen PL_orslen
491#define PL_Iparsehook PL_parsehook
492#define PL_Ipatchlevel PL_patchlevel
493#define PL_Ipending_ident PL_pending_ident
494#define PL_Iperl_destruct_level PL_perl_destruct_level
495#define PL_Iperldb PL_perldb
496#define PL_Ipreambleav PL_preambleav
497#define PL_Ipreambled PL_preambled
498#define PL_Ipreprocess PL_preprocess
499#define PL_Iprofiledata PL_profiledata
500#define PL_Ireplgv PL_replgv
501#define PL_Irightgv PL_rightgv
502#define PL_Irsfp PL_rsfp
503#define PL_Irsfp_filters PL_rsfp_filters
504#define PL_Isawampersand PL_sawampersand
505#define PL_Isawstudy PL_sawstudy
506#define PL_Isawvec PL_sawvec
507#define PL_Isiggv PL_siggv
508#define PL_Isplitstr PL_splitstr
509#define PL_Istatusvalue PL_statusvalue
510#define PL_Istatusvalue_vms PL_statusvalue_vms
511#define PL_Istdingv PL_stdingv
512#define PL_Istrchop PL_strchop
513#define PL_Istrtab PL_strtab
5f08fbcd 514#define PL_Istrtab_mutex PL_strtab_mutex
533c011a 515#define PL_Isub_generation PL_sub_generation
516#define PL_Isublex_info PL_sublex_info
517#define PL_Isv_arenaroot PL_sv_arenaroot
518#define PL_Isv_count PL_sv_count
519#define PL_Isv_objcount PL_sv_objcount
520#define PL_Isv_root PL_sv_root
521#define PL_Isys_intern PL_sys_intern
522#define PL_Itainting PL_tainting
523#define PL_Ithreadnum PL_threadnum
524#define PL_Ithrsv PL_thrsv
525#define PL_Iunsafe PL_unsafe
526#define PL_Iwarnhook PL_warnhook
d4cce5f1 527
528#ifndef USE_THREADS
529
533c011a 530#define PL_TSv PL_Sv
531#define PL_TXpv PL_Xpv
532#define PL_Tav_fetch_sv PL_av_fetch_sv
533#define PL_Tbodytarget PL_bodytarget
534#define PL_Tbostr PL_bostr
535#define PL_Tchopset PL_chopset
536#define PL_Tcolors PL_colors
537#define PL_Tcolorset PL_colorset
538#define PL_Tcurcop PL_curcop
539#define PL_Tcurpad PL_curpad
540#define PL_Tcurpm PL_curpm
541#define PL_Tcurstack PL_curstack
542#define PL_Tcurstackinfo PL_curstackinfo
543#define PL_Tcurstash PL_curstash
544#define PL_Tdefoutgv PL_defoutgv
545#define PL_Tdefstash PL_defstash
546#define PL_Tdelaymagic PL_delaymagic
547#define PL_Tdirty PL_dirty
3967c732 548#define PL_Tdumpindent PL_dumpindent
533c011a 549#define PL_Textralen PL_extralen
550#define PL_Tfirstgv PL_firstgv
551#define PL_Tformtarget PL_formtarget
552#define PL_Thv_fetch_ent_mh PL_hv_fetch_ent_mh
553#define PL_Thv_fetch_sv PL_hv_fetch_sv
554#define PL_Tin_eval PL_in_eval
555#define PL_Tlast_in_gv PL_last_in_gv
556#define PL_Tlastgotoprobe PL_lastgotoprobe
557#define PL_Tlastscream PL_lastscream
558#define PL_Tlocalizing PL_localizing
559#define PL_Tmainstack PL_mainstack
560#define PL_Tmarkstack PL_markstack
561#define PL_Tmarkstack_max PL_markstack_max
562#define PL_Tmarkstack_ptr PL_markstack_ptr
563#define PL_Tmaxscream PL_maxscream
564#define PL_Tmodcount PL_modcount
b099ddc0 565#define PL_Tna PL_na
533c011a 566#define PL_Tnrs PL_nrs
567#define PL_Tofs PL_ofs
568#define PL_Tofslen PL_ofslen
569#define PL_Top PL_op
570#define PL_Topsave PL_opsave
e0284a30 571#define PL_Tprotect PL_protect
0f5d15d6 572#define PL_Treg_call_cc PL_reg_call_cc
5c5e4c24 573#define PL_Treg_curpm PL_reg_curpm
533c011a 574#define PL_Treg_eval_set PL_reg_eval_set
575#define PL_Treg_flags PL_reg_flags
22e551b9 576#define PL_Treg_ganch PL_reg_ganch
9661b544 577#define PL_Treg_magic PL_reg_magic
5c5e4c24 578#define PL_Treg_oldcurpm PL_reg_oldcurpm
9661b544 579#define PL_Treg_oldpos PL_reg_oldpos
cf93c79d 580#define PL_Treg_oldsaved PL_reg_oldsaved
581#define PL_Treg_oldsavedlen PL_reg_oldsavedlen
0f5d15d6 582#define PL_Treg_re PL_reg_re
533c011a 583#define PL_Treg_start_tmp PL_reg_start_tmp
584#define PL_Treg_start_tmpl PL_reg_start_tmpl
364723c2 585#define PL_Treg_starttry PL_reg_starttry
22e551b9 586#define PL_Treg_sv PL_reg_sv
533c011a 587#define PL_Tregbol PL_regbol
588#define PL_Tregcc PL_regcc
589#define PL_Tregcode PL_regcode
590#define PL_Tregcomp_parse PL_regcomp_parse
591#define PL_Tregcomp_rx PL_regcomp_rx
592#define PL_Tregcompp PL_regcompp
593#define PL_Tregdata PL_regdata
594#define PL_Tregdummy PL_regdummy
595#define PL_Tregendp PL_regendp
596#define PL_Tregeol PL_regeol
597#define PL_Tregexecp PL_regexecp
598#define PL_Tregflags PL_regflags
599#define PL_Tregindent PL_regindent
600#define PL_Treginput PL_reginput
601#define PL_Treginterp_cnt PL_reginterp_cnt
602#define PL_Treglastparen PL_reglastparen
603#define PL_Tregnarrate PL_regnarrate
604#define PL_Tregnaughty PL_regnaughty
605#define PL_Tregnpar PL_regnpar
606#define PL_Tregprecomp PL_regprecomp
607#define PL_Tregprev PL_regprev
608#define PL_Tregprogram PL_regprogram
609#define PL_Tregsawback PL_regsawback
610#define PL_Tregseen PL_regseen
611#define PL_Tregsize PL_regsize
612#define PL_Tregstartp PL_regstartp
613#define PL_Tregtill PL_regtill
614#define PL_Tregxend PL_regxend
615#define PL_Trestartop PL_restartop
616#define PL_Tretstack PL_retstack
617#define PL_Tretstack_ix PL_retstack_ix
618#define PL_Tretstack_max PL_retstack_max
619#define PL_Trs PL_rs
620#define PL_Tsavestack PL_savestack
621#define PL_Tsavestack_ix PL_savestack_ix
622#define PL_Tsavestack_max PL_savestack_max
623#define PL_Tscopestack PL_scopestack
624#define PL_Tscopestack_ix PL_scopestack_ix
625#define PL_Tscopestack_max PL_scopestack_max
626#define PL_Tscreamfirst PL_screamfirst
627#define PL_Tscreamnext PL_screamnext
628#define PL_Tsecondgv PL_secondgv
629#define PL_Tseen_evals PL_seen_evals
630#define PL_Tseen_zerolen PL_seen_zerolen
631#define PL_Tsortcop PL_sortcop
632#define PL_Tsortcxix PL_sortcxix
633#define PL_Tsortstash PL_sortstash
634#define PL_Tstack_base PL_stack_base
635#define PL_Tstack_max PL_stack_max
636#define PL_Tstack_sp PL_stack_sp
637#define PL_Tstart_env PL_start_env
638#define PL_Tstatbuf PL_statbuf
639#define PL_Tstatcache PL_statcache
640#define PL_Tstatgv PL_statgv
641#define PL_Tstatname PL_statname
642#define PL_Ttainted PL_tainted
643#define PL_Ttimesbuf PL_timesbuf
644#define PL_Ttmps_floor PL_tmps_floor
645#define PL_Ttmps_ix PL_tmps_ix
646#define PL_Ttmps_max PL_tmps_max
647#define PL_Ttmps_stack PL_tmps_stack
648#define PL_Ttop_env PL_top_env
649#define PL_Ttoptarget PL_toptarget
22c35a8c 650#define PL_Twatchaddr PL_watchaddr
651#define PL_Twatchok PL_watchok
d4cce5f1 652
653#endif /* USE_THREADS */
654
655/* Hide what would have been interpreter-specific symbols? */
656
d4cce5f1 657
658#ifndef USE_THREADS
659
d4cce5f1 660
661#endif /* USE_THREADS */
d4cce5f1 662#endif /* MULTIPLICITY */
663
664/* Now same trickey for per-thread variables */
665
666#ifdef USE_THREADS
667
3280af22 668#define PL_Sv (thr->TSv)
669#define PL_Xpv (thr->TXpv)
670#define PL_av_fetch_sv (thr->Tav_fetch_sv)
671#define PL_bodytarget (thr->Tbodytarget)
672#define PL_bostr (thr->Tbostr)
673#define PL_chopset (thr->Tchopset)
674#define PL_colors (thr->Tcolors)
675#define PL_colorset (thr->Tcolorset)
676#define PL_curcop (thr->Tcurcop)
677#define PL_curpad (thr->Tcurpad)
678#define PL_curpm (thr->Tcurpm)
679#define PL_curstack (thr->Tcurstack)
680#define PL_curstackinfo (thr->Tcurstackinfo)
681#define PL_curstash (thr->Tcurstash)
682#define PL_defoutgv (thr->Tdefoutgv)
683#define PL_defstash (thr->Tdefstash)
684#define PL_delaymagic (thr->Tdelaymagic)
685#define PL_dirty (thr->Tdirty)
3967c732 686#define PL_dumpindent (thr->Tdumpindent)
3280af22 687#define PL_extralen (thr->Textralen)
688#define PL_firstgv (thr->Tfirstgv)
689#define PL_formtarget (thr->Tformtarget)
690#define PL_hv_fetch_ent_mh (thr->Thv_fetch_ent_mh)
691#define PL_hv_fetch_sv (thr->Thv_fetch_sv)
692#define PL_in_eval (thr->Tin_eval)
693#define PL_last_in_gv (thr->Tlast_in_gv)
694#define PL_lastgotoprobe (thr->Tlastgotoprobe)
695#define PL_lastscream (thr->Tlastscream)
696#define PL_localizing (thr->Tlocalizing)
697#define PL_mainstack (thr->Tmainstack)
698#define PL_markstack (thr->Tmarkstack)
699#define PL_markstack_max (thr->Tmarkstack_max)
700#define PL_markstack_ptr (thr->Tmarkstack_ptr)
701#define PL_maxscream (thr->Tmaxscream)
702#define PL_modcount (thr->Tmodcount)
b099ddc0 703#define PL_na (thr->Tna)
3280af22 704#define PL_nrs (thr->Tnrs)
705#define PL_ofs (thr->Tofs)
706#define PL_ofslen (thr->Tofslen)
707#define PL_op (thr->Top)
708#define PL_opsave (thr->Topsave)
e0284a30 709#define PL_protect (thr->Tprotect)
0f5d15d6 710#define PL_reg_call_cc (thr->Treg_call_cc)
5c5e4c24 711#define PL_reg_curpm (thr->Treg_curpm)
3280af22 712#define PL_reg_eval_set (thr->Treg_eval_set)
713#define PL_reg_flags (thr->Treg_flags)
22e551b9 714#define PL_reg_ganch (thr->Treg_ganch)
9661b544 715#define PL_reg_magic (thr->Treg_magic)
5c5e4c24 716#define PL_reg_oldcurpm (thr->Treg_oldcurpm)
9661b544 717#define PL_reg_oldpos (thr->Treg_oldpos)
cf93c79d 718#define PL_reg_oldsaved (thr->Treg_oldsaved)
719#define PL_reg_oldsavedlen (thr->Treg_oldsavedlen)
0f5d15d6 720#define PL_reg_re (thr->Treg_re)
3280af22 721#define PL_reg_start_tmp (thr->Treg_start_tmp)
722#define PL_reg_start_tmpl (thr->Treg_start_tmpl)
364723c2 723#define PL_reg_starttry (thr->Treg_starttry)
22e551b9 724#define PL_reg_sv (thr->Treg_sv)
3280af22 725#define PL_regbol (thr->Tregbol)
726#define PL_regcc (thr->Tregcc)
727#define PL_regcode (thr->Tregcode)
728#define PL_regcomp_parse (thr->Tregcomp_parse)
729#define PL_regcomp_rx (thr->Tregcomp_rx)
730#define PL_regcompp (thr->Tregcompp)
731#define PL_regdata (thr->Tregdata)
732#define PL_regdummy (thr->Tregdummy)
733#define PL_regendp (thr->Tregendp)
734#define PL_regeol (thr->Tregeol)
735#define PL_regexecp (thr->Tregexecp)
736#define PL_regflags (thr->Tregflags)
737#define PL_regindent (thr->Tregindent)
738#define PL_reginput (thr->Treginput)
739#define PL_reginterp_cnt (thr->Treginterp_cnt)
740#define PL_reglastparen (thr->Treglastparen)
741#define PL_regnarrate (thr->Tregnarrate)
742#define PL_regnaughty (thr->Tregnaughty)
743#define PL_regnpar (thr->Tregnpar)
744#define PL_regprecomp (thr->Tregprecomp)
745#define PL_regprev (thr->Tregprev)
746#define PL_regprogram (thr->Tregprogram)
747#define PL_regsawback (thr->Tregsawback)
748#define PL_regseen (thr->Tregseen)
749#define PL_regsize (thr->Tregsize)
750#define PL_regstartp (thr->Tregstartp)
751#define PL_regtill (thr->Tregtill)
752#define PL_regxend (thr->Tregxend)
753#define PL_restartop (thr->Trestartop)
754#define PL_retstack (thr->Tretstack)
755#define PL_retstack_ix (thr->Tretstack_ix)
756#define PL_retstack_max (thr->Tretstack_max)
757#define PL_rs (thr->Trs)
758#define PL_savestack (thr->Tsavestack)
759#define PL_savestack_ix (thr->Tsavestack_ix)
760#define PL_savestack_max (thr->Tsavestack_max)
761#define PL_scopestack (thr->Tscopestack)
762#define PL_scopestack_ix (thr->Tscopestack_ix)
763#define PL_scopestack_max (thr->Tscopestack_max)
764#define PL_screamfirst (thr->Tscreamfirst)
765#define PL_screamnext (thr->Tscreamnext)
766#define PL_secondgv (thr->Tsecondgv)
767#define PL_seen_evals (thr->Tseen_evals)
768#define PL_seen_zerolen (thr->Tseen_zerolen)
769#define PL_sortcop (thr->Tsortcop)
770#define PL_sortcxix (thr->Tsortcxix)
771#define PL_sortstash (thr->Tsortstash)
772#define PL_stack_base (thr->Tstack_base)
773#define PL_stack_max (thr->Tstack_max)
774#define PL_stack_sp (thr->Tstack_sp)
775#define PL_start_env (thr->Tstart_env)
776#define PL_statbuf (thr->Tstatbuf)
777#define PL_statcache (thr->Tstatcache)
778#define PL_statgv (thr->Tstatgv)
779#define PL_statname (thr->Tstatname)
780#define PL_tainted (thr->Ttainted)
781#define PL_timesbuf (thr->Ttimesbuf)
782#define PL_tmps_floor (thr->Ttmps_floor)
783#define PL_tmps_ix (thr->Ttmps_ix)
784#define PL_tmps_max (thr->Ttmps_max)
785#define PL_tmps_stack (thr->Ttmps_stack)
786#define PL_top_env (thr->Ttop_env)
787#define PL_toptarget (thr->Ttoptarget)
22c35a8c 788#define PL_watchaddr (thr->Twatchaddr)
789#define PL_watchok (thr->Twatchok)
d4cce5f1 790
791#endif /* USE_THREADS */
792
22239a37 793#ifdef PERL_GLOBAL_STRUCT
794
533c011a 795#define PL_No (PL_Vars.GNo)
796#define PL_Yes (PL_Vars.GYes)
797#define PL_amagic_generation (PL_Vars.Gamagic_generation)
798#define PL_an (PL_Vars.Gan)
80252599 799#define PL_bitcount (PL_Vars.Gbitcount)
533c011a 800#define PL_bufend (PL_Vars.Gbufend)
801#define PL_bufptr (PL_Vars.Gbufptr)
802#define PL_collation_ix (PL_Vars.Gcollation_ix)
803#define PL_collation_name (PL_Vars.Gcollation_name)
804#define PL_collation_standard (PL_Vars.Gcollation_standard)
805#define PL_collxfrm_base (PL_Vars.Gcollxfrm_base)
806#define PL_collxfrm_mult (PL_Vars.Gcollxfrm_mult)
807#define PL_cop_seqmax (PL_Vars.Gcop_seqmax)
5ff3f7a4 808#define PL_cred_mutex (PL_Vars.Gcred_mutex)
533c011a 809#define PL_cryptseen (PL_Vars.Gcryptseen)
810#define PL_cshlen (PL_Vars.Gcshlen)
811#define PL_cshname (PL_Vars.Gcshname)
812#define PL_curinterp (PL_Vars.Gcurinterp)
813#define PL_curthr (PL_Vars.Gcurthr)
814#define PL_debug (PL_Vars.Gdebug)
815#define PL_do_undump (PL_Vars.Gdo_undump)
80252599 816#define PL_efloatbuf (PL_Vars.Gefloatbuf)
817#define PL_efloatsize (PL_Vars.Gefloatsize)
533c011a 818#define PL_egid (PL_Vars.Gegid)
819#define PL_error_count (PL_Vars.Gerror_count)
820#define PL_euid (PL_Vars.Geuid)
821#define PL_eval_cond (PL_Vars.Geval_cond)
822#define PL_eval_mutex (PL_Vars.Geval_mutex)
823#define PL_eval_owner (PL_Vars.Geval_owner)
824#define PL_evalseq (PL_Vars.Gevalseq)
825#define PL_expect (PL_Vars.Gexpect)
80252599 826#define PL_filter_debug (PL_Vars.Gfilter_debug)
533c011a 827#define PL_gid (PL_Vars.Ggid)
80252599 828#define PL_glob_index (PL_Vars.Gglob_index)
533c011a 829#define PL_he_root (PL_Vars.Ghe_root)
830#define PL_hexdigit (PL_Vars.Ghexdigit)
831#define PL_hints (PL_Vars.Ghints)
832#define PL_in_my (PL_Vars.Gin_my)
833#define PL_in_my_stash (PL_Vars.Gin_my_stash)
834#define PL_last_lop (PL_Vars.Glast_lop)
835#define PL_last_lop_op (PL_Vars.Glast_lop_op)
a0ed51b3 836#define PL_last_swash_hv (PL_Vars.Glast_swash_hv)
837#define PL_last_swash_key (PL_Vars.Glast_swash_key)
838#define PL_last_swash_klen (PL_Vars.Glast_swash_klen)
839#define PL_last_swash_slen (PL_Vars.Glast_swash_slen)
840#define PL_last_swash_tmps (PL_Vars.Glast_swash_tmps)
533c011a 841#define PL_last_uni (PL_Vars.Glast_uni)
842#define PL_lex_brackets (PL_Vars.Glex_brackets)
843#define PL_lex_brackstack (PL_Vars.Glex_brackstack)
844#define PL_lex_casemods (PL_Vars.Glex_casemods)
845#define PL_lex_casestack (PL_Vars.Glex_casestack)
846#define PL_lex_defer (PL_Vars.Glex_defer)
847#define PL_lex_dojoin (PL_Vars.Glex_dojoin)
848#define PL_lex_expect (PL_Vars.Glex_expect)
849#define PL_lex_fakebrack (PL_Vars.Glex_fakebrack)
850#define PL_lex_formbrack (PL_Vars.Glex_formbrack)
851#define PL_lex_inpat (PL_Vars.Glex_inpat)
852#define PL_lex_inwhat (PL_Vars.Glex_inwhat)
853#define PL_lex_op (PL_Vars.Glex_op)
854#define PL_lex_repl (PL_Vars.Glex_repl)
855#define PL_lex_starts (PL_Vars.Glex_starts)
856#define PL_lex_state (PL_Vars.Glex_state)
857#define PL_lex_stuff (PL_Vars.Glex_stuff)
858#define PL_linestr (PL_Vars.Glinestr)
859#define PL_malloc_mutex (PL_Vars.Gmalloc_mutex)
860#define PL_max_intro_pending (PL_Vars.Gmax_intro_pending)
861#define PL_maxo (PL_Vars.Gmaxo)
862#define PL_min_intro_pending (PL_Vars.Gmin_intro_pending)
863#define PL_multi_close (PL_Vars.Gmulti_close)
864#define PL_multi_end (PL_Vars.Gmulti_end)
865#define PL_multi_open (PL_Vars.Gmulti_open)
866#define PL_multi_start (PL_Vars.Gmulti_start)
533c011a 867#define PL_nexttoke (PL_Vars.Gnexttoke)
868#define PL_nexttype (PL_Vars.Gnexttype)
869#define PL_nextval (PL_Vars.Gnextval)
870#define PL_nice_chunk (PL_Vars.Gnice_chunk)
871#define PL_nice_chunk_size (PL_Vars.Gnice_chunk_size)
872#define PL_ninterps (PL_Vars.Gninterps)
873#define PL_nomemok (PL_Vars.Gnomemok)
874#define PL_nthreads (PL_Vars.Gnthreads)
875#define PL_nthreads_cond (PL_Vars.Gnthreads_cond)
876#define PL_numeric_local (PL_Vars.Gnumeric_local)
877#define PL_numeric_name (PL_Vars.Gnumeric_name)
878#define PL_numeric_standard (PL_Vars.Gnumeric_standard)
879#define PL_oldbufptr (PL_Vars.Goldbufptr)
880#define PL_oldoldbufptr (PL_Vars.Goldoldbufptr)
881#define PL_op_seqmax (PL_Vars.Gop_seqmax)
882#define PL_origalen (PL_Vars.Gorigalen)
883#define PL_origenviron (PL_Vars.Gorigenviron)
884#define PL_osname (PL_Vars.Gosname)
885#define PL_pad_reset_pending (PL_Vars.Gpad_reset_pending)
886#define PL_padix (PL_Vars.Gpadix)
887#define PL_padix_floor (PL_Vars.Gpadix_floor)
888#define PL_patleave (PL_Vars.Gpatleave)
889#define PL_pidstatus (PL_Vars.Gpidstatus)
890#define PL_runops (PL_Vars.Grunops)
891#define PL_sh_path (PL_Vars.Gsh_path)
892#define PL_sighandlerp (PL_Vars.Gsighandlerp)
80252599 893#define PL_srand_called (PL_Vars.Gsrand_called)
533c011a 894#define PL_subline (PL_Vars.Gsubline)
895#define PL_subname (PL_Vars.Gsubname)
896#define PL_sv_mutex (PL_Vars.Gsv_mutex)
897#define PL_sv_no (PL_Vars.Gsv_no)
898#define PL_sv_undef (PL_Vars.Gsv_undef)
899#define PL_sv_yes (PL_Vars.Gsv_yes)
900#define PL_svref_mutex (PL_Vars.Gsvref_mutex)
901#define PL_thisexpr (PL_Vars.Gthisexpr)
902#define PL_thr_key (PL_Vars.Gthr_key)
903#define PL_threads_mutex (PL_Vars.Gthreads_mutex)
904#define PL_threadsv_names (PL_Vars.Gthreadsv_names)
905#define PL_tokenbuf (PL_Vars.Gtokenbuf)
906#define PL_uid (PL_Vars.Guid)
a0ed51b3 907#define PL_utf8_alnum (PL_Vars.Gutf8_alnum)
908#define PL_utf8_alpha (PL_Vars.Gutf8_alpha)
909#define PL_utf8_digit (PL_Vars.Gutf8_digit)
910#define PL_utf8_lower (PL_Vars.Gutf8_lower)
911#define PL_utf8_mark (PL_Vars.Gutf8_mark)
912#define PL_utf8_print (PL_Vars.Gutf8_print)
913#define PL_utf8_space (PL_Vars.Gutf8_space)
914#define PL_utf8_tolower (PL_Vars.Gutf8_tolower)
915#define PL_utf8_totitle (PL_Vars.Gutf8_totitle)
916#define PL_utf8_toupper (PL_Vars.Gutf8_toupper)
917#define PL_utf8_upper (PL_Vars.Gutf8_upper)
80252599 918#define PL_uudmap (PL_Vars.Guudmap)
533c011a 919#define PL_xiv_arenaroot (PL_Vars.Gxiv_arenaroot)
920#define PL_xiv_root (PL_Vars.Gxiv_root)
921#define PL_xnv_root (PL_Vars.Gxnv_root)
922#define PL_xpv_root (PL_Vars.Gxpv_root)
923#define PL_xrv_root (PL_Vars.Gxrv_root)
d3b6f988 924#define PL_yychar (PL_Vars.Gyychar)
925#define PL_yydebug (PL_Vars.Gyydebug)
926#define PL_yyerrflag (PL_Vars.Gyyerrflag)
927#define PL_yylval (PL_Vars.Gyylval)
928#define PL_yynerrs (PL_Vars.Gyynerrs)
d3b6f988 929#define PL_yyval (PL_Vars.Gyyval)
22239a37 930
931#else /* !PERL_GLOBAL_STRUCT */
932
533c011a 933#define PL_GNo PL_No
934#define PL_GYes PL_Yes
935#define PL_Gamagic_generation PL_amagic_generation
936#define PL_Gan PL_an
80252599 937#define PL_Gbitcount PL_bitcount
533c011a 938#define PL_Gbufend PL_bufend
939#define PL_Gbufptr PL_bufptr
940#define PL_Gcollation_ix PL_collation_ix
941#define PL_Gcollation_name PL_collation_name
942#define PL_Gcollation_standard PL_collation_standard
943#define PL_Gcollxfrm_base PL_collxfrm_base
944#define PL_Gcollxfrm_mult PL_collxfrm_mult
945#define PL_Gcop_seqmax PL_cop_seqmax
5ff3f7a4 946#define PL_Gcred_mutex PL_cred_mutex
533c011a 947#define PL_Gcryptseen PL_cryptseen
948#define PL_Gcshlen PL_cshlen
949#define PL_Gcshname PL_cshname
950#define PL_Gcurinterp PL_curinterp
951#define PL_Gcurthr PL_curthr
952#define PL_Gdebug PL_debug
953#define PL_Gdo_undump PL_do_undump
80252599 954#define PL_Gefloatbuf PL_efloatbuf
955#define PL_Gefloatsize PL_efloatsize
533c011a 956#define PL_Gegid PL_egid
957#define PL_Gerror_count PL_error_count
958#define PL_Geuid PL_euid
959#define PL_Geval_cond PL_eval_cond
960#define PL_Geval_mutex PL_eval_mutex
961#define PL_Geval_owner PL_eval_owner
962#define PL_Gevalseq PL_evalseq
963#define PL_Gexpect PL_expect
80252599 964#define PL_Gfilter_debug PL_filter_debug
533c011a 965#define PL_Ggid PL_gid
80252599 966#define PL_Gglob_index PL_glob_index
533c011a 967#define PL_Ghe_root PL_he_root
968#define PL_Ghexdigit PL_hexdigit
969#define PL_Ghints PL_hints
970#define PL_Gin_my PL_in_my
971#define PL_Gin_my_stash PL_in_my_stash
972#define PL_Glast_lop PL_last_lop
973#define PL_Glast_lop_op PL_last_lop_op
a0ed51b3 974#define PL_Glast_swash_hv PL_last_swash_hv
975#define PL_Glast_swash_key PL_last_swash_key
976#define PL_Glast_swash_klen PL_last_swash_klen
977#define PL_Glast_swash_slen PL_last_swash_slen
978#define PL_Glast_swash_tmps PL_last_swash_tmps
533c011a 979#define PL_Glast_uni PL_last_uni
980#define PL_Glex_brackets PL_lex_brackets
981#define PL_Glex_brackstack PL_lex_brackstack
982#define PL_Glex_casemods PL_lex_casemods
983#define PL_Glex_casestack PL_lex_casestack
984#define PL_Glex_defer PL_lex_defer
985#define PL_Glex_dojoin PL_lex_dojoin
986#define PL_Glex_expect PL_lex_expect
987#define PL_Glex_fakebrack PL_lex_fakebrack
988#define PL_Glex_formbrack PL_lex_formbrack
989#define PL_Glex_inpat PL_lex_inpat
990#define PL_Glex_inwhat PL_lex_inwhat
991#define PL_Glex_op PL_lex_op
992#define PL_Glex_repl PL_lex_repl
993#define PL_Glex_starts PL_lex_starts
994#define PL_Glex_state PL_lex_state
995#define PL_Glex_stuff PL_lex_stuff
996#define PL_Glinestr PL_linestr
997#define PL_Gmalloc_mutex PL_malloc_mutex
998#define PL_Gmax_intro_pending PL_max_intro_pending
999#define PL_Gmaxo PL_maxo
1000#define PL_Gmin_intro_pending PL_min_intro_pending
1001#define PL_Gmulti_close PL_multi_close
1002#define PL_Gmulti_end PL_multi_end
1003#define PL_Gmulti_open PL_multi_open
1004#define PL_Gmulti_start PL_multi_start
533c011a 1005#define PL_Gnexttoke PL_nexttoke
1006#define PL_Gnexttype PL_nexttype
1007#define PL_Gnextval PL_nextval
1008#define PL_Gnice_chunk PL_nice_chunk
1009#define PL_Gnice_chunk_size PL_nice_chunk_size
1010#define PL_Gninterps PL_ninterps
1011#define PL_Gnomemok PL_nomemok
1012#define PL_Gnthreads PL_nthreads
1013#define PL_Gnthreads_cond PL_nthreads_cond
1014#define PL_Gnumeric_local PL_numeric_local
1015#define PL_Gnumeric_name PL_numeric_name
1016#define PL_Gnumeric_standard PL_numeric_standard
1017#define PL_Goldbufptr PL_oldbufptr
1018#define PL_Goldoldbufptr PL_oldoldbufptr
1019#define PL_Gop_seqmax PL_op_seqmax
1020#define PL_Gorigalen PL_origalen
1021#define PL_Gorigenviron PL_origenviron
1022#define PL_Gosname PL_osname
1023#define PL_Gpad_reset_pending PL_pad_reset_pending
1024#define PL_Gpadix PL_padix
1025#define PL_Gpadix_floor PL_padix_floor
1026#define PL_Gpatleave PL_patleave
1027#define PL_Gpidstatus PL_pidstatus
1028#define PL_Grunops PL_runops
1029#define PL_Gsh_path PL_sh_path
1030#define PL_Gsighandlerp PL_sighandlerp
80252599 1031#define PL_Gsrand_called PL_srand_called
533c011a 1032#define PL_Gsubline PL_subline
1033#define PL_Gsubname PL_subname
1034#define PL_Gsv_mutex PL_sv_mutex
1035#define PL_Gsv_no PL_sv_no
1036#define PL_Gsv_undef PL_sv_undef
1037#define PL_Gsv_yes PL_sv_yes
1038#define PL_Gsvref_mutex PL_svref_mutex
1039#define PL_Gthisexpr PL_thisexpr
1040#define PL_Gthr_key PL_thr_key
1041#define PL_Gthreads_mutex PL_threads_mutex
1042#define PL_Gthreadsv_names PL_threadsv_names
1043#define PL_Gtokenbuf PL_tokenbuf
1044#define PL_Guid PL_uid
a0ed51b3 1045#define PL_Gutf8_alnum PL_utf8_alnum
1046#define PL_Gutf8_alpha PL_utf8_alpha
1047#define PL_Gutf8_digit PL_utf8_digit
1048#define PL_Gutf8_lower PL_utf8_lower
1049#define PL_Gutf8_mark PL_utf8_mark
1050#define PL_Gutf8_print PL_utf8_print
1051#define PL_Gutf8_space PL_utf8_space
1052#define PL_Gutf8_tolower PL_utf8_tolower
1053#define PL_Gutf8_totitle PL_utf8_totitle
1054#define PL_Gutf8_toupper PL_utf8_toupper
1055#define PL_Gutf8_upper PL_utf8_upper
80252599 1056#define PL_Guudmap PL_uudmap
533c011a 1057#define PL_Gxiv_arenaroot PL_xiv_arenaroot
1058#define PL_Gxiv_root PL_xiv_root
1059#define PL_Gxnv_root PL_xnv_root
1060#define PL_Gxpv_root PL_xpv_root
1061#define PL_Gxrv_root PL_xrv_root
d3b6f988 1062#define PL_Gyychar PL_yychar
1063#define PL_Gyydebug PL_yydebug
1064#define PL_Gyyerrflag PL_yyerrflag
1065#define PL_Gyylval PL_yylval
1066#define PL_Gyynerrs PL_yynerrs
d3b6f988 1067#define PL_Gyyval PL_yyval
22239a37 1068
22239a37 1069
22239a37 1070#endif /* PERL_GLOBAL_STRUCT */
1071
f77c86d0 1072
db5cf5a9 1073#ifdef PERL_POLLUTE /* disabled by default in 5.006 */
f77c86d0 1074
1075#define DBsingle PL_DBsingle
1076#define DBsub PL_DBsub
1077#define compiling PL_compiling
1078#define curcop PL_curcop
1079#define curstash PL_curstash
1080#define debstash PL_debstash
9f53fe7d 1081#define defgv PL_defgv
709f4e38 1082#define diehook PL_diehook
1083#define dirty PL_dirty
f77c86d0 1084#define dowarn PL_dowarn
9f53fe7d 1085#define errgv PL_errgv
f77c86d0 1086#define na PL_na
a81cd81f 1087#define no_modify PL_no_modify
709f4e38 1088#define perl_destruct_level PL_perl_destruct_level
9f53fe7d 1089#define perldb PL_perldb
f77c86d0 1090#define rsfp PL_rsfp
9f53fe7d 1091#define rsfp_filters PL_rsfp_filters
f77c86d0 1092#define stack_base PL_stack_base
1093#define stack_sp PL_stack_sp
1094#define stdingv PL_stdingv
1095#define sv_arenaroot PL_sv_arenaroot
1096#define sv_no PL_sv_no
1097#define sv_undef PL_sv_undef
1098#define sv_yes PL_sv_yes
1099#define tainted PL_tainted
1100#define tainting PL_tainting
1101
db5cf5a9 1102#endif /* PERL_POLLUTE */