1 /*
2  * This file was generated automatically by ExtUtils::ParseXS version 2.18_02 from the
3  * contents of Context.xs. Do not edit this file, edit Context.xs instead.
4  *
5  *	ANY CHANGES MADE HERE WILL BE LOST!
6  *
7  */
8 #include <stdbool.h>
9 #ifndef HAS_BOOL
10 # define HAS_BOOL 1
11 #endif
12 #line 1 "Context.xs"
13 /*
14  * Context.xs.  XS interfaces for perf script.
15  *
16  * Copyright (C) 2009 Tom Zanussi <tzanussi@gmail.com>
17  *
18  *  This program is free software; you can redistribute it and/or modify
19  *  it under the terms of the GNU General Public License as published by
20  *  the Free Software Foundation; either version 2 of the License, or
21  *  (at your option) any later version.
22  *
23  *  This program is distributed in the hope that it will be useful,
24  *  but WITHOUT ANY WARRANTY; without even the implied warranty of
25  *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26  *  GNU General Public License for more details.
27  *
28  *  You should have received a copy of the GNU General Public License
29  *  along with this program; if not, write to the Free Software
30  *  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
31  *
32  */
33 
34 #include "EXTERN.h"
35 #include "perl.h"
36 #include "XSUB.h"
37 #include "../../../perf.h"
38 #include "../../../util/trace-event.h"
39 
40 #ifndef PERL_UNUSED_VAR
41 #  define PERL_UNUSED_VAR(var) if (0) var = var
42 #endif
43 
44 #line 42 "Context.c"
45 
46 XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */
47 XS(XS_Perf__Trace__Context_common_pc)
48 {
49 #ifdef dVAR
50     dVAR; dXSARGS;
51 #else
52     dXSARGS;
53 #endif
54     if (items != 1)
55        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_pc", "context");
56     PERL_UNUSED_VAR(cv); /* -W */
57     {
58 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
59 	int	RETVAL;
60 	dXSTARG;
61 
62 	RETVAL = common_pc(context);
63 	XSprePUSH; PUSHi((IV)RETVAL);
64     }
65     XSRETURN(1);
66 }
67 
68 
69 XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */
70 XS(XS_Perf__Trace__Context_common_flags)
71 {
72 #ifdef dVAR
73     dVAR; dXSARGS;
74 #else
75     dXSARGS;
76 #endif
77     if (items != 1)
78        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_flags", "context");
79     PERL_UNUSED_VAR(cv); /* -W */
80     {
81 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
82 	int	RETVAL;
83 	dXSTARG;
84 
85 	RETVAL = common_flags(context);
86 	XSprePUSH; PUSHi((IV)RETVAL);
87     }
88     XSRETURN(1);
89 }
90 
91 
92 XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */
93 XS(XS_Perf__Trace__Context_common_lock_depth)
94 {
95 #ifdef dVAR
96     dVAR; dXSARGS;
97 #else
98     dXSARGS;
99 #endif
100     if (items != 1)
101        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_lock_depth", "context");
102     PERL_UNUSED_VAR(cv); /* -W */
103     {
104 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
105 	int	RETVAL;
106 	dXSTARG;
107 
108 	RETVAL = common_lock_depth(context);
109 	XSprePUSH; PUSHi((IV)RETVAL);
110     }
111     XSRETURN(1);
112 }
113 
114 #ifdef __cplusplus
115 extern "C"
116 #endif
117 XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */
118 XS(boot_Perf__Trace__Context)
119 {
120 #ifdef dVAR
121     dVAR; dXSARGS;
122 #else
123     dXSARGS;
124 #endif
125     const char* file = __FILE__;
126 
127     PERL_UNUSED_VAR(cv); /* -W */
128     PERL_UNUSED_VAR(items); /* -W */
129     XS_VERSION_BOOTCHECK ;
130 
131         newXSproto("Perf::Trace::Context::common_pc", XS_Perf__Trace__Context_common_pc, file, "$");
132         newXSproto("Perf::Trace::Context::common_flags", XS_Perf__Trace__Context_common_flags, file, "$");
133         newXSproto("Perf::Trace::Context::common_lock_depth", XS_Perf__Trace__Context_common_lock_depth, file, "$");
134     if (PL_unitcheckav)
135          call_list(PL_scopestack_ix, PL_unitcheckav);
136     XSRETURN_YES;
137 }
138 
139