]> git.sur5r.net Git - openldap/blob - servers/slapd/back-perl/perl_back.h
ITS#1646
[openldap] / servers / slapd / back-perl / perl_back.h
1 /* $OpenLDAP$ */
2 #ifndef PERL_BACK_H
3 #define PERL_BACK_H 1
4
5 LDAP_BEGIN_DECL
6
7 /*
8  * From Apache mod_perl: test for Perl version.[ja
9  */
10 #ifdef pTHX_
11 #define PERL_IS_5_6
12 #endif
13
14 #define EVAL_BUF_SIZE 500
15
16 #ifdef pTHX_
17 #define PERL_IS_5_6
18 #endif
19
20 extern ldap_pvt_thread_mutex_t  perl_interpreter_mutex;
21
22 #ifdef HAVE_WIN32_ASPERL
23 /* We should be using the PL_errgv, I think */
24 /* All the old style variables are prefixed with PL_ now */
25 # define errgv  PL_errgv
26 # define na     PL_na
27 #endif
28
29 #ifdef HAVE_WIN32_ASPERL 
30 /* pTHX is needed often now */
31 # define PERL_INTERPRETER                       my_perl
32 # define PERL_BACK_XS_INIT_PARAMS               pTHX
33 # define PERL_BACK_BOOT_DYNALOADER_PARAMS       pTHX, CV *cv
34 #else
35 # define PERL_INTERPRETER                       perl_interpreter
36 # define PERL_BACK_XS_INIT_PARAMS               void
37 # define PERL_BACK_BOOT_DYNALOADER_PARAMS       CV *cv
38 #endif
39
40 extern PerlInterpreter *PERL_INTERPRETER;
41
42
43 typedef struct perl_backend_instance {
44         char    *pb_module_name;
45         SV      *pb_obj_ref;
46         int     pb_filter_search_results;
47 } PerlBackend;
48
49 LDAP_END_DECL
50
51 #include "external.h"
52
53 #endif