blob: e88fb26137bbbc125531845d364210e7e91df1dc [file] [log] [blame]
Tom Zanussi16c632d2009-11-25 01:15:48 -06001#ifndef __PERF_TRACE_EVENT_PERL_H
2#define __PERF_TRACE_EVENT_PERL_H
3#ifdef NO_LIBPERL
4typedef int INTERP;
5#define dSP
6#define ENTER
7#define SAVETMPS
8#define PUTBACK
9#define SPAGAIN
10#define FREETMPS
11#define LEAVE
12#define SP
13#define ERRSV
14#define G_SCALAR (0)
15#define G_DISCARD (0)
16#define G_NOARGS (0)
17#define PUSHMARK(a)
18#define SvTRUE(a) (0)
19#define XPUSHs(s)
20#define sv_2mortal(a)
21#define newSVpv(a,b)
22#define newSVuv(a)
23#define newSViv(a)
24#define get_cv(a,b) (0)
25#define call_pv(a,b) (0)
26#define perl_alloc() (0)
27#define perl_construct(a) (0)
28#define perl_parse(a,b,c,d,e) (0)
29#define perl_run(a) (0)
30#define perl_destruct(a) (0)
31#define perl_free(a) (0)
Tom Zanussid1b93772009-11-25 01:15:50 -060032#define pTHX void
33#define CV void
34#define dXSUB_SYS
35#define pTHX_
36static inline void newXS(const char *a, void *b, const char *c) {}
Tom Zanussi3a9a0be2009-12-06 20:41:52 -060037static void boot_Perf__Trace__Context(pTHX_ CV *cv) {}
38static void boot_DynaLoader(pTHX_ CV *cv) {}
Tom Zanussi16c632d2009-11-25 01:15:48 -060039#else
40#include <EXTERN.h>
41#include <perl.h>
Tom Zanussi3a9a0be2009-12-06 20:41:52 -060042void boot_Perf__Trace__Context(pTHX_ CV *cv);
43void boot_DynaLoader(pTHX_ CV *cv);
Tom Zanussi16c632d2009-11-25 01:15:48 -060044typedef PerlInterpreter * INTERP;
45#endif
46
47struct scripting_context {
48 void *event_data;
49};
50
Tom Zanussi61381de2009-11-30 01:18:48 -060051int common_pc(struct scripting_context *context);
52int common_flags(struct scripting_context *context);
53int common_lock_depth(struct scripting_context *context);
Tom Zanussid1b93772009-11-25 01:15:50 -060054
Tom Zanussi16c632d2009-11-25 01:15:48 -060055#endif /* __PERF_TRACE_EVENT_PERL_H */