File: eperl_perl5.h

package info (click to toggle)
wml 2.0.11-1
  • links: PTS
  • area: main
  • in suites: etch-m68k
  • size: 13,668 kB
  • ctags: 5,794
  • sloc: ansic: 54,590; sh: 17,145; perl: 14,812; makefile: 2,295; yacc: 445
file content (106 lines) | stat: -rw-r--r-- 3,328 bytes parent folder | download | duplicates (8)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
/*
**        ____           _ 
**    ___|  _ \ ___ _ __| |
**   / _ \ |_) / _ \ '__| |
**  |  __/  __/  __/ |  | |
**   \___|_|   \___|_|  |_|
** 
**  ePerl -- Embedded Perl 5 Language
**
**  ePerl interprets an ASCII file bristled with Perl 5 program statements
**  by evaluating the Perl 5 code while passing through the plain ASCII
**  data. It can operate both as a standard Unix filter for general file
**  generation tasks and as a powerful Webserver scripting language for
**  dynamic HTML page programming. 
**
**  ======================================================================
**
**  Copyright (c) 1996,1997,1998,1999 Ralf S. Engelschall <rse@engelschall.com>
**
**  This program is free software; it may be redistributed and/or modified
**  only under the terms of either the Artistic License or the GNU General
**  Public License, which may be found in the ePerl source distribution.
**  Look at the files ARTISTIC and COPYING or run ``eperl -l'' to receive
**  a built-in copy of both license files.
**
**  This program is distributed in the hope that it will be useful, but
**  WITHOUT ANY WARRANTY; without even the implied warranty of
**  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See either the
**  Artistic License or the GNU General Public License for more details.
**
**  ======================================================================
**
**  eperl_perl5.h -- Perl 5 header file mangling
*/
#ifndef EPERL_PERL5_H
#define EPERL_PERL5_H 1


/*  first include the standard Perl 
    includes designed for embedding   */
#define PERL_NO_GET_CONTEXT     /* for efficiency reasons, see perlguts(3) */
#include <EXTERN.h>
#include <perl.h>                 

#ifndef dTHR
#  ifdef WIN32
#       define dTHR extern int Perl___notused
#  else
#       define dTHR extern int errno
#  endif
#endif

#ifndef aTHX
#  define aTHX
#  define aTHX_
#  define pTHX void
#  define pTHX_
#endif

/*  define the I/O type string for verbosity */
#ifdef USE_PERLIO
#  ifdef USE_SFIO
#    define PERL_IO_LAYER_ID "PerlIO/SfIO"
#  else
#    define PERL_IO_LAYER_ID "PerlIO/StdIO"
#  endif
#else
#  define PERL_IO_LAYER_ID "Raw/StdIO"
#endif

#if (PERL_VERSION < 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION <= 5))
#  define PL_curstash curstash
#endif

#ifndef WITH_THR
#  define PL_defoutgv defoutgv
#endif

/*  
  Initialization of locales when building a new Perl interpreter.
     Perl 5.003 calls perl_init_i18nl14n
     Perl 5.004 and 5.005 call perl_init_i18nl10n
     In Perl 5.6.0 this routine is already called by perl_construct
*/
#ifndef perl_init_i18nl10n
#  define perl_init_i18nl10n perl_init_i18nl14n
#else
#  if (PERL_REVISION > 5) || ((PERL_REVISION == 5) && (PERL_VERSION >= 6))
#    undef perl_init_i18nl10n
#    define perl_init_i18nl10n(a)
#  endif
#endif

/* eperl_perl5.c */
/*  These prototypes can no longer be included in eperl_proto.h because
    pTHX argument has been introduced in Perl 5.6.0  */
extern void Perl5_XSInit(pTHX);
extern void Perl5_ForceUnbufferedStdout(pTHX);
extern char **Perl5_SetEnvVar(char **env, char *str);
extern void Perl5_SetScalar(pTHX_ char *pname, char *vname, char *vvalue);
extern char *Perl5_RememberedScalars[1024];
extern void Perl5_RememberScalar(char *str);
extern void Perl5_SetRememberedScalars(pTHX);

#endif /* EPERL_PERL5_H */
/*EOF*/