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