This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
Add thread-safe locale handling
[perl5.git] / embedvar.h
CommitLineData
78102347 1/* -*- buffer-read-only: t -*-
37442d52 2 *
eb1102fc
NIS
3 * embedvar.h
4 *
78102347
NC
5 * Copyright (C) 1993, 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001,
6 * 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 by Larry Wall and others
eb1102fc
NIS
7 *
8 * You may distribute under the terms of either the GNU General Public
9 * License or the Artistic License, as specified in the README file.
10 *
eb1102fc 11 * !!!!!!! DO NOT EDIT THIS FILE !!!!!!!
d7cb65f2 12 * This file is built by regen/embed.pl from data in embed.fnc,
78102347 13 * regen/embed.pl, regen/opcodes, intrpvar.h and perlvars.h.
574c798a
SR
14 * Any changes made here will be lost!
15 *
16 * Edit those files and run 'make regen_headers' to effect changes.
eb1102fc 17 */
d4cce5f1
NIS
18
19/* (Doing namespace management portably in C is really gross.) */
20
54aff467 21/*
3db8f154
MB
22 The following combinations of MULTIPLICITY and PERL_IMPLICIT_CONTEXT
23 are supported:
54aff467
GS
24 1) none
25 2) MULTIPLICITY # supported for compatibility
26 3) MULTIPLICITY && PERL_IMPLICIT_CONTEXT
d4cce5f1 27
54aff467 28 All other combinations of these flags are errors.
d4cce5f1 29
3db8f154 30 only #3 is supported directly, while #2 is a special
54aff467
GS
31 case of #3 (supported by redefining vTHX appropriately).
32*/
cea2e8a9 33
54aff467 34#if defined(MULTIPLICITY)
3db8f154 35/* cases 2 and 3 above */
cea2e8a9 36
54aff467
GS
37# if defined(PERL_IMPLICIT_CONTEXT)
38# define vTHX aTHX
39# else
40# define vTHX PERL_GET_INTERP
41# endif
cea2e8a9 42
a3e1f3a6 43#define PL_AboveLatin1 (vTHX->IAboveLatin1)
9e7ded3f 44#define PL_Assigned_invlist (vTHX->IAssigned_invlist)
a6d69523 45#define PL_DBcontrol (vTHX->IDBcontrol)
54aff467
GS
46#define PL_DBcv (vTHX->IDBcv)
47#define PL_DBgv (vTHX->IDBgv)
48#define PL_DBline (vTHX->IDBline)
49#define PL_DBsignal (vTHX->IDBsignal)
50#define PL_DBsingle (vTHX->IDBsingle)
51#define PL_DBsub (vTHX->IDBsub)
52#define PL_DBtrace (vTHX->IDBtrace)
53#define PL_Dir (vTHX->IDir)
54#define PL_Env (vTHX->IEnv)
64935bc6 55#define PL_GCB_invlist (vTHX->IGCB_invlist)
9d53c457 56#define PL_HasMultiCharFold (vTHX->IHasMultiCharFold)
e0a1ff7a 57#define PL_InBitmap (vTHX->IInBitmap)
6b659339 58#define PL_LB_invlist (vTHX->ILB_invlist)
54aff467 59#define PL_LIO (vTHX->ILIO)
a3e1f3a6 60#define PL_Latin1 (vTHX->ILatin1)
54aff467 61#define PL_Mem (vTHX->IMem)
1d7c1841
GS
62#define PL_MemParse (vTHX->IMemParse)
63#define PL_MemShared (vTHX->IMemShared)
26faadbd 64#define PL_NonL1NonFinalFold (vTHX->INonL1NonFinalFold)
54aff467 65#define PL_Proc (vTHX->IProc)
06ae2722 66#define PL_SB_invlist (vTHX->ISB_invlist)
034602eb 67#define PL_SCX_invlist (vTHX->ISCX_invlist)
54aff467
GS
68#define PL_Sock (vTHX->ISock)
69#define PL_StdIO (vTHX->IStdIO)
907b3e23 70#define PL_Sv (vTHX->ISv)
892d8259 71#define PL_UpperLatin1 (vTHX->IUpperLatin1)
ae3bb8ea 72#define PL_WB_invlist (vTHX->IWB_invlist)
cac6e0ca 73#define PL_XPosix_ptrs (vTHX->IXPosix_ptrs)
907b3e23 74#define PL_Xpv (vTHX->IXpv)
54aff467 75#define PL_an (vTHX->Ian)
54aff467 76#define PL_argvgv (vTHX->Iargvgv)
1d7c1841 77#define PL_argvout_stack (vTHX->Iargvout_stack)
54aff467
GS
78#define PL_argvoutgv (vTHX->Iargvoutgv)
79#define PL_basetime (vTHX->Ibasetime)
80#define PL_beginav (vTHX->Ibeginav)
059a8bb7 81#define PL_beginav_save (vTHX->Ibeginav_save)
1930840b 82#define PL_blockhooks (vTHX->Iblockhooks)
fdda85ca 83#define PL_body_arenas (vTHX->Ibody_arenas)
93e68bfb 84#define PL_body_roots (vTHX->Ibody_roots)
907b3e23 85#define PL_bodytarget (vTHX->Ibodytarget)
fd06b02c 86#define PL_breakable_sub_gen (vTHX->Ibreakable_sub_gen)
7d30b5c4 87#define PL_checkav (vTHX->Icheckav)
ece599bd 88#define PL_checkav_save (vTHX->Icheckav_save)
907b3e23 89#define PL_chopset (vTHX->Ichopset)
5311654c 90#define PL_clocktick (vTHX->Iclocktick)
54aff467
GS
91#define PL_collation_ix (vTHX->Icollation_ix)
92#define PL_collation_name (vTHX->Icollation_name)
93#define PL_collation_standard (vTHX->Icollation_standard)
94#define PL_collxfrm_base (vTHX->Icollxfrm_base)
95#define PL_collxfrm_mult (vTHX->Icollxfrm_mult)
907b3e23
DM
96#define PL_colors (vTHX->Icolors)
97#define PL_colorset (vTHX->Icolorset)
54aff467
GS
98#define PL_compcv (vTHX->Icompcv)
99#define PL_compiling (vTHX->Icompiling)
100#define PL_comppad (vTHX->Icomppad)
101#define PL_comppad_name (vTHX->Icomppad_name)
102#define PL_comppad_name_fill (vTHX->Icomppad_name_fill)
103#define PL_comppad_name_floor (vTHX->Icomppad_name_floor)
b54c5e14 104#define PL_constpadix (vTHX->Iconstpadix)
54aff467 105#define PL_cop_seqmax (vTHX->Icop_seqmax)
54aff467 106#define PL_cryptseen (vTHX->Icryptseen)
907b3e23 107#define PL_curcop (vTHX->Icurcop)
54aff467 108#define PL_curcopdb (vTHX->Icurcopdb)
e9bc6d6b 109#define PL_curlocales (vTHX->Icurlocales)
907b3e23
DM
110#define PL_curpad (vTHX->Icurpad)
111#define PL_curpm (vTHX->Icurpm)
5585e758 112#define PL_curpm_under (vTHX->Icurpm_under)
907b3e23
DM
113#define PL_curstack (vTHX->Icurstack)
114#define PL_curstackinfo (vTHX->Icurstackinfo)
115#define PL_curstash (vTHX->Icurstash)
54aff467 116#define PL_curstname (vTHX->Icurstname)
438c221d
AB
117#define PL_custom_op_descs (vTHX->Icustom_op_descs)
118#define PL_custom_op_names (vTHX->Icustom_op_names)
1830b3d9 119#define PL_custom_ops (vTHX->Icustom_ops)
b5c19bd7 120#define PL_cv_has_eval (vTHX->Icv_has_eval)
54aff467 121#define PL_dbargs (vTHX->Idbargs)
54aff467
GS
122#define PL_debstash (vTHX->Idebstash)
123#define PL_debug (vTHX->Idebug)
ce333219 124#define PL_debug_pad (vTHX->Idebug_pad)
3a1ee7e8 125#define PL_def_layerlist (vTHX->Idef_layerlist)
54aff467 126#define PL_defgv (vTHX->Idefgv)
907b3e23
DM
127#define PL_defoutgv (vTHX->Idefoutgv)
128#define PL_defstash (vTHX->Idefstash)
907b3e23 129#define PL_delaymagic (vTHX->Idelaymagic)
985213f2
AB
130#define PL_delaymagic_egid (vTHX->Idelaymagic_egid)
131#define PL_delaymagic_euid (vTHX->Idelaymagic_euid)
132#define PL_delaymagic_gid (vTHX->Idelaymagic_gid)
133#define PL_delaymagic_uid (vTHX->Idelaymagic_uid)
eba16661 134#define PL_destroyhook (vTHX->Idestroyhook)
54aff467 135#define PL_diehook (vTHX->Idiehook)
54aff467
GS
136#define PL_doswitches (vTHX->Idoswitches)
137#define PL_dowarn (vTHX->Idowarn)
2bfbbbaf 138#define PL_dump_re_max_len (vTHX->Idump_re_max_len)
41e4abd8 139#define PL_dumper_fd (vTHX->Idumper_fd)
907b3e23 140#define PL_dumpindent (vTHX->Idumpindent)
54aff467 141#define PL_e_script (vTHX->Ie_script)
907b3e23
DM
142#define PL_efloatbuf (vTHX->Iefloatbuf)
143#define PL_efloatsize (vTHX->Iefloatsize)
54aff467
GS
144#define PL_endav (vTHX->Iendav)
145#define PL_envgv (vTHX->Ienvgv)
146#define PL_errgv (vTHX->Ierrgv)
907b3e23 147#define PL_errors (vTHX->Ierrors)
54aff467
GS
148#define PL_eval_root (vTHX->Ieval_root)
149#define PL_eval_start (vTHX->Ieval_start)
150#define PL_evalseq (vTHX->Ievalseq)
1d7c1841 151#define PL_exit_flags (vTHX->Iexit_flags)
54aff467
GS
152#define PL_exitlist (vTHX->Iexitlist)
153#define PL_exitlistlen (vTHX->Iexitlistlen)
54aff467
GS
154#define PL_fdpid (vTHX->Ifdpid)
155#define PL_filemode (vTHX->Ifilemode)
907b3e23 156#define PL_firstgv (vTHX->Ifirstgv)
54aff467 157#define PL_forkprocess (vTHX->Iforkprocess)
907b3e23 158#define PL_formtarget (vTHX->Iformtarget)
54aff467
GS
159#define PL_generation (vTHX->Igeneration)
160#define PL_gensym (vTHX->Igensym)
54aff467 161#define PL_globalstash (vTHX->Iglobalstash)
d67594ff 162#define PL_globhook (vTHX->Iglobhook)
0e0ab621 163#define PL_hash_rand_bits (vTHX->Ihash_rand_bits)
6a5b4183 164#define PL_hash_rand_bits_enabled (vTHX->Ihash_rand_bits_enabled)
54aff467 165#define PL_hintgv (vTHX->Ihintgv)
907b3e23 166#define PL_hv_fetch_ent_mh (vTHX->Ihv_fetch_ent_mh)
54aff467
GS
167#define PL_in_clean_all (vTHX->Iin_clean_all)
168#define PL_in_clean_objs (vTHX->Iin_clean_objs)
907b3e23 169#define PL_in_eval (vTHX->Iin_eval)
d7a09b41 170#define PL_in_load_module (vTHX->Iin_load_module)
165a1c52 171#define PL_in_utf8_COLLATE_locale (vTHX->Iin_utf8_COLLATE_locale)
31f05a37 172#define PL_in_utf8_CTYPE_locale (vTHX->Iin_utf8_CTYPE_locale)
54aff467
GS
173#define PL_incgv (vTHX->Iincgv)
174#define PL_initav (vTHX->Iinitav)
175#define PL_inplace (vTHX->Iinplace)
f26b33bd 176#define PL_internal_random_state (vTHX->Iinternal_random_state)
dd69841b 177#define PL_isarev (vTHX->Iisarev)
3a1ee7e8 178#define PL_known_layers (vTHX->Iknown_layers)
f7416781
KW
179#define PL_langinfo_buf (vTHX->Ilanginfo_buf)
180#define PL_langinfo_bufsize (vTHX->Ilanginfo_bufsize)
907b3e23 181#define PL_last_in_gv (vTHX->Ilast_in_gv)
54aff467
GS
182#define PL_last_swash_hv (vTHX->Ilast_swash_hv)
183#define PL_last_swash_key (vTHX->Ilast_swash_key)
184#define PL_last_swash_klen (vTHX->Ilast_swash_klen)
185#define PL_last_swash_slen (vTHX->Ilast_swash_slen)
186#define PL_last_swash_tmps (vTHX->Ilast_swash_tmps)
54aff467 187#define PL_lastfd (vTHX->Ilastfd)
907b3e23 188#define PL_lastgotoprobe (vTHX->Ilastgotoprobe)
54aff467
GS
189#define PL_laststatval (vTHX->Ilaststatval)
190#define PL_laststype (vTHX->Ilaststype)
49d7d366 191#define PL_lc_numeric_mutex_depth (vTHX->Ilc_numeric_mutex_depth)
47280b20 192#define PL_locale_utf8ness (vTHX->Ilocale_utf8ness)
907b3e23 193#define PL_localizing (vTHX->Ilocalizing)
54aff467 194#define PL_localpatches (vTHX->Ilocalpatches)
15a5279a 195#define PL_lockhook (vTHX->Ilockhook)
54aff467
GS
196#define PL_main_cv (vTHX->Imain_cv)
197#define PL_main_root (vTHX->Imain_root)
198#define PL_main_start (vTHX->Imain_start)
907b3e23
DM
199#define PL_mainstack (vTHX->Imainstack)
200#define PL_markstack (vTHX->Imarkstack)
201#define PL_markstack_max (vTHX->Imarkstack_max)
202#define PL_markstack_ptr (vTHX->Imarkstack_ptr)
54aff467 203#define PL_max_intro_pending (vTHX->Imax_intro_pending)
54aff467 204#define PL_maxsysfd (vTHX->Imaxsysfd)
7cb608b5 205#define PL_memory_debug_header (vTHX->Imemory_debug_header)
54aff467
GS
206#define PL_mess_sv (vTHX->Imess_sv)
207#define PL_min_intro_pending (vTHX->Imin_intro_pending)
bc9b29db 208#define PL_minus_E (vTHX->Iminus_E)
54aff467
GS
209#define PL_minus_F (vTHX->Iminus_F)
210#define PL_minus_a (vTHX->Iminus_a)
211#define PL_minus_c (vTHX->Iminus_c)
212#define PL_minus_l (vTHX->Iminus_l)
213#define PL_minus_n (vTHX->Iminus_n)
214#define PL_minus_p (vTHX->Iminus_p)
907b3e23 215#define PL_modcount (vTHX->Imodcount)
54aff467 216#define PL_modglobal (vTHX->Imodglobal)
fedf30e1 217#define PL_multideref_pc (vTHX->Imultideref_pc)
53d44271 218#define PL_my_cxt_keys (vTHX->Imy_cxt_keys)
f16dd614
DM
219#define PL_my_cxt_list (vTHX->Imy_cxt_list)
220#define PL_my_cxt_size (vTHX->Imy_cxt_size)
907b3e23 221#define PL_na (vTHX->Ina)
54aff467 222#define PL_nomemok (vTHX->Inomemok)
54aff467 223#define PL_numeric_name (vTHX->Inumeric_name)
a453c169 224#define PL_numeric_radix_sv (vTHX->Inumeric_radix_sv)
54aff467 225#define PL_numeric_standard (vTHX->Inumeric_standard)
892e6465 226#define PL_numeric_underlying (vTHX->Inumeric_underlying)
4c68b815 227#define PL_numeric_underlying_is_standard (vTHX->Inumeric_underlying_is_standard)
e23d9e2f 228#define PL_ofsgv (vTHX->Iofsgv)
54aff467 229#define PL_oldname (vTHX->Ioldname)
907b3e23 230#define PL_op (vTHX->Iop)
75d476e2 231#define PL_op_exec_cnt (vTHX->Iop_exec_cnt)
54aff467 232#define PL_op_mask (vTHX->Iop_mask)
f37b8c3f 233#define PL_opfreehook (vTHX->Iopfreehook)
54aff467
GS
234#define PL_origalen (vTHX->Iorigalen)
235#define PL_origargc (vTHX->Iorigargc)
236#define PL_origargv (vTHX->Iorigargv)
237#define PL_origenviron (vTHX->Iorigenviron)
238#define PL_origfilename (vTHX->Iorigfilename)
7889fe52 239#define PL_ors_sv (vTHX->Iors_sv)
54aff467
GS
240#define PL_osname (vTHX->Iosname)
241#define PL_pad_reset_pending (vTHX->Ipad_reset_pending)
242#define PL_padix (vTHX->Ipadix)
243#define PL_padix_floor (vTHX->Ipadix_floor)
b4db5868 244#define PL_padlist_generation (vTHX->Ipadlist_generation)
12d375ea
FC
245#define PL_padname_const (vTHX->Ipadname_const)
246#define PL_padname_undef (vTHX->Ipadname_undef)
5912531f 247#define PL_parser (vTHX->Iparser)
54aff467 248#define PL_patchlevel (vTHX->Ipatchlevel)
907b3e23 249#define PL_peepp (vTHX->Ipeepp)
54aff467
GS
250#define PL_perl_destruct_level (vTHX->Iperl_destruct_level)
251#define PL_perldb (vTHX->Iperldb)
a1ea730d 252#define PL_perlio (vTHX->Iperlio)
9ebf26ad 253#define PL_phase (vTHX->Iphase)
54aff467
GS
254#define PL_pidstatus (vTHX->Ipidstatus)
255#define PL_preambleav (vTHX->Ipreambleav)
54aff467 256#define PL_profiledata (vTHX->Iprofiledata)
1d7c1841 257#define PL_psig_name (vTHX->Ipsig_name)
ce08f86c 258#define PL_psig_pend (vTHX->Ipsig_pend)
1d7c1841
GS
259#define PL_psig_ptr (vTHX->Ipsig_ptr)
260#define PL_ptr_table (vTHX->Iptr_table)
3be8f094 261#define PL_random_state (vTHX->Irandom_state)
e5dd39fc 262#define PL_reentrant_buffer (vTHX->Ireentrant_buffer)
0891a229 263#define PL_reentrant_retint (vTHX->Ireentrant_retint)
f65e70f5 264#define PL_reg_curpm (vTHX->Ireg_curpm)
1fcf4c12
AB
265#define PL_regex_pad (vTHX->Iregex_pad)
266#define PL_regex_padav (vTHX->Iregex_padav)
a3e6e81e 267#define PL_registered_mros (vTHX->Iregistered_mros)
907b3e23
DM
268#define PL_regmatch_slab (vTHX->Iregmatch_slab)
269#define PL_regmatch_state (vTHX->Iregmatch_state)
54aff467 270#define PL_replgv (vTHX->Ireplgv)
febb3a6d 271#define PL_restartjmpenv (vTHX->Irestartjmpenv)
907b3e23 272#define PL_restartop (vTHX->Irestartop)
1a0a2ba9 273#define PL_rpeepp (vTHX->Irpeepp)
907b3e23 274#define PL_rs (vTHX->Irs)
54aff467 275#define PL_runops (vTHX->Irunops)
aefff11f 276#define PL_savebegin (vTHX->Isavebegin)
907b3e23
DM
277#define PL_savestack (vTHX->Isavestack)
278#define PL_savestack_ix (vTHX->Isavestack_ix)
279#define PL_savestack_max (vTHX->Isavestack_max)
1a904fc8 280#ifndef PL_sawampersand
54aff467 281#define PL_sawampersand (vTHX->Isawampersand)
1a904fc8 282#endif
907b3e23
DM
283#define PL_scopestack (vTHX->Iscopestack)
284#define PL_scopestack_ix (vTHX->Iscopestack_ix)
285#define PL_scopestack_max (vTHX->Iscopestack_max)
d343c3ef 286#define PL_scopestack_name (vTHX->Iscopestack_name)
907b3e23 287#define PL_secondgv (vTHX->Isecondgv)
34aeb2e9 288#define PL_seen_deprecated_macro (vTHX->Iseen_deprecated_macro)
9aac5db8
KW
289#define PL_setlocale_buf (vTHX->Isetlocale_buf)
290#define PL_setlocale_bufsize (vTHX->Isetlocale_bufsize)
15a5279a 291#define PL_sharehook (vTHX->Isharehook)
ce08f86c 292#define PL_sig_pending (vTHX->Isig_pending)
54aff467 293#define PL_sighandlerp (vTHX->Isighandlerp)
92f022bb 294#define PL_signalhook (vTHX->Isignalhook)
4ffa73a3 295#define PL_signals (vTHX->Isignals)
8ba4b24b 296#define PL_sort_RealCmp (vTHX->Isort_RealCmp)
907b3e23
DM
297#define PL_sortcop (vTHX->Isortcop)
298#define PL_sortstash (vTHX->Isortstash)
54aff467
GS
299#define PL_splitstr (vTHX->Isplitstr)
300#define PL_srand_called (vTHX->Isrand_called)
907b3e23
DM
301#define PL_stack_base (vTHX->Istack_base)
302#define PL_stack_max (vTHX->Istack_max)
303#define PL_stack_sp (vTHX->Istack_sp)
304#define PL_start_env (vTHX->Istart_env)
081fc587 305#define PL_stashcache (vTHX->Istashcache)
d4d03940
FC
306#define PL_stashpad (vTHX->Istashpad)
307#define PL_stashpadix (vTHX->Istashpadix)
308#define PL_stashpadmax (vTHX->Istashpadmax)
907b3e23
DM
309#define PL_statcache (vTHX->Istatcache)
310#define PL_statgv (vTHX->Istatgv)
311#define PL_statname (vTHX->Istatname)
54aff467 312#define PL_statusvalue (vTHX->Istatusvalue)
e5218da5 313#define PL_statusvalue_posix (vTHX->Istatusvalue_posix)
54aff467 314#define PL_statusvalue_vms (vTHX->Istatusvalue_vms)
bf49b057 315#define PL_stderrgv (vTHX->Istderrgv)
54aff467 316#define PL_stdingv (vTHX->Istdingv)
54aff467 317#define PL_strtab (vTHX->Istrtab)
f28f4d2a 318#define PL_strxfrm_NUL_replacement (vTHX->Istrxfrm_NUL_replacement)
c664130f 319#define PL_strxfrm_is_behaved (vTHX->Istrxfrm_is_behaved)
a4a439fb 320#define PL_strxfrm_max_cp (vTHX->Istrxfrm_max_cp)
54aff467 321#define PL_sub_generation (vTHX->Isub_generation)
54aff467
GS
322#define PL_subline (vTHX->Isubline)
323#define PL_subname (vTHX->Isubname)
324#define PL_sv_arenaroot (vTHX->Isv_arenaroot)
a38ab475 325#define PL_sv_consts (vTHX->Isv_consts)
54aff467 326#define PL_sv_count (vTHX->Isv_count)
7c123f9d 327#define PL_sv_immortals (vTHX->Isv_immortals)
54aff467 328#define PL_sv_no (vTHX->Isv_no)
54aff467 329#define PL_sv_root (vTHX->Isv_root)
56b5603e 330#define PL_sv_serial (vTHX->Isv_serial)
54aff467
GS
331#define PL_sv_undef (vTHX->Isv_undef)
332#define PL_sv_yes (vTHX->Isv_yes)
5a6c2837 333#define PL_sv_zero (vTHX->Isv_zero)
54aff467 334#define PL_sys_intern (vTHX->Isys_intern)
6537fe72 335#define PL_taint_warn (vTHX->Itaint_warn)
907b3e23 336#define PL_tainted (vTHX->Itainted)
54aff467 337#define PL_tainting (vTHX->Itainting)
15a5279a 338#define PL_threadhook (vTHX->Ithreadhook)
907b3e23
DM
339#define PL_tmps_floor (vTHX->Itmps_floor)
340#define PL_tmps_ix (vTHX->Itmps_ix)
341#define PL_tmps_max (vTHX->Itmps_max)
342#define PL_tmps_stack (vTHX->Itmps_stack)
907b3e23
DM
343#define PL_top_env (vTHX->Itop_env)
344#define PL_toptarget (vTHX->Itoptarget)
e1aa2579 345#define PL_underlying_numeric_obj (vTHX->Iunderlying_numeric_obj)
a05d7ebb 346#define PL_unicode (vTHX->Iunicode)
3c10abe3
AG
347#define PL_unitcheckav (vTHX->Iunitcheckav)
348#define PL_unitcheckav_save (vTHX->Iunitcheckav_save)
15a5279a 349#define PL_unlockhook (vTHX->Iunlockhook)
54aff467 350#define PL_unsafe (vTHX->Iunsafe)
bde9e88d
KW
351#define PL_utf8_charname_begin (vTHX->Iutf8_charname_begin)
352#define PL_utf8_charname_continue (vTHX->Iutf8_charname_continue)
1bd9dc91 353#define PL_utf8_foldable (vTHX->Iutf8_foldable)
2726813d 354#define PL_utf8_foldclosures (vTHX->Iutf8_foldclosures)
82686b01
JH
355#define PL_utf8_idcont (vTHX->Iutf8_idcont)
356#define PL_utf8_idstart (vTHX->Iutf8_idstart)
54aff467 357#define PL_utf8_mark (vTHX->Iutf8_mark)
eba68aa0 358#define PL_utf8_perl_idcont (vTHX->Iutf8_perl_idcont)
b6912c02 359#define PL_utf8_perl_idstart (vTHX->Iutf8_perl_idstart)
63c61c3f 360#define PL_utf8_swash_ptrs (vTHX->Iutf8_swash_ptrs)
b4e400f9 361#define PL_utf8_tofold (vTHX->Iutf8_tofold)
54aff467
GS
362#define PL_utf8_tolower (vTHX->Iutf8_tolower)
363#define PL_utf8_totitle (vTHX->Iutf8_totitle)
364#define PL_utf8_toupper (vTHX->Iutf8_toupper)
c11ff943
KW
365#define PL_utf8_xidcont (vTHX->Iutf8_xidcont)
366#define PL_utf8_xidstart (vTHX->Iutf8_xidstart)
e07ea26a 367#define PL_utf8cache (vTHX->Iutf8cache)
fde18df1 368#define PL_utf8locale (vTHX->Iutf8locale)
780fcc9f 369#define PL_warn_locale (vTHX->Iwarn_locale)
54aff467 370#define PL_warnhook (vTHX->Iwarnhook)
907b3e23
DM
371#define PL_watchaddr (vTHX->Iwatchaddr)
372#define PL_watchok (vTHX->Iwatchok)
9a189793 373#define PL_xsubfilename (vTHX->Ixsubfilename)
54aff467 374
54aff467 375#endif /* MULTIPLICITY */
d4cce5f1 376
54aff467 377#if defined(PERL_GLOBAL_STRUCT)
22239a37 378
6ebbc862
KW
379#define PL_C_locale_obj (my_vars->GC_locale_obj)
380#define PL_GC_locale_obj (my_vars->GC_locale_obj)
27da23d5
JH
381#define PL_appctx (my_vars->Gappctx)
382#define PL_Gappctx (my_vars->Gappctx)
383#define PL_check (my_vars->Gcheck)
384#define PL_Gcheck (my_vars->Gcheck)
e8570548
Z
385#define PL_check_mutex (my_vars->Gcheck_mutex)
386#define PL_Gcheck_mutex (my_vars->Gcheck_mutex)
27da23d5
JH
387#define PL_csighandlerp (my_vars->Gcsighandlerp)
388#define PL_Gcsighandlerp (my_vars->Gcsighandlerp)
389#define PL_curinterp (my_vars->Gcurinterp)
390#define PL_Gcurinterp (my_vars->Gcurinterp)
391#define PL_do_undump (my_vars->Gdo_undump)
392#define PL_Gdo_undump (my_vars->Gdo_undump)
393#define PL_dollarzero_mutex (my_vars->Gdollarzero_mutex)
394#define PL_Gdollarzero_mutex (my_vars->Gdollarzero_mutex)
395#define PL_fold_locale (my_vars->Gfold_locale)
396#define PL_Gfold_locale (my_vars->Gfold_locale)
9d5e3f1a
YO
397#define PL_hash_chars (my_vars->Ghash_chars)
398#define PL_Ghash_chars (my_vars->Ghash_chars)
7dc86639
YO
399#define PL_hash_seed (my_vars->Ghash_seed)
400#define PL_Ghash_seed (my_vars->Ghash_seed)
401#define PL_hash_seed_set (my_vars->Ghash_seed_set)
402#define PL_Ghash_seed_set (my_vars->Ghash_seed_set)
9d5e3f1a
YO
403#define PL_hash_state (my_vars->Ghash_state)
404#define PL_Ghash_state (my_vars->Ghash_state)
71ad1b0c
NC
405#define PL_hints_mutex (my_vars->Ghints_mutex)
406#define PL_Ghints_mutex (my_vars->Ghints_mutex)
4098b6bb
JV
407#define PL_keyword_plugin (my_vars->Gkeyword_plugin)
408#define PL_Gkeyword_plugin (my_vars->Gkeyword_plugin)
1e5c5f69
LM
409#define PL_keyword_plugin_mutex (my_vars->Gkeyword_plugin_mutex)
410#define PL_Gkeyword_plugin_mutex (my_vars->Gkeyword_plugin_mutex)
49d7d366
KW
411#define PL_lc_numeric_mutex (my_vars->Glc_numeric_mutex)
412#define PL_Glc_numeric_mutex (my_vars->Glc_numeric_mutex)
929e1213
KW
413#define PL_locale_mutex (my_vars->Glocale_mutex)
414#define PL_Glocale_mutex (my_vars->Glocale_mutex)
27da23d5
JH
415#define PL_malloc_mutex (my_vars->Gmalloc_mutex)
416#define PL_Gmalloc_mutex (my_vars->Gmalloc_mutex)
417#define PL_mmap_page_size (my_vars->Gmmap_page_size)
418#define PL_Gmmap_page_size (my_vars->Gmmap_page_size)
f16dd614
DM
419#define PL_my_ctx_mutex (my_vars->Gmy_ctx_mutex)
420#define PL_Gmy_ctx_mutex (my_vars->Gmy_ctx_mutex)
421#define PL_my_cxt_index (my_vars->Gmy_cxt_index)
422#define PL_Gmy_cxt_index (my_vars->Gmy_cxt_index)
27da23d5
JH
423#define PL_op_mutex (my_vars->Gop_mutex)
424#define PL_Gop_mutex (my_vars->Gop_mutex)
425#define PL_op_seq (my_vars->Gop_seq)
426#define PL_Gop_seq (my_vars->Gop_seq)
427#define PL_op_sequence (my_vars->Gop_sequence)
428#define PL_Gop_sequence (my_vars->Gop_sequence)
27da23d5
JH
429#define PL_perlio_debug_fd (my_vars->Gperlio_debug_fd)
430#define PL_Gperlio_debug_fd (my_vars->Gperlio_debug_fd)
431#define PL_perlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
432#define PL_Gperlio_fd_refcnt (my_vars->Gperlio_fd_refcnt)
22c96fc1
NC
433#define PL_perlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
434#define PL_Gperlio_fd_refcnt_size (my_vars->Gperlio_fd_refcnt_size)
fa36c1f0
RGS
435#define PL_perlio_mutex (my_vars->Gperlio_mutex)
436#define PL_Gperlio_mutex (my_vars->Gperlio_mutex)
483efd0a
CB
437#ifdef __VMS
438#define PL_perllib_sep (my_vars->Gperllib_sep)
439#define PL_Gperllib_sep (my_vars->Gperllib_sep)
440#endif
27da23d5
JH
441#define PL_ppaddr (my_vars->Gppaddr)
442#define PL_Gppaddr (my_vars->Gppaddr)
0447859b 443#ifdef OS2
27da23d5
JH
444#define PL_sh_path (my_vars->Gsh_path)
445#define PL_Gsh_path (my_vars->Gsh_path)
0447859b 446#endif
27da23d5
JH
447#define PL_sig_defaulting (my_vars->Gsig_defaulting)
448#define PL_Gsig_defaulting (my_vars->Gsig_defaulting)
449#define PL_sig_handlers_initted (my_vars->Gsig_handlers_initted)
450#define PL_Gsig_handlers_initted (my_vars->Gsig_handlers_initted)
451#define PL_sig_ignoring (my_vars->Gsig_ignoring)
452#define PL_Gsig_ignoring (my_vars->Gsig_ignoring)
27da23d5
JH
453#define PL_sig_trapped (my_vars->Gsig_trapped)
454#define PL_Gsig_trapped (my_vars->Gsig_trapped)
455#define PL_sigfpe_saved (my_vars->Gsigfpe_saved)
456#define PL_Gsigfpe_saved (my_vars->Gsigfpe_saved)
457#define PL_sv_placeholder (my_vars->Gsv_placeholder)
458#define PL_Gsv_placeholder (my_vars->Gsv_placeholder)
459#define PL_thr_key (my_vars->Gthr_key)
460#define PL_Gthr_key (my_vars->Gthr_key)
461#define PL_timesbase (my_vars->Gtimesbase)
462#define PL_Gtimesbase (my_vars->Gtimesbase)
463#define PL_use_safe_putenv (my_vars->Guse_safe_putenv)
464#define PL_Guse_safe_putenv (my_vars->Guse_safe_putenv)
c301d606
DM
465#define PL_veto_cleanup (my_vars->Gveto_cleanup)
466#define PL_Gveto_cleanup (my_vars->Gveto_cleanup)
27da23d5
JH
467#define PL_watch_pvx (my_vars->Gwatch_pvx)
468#define PL_Gwatch_pvx (my_vars->Gwatch_pvx)
22239a37 469
22239a37
NIS
470#endif /* PERL_GLOBAL_STRUCT */
471
37442d52 472/* ex: set ro: */