#ifndef __PERF_TRACE_EVENT_PERL_H | |
#define __PERF_TRACE_EVENT_PERL_H | |
#ifdef NO_LIBPERL | |
typedef int INTERP; | |
#define dSP | |
#define ENTER | |
#define SAVETMPS | |
#define PUTBACK | |
#define SPAGAIN | |
#define FREETMPS | |
#define LEAVE | |
#define SP | |
#define ERRSV | |
#define G_SCALAR (0) | |
#define G_DISCARD (0) | |
#define G_NOARGS (0) | |
#define PUSHMARK(a) | |
#define SvTRUE(a) (0) | |
#define XPUSHs(s) | |
#define sv_2mortal(a) | |
#define newSVpv(a,b) | |
#define newSVuv(a) | |
#define newSViv(a) | |
#define get_cv(a,b) (0) | |
#define call_pv(a,b) (0) | |
#define perl_alloc() (0) | |
#define perl_construct(a) (0) | |
#define perl_parse(a,b,c,d,e) (0) | |
#define perl_run(a) (0) | |
#define perl_destruct(a) (0) | |
#define perl_free(a) (0) | |
#define pTHX void | |
#define CV void | |
#define dXSUB_SYS | |
#define pTHX_ | |
static inline void newXS(const char *a, void *b, const char *c) {} | |
#else | |
#include <EXTERN.h> | |
#include <perl.h> | |
typedef PerlInterpreter * INTERP; | |
#endif | |
struct scripting_context { | |
void *event_data; | |
}; | |
int common_pc(struct scripting_context *context); | |
int common_flags(struct scripting_context *context); | |
int common_lock_depth(struct scripting_context *context); | |
#endif /* __PERF_TRACE_EVENT_PERL_H */ |