ae37202410224451f99b95edf13beefab3b54546
[p5sagit/p5-mst-13.2.git] / embedvar.h
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 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)
129
130 #endif /* !USE_THREADS */
131
132 /* These are always per-interpreter if there is more than one */
133
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)
260
261 #else   /* !MULTIPLICITY */
262
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
389
390 #ifndef USE_THREADS
391
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
498
499 #endif /* USE_THREADS */
500
501 /* Hide what would have been interpreter-specific symbols? */
502
503 #ifdef EMBED
504
505
506 #ifndef USE_THREADS
507
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
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)
623
624 #endif /* USE_THREADS */
625
626 #ifdef PERL_GLOBAL_STRUCT
627
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)
735
736 #else /* !PERL_GLOBAL_STRUCT */
737
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
845
846 #ifdef EMBED
847
848
849 #endif /* EMBED */
850 #endif /* PERL_GLOBAL_STRUCT */
851