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 46XS(XS_Perf__Trace__Context_common_pc); /* prototype to pass -Wmissing-prototypes */ 47XS(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 69XS(XS_Perf__Trace__Context_common_flags); /* prototype to pass -Wmissing-prototypes */ 70XS(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 92XS(XS_Perf__Trace__Context_common_lock_depth); /* prototype to pass -Wmissing-prototypes */ 93XS(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 115extern "C" 116#endif 117XS(boot_Perf__Trace__Context); /* prototype to pass -Wmissing-prototypes */ 118XS(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