X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=ext%2FDevel%2FPPPort%2FPPPort.xs;h=2586824ebb0b2567f9a1754f93294f2765df312d;hb=1d088ed8a1eb69310feb11b29d0e7602666238b4;hp=20562711318975283dbc6271e5069d286f85e571;hpb=e4c28a9f9392ef0dd068270ebd8d19899d1903a2;p=p5sagit%2Fp5-mst-13.2.git diff --git a/ext/Devel/PPPort/PPPort.xs b/ext/Devel/PPPort/PPPort.xs index 2056271..2586824 100644 --- a/ext/Devel/PPPort/PPPort.xs +++ b/ext/Devel/PPPort/PPPort.xs @@ -1,964 +1,3 @@ -/******************************************************************************* -* -* !!!!! Do NOT edit this file directly! -- Edit PPPort_xs.PL instead. !!!!! -* -******************************************************************************** -* -* Perl/Pollution/Portability -* -******************************************************************************** -* -* $Revision: 7 $ -* $Author: mhx $ -* $Date: 2004/08/13 12:49:19 +0200 $ -* -******************************************************************************** -* -* Version 3.x, Copyright (C) 2004, Marcus Holland-Moritz. -* Version 2.x, Copyright (C) 2001, Paul Marquess. -* Version 1.x, Copyright (C) 1999, Kenneth Albanowski. -* -* This program is free software; you can redistribute it and/or -* modify it under the same terms as Perl itself. -* -*******************************************************************************/ - -/* ========== BEGIN XSHEAD ================================================== */ - - - -/* =========== END XSHEAD =================================================== */ - -#include "EXTERN.h" -#include "perl.h" -#include "XSUB.h" - -/* ========== BEGIN XSINIT ================================================== */ - -/* ---- from parts/inc/call ---- */ -#define NEED_eval_pv - -/* ---- from parts/inc/grok ---- */ -#define NEED_grok_number -#define NEED_grok_numeric_radix -#define NEED_grok_bin -#define NEED_grok_hex -#define NEED_grok_oct - -/* ---- from parts/inc/newCONSTSUB ---- */ -#define NEED_newCONSTSUB - -/* ---- from parts/inc/newRV ---- */ -#define NEED_newRV_noinc - -/* ---- from parts/inc/sv_xpvf ---- */ -#define NEED_vnewSVpvf -#define NEED_sv_catpvf_mg -#define NEED_sv_catpvf_mg_nocontext -#define NEED_sv_setpvf_mg -#define NEED_sv_setpvf_mg_nocontext - -/* ---- from parts/inc/SvPV ---- */ -#define NEED_sv_2pv_nolen -#define NEED_sv_2pvbyte - -/* =========== END XSINIT =================================================== */ - -#include "ppport.h" - -/* ========== BEGIN XSMISC ================================================== */ - -/* ---- from parts/inc/MY_CXT ---- */ -#define MY_CXT_KEY "Devel::PPPort::_guts" XS_VERSION - -typedef struct { - /* Put Global Data in here */ - int dummy; -} my_cxt_t; - -START_MY_CXT - -/* ---- from parts/inc/newCONSTSUB ---- */ -void call_newCONSTSUB_1(void) -{ -#ifdef PERL_NO_GET_CONTEXT - dTHX; -#endif - newCONSTSUB(gv_stashpv("Devel::PPPort", FALSE), "test_value_1", newSViv(1)); -} - -extern void call_newCONSTSUB_2(void); -extern void call_newCONSTSUB_3(void); - -/* ---- from parts/inc/sv_xpvf ---- */ -static SV * test_vnewSVpvf(pTHX_ const char *pat, ...) -{ - SV *sv; - va_list args; - va_start(args, pat); -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - sv = vnewSVpvf(pat, &args); -#else - sv = newSVpv(pat, 0); -#endif - va_end(args); - return sv; -} - -static void test_sv_vcatpvf(pTHX_ SV *sv, const char *pat, ...) -{ - va_list args; - va_start(args, pat); -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - sv_vcatpvf(sv, pat, &args); -#else - sv_catpv(sv, pat); -#endif - va_end(args); -} - -static void test_sv_vsetpvf(pTHX_ SV *sv, const char *pat, ...) -{ - va_list args; - va_start(args, pat); -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - sv_vsetpvf(sv, pat, &args); -#else - sv_setpv(sv, pat); -#endif - va_end(args); -} - -/* =========== END XSMISC =================================================== */ - -MODULE = Devel::PPPort PACKAGE = Devel::PPPort - -BOOT: - /* ---- from parts/inc/MY_CXT ---- */ - { - MY_CXT_INIT; - /* If any of the fields in the my_cxt_t struct need - * to be initialised, do it here. - */ - MY_CXT.dummy = 42; - } - - -##---------------------------------------------------------------------- -## XSUBs from parts/inc/call -##---------------------------------------------------------------------- - -I32 -G_SCALAR() - CODE: - RETVAL = G_SCALAR; - OUTPUT: - RETVAL - -I32 -G_ARRAY() - CODE: - RETVAL = G_ARRAY; - OUTPUT: - RETVAL - -I32 -G_DISCARD() - CODE: - RETVAL = G_DISCARD; - OUTPUT: - RETVAL - -void -eval_sv(sv, flags) - SV* sv - I32 flags - PREINIT: - I32 i; - PPCODE: - PUTBACK; - i = eval_sv(sv, flags); - SPAGAIN; - EXTEND(SP, 1); - PUSHs(sv_2mortal(newSViv(i))); - -void -eval_pv(p, croak_on_error) - char* p - I32 croak_on_error - PPCODE: - PUTBACK; - EXTEND(SP, 1); - PUSHs(eval_pv(p, croak_on_error)); - -void -call_sv(sv, flags, ...) - SV* sv - I32 flags - PREINIT: - I32 i; - PPCODE: - for (i=0; i 8) /* play safe */ - XSRETURN_UNDEF; - for (i=2; i 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - sv_catpvf_mg(sv, "%s-%d", "Perl", 42); -#endif - -void -Perl_sv_catpvf_mg(sv) - SV *sv - CODE: -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - Perl_sv_catpvf_mg(aTHX_ sv, "%s-%d", "-Perl", 43); -#endif - -void -sv_catpvf_mg_nocontext(sv) - SV *sv - CODE: -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) -#ifdef PERL_IMPLICIT_CONTEXT - sv_catpvf_mg_nocontext(sv, "%s-%d", "-Perl", 44); -#else - sv_catpvf_mg(sv, "%s-%d", "-Perl", 44); -#endif -#endif - -void -sv_setpvf_mg(sv) - SV *sv - CODE: -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - sv_setpvf_mg(sv, "%s-%d", "mhx", 42); -#endif - -void -Perl_sv_setpvf_mg(sv) - SV *sv - CODE: -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) - Perl_sv_setpvf_mg(aTHX_ sv, "%s-%d", "foo", 43); -#endif - -void -sv_setpvf_mg_nocontext(sv) - SV *sv - CODE: -#if ((PERL_VERSION > 4) || ((PERL_VERSION == 4) && (PERL_SUBVERSION >= 0))) -#ifdef PERL_IMPLICIT_CONTEXT - sv_setpvf_mg_nocontext(sv, "%s-%d", "bar", 44); -#else - sv_setpvf_mg(sv, "%s-%d", "bar", 44); -#endif -#endif - -##---------------------------------------------------------------------- -## XSUBs from parts/inc/SvPV -##---------------------------------------------------------------------- - -IV -SvPVbyte(sv) - SV *sv - PREINIT: - STRLEN len; - const char *str; - CODE: - str = SvPVbyte(sv, len); - RETVAL = strEQ(str, "mhx") ? len : -1; - OUTPUT: - RETVAL - -IV -SvPV_nolen(sv) - SV *sv - PREINIT: - const char *str; - CODE: - str = SvPV_nolen(sv); - RETVAL = strEQ(str, "mhx") ? 3 : 0; - OUTPUT: - RETVAL - -##---------------------------------------------------------------------- -## XSUBs from parts/inc/threads -##---------------------------------------------------------------------- - -IV -no_THX_arg(sv) - SV *sv - CODE: - RETVAL = 1 + sv_2iv(sv); - OUTPUT: - RETVAL - -void -with_THX_arg(error) - char *error - PPCODE: - Perl_croak(aTHX_ "%s", error); - -##---------------------------------------------------------------------- -## XSUBs from parts/inc/uv -##---------------------------------------------------------------------- - -SV * -sv_setuv(uv) - UV uv - CODE: - RETVAL = newSViv(1); - sv_setuv(RETVAL, uv); - OUTPUT: - RETVAL - -SV * -newSVuv(uv) - UV uv - CODE: - RETVAL = newSVuv(uv); - OUTPUT: - RETVAL - -UV -sv_2uv(sv) - SV *sv - CODE: - RETVAL = sv_2uv(sv); - OUTPUT: - RETVAL - -UV -SvUVx(sv) - SV *sv - CODE: - sv--; - RETVAL = SvUVx(++sv); - OUTPUT: - RETVAL - -void -XSRETURN_UV() - PPCODE: - XSRETURN_UV(42); - -void -PUSHu() - PREINIT: - dTARG; - PPCODE: - TARG = sv_newmortal(); - EXTEND(SP, 1); - PUSHu(42); - XSRETURN(1); - -void -XPUSHu() - PREINIT: - dTARG; - PPCODE: - TARG = sv_newmortal(); - XPUSHu(43); - XSRETURN(1); +This is just a dummy file to let Configure know that Devel::PPPort +is an XS module. The real XS code is autogenerated from PPPort_xs.PL +when this module is built and will go to RealPPPort.xs.