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 trace.
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 "../../../util/trace-event-perl.h"
35 
36 #ifndef PERL_UNUSED_VAR
37 #  define PERL_UNUSED_VAR(var) if (0) var = var
38 #endif
39 
40 #line 41 "Context.c"
41 
42 XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */
43 XS(XS_Perf__Trace__Context_common_pc)
44 {
45 #ifdef dVAR
46     dVAR; dXSARGS;
47 #else
48     dXSARGS;
49 #endif
50     if (items != 1)
51        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_pc", "context");
52     PERL_UNUSED_VAR(cv); /* -W */
53     {
54 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
55 	int	RETVAL;
56 	dXSTARG;
57 
58 	RETVAL = common_pc(context);
59 	XSprePUSH; PUSHi((IV)RETVAL);
60     }
61     XSRETURN(1);
62 }
63 
64 
65 XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */
66 XS(XS_Perf__Trace__Context_common_flags)
67 {
68 #ifdef dVAR
69     dVAR; dXSARGS;
70 #else
71     dXSARGS;
72 #endif
73     if (items != 1)
74        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_flags", "context");
75     PERL_UNUSED_VAR(cv); /* -W */
76     {
77 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
78 	int	RETVAL;
79 	dXSTARG;
80 
81 	RETVAL = common_flags(context);
82 	XSprePUSH; PUSHi((IV)RETVAL);
83     }
84     XSRETURN(1);
85 }
86 
87 
88 XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */
89 XS(XS_Perf__Trace__Context_common_lock_depth)
90 {
91 #ifdef dVAR
92     dVAR; dXSARGS;
93 #else
94     dXSARGS;
95 #endif
96     if (items != 1)
97        Perl_croak(aTHX_ "Usage: %s(%s)", "Perf::Trace::Context::common_lock_depth", "context");
98     PERL_UNUSED_VAR(cv); /* -W */
99     {
100 	struct scripting_context *	context = INT2PTR(struct scripting_context *,SvIV(ST(0)));
101 	int	RETVAL;
102 	dXSTARG;
103 
104 	RETVAL = common_lock_depth(context);
105 	XSprePUSH; PUSHi((IV)RETVAL);
106     }
107     XSRETURN(1);
108 }
109 
110 #ifdef __cplusplus
111 extern "C"
112 #endif
113 XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */
114 XS(boot_Perf__Trace__Context)
115 {
116 #ifdef dVAR
117     dVAR; dXSARGS;
118 #else
119     dXSARGS;
120 #endif
121     const char* file = __FILE__;
122 
123     PERL_UNUSED_VAR(cv); /* -W */
124     PERL_UNUSED_VAR(items); /* -W */
125     XS_VERSION_BOOTCHECK ;
126 
127         newXSproto("Perf::Trace::Context::common_pc", XS_Perf__Trace__Context_common_pc, file, "$");
128         newXSproto("Perf::Trace::Context::common_flags", XS_Perf__Trace__Context_common_flags, file, "$");
129         newXSproto("Perf::Trace::Context::common_lock_depth", XS_Perf__Trace__Context_common_lock_depth, file, "$");
130     if (PL_unitcheckav)
131          call_list(PL_scopestack_ix, PL_unitcheckav);
132     XSRETURN_YES;
133 }
134 
135