[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/CORE/ -> intrpvar.h (source)

   1  /*   intrpvar.h 
   2   *
   3   *    Copyright (C) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
   4   *    2006, 2007
   5   *    by Larry Wall and others
   6   *
   7   *    You may distribute under the terms of either the GNU General Public
   8   *    License or the Artistic License, as specified in the README file.
   9   *
  10   */
  11  
  12  /*
  13  =head1 Per-Interpreter Variables
  14  */
  15  
  16  /* These variables are per-interpreter in threaded/multiplicity builds,
  17   * global otherwise.
  18  
  19   * Don't forget to re-run embed.pl to propagate changes! */
  20  
  21  /* New variables must be added to the very end for binary compatibility.
  22   * XSUB.h provides wrapper functions via perlapi.h that make this
  23   * irrelevant, but not all code may be expected to #include XSUB.h. */
  24  
  25  /* Don't forget to add your variable also to perl_clone()! */
  26  
  27  /* The 'I' prefix is only needed for vars that need appropriate #defines
  28   * generated when built with or without MULTIPLICITY.  It is also used
  29   * to generate the appropriate export list for win32.
  30   *
  31   * When building without MULTIPLICITY, these variables will be truly global.
  32   *
  33   * Important ones in the first cache line (if alignment is done right) */
  34  
  35  PERLVAR(Istack_sp,    SV **)        /* top of the stack */
  36  #ifdef OP_IN_REGISTER
  37  PERLVAR(Iopsave,    OP *)
  38  #else
  39  PERLVAR(Iop,        OP *)        /* currently executing op */
  40  #endif
  41  PERLVAR(Icurpad,    SV **)        /* active pad (lexicals+tmps) */
  42  
  43  PERLVAR(Istack_base,    SV **)
  44  PERLVAR(Istack_max,    SV **)
  45  
  46  PERLVAR(Iscopestack,    I32 *)        /* scopes we've ENTERed */
  47  PERLVAR(Iscopestack_ix,    I32)
  48  PERLVAR(Iscopestack_max,I32)
  49  
  50  PERLVAR(Isavestack,    ANY *)        /* items that need to be restored when
  51                         LEAVEing scopes we've ENTERed */
  52  PERLVAR(Isavestack_ix,    I32)
  53  PERLVAR(Isavestack_max,    I32)
  54  
  55  PERLVAR(Itmps_stack,    SV **)        /* mortals we've made */
  56  PERLVARI(Itmps_ix,    I32,    -1)
  57  PERLVARI(Itmps_floor,    I32,    -1)
  58  PERLVAR(Itmps_max,    I32)
  59  PERLVAR(Imodcount,    I32)        /* how much mod()ification in
  60                         assignment? */
  61  
  62  PERLVAR(Imarkstack,    I32 *)        /* stack_sp locations we're
  63                         remembering */
  64  PERLVAR(Imarkstack_ptr,    I32 *)
  65  PERLVAR(Imarkstack_max,    I32 *)
  66  
  67  PERLVAR(ISv,        SV *)        /* used to hold temporary values */
  68  PERLVAR(IXpv,        XPV *)        /* used to hold temporary values */
  69  
  70  /*
  71  =for apidoc Amn|STRLEN|PL_na
  72  
  73  A convenience variable which is typically used with C<SvPV> when one
  74  doesn't care about the length of the string.  It is usually more efficient
  75  to either declare a local variable and use that instead or to use the
  76  C<SvPV_nolen> macro.
  77  
  78  =cut
  79  */
  80  
  81  PERLVAR(Ina,        STRLEN)        /* for use in SvPV when length is
  82                         Not Applicable */
  83  
  84  /* stat stuff */
  85  PERLVAR(Istatbuf,    Stat_t)
  86  PERLVAR(Istatcache,    Stat_t)        /* _ */
  87  PERLVAR(Istatgv,    GV *)
  88  PERLVARI(Istatname,    SV *,    NULL)
  89  
  90  #ifdef HAS_TIMES
  91  PERLVAR(Itimesbuf,    struct tms)
  92  #endif
  93  
  94  /* Fields used by magic variables such as $@, $/ and so on */
  95  PERLVAR(Icurpm,        PMOP *)        /* what to do \ interps in REs from */
  96  
  97  /*
  98  =for apidoc mn|SV*|PL_rs
  99  
 100  The input record separator - C<$/> in Perl space.
 101  
 102  =for apidoc mn|GV*|PL_last_in_gv
 103  
 104  The GV which was last used for a filehandle input operation. (C<< <FH> >>)
 105  
 106  =for apidoc mn|SV*|PL_ofs_sv
 107  
 108  The output field separator - C<$,> in Perl space.
 109  
 110  =cut
 111  */
 112  
 113  PERLVAR(Irs,        SV *)        /* input record separator $/ */
 114  PERLVAR(Ilast_in_gv,    GV *)        /* GV used in last <FH> */
 115  PERLVAR(Iofs_sv,    SV *)        /* output field separator $, */
 116  PERLVAR(Idefoutgv,    GV *)        /* default FH for output */
 117  PERLVARI(Ichopset,    const char *, " \n-")    /* $: */
 118  PERLVAR(Iformtarget,    SV *)
 119  PERLVAR(Ibodytarget,    SV *)
 120  PERLVAR(Itoptarget,    SV *)
 121  
 122  /* Stashes */
 123  PERLVAR(Idefstash,    HV *)        /* main symbol table */
 124  PERLVAR(Icurstash,    HV *)        /* symbol table for current package */
 125  
 126  PERLVAR(Irestartop,    OP *)        /* propagating an error from croak? */
 127  PERLVAR(Icurcop,    COP * VOL)
 128  PERLVAR(Icurstack,    AV *)        /* THE STACK */
 129  PERLVAR(Icurstackinfo,    PERL_SI *)    /* current stack + context */
 130  PERLVAR(Imainstack,    AV *)        /* the stack when nothing funny is
 131                         happening */
 132  
 133  PERLVAR(Itop_env,    JMPENV *)    /* ptr to current sigjmp environment */
 134  PERLVAR(Istart_env,    JMPENV)        /* empty startup sigjmp environment */
 135  PERLVARI(Ierrors,    SV *,    NULL)    /* outstanding queued errors */
 136  
 137  /* statics "owned" by various functions */
 138  PERLVAR(Ihv_fetch_ent_mh, HE*)        /* owned by hv_fetch_ent() */
 139  
 140  PERLVAR(Ilastgotoprobe,    OP*)        /* from pp_ctl.c */
 141  
 142  /* sort stuff */
 143  PERLVAR(Isortcop,    OP *)        /* user defined sort routine */
 144  PERLVAR(Isortstash,    HV *)        /* which is in some package or other */
 145  PERLVAR(Ifirstgv,    GV *)        /* $a */
 146  PERLVAR(Isecondgv,    GV *)        /* $b */
 147  
 148  /* float buffer */
 149  PERLVAR(Iefloatbuf,    char *)
 150  PERLVAR(Iefloatsize,    STRLEN)
 151  
 152  /* regex stuff */
 153  
 154  PERLVAR(Iscreamfirst,    I32 *)
 155  PERLVAR(Iscreamnext,    I32 *)
 156  PERLVAR(Ilastscream,    SV *)
 157  
 158  PERLVAR(Ireg_state,    struct re_save_state)
 159  
 160  PERLVAR(Iregdummy,    regnode)    /* from regcomp.c */
 161  
 162  PERLVARI(Idumpindent,    U16,    4)    /* number of blanks per dump
 163                         indentation level */
 164  
 165  
 166  PERLVAR(Iutf8locale,    bool)        /* utf8 locale detected */
 167  PERLVARI(Irehash_seed_set, bool, FALSE)    /* 582 hash initialized? */
 168  
 169  PERLVARA(Icolors,6,    char *)        /* from regcomp.c */
 170  
 171  PERLVARI(Ipeepp,    peep_t, MEMBER_TO_FPTR(Perl_peep))
 172                      /* Pointer to peephole optimizer */
 173  
 174  PERLVARI(Imaxscream,    I32,    -1)
 175  PERLVARI(Ireginterp_cnt,I32,     0)    /* Whether "Regexp" was interpolated. */
 176  PERLVARI(Iwatchaddr,    char **, 0)
 177  PERLVAR(Iwatchok,    char *)
 178  
 179  /* the currently active slab in a chain of slabs of regmatch states,
 180   * and the currently active state within that slab */
 181  
 182  PERLVARI(Iregmatch_slab, regmatch_slab *,    NULL)
 183  PERLVAR(Iregmatch_state, regmatch_state *)
 184  
 185  /* Put anything new that is pointer aligned here. */
 186  
 187  PERLVAR(Idelaymagic,    U16)        /* ($<,$>) = ... */
 188  PERLVAR(Ilocalizing,    U8)        /* are we processing a local() list? */
 189  PERLVAR(Icolorset,    bool)        /* from regcomp.c */
 190  PERLVARI(Idirty,    bool, FALSE)    /* in the middle of tearing things
 191                         down? */
 192  PERLVAR(Iin_eval,    VOL U8)        /* trap "fatal" errors? */
 193  PERLVAR(Itainted,    bool)        /* using variables controlled by $< */
 194  
 195  /* This value may be set when embedding for full cleanup  */
 196  /* 0=none, 1=full, 2=full with checks */
 197  /* mod_perl is special, and also assigns a meaning -1 */
 198  PERLVARI(Iperl_destruct_level,    signed char,    0)
 199  
 200  PERLVAR(Iperldb,    U32)
 201  
 202  /* pseudo environmental stuff */
 203  PERLVAR(Iorigargc,    int)
 204  PERLVAR(Iorigargv,    char **)
 205  PERLVAR(Ienvgv,        GV *)
 206  PERLVAR(Iincgv,        GV *)
 207  PERLVAR(Ihintgv,    GV *)
 208  PERLVAR(Iorigfilename,    char *)
 209  PERLVAR(Idiehook,    SV *)
 210  PERLVAR(Iwarnhook,    SV *)
 211  
 212  /* switches */
 213  PERLVAR(Ipatchlevel,    SV *)
 214  PERLVAR(Ilocalpatches,    const char * const *)
 215  PERLVARI(Isplitstr,    const char *, " ")
 216  
 217  PERLVAR(Iminus_c,    bool)
 218  PERLVAR(Ipreprocess,    bool)
 219  PERLVAR(Iminus_n,    bool)
 220  PERLVAR(Iminus_p,    bool)
 221  PERLVAR(Iminus_l,    bool)
 222  PERLVAR(Iminus_a,    bool)
 223  PERLVAR(Iminus_F,    bool)
 224  PERLVAR(Idoswitches,    bool)
 225  
 226  PERLVAR(Iminus_E,    bool)
 227  
 228  /*
 229  
 230  =for apidoc mn|bool|PL_dowarn
 231  
 232  The C variable which corresponds to Perl's $^W warning variable.
 233  
 234  =cut
 235  */
 236  
 237  PERLVAR(Idowarn,    U8)
 238  PERLVAR(Idoextract,    bool)
 239  PERLVAR(Isawampersand,    bool)        /* must save all match strings */
 240  PERLVAR(Iunsafe,    bool)
 241  PERLVAR(Iexit_flags,    U8)        /* was exit() unexpected, etc. */
 242  PERLVAR(Isrand_called,    bool)
 243  /* Part of internal state, but makes the 16th 1 byte variable in a row.  */
 244  PERLVAR(Itainting,    bool)        /* doing taint checks */
 245  PERLVAR(Iinplace,    char *)
 246  PERLVAR(Ie_script,    SV *)
 247  
 248  /* magical thingies */
 249  PERLVAR(Ibasetime,    Time_t)        /* $^T */
 250  PERLVAR(Iformfeed,    SV *)        /* $^L */
 251  
 252  
 253  PERLVARI(Imaxsysfd,    I32,    MAXSYSFD)
 254                      /* top fd to pass to subprocesses */
 255  PERLVAR(Istatusvalue,    I32)        /* $? */
 256  #ifdef VMS
 257  PERLVAR(Istatusvalue_vms,U32)
 258  #else
 259  PERLVAR(Istatusvalue_posix,I32)
 260  #endif
 261  
 262  PERLVARI(Isig_pending, int,0)           /* Number if highest signal pending */
 263  PERLVAR(Ipsig_pend, int *)        /* per-signal "count" of pending */
 264  
 265  /* shortcuts to various I/O objects */
 266  PERLVAR(Istdingv,    GV *)
 267  PERLVAR(Istderrgv,    GV *)
 268  PERLVAR(Idefgv,        GV *)
 269  PERLVAR(Iargvgv,    GV *)
 270  PERLVAR(Iargvoutgv,    GV *)
 271  PERLVAR(Iargvout_stack,    AV *)
 272  
 273  /* shortcuts to regexp stuff */
 274  PERLVAR(Ireplgv,    GV *)
 275  
 276  /* shortcuts to misc objects */
 277  PERLVAR(Ierrgv,        GV *)
 278  
 279  /* shortcuts to debugging objects */
 280  PERLVAR(IDBgv,        GV *)
 281  PERLVAR(IDBline,    GV *)
 282  
 283  /*
 284  =for apidoc mn|GV *|PL_DBsub
 285  When Perl is run in debugging mode, with the B<-d> switch, this GV contains
 286  the SV which holds the name of the sub being debugged.  This is the C
 287  variable which corresponds to Perl's $DB::sub variable.  See
 288  C<PL_DBsingle>.
 289  
 290  =for apidoc mn|SV *|PL_DBsingle
 291  When Perl is run in debugging mode, with the B<-d> switch, this SV is a
 292  boolean which indicates whether subs are being single-stepped.
 293  Single-stepping is automatically turned on after every step.  This is the C
 294  variable which corresponds to Perl's $DB::single variable.  See
 295  C<PL_DBsub>.
 296  
 297  =for apidoc mn|SV *|PL_DBtrace
 298  Trace variable used when Perl is run in debugging mode, with the B<-d>
 299  switch.  This is the C variable which corresponds to Perl's $DB::trace
 300  variable.  See C<PL_DBsingle>.
 301  
 302  =cut
 303  */
 304  
 305  PERLVAR(IDBsub,        GV *)
 306  PERLVAR(IDBsingle,    SV *)
 307  PERLVAR(IDBtrace,    SV *)
 308  PERLVAR(IDBsignal,    SV *)
 309  PERLVAR(Idbargs,    AV *)        /* args to call listed by caller function */
 310  
 311  /* symbol tables */
 312  PERLVAR(Idebstash,    HV *)        /* symbol table for perldb package */
 313  PERLVAR(Iglobalstash,    HV *)        /* global keyword overrides imported here */
 314  PERLVAR(Icurstname,    SV *)        /* name of current package */
 315  PERLVAR(Ibeginav,    AV *)        /* names of BEGIN subroutines */
 316  PERLVAR(Iendav,        AV *)        /* names of END subroutines */
 317  PERLVAR(Iunitcheckav,    AV *)        /* names of UNITCHECK subroutines */
 318  PERLVAR(Icheckav,    AV *)        /* names of CHECK subroutines */
 319  PERLVAR(Iinitav,    AV *)        /* names of INIT subroutines */
 320  PERLVAR(Istrtab,    HV *)        /* shared string table */
 321  PERLVARI(Isub_generation,U32,1)        /* incr to invalidate method cache */
 322  
 323  /* funky return mechanisms */
 324  PERLVAR(Iforkprocess,    int)        /* so do_open |- can return proc# */
 325  
 326  /* memory management */
 327  PERLVAR(Isv_count,    I32)        /* how many SV* are currently allocated */
 328  PERLVAR(Isv_objcount,    I32)        /* how many objects are currently allocated */
 329  PERLVAR(Isv_root,    SV*)        /* storage for SVs belonging to interp */
 330  PERLVAR(Isv_arenaroot,    SV*)        /* list of areas for garbage collection */
 331  
 332  /* subprocess state */
 333  PERLVAR(Ifdpid,        AV *)        /* keep fd-to-pid mappings for my_popen */
 334  
 335  /* internal state */
 336  PERLVARI(Iop_mask,    char *,    NULL)    /* masked operations for safe evals */
 337  
 338  /* current interpreter roots */
 339  PERLVAR(Imain_cv,    CV *)
 340  PERLVAR(Imain_root,    OP *)
 341  PERLVAR(Imain_start,    OP *)
 342  PERLVAR(Ieval_root,    OP *)
 343  PERLVAR(Ieval_start,    OP *)
 344  
 345  /* runtime control stuff */
 346  PERLVARI(Icurcopdb,    COP *,    NULL)
 347  
 348  PERLVAR(Ifilemode,    int)        /* so nextargv() can preserve mode */
 349  PERLVAR(Ilastfd,    int)        /* what to preserve mode on */
 350  PERLVAR(Ioldname,    char *)        /* what to preserve mode on */
 351  PERLVAR(IArgv,        char **)    /* stuff to free from do_aexec, vfork safe */
 352  PERLVAR(ICmd,        char *)        /* stuff to free from do_aexec, vfork safe */
 353  /* Elements in this array have ';' appended and are injected as a single line
 354     into the tokeniser. You can't put any (literal) newlines into any program
 355     you stuff in into this array, as the point where it's injected is expecting
 356     a single physical line. */
 357  PERLVAR(Ipreambleav,    AV *)
 358  PERLVAR(Imess_sv,    SV *)
 359  PERLVAR(Iors_sv,    SV *)        /* output record separator $\ */
 360  /* statics moved here for shared library purposes */
 361  PERLVARI(Igensym,    I32,    0)    /* next symbol for getsym() to define */
 362  PERLVARI(Icv_has_eval, bool, FALSE) /* PL_compcv includes an entereval or similar */
 363  PERLVAR(Itaint_warn,    bool)      /* taint warns instead of dying */
 364  PERLVARI(Ilaststype,    U16,    OP_STAT)
 365  PERLVARI(Ilaststatval,    int,    -1)
 366  
 367  /* interpreter atexit processing */
 368  PERLVARI(Iexitlistlen,    I32, 0)        /* length of same */
 369  PERLVARI(Iexitlist,    PerlExitListEntry *, NULL)
 370                      /* list of exit functions */
 371  
 372  /*
 373  =for apidoc Amn|HV*|PL_modglobal
 374  
 375  C<PL_modglobal> is a general purpose, interpreter global HV for use by
 376  extensions that need to keep information on a per-interpreter basis.
 377  In a pinch, it can also be used as a symbol table for extensions
 378  to share data among each other.  It is a good idea to use keys
 379  prefixed by the package name of the extension that owns the data.
 380  
 381  =cut
 382  */
 383  
 384  PERLVAR(Imodglobal,    HV *)        /* per-interp module data */
 385  
 386  /* these used to be in global before 5.004_68 */
 387  PERLVARI(Iprofiledata,    U32 *,    NULL)    /* table of ops, counts */
 388  
 389  PERLVAR(Icompiling,    COP)        /* compiling/done executing marker */
 390  
 391  PERLVAR(Icompcv,    CV *)        /* currently compiling subroutine */
 392  PERLVAR(Icomppad,    AV *)        /* storage for lexically scoped temporaries */
 393  PERLVAR(Icomppad_name,    AV *)        /* variable names for "my" variables */
 394  PERLVAR(Icomppad_name_fill,    I32)    /* last "introduced" variable offset */
 395  PERLVAR(Icomppad_name_floor,    I32)    /* start of vars in innermost block */
 396  
 397  #ifdef HAVE_INTERP_INTERN
 398  PERLVAR(Isys_intern,    struct interp_intern)
 399                      /* platform internals */
 400  #endif
 401  
 402  /* more statics moved here */
 403  PERLVAR(IDBcv,        CV *)        /* from perl.c */
 404  PERLVARI(Igeneration,    int,    100)    /* from op.c */
 405  
 406  PERLVARI(Iin_clean_objs,bool,    FALSE)    /* from sv.c */
 407  PERLVARI(Iin_clean_all,    bool,    FALSE)    /* from sv.c */
 408  PERLVAR(Inomemok,    bool)        /* let malloc context handle nomem */
 409  PERLVARI(Isavebegin,     bool,    FALSE)    /* save BEGINs for compiler    */
 410  
 411  PERLVAR(Iuid,        Uid_t)        /* current real user id */
 412  PERLVAR(Ieuid,        Uid_t)        /* current effective user id */
 413  PERLVAR(Igid,        Gid_t)        /* current real group id */
 414  PERLVAR(Iegid,        Gid_t)        /* current effective group id */
 415  PERLVARI(Ian,        U32,    0)    /* malloc sequence number */
 416  PERLVARI(Icop_seqmax,    U32,    0)    /* statement sequence number */
 417  PERLVARI(Ievalseq,    U32,    0)    /* eval sequence number */
 418  PERLVAR(Iorigalen,    U32)
 419  PERLVAR(Iorigenviron,    char **)
 420  #ifdef PERL_USES_PL_PIDSTATUS
 421  PERLVAR(Ipidstatus,    HV *)        /* pid-to-status mappings for waitpid */
 422  #endif
 423  PERLVAR(Iosname,    char *)        /* operating system */
 424  
 425  PERLVAR(Isighandlerp,    Sighandler_t)
 426  
 427  PERLVARA(Ibody_roots,    PERL_ARENA_ROOTS_SIZE, void*) /* array of body roots */
 428  
 429  PERLVAR(Inice_chunk,    char *)        /* a nice chunk of memory to reuse */
 430  PERLVAR(Inice_chunk_size,    U32)    /* how nice the chunk of memory is */
 431  
 432  PERLVARI(Imaxo,    int,    MAXO)        /* maximum number of ops */
 433  
 434  PERLVARI(Irunops,    runops_proc_t,    MEMBER_TO_FPTR(RUNOPS_DEFAULT))
 435  
 436  /*
 437  =for apidoc Amn|SV|PL_sv_undef
 438  This is the C<undef> SV.  Always refer to this as C<&PL_sv_undef>.
 439  
 440  =for apidoc Amn|SV|PL_sv_no
 441  This is the C<false> SV.  See C<PL_sv_yes>.  Always refer to this as
 442  C<&PL_sv_no>.
 443  
 444  =for apidoc Amn|SV|PL_sv_yes
 445  This is the C<true> SV.  See C<PL_sv_no>.  Always refer to this as
 446  C<&PL_sv_yes>.
 447  
 448  =cut
 449  */
 450  
 451  PERLVAR(Isv_undef,    SV)
 452  PERLVAR(Isv_no,        SV)
 453  PERLVAR(Isv_yes,    SV)
 454  
 455  PERLVAR(Isubname,    SV *)        /* name of current subroutine */
 456  
 457  PERLVAR(Isubline,    I32)        /* line this subroutine began on */
 458  PERLVAR(Imin_intro_pending,    I32)    /* start of vars to introduce */
 459  
 460  PERLVAR(Imax_intro_pending,    I32)    /* end of vars to introduce */
 461  PERLVAR(Ipadix,        I32)        /* max used index in current "register" pad */
 462  
 463  PERLVAR(Ipadix_floor,    I32)        /* how low may inner block reset padix */
 464  PERLVAR(Ipad_reset_pending,    I32)    /* reset pad on next attempted alloc */
 465  
 466  PERLVAR(Ihints,        U32)        /* pragma-tic compile-time flags */
 467  
 468  PERLVAR(Idebug,        VOL U32)    /* flags given to -D switch */
 469  
 470  PERLVARI(Iamagic_generation,    long,    0)
 471  
 472  #ifdef USE_LOCALE_COLLATE
 473  PERLVAR(Icollation_name,char *)        /* Name of current collation */
 474  PERLVAR(Icollxfrm_base,    Size_t)        /* Basic overhead in *xfrm() */
 475  PERLVARI(Icollxfrm_mult,Size_t,    2)    /* Expansion factor in *xfrm() */
 476  PERLVARI(Icollation_ix,    U32,    0)    /* Collation generation index */
 477  PERLVARI(Icollation_standard, bool,    TRUE)
 478                      /* Assume simple collation */
 479  #endif /* USE_LOCALE_COLLATE */
 480  
 481  
 482  #if defined (PERL_UTF8_CACHE_ASSERT) || defined (DEBUGGING)
 483  #  define PERL___I -1
 484  #else
 485  #  define PERL___I 1
 486  #endif
 487  PERLVARI(Iutf8cache, I8, PERL___I)    /* Is the utf8 caching code enabled? */
 488  #undef PERL___I
 489  
 490  
 491  #ifdef USE_LOCALE_NUMERIC
 492  
 493  PERLVARI(Inumeric_standard,    bool,    TRUE)
 494                      /* Assume simple numerics */
 495  PERLVARI(Inumeric_local,    bool,    TRUE)
 496                      /* Assume local numerics */
 497  PERLVAR(Inumeric_name,    char *)        /* Name of current numeric locale */
 498  #endif /* !USE_LOCALE_NUMERIC */
 499  
 500  /* utf8 character classes */
 501  PERLVAR(Iutf8_alnum,    SV *)
 502  PERLVAR(Iutf8_alnumc,    SV *)
 503  PERLVAR(Iutf8_ascii,    SV *)
 504  PERLVAR(Iutf8_alpha,    SV *)
 505  PERLVAR(Iutf8_space,    SV *)
 506  PERLVAR(Iutf8_cntrl,    SV *)
 507  PERLVAR(Iutf8_graph,    SV *)
 508  PERLVAR(Iutf8_digit,    SV *)
 509  PERLVAR(Iutf8_upper,    SV *)
 510  PERLVAR(Iutf8_lower,    SV *)
 511  PERLVAR(Iutf8_print,    SV *)
 512  PERLVAR(Iutf8_punct,    SV *)
 513  PERLVAR(Iutf8_xdigit,    SV *)
 514  PERLVAR(Iutf8_mark,    SV *)
 515  PERLVAR(Iutf8_toupper,    SV *)
 516  PERLVAR(Iutf8_totitle,    SV *)
 517  PERLVAR(Iutf8_tolower,    SV *)
 518  PERLVAR(Iutf8_tofold,    SV *)
 519  PERLVAR(Ilast_swash_hv,    HV *)
 520  PERLVAR(Ilast_swash_tmps,    U8 *)
 521  PERLVAR(Ilast_swash_slen,    STRLEN)
 522  PERLVARA(Ilast_swash_key,10,    U8)
 523  PERLVAR(Ilast_swash_klen,    U8)    /* Only needs to store 0-10  */
 524  
 525  #ifdef FCRYPT
 526  PERLVARI(Icryptseen,    bool,    FALSE)    /* has fast crypt() been initialized? */
 527  #endif
 528  
 529  PERLVARI(Iglob_index,    int,    0)
 530  
 531  
 532  PERLVAR(Iparser,    yy_parser *)    /* current parser state */
 533  
 534  PERLVAR(Ibitcount,    char *)
 535  
 536  PERLVAR(Ipsig_ptr, SV**)
 537  PERLVAR(Ipsig_name, SV**)
 538  
 539  #if defined(PERL_IMPLICIT_SYS)
 540  PERLVAR(IMem,        struct IPerlMem*)
 541  PERLVAR(IMemShared,    struct IPerlMem*)
 542  PERLVAR(IMemParse,    struct IPerlMem*)
 543  PERLVAR(IEnv,        struct IPerlEnv*)
 544  PERLVAR(IStdIO,        struct IPerlStdIO*)
 545  PERLVAR(ILIO,        struct IPerlLIO*)
 546  PERLVAR(IDir,        struct IPerlDir*)
 547  PERLVAR(ISock,        struct IPerlSock*)
 548  PERLVAR(IProc,        struct IPerlProc*)
 549  #endif
 550  
 551  PERLVAR(Iptr_table,    PTR_TBL_t*)
 552  PERLVARI(Ibeginav_save, AV*, NULL)    /* save BEGIN{}s when compiling */
 553  
 554  PERLVAR(Ibody_arenas, void*) /* pointer to list of body-arenas */
 555  
 556  
 557  #ifdef USE_LOCALE_NUMERIC
 558  
 559  PERLVAR(Inumeric_radix_sv,    SV *)    /* The radix separator if not '.' */
 560  
 561  #endif
 562  
 563  #if defined(USE_ITHREADS)
 564  PERLVAR(Iregex_pad,     SV**)        /* All regex objects */
 565  PERLVAR(Iregex_padav,   AV*)        /* All regex objects */
 566  
 567  #endif
 568  
 569  #ifdef USE_REENTRANT_API
 570  PERLVAR(Ireentrant_buffer, REENTR*)    /* here we store the _r buffers */
 571  #endif
 572  
 573  PERLVAR(Icustom_op_names, HV*)  /* Names of user defined ops */
 574  PERLVAR(Icustom_op_descs, HV*)  /* Descriptions of user defined ops */
 575  
 576  #ifdef PERLIO_LAYERS
 577  PERLVARI(Iperlio, PerlIO *,NULL)
 578  PERLVARI(Iknown_layers, PerlIO_list_t *,NULL)
 579  PERLVARI(Idef_layerlist, PerlIO_list_t *,NULL)
 580  #endif
 581  
 582  PERLVARI(Iencoding,    SV*, NULL)        /* character encoding */
 583  
 584  PERLVAR(Idebug_pad,    struct perl_debug_pad)    /* always needed because of the re extension */
 585  
 586  PERLVAR(Iutf8_idstart,    SV *)
 587  PERLVAR(Iutf8_idcont,    SV *)
 588  
 589  PERLVAR(Isort_RealCmp,  SVCOMPARE_t)
 590  
 591  PERLVARI(Icheckav_save, AV*, NULL)    /* save CHECK{}s when compiling */
 592  PERLVARI(Iunitcheckav_save, AV*, NULL)    /* save UNITCHECK{}s when compiling */
 593  
 594  PERLVARI(Iclocktick, long, 0)    /* this many times() ticks in a second */
 595  
 596  PERLVARI(Iin_load_module, int, 0)    /* to prevent recursions in PerlIO_find_layer */
 597  
 598  PERLVAR(Iunicode, U32)    /* Unicode features: $ENV{PERL_UNICODE} or -C */
 599  
 600  PERLVAR(Isignals, U32)    /* Using which pre-5.8 signals */
 601  
 602  PERLVAR(Ireentrant_retint, int)    /* Integer return value from reentrant functions */
 603  
 604  PERLVAR(Istashcache,    HV *)        /* Cache to speed up S_method_common */
 605  
 606  /* Hooks to shared SVs and locks. */
 607  PERLVARI(Isharehook,    share_proc_t,    MEMBER_TO_FPTR(Perl_sv_nosharing))
 608  PERLVARI(Ilockhook,    share_proc_t,    MEMBER_TO_FPTR(Perl_sv_nosharing))
 609  #ifdef NO_MATHOMS
 610  #  define PERL_UNLOCK_HOOK Perl_sv_nosharing
 611  #else
 612  /* This reference ensures that the mathoms are linked with perl */
 613  #  define PERL_UNLOCK_HOOK Perl_sv_nounlocking
 614  #endif
 615  PERLVARI(Iunlockhook,    share_proc_t,    MEMBER_TO_FPTR(PERL_UNLOCK_HOOK))
 616  
 617  PERLVARI(Ithreadhook,    thrhook_proc_t,    MEMBER_TO_FPTR(Perl_nothreadhook))
 618  
 619  PERLVARI(Ihash_seed, UV, 0)        /* Hash initializer */
 620  
 621  PERLVARI(Irehash_seed, UV, 0)        /* 582 hash initializer */
 622  
 623  PERLVARI(Iisarev, HV*, NULL) /* Reverse map of @ISA dependencies */
 624  
 625  /* The last unconditional member of the interpreter structure when 5.10.0 was
 626     released. The offset of the end of this is baked into a global variable in 
 627     any shared perl library which will allow a sanity test in future perl
 628     releases.  */
 629  #define PERL_LAST_5_10_0_INTERP_MEMBER    Iisarev
 630  
 631  #ifdef PERL_IMPLICIT_CONTEXT
 632  PERLVARI(Imy_cxt_size, int, 0)        /* size of PL_my_cxt_list */
 633  PERLVARI(Imy_cxt_list, void **, NULL) /* per-module array of MY_CXT pointers */
 634  #  ifdef PERL_GLOBAL_STRUCT_PRIVATE
 635  PERLVARI(Imy_cxt_keys, const char **, NULL) /* per-module array of pointers to MY_CXT_KEY constants */
 636  #  endif
 637  #endif
 638  
 639  #ifdef PERL_TRACK_MEMPOOL
 640  /* For use with the memory debugging code in util.c  */
 641  PERLVAR(Imemory_debug_header, struct perl_memory_debug_header)
 642  #endif
 643  
 644  #ifdef DEBUG_LEAKING_SCALARS_FORK_DUMP
 645  /* File descriptor to talk to the child which dumps scalars.  */
 646  PERLVARI(Idumper_fd, int, -1)
 647  #endif
 648  
 649  /* Stores the PPID */
 650  #ifdef THREADS_HAVE_PIDS
 651  PERLVARI(Ippid,        IV,        0)
 652  #endif
 653  
 654  #ifdef PERL_MAD
 655  PERLVARI(Imadskills,    bool, FALSE)    /* preserve all syntactic info */
 656                      /* (MAD = Misc Attribute Decoration) */
 657  PERLVARI(Ixmlfp, PerlIO *,NULL)
 658  #endif
 659  
 660  #ifdef PL_OP_SLAB_ALLOC
 661  PERLVAR(IOpPtr,I32 **)
 662  PERLVARI(IOpSpace,I32,0)
 663  PERLVAR(IOpSlab,I32 *)
 664  #endif
 665  
 666  #ifdef PERL_DEBUG_READONLY_OPS
 667  PERLVARI(Islabs, I32**, NULL)    /* Array of slabs that have been allocated */
 668  PERLVARI(Islab_count, U32, 0)    /* Size of the array */
 669  #endif
 670  
 671  /* Can shared object be destroyed */
 672  PERLVARI(Idestroyhook, destroyable_proc_t, MEMBER_TO_FPTR(Perl_sv_destroyable))
 673  
 674  /* If you are adding a U8 or U16, check to see if there are 'Space' comments
 675   * above on where there are gaps which currently will be structure padding.  */
 676  
 677  /* Within a stable branch, new variables must be added to the very end, before
 678   * this comment, for binary compatibility (the offsets of the old members must
 679   *  not change).
 680   * (Don't forget to add your variable also to perl_clone()!)
 681   * XSUB.h provides wrapper functions via perlapi.h that make this
 682   * irrelevant, but not all code may be expected to #include XSUB.h.
 683   */


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1