#ifndef __PERLMODULE_H
#define __PERLMODULE_H

/* Copyright 2000-2001 ActiveState
 */

void propagate_errsv(void);
PyObject *call_perl(char *method, SV* obj, I32 gimme,
		    PyObject *args, PyObject *keywds);


#ifdef USE_ITHREADS
 #ifdef MULTI_PERL
   #define SET_CUR_PERL /* empty */
   extern PerlInterpreter* new_perl(void);
   extern void free_perl(PerlInterpreter*);
 #else /* MULTI_PERL */
   extern PerlInterpreter *main_perl;
   #define SET_CUR_PERL do { \
          if (my_perl != main_perl) { \
             my_perl = main_perl; \
             PERL_SET_CONTEXT(my_perl); \
          } \
       } while (0)
   /* we should probably also restore old my_perl if it was not neither
    * NULL nor main_perl, but that can wait.
    */
 #endif /* MULTI_PERL */
#else /* USE_ITHREADS */
   #define SET_CUR_PERL /* empty */
#endif /* USE_ITHREADS */

#endif
