perl_back.h revision 1.1.1.1
1/* $OpenLDAP: pkg/ldap/servers/slapd/back-perl/perl_back.h,v 1.15.2.3 2008/02/11 23:26:47 kurt Exp $ */ 2/* This work is part of OpenLDAP Software <http://www.openldap.org/>. 3 * 4 * Copyright 1999-2008 The OpenLDAP Foundation. 5 * Portions Copyright 1999 John C. Quillan. 6 * Portions Copyright 2002 myinternet Limited. 7 * All rights reserved. 8 * 9 * Redistribution and use in source and binary forms, with or without 10 * modification, are permitted only as authorized by the OpenLDAP 11 * Public License. 12 * 13 * A copy of this license is available in file LICENSE in the 14 * top-level directory of the distribution or, alternatively, at 15 * <http://www.OpenLDAP.org/license.html>. 16 */ 17 18#ifndef PERL_BACK_H 19#define PERL_BACK_H 1 20 21#include <EXTERN.h> 22#include <perl.h> 23#undef _ /* #defined by both Perl and ac/localize.h */ 24#include "asperl_undefs.h" 25 26#include "portable.h" 27 28#include "slap.h" 29 30LDAP_BEGIN_DECL 31 32/* 33 * From Apache mod_perl: test for Perl version. 34 */ 35 36#if defined(pTHX_) || (PERL_REVISION > 5 || (PERL_REVISION == 5 && PERL_VERSION >= 6)) 37#define PERL_IS_5_6 38#endif 39 40#define EVAL_BUF_SIZE 500 41 42extern ldap_pvt_thread_mutex_t perl_interpreter_mutex; 43 44#ifdef PERL_IS_5_6 45/* We should be using the PL_errgv, I think */ 46/* All the old style variables are prefixed with PL_ now */ 47# define errgv PL_errgv 48# define na PL_na 49#endif 50 51#if defined( HAVE_WIN32_ASPERL ) || defined( USE_ITHREADS ) 52/* pTHX is needed often now */ 53# define PERL_INTERPRETER my_perl 54# define PERL_BACK_XS_INIT_PARAMS pTHX 55# define PERL_BACK_BOOT_DYNALOADER_PARAMS pTHX, CV *cv 56#else 57# define PERL_INTERPRETER perl_interpreter 58# define PERL_BACK_XS_INIT_PARAMS void 59# define PERL_BACK_BOOT_DYNALOADER_PARAMS CV *cv 60#endif 61 62extern PerlInterpreter *PERL_INTERPRETER; 63 64 65typedef struct perl_backend_instance { 66 char *pb_module_name; 67 SV *pb_obj_ref; 68 int pb_filter_search_results; 69} PerlBackend; 70 71LDAP_END_DECL 72 73#include "proto-perl.h" 74 75#endif /* PERL_BACK_H */ 76