home *** CD-ROM | disk | FTP | other *** search
/ PC Professionell 2006 December / PCpro_2006_12.ISO / ossdvd / server / Perl2 / lib / core / perlvars.h < prev    next >
Encoding:
Text File  |  2002-06-19  |  2.2 KB  |  61 lines

  1. /*    perlvars.h
  2.  *
  3.  *    Copyright (c) 1997-2002, Larry Wall
  4.  *
  5.  *    You may distribute under the terms of either the GNU General Public
  6.  *    License or the Artistic License, as specified in the README file.
  7.  *
  8.  */
  9.  
  10. /****************/
  11. /* Truly global */
  12. /****************/
  13.  
  14. /* Don't forget to re-run embed.pl to propagate changes! */
  15.  
  16. /* This file describes the "global" variables used by perl
  17.  * This used to be in perl.h directly but we want to abstract out into
  18.  * distinct files which are per-thread, per-interpreter or really global,
  19.  * and how they're initialized.
  20.  *
  21.  * The 'G' prefix is only needed for vars that need appropriate #defines
  22.  * generated in embed*.h.  Such symbols are also used to generate
  23.  * the appropriate export list for win32. */
  24.  
  25. /* global state */
  26. PERLVAR(Gcurinterp,    PerlInterpreter *)
  27.                     /* currently running interpreter
  28.                      * (initial parent interpreter under
  29.                      * useithreads) */
  30. #if defined(USE_5005THREADS) || defined(USE_ITHREADS)
  31. PERLVAR(Gthr_key,    perl_key)    /* key to retrieve per-thread struct */
  32. #endif
  33.  
  34. /* constants (these are not literals to facilitate pointer comparisons) */
  35. PERLVARIC(GYes,        char *, "1")
  36. PERLVARIC(GNo,        char *, "")
  37. PERLVARIC(Ghexdigit,    char *, "0123456789abcdef0123456789ABCDEF")
  38. PERLVARIC(Gpatleave,    char *, "\\.^$@dDwWsSbB+*?|()-nrtfeaxc0123456789[{]}")
  39.  
  40. /* XXX does anyone even use this? */
  41. PERLVARI(Gdo_undump,    bool,    FALSE)    /* -u or dump seen? */
  42.  
  43. #if defined(MYMALLOC) && (defined(USE_5005THREADS) || defined(USE_ITHREADS))
  44. PERLVAR(Gmalloc_mutex,    perl_mutex)    /* Mutex for malloc */
  45. #endif
  46.  
  47. #if defined(USE_ITHREADS)
  48. PERLVAR(Gop_mutex,    perl_mutex)    /* Mutex for op refcounting */
  49. #endif
  50.  
  51. /* Force inclusion of both runops options */
  52. PERLVARI(Grunops_std,    runops_proc_t,    MEMBER_TO_FPTR(Perl_runops_standard))
  53. PERLVARI(Grunops_dbg,    runops_proc_t,    MEMBER_TO_FPTR(Perl_runops_debug))
  54.  
  55. /* Hooks to shared SVs and locks. */
  56. PERLVARI(Gsharehook,    share_proc_t,    MEMBER_TO_FPTR(Perl_sv_nosharing))
  57. PERLVARI(Glockhook,    share_proc_t,    MEMBER_TO_FPTR(Perl_sv_nolocking))
  58. PERLVARI(Gunlockhook,    share_proc_t,    MEMBER_TO_FPTR(Perl_sv_nounlocking))
  59. PERLVARI(Gthreadhook,    thrhook_proc_t,    MEMBER_TO_FPTR(Perl_nothreadhook))
  60.  
  61.