Result:
found more than 1151 distributions - search limited to the first 2001 files matching your query ( run in 1.922 )


Regexp-Fields

 view release on metacpan or  search on metacpan

Fields.xs  view on Meta::CPAN

    MY_CXT.empty_hv = newHV();
}

void
rx_RE_FIELDS_MAGIC(...)
PPCODE:
#ifdef RE_FIELDS_MAGIC
    XSRETURN_YES;
#else
    XSRETURN_NO;
#endif

Fields.xs  view on Meta::CPAN

    Regexp::Fields::tie::curpm_map = 1
INIT:
    dMY_CXT;
    REGEXP *rx;
    HV *hv = Nullhv;
PPCODE:
    if (PL_curpm && (rx = PM_GETRE(PL_curpm)))
	hv = rx_get_names(aTHX_ rx, FALSE);
    if (!hv)
	hv = MY_CXT.empty_hv;
    XPUSHs(sv_2mortal(newRV_inc((SV*) hv)));

 view all matches for this distribution


Regexp-MinLength

 view release on metacpan or  search on metacpan

const-xs.inc  view on Meta::CPAN

	/* NV		nv;	Uncomment this if you need to return NVs */
	/* const char	*pv;	Uncomment this if you need to return PVs */
    INPUT:
	SV *		sv;
        const char *	s = SvPV(sv, len);
    PPCODE:
        /* Change this to constant(aTHX_ s, len, &iv, &nv);
           if you need to return both NVs and IVs */
	type = constant(aTHX_ s, len, &iv);
      /* Return 1 or 2 items. First is error message, or undef if no error.
           Second, if present, is found value */

 view all matches for this distribution


Regexp-Util

 view release on metacpan or  search on metacpan

fallback/const-xs.inc  view on Meta::CPAN

	/* NV		nv;	Uncomment this if you need to return NVs */
	/* const char	*pv;	Uncomment this if you need to return PVs */
    INPUT:
	SV *		sv;
        const char *	s = SvPV(sv, len);
    PPCODE:
	type = constant(aTHX_ s, len);
      /* Return 1 or 2 items. First is error message, or undef if no error.
           Second, if present, is found value */
        switch (type) {
        case PERL_constant_NOTFOUND:

 view all matches for this distribution


RenderMan

 view release on metacpan or  search on metacpan

RenderMan.xs  view on Meta::CPAN


######################################################################

void
RiBSplineBasis()
    PPCODE:
    {
	EXTEND(sp,16);
	PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][0])));
	PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][1])));
	PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[0][2])));

RenderMan.xs  view on Meta::CPAN

	PUSHs(sv_2mortal(newSVnv(RiBSplineBasis[3][3])));
    }

void
RiBezierBasis()
    PPCODE:
    {
	EXTEND(sp,16);
	PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][0])));
	PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][1])));
	PUSHs(sv_2mortal(newSVnv(RiBezierBasis[0][2])));

RenderMan.xs  view on Meta::CPAN

	PUSHs(sv_2mortal(newSVnv(RiBezierBasis[3][3])));
    }

void
RiCatmullRomBasis()
    PPCODE:
    {
	EXTEND(sp,16);
	PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][0])));
	PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][1])));
	PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[0][2])));

RenderMan.xs  view on Meta::CPAN

	PUSHs(sv_2mortal(newSVnv(RiCatmullRomBasis[3][3])));
    }

void
RiHermiteBasis()
    PPCODE:
    {
	EXTEND(sp,16);
	PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][0])));
	PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][1])));
	PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[0][2])));

RenderMan.xs  view on Meta::CPAN

	PUSHs(sv_2mortal(newSVnv(RiHermiteBasis[3][3])));
    }

void
RiPowerBasis()
    PPCODE:
    {
	EXTEND(sp,16);
	PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][0])));
	PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][1])));
	PUSHs(sv_2mortal(newSVnv(RiPowerBasis[0][2])));

 view all matches for this distribution


Return-Deep

 view release on metacpan or  search on metacpan

fallback/const-xs.inc  view on Meta::CPAN

	/* NV		nv;	Uncomment this if you need to return NVs */
	/* const char	*pv;	Uncomment this if you need to return PVs */
    INPUT:
	SV *		sv;
        const char *	s = SvPV(sv, len);
    PPCODE:
	type = constant(aTHX_ s, len);
      /* Return 1 or 2 items. First is error message, or undef if no error.
           Second, if present, is found value */
        switch (type) {
        case PERL_constant_NOTFOUND:

 view all matches for this distribution


Reuters-SSL

 view release on metacpan or  search on metacpan

SSL.xs  view on Meta::CPAN

	int OptionCode;
	PREINIT:
	int optionValue;
	int* optionPointer;
	int retval;
	PPCODE:
	optionPointer = &optionValue;
	retval = sslGetProperty(Channel, (SSL_OPTION_CODE)OptionCode, optionPointer);
	EXTEND(SP, 2);
	PUSHs(sv_2mortal(newSViv(retval)));
	PUSHs(sv_2mortal(newSViv(optionValue)));

 view all matches for this distribution


RocksDB

 view release on metacpan or  search on metacpan

lib/RocksDB.xs  view on Meta::CPAN

OUTPUT:
    RETVAL

void
RocksDB::DB::get_live_files_meta_data()
PPCODE:
    std::vector<rocksdb::LiveFileMetaData> metadata;
    THIS->db->GetLiveFilesMetaData(&metadata);
    for (std::vector<rocksdb::LiveFileMetaData>::size_type i = 0; i < metadata.size(); i++) {
        rocksdb::LiveFileMetaData data = metadata[i];
        HV *hv = newHV();

lib/RocksDB.xs  view on Meta::CPAN

        mXPUSHs(newRV_noinc((SV*) hv));
    }

void
RocksDB::DB::get_sorted_wal_files()
PPCODE:
    rocksdb::VectorLogPtr files;
    CROAK_ON_ERROR(THIS->db->GetSortedWalFiles(files));
    for (std::vector<std::unique_ptr<rocksdb::LogFile>>::size_type i = 0; i < files.size(); i++) {
        HV* hv = newHV();
        std::string path_name = files[i]->PathName();

lib/RocksDB.xs  view on Meta::CPAN

INIT:
    CHECK_ITER_VALID(THIS);

void
rocksdb::Iterator::each()
PPCODE:
    if (!THIS->Valid())
        XSRETURN_EMPTY;
    rocksdb::Slice key = THIS->key(), value = THIS->value();
    mXPUSHs(newSVpvn(key.data(), key.size()));
    mXPUSHs(newSVpvn(value.data(), value.size()));
    THIS->Next();

void
rocksdb::Iterator::reverse_each()
PPCODE:
    if (!THIS->Valid())
        XSRETURN_EMPTY;
    rocksdb::Slice key = THIS->key(), value = THIS->value();
    mXPUSHs(newSVpvn(key.data(), key.size()));
    mXPUSHs(newSVpvn(value.data(), value.size()));

 view all matches for this distribution


RogersMine

 view release on metacpan or  search on metacpan

local/lib/perl5/x86_64-linux-thread-multi/Glib/GenPod.pm  view on Meta::CPAN

 at any point in this pod -- they are stripped after.
 In fact, any pod is valid in here, until the =cut.

 =cut
 void foo (...)
     PPCODE:
        /* crazy code follows */

=item =for arg name (type) description

=item =for arg name description

local/lib/perl5/x86_64-linux-thread-multi/Glib/GenPod.pm  view on Meta::CPAN

	           ? (@outlist > 1
		      ? "(".join (", ", @outlist).")"
		      : $outlist[0]
		     )." = "
		   : (defined $xsub->{codetype} and
		      $xsub->{codetype} eq 'PPCODE'
		      ? 'list = '
		      : ''
		     );
	
	"$retstr$call ".($argstr ? "($argstr)" : "");

 view all matches for this distribution


Router-R3

 view release on metacpan or  search on metacpan

R3.xs  view on Meta::CPAN

#define DUMP_PAD(pad) ;
#endif

void
new(...)
    PPCODE:
        {
            void *r3_pad;
            int branch_n = 0;
            int capture_n_total = 0;
            int capture_key_len_total = 0;

R3.xs  view on Meta::CPAN

            PUSHs(sv_2mortal(obj));
        }

void
match(SV* r3_sv, SV *str_sv)
    PPCODE:
        void* r3_pad = SvRV(SvRV(r3_sv));
        node* r3 = *(node**)r3_pad;

        char *str;
        STRLEN str_len;

R3.xs  view on Meta::CPAN

            PUSHs(sv_2mortal(newRV_noinc((SV*)captures_hv)));
        }
        match_entry_free(entry);

void DESTROY(SV* r3_sv)
    PPCODE:
        void* pad = SvRV(SvRV(r3_sv));
        int branch_n = *(int*)((char*)pad + sizeof(node*));
        SV** target = (SV**)((char*)pad + sizeof(node*) + sizeof(int));
        for(int i=0; i<branch_n; ++i)
            SvREFCNT_dec(target[i]);

 view all matches for this distribution


Router-XS

 view release on metacpan or  search on metacpan

XS.xs  view on Meta::CPAN

  SV *coderef
  PREINIT:
    char *pathstr;
    size_t pathlen, numcaptures = 0;

  PPCODE:
    SvGETMAGIC(path);

    /* check for undef, empty string */
    if (!SvOK(path) || !SvCUR(path) || !SvROK(coderef))
    {

XS.xs  view on Meta::CPAN

  PREINIT:
    char *pathstr;
    SV *coderef;
    size_t numcaptures = 0, caplen, pathlen;

  PPCODE:
    SvGETMAGIC(path);

    /* check for undef, empty string */
    if (!SvOK(path) || !SvCUR(path))
    {

 view all matches for this distribution


SAVI-Perl

 view release on metacpan or  search on metacpan

SAVI.xs  view on Meta::CPAN

  }

void
new(class)
  char *class
  PPCODE:
  {
    SAVI__handle savi_h;
    CISweepClassFactory2 *factory;
    HRESULT status;
    SV *sv;

SAVI.xs  view on Meta::CPAN

    RETVAL

void
load_data(savi_h)
  SAVI::handle savi_h
  PPCODE:
  {
    HRESULT status;

    status = savi_h->pVtbl->LoadVirusData(savi_h);

SAVI.xs  view on Meta::CPAN

  }

void
version(savi_h)
  SAVI::handle savi_h
  PPCODE:
  {
    SV *sv = &PL_sv_undef;
    SAVI__version savi_version;
    HRESULT status;
    

SAVI.xs  view on Meta::CPAN

set(savi_h, param, value, type)
  SAVI::handle savi_h
  char *param
  char *value
  int type
  PPCODE:
  {
    HRESULT status;
    
    status = savi_h->pVtbl->SetConfigValue(savi_h, param, type, value);

SAVI.xs  view on Meta::CPAN

void
get(savi_h, param, type)
  SAVI::handle savi_h
  char *param
  int type
  PPCODE:
  {
    HRESULT status;
    char value[1024];
    
    status = savi_h->pVtbl->GetConfigValue(savi_h, param, type, 1024, value, NULL);

SAVI.xs  view on Meta::CPAN

  }

void
options(savi_h)
  SAVI::handle savi_h
  PPCODE:
  {
    CIEnumEngineConfig *options;
    CIEngineConfig *option;
    HRESULT status;
    

SAVI.xs  view on Meta::CPAN


void
scan(savi_h, path)
  SAVI::handle savi_h
  char *path
  PPCODE:
  {
    SAVI__results results;
    HRESULT status;
    SV *sv;
    

SAVI.xs  view on Meta::CPAN


void
scan_fh(savi_h, fh)
  SAVI::handle savi_h
  FILE *fh
  PPCODE:
  {
    SAVI__results results;
    HRESULT status;
    SV *sv;
    

SAVI.xs  view on Meta::CPAN

    RETVAL

void
ide_list(version)
  SAVI::version version
  PPCODE:
  {
    SAVI__version__ide ide;
    SV *sv;
    
    version->ide_list->pVtbl->Reset(version->ide_list);

SAVI.xs  view on Meta::CPAN

  }

void
name(ide)
  SAVI::version::ide ide
  PPCODE:
  {
    char ide_name[128];
  
    if (ide->pVtbl->GetName(ide, 128, ide_name, NULL) == SOPHOS_S_OK)
      XPUSHs(sv_2mortal(newSVpv(ide_name, strlen(ide_name))));
  }

void
date(ide)
  SAVI::version::ide ide
  PPCODE:
  {
    SYSTEMTIME release_date;
    char buf[128];

    if (ide->pVtbl->GetDate(ide, &release_date) == SOPHOS_S_OK) {

SAVI.xs  view on Meta::CPAN

    RETVAL

void
viruses(results)
  SAVI::results results
  PPCODE:
  {
    CISweepResults *virus_info;

    if (results) {
      results->pVtbl->Reset(results);

 view all matches for this distribution


SDL-OpenGL-Cg

 view release on metacpan or  search on metacpan

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void
cgBindProgram (...)
  PREINIT:
    CGprogram program;
    CGerror err;
  PPCODE:
    if (items != 1) {
      warn ("Usage: cgBindProgram($program)");
      return;
    }
    program = INT2PTR(CGprogram, SvIV(ST(0)));

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

cgCopyProgram (...)
  PREINIT:
    CGprogram program;
    CGprogram new_program;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: $new_program = cgCopyProgram($program)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void
cgCreateContext (...)
  PREINIT:
    CGcontext context;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 0) {
      warn ("Usage: cgCreateContext()");
      PUSHs (&PL_sv_undef);
      return; 

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

    CGprofile profile;
    char *entry;
    char **args;
    CGprogram program;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 6) {
      warn ("Usage: $program = cgCreateProgramFromFile ($context,$type,$filename,$program_name, $profile, $entry)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

    CGprofile profile;
    char *entry;
    char **args;
    CGprogram program;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 6) {
      warn ("Usage: $program = cgCreateProgramFromFile ($context,$type,$filename,$program_name, $profile, $entry)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

    
void
cgDestroyContext (...)
  PREINIT:
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgDestroyContext($context");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN


void 
cgDisableProfile (...)
  PREINIT: 
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgDisableProfile($profile)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN


bool
cgEnableProfile (...)
  PREINIT:
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgEnableProfile($profile)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN


void
cgGetError(...)
  PREINIT:  
    SV* err;
  PPCODE:
    EXTEND (SP,1);
    err = get_sv(ERROR_STORE,1);
    if (SvTYPE(err) == SVt_NULL) {
      PUSHs (sv_2mortal(newSViv(0)));
    } else {

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN


void
cgGetErrorString(...)
  PREINIT:  
    SV* err;
  PPCODE:
    EXTEND (SP,1);
    err = get_sv(ERROR_STORE,1);
    if (err == 0) {
      PUSHs (sv_2mortal(newSVpv("",1)));
    } else {

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void 
cgGetLastListing(...)
  PREINIT:
    CGcontext context;
    char* listing;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgGetLatestProfile($context)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void
cgGetLatestProfile(...)
  PREINIT:
    CGerror err;
    CGprofile profile;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgGetLatestProfile($profile_type)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

  PREINIT:
    char *param_name;
    CGprogram program;
    CGparameter param;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 2) {
      warn ("Usage: $param= cgGetNamedParameter($program,$param_name)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

    
void
cgGetProfileString (...)
  PREINIT:
    int profile;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: $profile_string= cgGetProfileString($profile)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

    profile = SvIV(ST(0));
    PUSHs (sv_2mortal(newSVpv(cgGetProfileString(profile),0)));

void
cgIsProfileSupported (...)
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: $support = cgIsProfileSupported($profile)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void 
cgLoadProgram (...)
  PREINIT:
    CGprogram program;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items != 1) {
      warn ("Usage: cgLoadProgram($program)");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

  PREINIT:
    double values[16];
    CGparameter param;
    CGerror err;
    int i;
  PPCODE:
    EXTEND (SP,1);
    if (items != 17) {
      warn ("For now cgSetMatrixParameter only supports 4x4 matrix");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

  PREINIT:
    double values[16];
    CGparameter param;
    CGerror err;
    int i;
  PPCODE:
    EXTEND (SP,1);
    if (items != 17) {
      warn ("For now cgSetMatrixParameter only supports 4x4 matrix");
      PUSHs (&PL_sv_undef);
      return;

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

void
cgSetParameter (...)
  PREINIT:
    CGparameter param;
    CGerror err;
  PPCODE:
    // TODO: Modify so it's not only the 4 param version. 
    EXTEND (SP,1);
    if (items<2 || items>5) {
       warn("Usage: cgSetParameter($param, $val1) OR");
       warn("Usage: cgSetParameter($param, $val1, $val2) OR");

lib/SDL/OpenGL/Cg.xs  view on Meta::CPAN

  PREINIT:
    CGparameter param;
    CGGLenum matrix;
    CGGLenum transform;
    CGerror err;
  PPCODE:
    EXTEND (SP,1);
    if (items < 2 || items > 3) {
      warn ("Usage: cgSetStateMatrixParameter($param,$matrix,$transform)");
      PUSHs (&PL_sv_undef);
      return;

 view all matches for this distribution


SDL

 view release on metacpan or  search on metacpan

src/Core/objects/Event.xs  view on Meta::CPAN

		RETVAL

SV*
event_user_data1 ( event, ... )
	SDL_Event *event	
	PPCODE: 
		SDL_UserEvent * a = &(event->user);
		if ( items > 1)
			a->data1 = new_data( ST(1) ); 
		 if (!a->data1)
		  XSRETURN_EMPTY;

src/Core/objects/Event.xs  view on Meta::CPAN

		  XSRETURN(1);

SV*
event_user_data2 ( event, ... ) 
	SDL_Event *event	
	PPCODE: 
		SDL_UserEvent * a = &(event->user);
		if ( items > 1)
			a->data2 = new_data( ST(1) ); 
		 if (!a->data2)
		  XSRETURN_EMPTY;

 view all matches for this distribution


SDL_Perl

 view release on metacpan or  search on metacpan

src/OpenGL.xs  view on Meta::CPAN

		glDisable(cap);

void 
glGet ( param )
        GLenum param
    PPCODE:
        switch (param) {
        case GL_EDGE_FLAG_ARRAY:
        case GL_MAP1_TEXTURE_COORD_1:
        case GL_LIGHT_MODEL_TWO_SIDE:
        case GL_INDEX_LOGIC_OP:

 view all matches for this distribution


SDLx-XScreenSaver

 view release on metacpan or  search on metacpan

XScreenSaver.xs  view on Meta::CPAN

MODULE = SDLx::XScreenSaver		PACKAGE = SDLx::XScreenSaver		

void
xss_viewport_dimensions(window_id)
    int window_id
    PPCODE:
        XWindowAttributes xwa;
        if (window_id) {
            if (!dpy) {
                dpy = XOpenDisplay(0);
            }

 view all matches for this distribution


SFML

 view release on metacpan or  search on metacpan

xsrc/Graphics.xs  view on Meta::CPAN


void
RenderWindow::getPosition()
	PREINIT:
		Vector2i v;
	PPCODE:
		v = THIS->getPosition();
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSViv(v.x)));
		PUSHs(sv_2mortal(newSViv(v.y)));

xsrc/Graphics.xs  view on Meta::CPAN


void
RenderWindow::getSize()
	PREINIT:
	Vector2u v;
	PPCODE:
		v = THIS->getSize();
		//fprintf(stderr, "Size to %u, %u\n", v.x, v.y); 
		EXTEND(SP, 2);
		PUSHs(sv_2mortal(newSVuv(v.x)));
		PUSHs(sv_2mortal(newSVuv(v.y)));

 view all matches for this distribution


SNMP

 view release on metacpan or  search on metacpan

SNMP.xs  view on Meta::CPAN

void
snmp_set(sess_ref, varlist_ref, perl_callback)
        SV *	sess_ref
        SV *	varlist_ref
        SV *	perl_callback
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           SV **varbind_val_f;
           AV *varbind;

SNMP.xs  view on Meta::CPAN


void
snmp_catch(sess_ref, perl_callback)
	SV *	sess_ref
        SV *    perl_callback
	PPCODE:
	{
	   netsnmp_session *ss;
           SV **sess_ptr_sv;
           SV **err_str_svp;
           SV **err_num_svp;

SNMP.xs  view on Meta::CPAN

snmp_get(sess_ref, retry_nosuch, varlist_ref, perl_callback)
        SV *    sess_ref
        int     retry_nosuch
        SV *    varlist_ref
        SV *    perl_callback
        PPCODE:
        {
           AV *varlist;
           SV **varbind_ref;
           AV *varbind;
           I32 varlist_len;

SNMP.xs  view on Meta::CPAN

void
snmp_getnext(sess_ref, varlist_ref, perl_callback)
        SV *    sess_ref
        SV *    varlist_ref
        SV *    perl_callback
        PPCODE:
        {
           AV *varlist;
           SV **varbind_ref;
           AV *varbind;
           I32 varlist_len;

SNMP.xs  view on Meta::CPAN

        SV *	sess_ref
	int nonrepeaters
	int maxrepetitions
        SV *	varlist_ref
        SV *	perl_callback
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           AV *varbind;
	   I32 varlist_len;

SNMP.xs  view on Meta::CPAN

        SV *	sess_ref
	int nonrepeaters
	int maxrepetitions
        SV *	varlist_ref
        SV *	perl_callback
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           AV *varbind;
	   I32 varlist_len;

SNMP.xs  view on Meta::CPAN

        char *	agent
        int	generic
        int	specific
        long	uptime
        SV *	varlist_ref
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           SV **varbind_val_f;
           AV *varbind;

SNMP.xs  view on Meta::CPAN

snmp_trapV2(sess_ref,uptime,trap_oid,varlist_ref)
        SV *	sess_ref
        char *	uptime
        char *	trap_oid
        SV *	varlist_ref
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           SV **varbind_val_f;
           AV *varbind;

SNMP.xs  view on Meta::CPAN

        SV *	sess_ref
        char *	uptime
        char *	trap_oid
        SV *	varlist_ref
        SV *	perl_callback
	PPCODE:
	{
           AV *varlist;
           SV **varbind_ref;
           SV **varbind_val_f;
           AV *varbind;

SNMP.xs  view on Meta::CPAN

	}


void
snmp_get_select_info()
	PPCODE:
	{
        int numfds;
        fd_set fdset;
        struct timeval time_val, *tvp;
        int block;

 view all matches for this distribution


SOM

 view release on metacpan or  search on metacpan

SOM.xs  view on Meta::CPAN

int
PSOM_Dispatch_templ(obj, meth, templ, ...)
    SOMObject *obj;
    char *meth;
    char *templ;
PPCODE:
  {
    union { short s; unsigned short us; long l; unsigned long ul;
	    char c; unsigned char uc; float f; double d; char *cp; void *vp;
	    SOMObject *op;
    } ret_buffer, par_buffer;

 view all matches for this distribution


SOOT

 view release on metacpan or  search on metacpan

inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm  view on Meta::CPAN

    $report_args =~ s/"/\\"/g;
    $report_args =~ s/^,\s+//;
    $self->{func_args} = assign_func_args($self, \@args, $class);
    @{ $self->{args_match} }{@args} = @args_num;

    my $PPCODE = grep(/^\s*PPCODE\s*:/, @{ $self->{line} });
    my $CODE = grep(/^\s*CODE\s*:/, @{ $self->{line} });
    # Detect CODE: blocks which use ST(n)= or XST_m*(n,v)
    # to set explicit return values.
    my $EXPLICIT_RETURN = ($CODE &&
            ("@{ $self->{line} }" =~ /(\bST\s*\([^;]*=) | (\bXST_m\w+\s*\()/x ));

inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm  view on Meta::CPAN

    print Q(<<"EOF");
#    PERL_UNUSED_VAR(cv); /* -W */
EOF
    }

    #gcc -Wall: if an xsub has PPCODE is used
    #it is possible none of ST, XSRETURN or XSprePUSH macros are used
    #hence `ax' (setup by dXSARGS) is unused
    #XXX: could breakup the dXSARGS; into dSP;dMARK;dITEMS
    #but such a move could break third-party extensions
    print Q(<<"EOF") if $PPCODE;
#    PERL_UNUSED_VAR(ax); /* -Wall */
EOF

    print Q(<<"EOF") if $PPCODE;
#    SP -= items;
EOF

    # Now do a block of some sort.

inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm  view on Meta::CPAN

        }
        print $self->{deferred};

        $self->process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD");

        if ($self->check_keyword("PPCODE")) {
          $self->print_section();
          $self->death("PPCODE must be last thing") if @{ $self->{line} };
          print "\tLEAVE;\n" if $self->{ScopeThisXSUB};
          print "\tPUTBACK;\n\treturn;\n";
        }
        elsif ($self->check_keyword("CODE")) {
          $self->print_section();

inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm  view on Meta::CPAN

      $self->process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD");

      print Q(<<"EOF") if $self->{ScopeThisXSUB};
#   ]]
EOF
      print Q(<<"EOF") if $self->{ScopeThisXSUB} and not $PPCODE;
#   LEAVE;
EOF

      # print function trailer
      print Q(<<"EOF");

inc/inc_ExtUtils-ParseXS/ExtUtils/ParseXS.pm  view on Meta::CPAN

#    if (errbuf[0])
#    Perl_croak(aTHX_ errbuf);
EOF

    if ($xsreturn) {
      print Q(<<"EOF") unless $PPCODE;
#    XSRETURN($xsreturn);
EOF
    }
    else {
      print Q(<<"EOF") unless $PPCODE;
#    XSRETURN_EMPTY;
EOF
    }

    print Q(<<"EOF");

 view all matches for this distribution


SPVM-Digest-SHA

 view release on metacpan or  search on metacpan

perl_impl/SHA.xs  view on Meta::CPAN

PREINIT:
	int i;
	UCHR *data;
	STRLEN len;
	SHA *state;
PPCODE:
	if ((state = getSHA(aTHX_ self)) == NULL)
		XSRETURN_UNDEF;
	for (i = 1; i < items; i++) {
		data = (UCHR *) (SvPVbyte(ST(i), len));
		while (len > MAX_WRITE_SIZE) {

perl_impl/SHA.xs  view on Meta::CPAN

PREINIT:
	UINT bc;
	STRLEN len;
	SHA *state;
	UCHR *data;
PPCODE:
	if ((state = getSHA(aTHX_ self)) == NULL)
		XSRETURN_UNDEF;
	data = (UCHR *) SvPV(packed_state, len);
	if (len != (state->alg <= SHA256 ? 116U : 212U))
		XSRETURN_UNDEF;

perl_impl/SHA.xs  view on Meta::CPAN

	PerlIO *	f
PREINIT:
	SHA *state;
	int n;
	UCHR in[IO_BUFFER_SIZE];
PPCODE:
	if (!f || (state = getSHA(aTHX_ self)) == NULL)
		XSRETURN_UNDEF;
	while ((n = (int) PerlIO_read(f, in, sizeof(in))) > 0)
		shawrite(in, (ULNG) n << 3, state);
	XSRETURN(1);

perl_impl/SHA.xs  view on Meta::CPAN

	int n;
	int cr = 0;
	UCHR *src, *dst;
	UCHR in[IO_BUFFER_SIZE+1];
	SHA *state;
PPCODE:
	if (!f || (state = getSHA(aTHX_ self)) == NULL)
		XSRETURN_UNDEF;
	while ((n = (int) PerlIO_read(f, in+1, IO_BUFFER_SIZE)) > 0) {
		for (dst = in, src = in + 1; n; n--) {
			c = *src++;

 view all matches for this distribution


SPVM

 view release on metacpan or  search on metacpan

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::ExchangeAPI		PACKAGE = SPVM::ExchangeAPI

SV*
_xs_call_method(...)
  PPCODE:
{
  
  int32_t args_length = items;
  
  // SPVM::ExchangeAPI::Error

SPVM.xs  view on Meta::CPAN

  XSRETURN(return_count);
}

SV*
_xs_dump(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_string(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_address_object(...)
  PPCODE:
{
  
  int32_t error_id = 0;
  
  SV* sv_self = ST(0);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_byte_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_byte_array_unsigned(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_byte_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_byte_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_short_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_short_array_unsigned(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_short_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_short_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_int_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_int_array_unsigned(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_int_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_int_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_long_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_long_array_unsigned(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_long_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_long_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_float_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_float_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_float_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_double_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_double_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_double_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_string_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_string_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_object_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_object_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_mulnum_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_mulnum_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_mulnum_array_from_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_muldim_array(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_new_muldim_array_len(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_get_exception(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_set_exception(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
_xs_get_memory_blocks_count(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::BlessedObject		PACKAGE = SPVM::BlessedObject

SV*
DESTROY(...)
  PPCODE:
{
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  
  SV** sv_spvm_object_ptr = hv_fetch(hv_self, "spvm_object", strlen("spvm_object"), 0);

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
_xs___get_type_name(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::BlessedObject::String		PACKAGE = SPVM::BlessedObject::String

SV*
_xs_to_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::BlessedObject::Array		PACKAGE = SPVM::BlessedObject::Array

SV*
_xs_length(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_to_elems(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_to_bin(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
_xs_set(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
_xs_get(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::BlessedObject::Class		PACKAGE = SPVM::BlessedObject::Class

SV*
get_basic_type_name(...)
  PPCODE:
{
  
  SV* sv_object = ST(0);
  HV* hv_object = (HV*)SvRV(sv_object);
  

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Compiler		PACKAGE = SPVM::Builder::Native::Compiler

SV*
DESTROY(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
create_native_compiler(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
compile(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
compile_anon_class(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_error_messages(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  
  HV* hv_self = (HV*)SvRV(sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_class_file(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* compiler = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
set_start_file(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  
  SV* sv_start_file = ST(1);

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
set_start_line(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  
  SV* sv_start_line = ST(1);

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
add_include_dir(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  
  SV* sv_include_dir = ST(1);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Runtime		PACKAGE = SPVM::Builder::Native::Runtime

SV*
get_compiler(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_basic_types_length(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_basic_type_by_id(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_basic_type_by_name(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* runtime = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_env(...)
  PPCODE:
{
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  
  SV** sv_env_ptr = hv_fetch(hv_self, "env", strlen("env"), 0);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_basic_type_names(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_spvm_version_string(...)
  PPCODE:
{
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  
  SV** sv_runtime_ptr = hv_fetch(hv_self, "runtime", strlen("runtime"), 0);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Env		PACKAGE = SPVM::Builder::Native::Env

SV*
new(...)
  PPCODE:
{
  SV* sv_class = ST(0);
  
  SPVM_ENV* new_env = SPVM_NATIVE_new_env();
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
DESTROY(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
set_command_info_program_name(...)
  PPCODE:
{
  
  SV* sv_env = ST(0);
  SV* sv_stack = ST(1);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
set_command_info_argv(...)
  PPCODE:
{
  
  SV* sv_env = ST(0);
  SV* sv_stack = ST(1);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
set_command_info_base_time(...)
  PPCODE:
{
  
  SV* sv_env = ST(0);
  SV* sv_stack = ST(1);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
call_init_methods(...)
  PPCODE:
{
  
  SV* sv_env = ST(0);
  SV* sv_stack = ST(1);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
destroy_class_vars(...)
  PPCODE:
{
  
  SV* sv_env = ST(0);
  SV* sv_stack = ST(1);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
new_stack(...)
  PPCODE:
{
  
  // Env
  SV* sv_env = ST(0);
  SPVM_ENV* env = SPVM_XS_UTIL_get_pointer(aTHX_ sv_env);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Stack		PACKAGE = SPVM::Builder::Native::Stack

SV*
DESTROY(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::BasicType		PACKAGE = SPVM::Builder::Native::BasicType

SV*
get_parent(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_class_dir(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_class_rel_file(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_name(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_category(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
is_anon(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_methods_length(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_method_by_index(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_method_by_name(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_method_names_by_category(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
build_precompile_class_source(...)
  PPCODE:
{
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_anon_basic_type_names(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_version_string(...)
  PPCODE:
{
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* basic_type = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);
  

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Method		PACKAGE = SPVM::Builder::Native::Method

SV*
get_name(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
is_native(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
is_precompile(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
is_class_method(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
set_native_address(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(0);
}

SV*
set_precompile_address(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* method = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::ClassFile		PACKAGE = SPVM::Builder::Native::ClassFile

SV*
get_file(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_dir(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_rel_file(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_content(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_content_length(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  void* class_file = SPVM_XS_UTIL_get_pointer(aTHX_ sv_self);

SPVM.xs  view on Meta::CPAN


MODULE = SPVM::Builder::Native::Runtime::Info		PACKAGE = SPVM::Builder::Native::Runtime::Info

SV*
get_basic_type_names(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

SPVM.xs  view on Meta::CPAN

  XSRETURN(1);
}

SV*
get_method_names(...)
  PPCODE:
{
  
  SV* sv_self = ST(0);
  HV* hv_self = (HV*)SvRV(sv_self);
  

 view all matches for this distribution


SWF

 view release on metacpan or  search on metacpan

DisplayItem.xs  view on Meta::CPAN

SWFDisplayItem_getPosition(item)
    	SWF::DisplayItem item
	PREINIT:
        float           x;
        float           y;
	PPCODE:
	SWFDisplayItem_getPosition(item, &x, &y);
	EXTEND(SP, 2);
	PUSHs(sv_2mortal(newSVnv((double)x)));
	PUSHs(sv_2mortal(newSVnv((double)y)));

DisplayItem.xs  view on Meta::CPAN

SWFDisplayItem_getScale(item)
	SWF::DisplayItem item
	PREINIT:
	float             xScale;
	float             yScale;
	PPCODE:
	SWFDisplayItem_getScale(item, &xScale, &yScale);
	EXTEND(SP, 2);
	PUSHs(sv_2mortal(newSVnv((double)xScale)));
	PUSHs(sv_2mortal(newSVnv((double)yScale)));

DisplayItem.xs  view on Meta::CPAN

SWFDisplayItem_getSkew(item)
	SWF::DisplayItem item
	PREINIT:
	float             xSkew;
	float             ySkew;
	PPCODE:
	SWFDisplayItem_getSkew(item, &xSkew, &ySkew);
	EXTEND(SP, 2);
	PUSHs(sv_2mortal(newSVnv((double)xSkew)));
	PUSHs(sv_2mortal(newSVnv((double)ySkew)));

 view all matches for this distribution


SWISH-3

 view release on metacpan or  search on metacpan

3.xs  view on Meta::CPAN

    _x_placeholder      = 19  
    get_stash           = 20
PREINIT:
    SV  *RETVAL;
    char *class;
PPCODE:
{
    
    //warn("number of items %d for ix %d", items, ix);
    
    START_SET_OR_GET_SWITCH

 view all matches for this distribution


Safe-Hole

 view release on metacpan or  search on metacpan

Hole.xs  view on Meta::CPAN

void
_hole_call_sv(stashref, opmask, codesv)
    SV *	stashref
    SV *        opmask
    SV *	codesv
PPCODE:
    /*** This code is copied from Opcode::_safe_call_sv and modified ***/
    GV *gv;
    AV *av;
    SV *saved_PL_op_mask;
    MAGIC *magic;

 view all matches for this distribution


Sane

 view release on metacpan or  search on metacpan

Sane.xs  view on Meta::CPAN

		const SANE_Option_Descriptor *	opt;
               	HV* chv = (HV*) sv_2mortal((SV*) newHV());
               	AV* cav = (AV*) sv_2mortal((SV*) newAV());
               	HV* hv = (HV*) sv_2mortal((SV*) newHV());
                int i;
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Getting option description %d from SANE_Handle %p\n", n, (void *) h);
		opt = sane_get_option_descriptor (h, n);
                if (!opt) croak("Error getting sane_get_option_descriptor");
		if (opt->name != NULL) {

Sane.xs  view on Meta::CPAN

		SANE_Int	n
	INIT:
		SANE_Status	status;
		void *		value;
		const SANE_Option_Descriptor *	opt;
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Getting option %d from SANE_Handle %p\n", n, (void *) h);
		opt = sane_get_option_descriptor (h, n);
                if (!opt) croak("Error getting sane_get_option_descriptor");
                if ( opt->size == 0 ) {

Sane.xs  view on Meta::CPAN

		SANE_Handle	h
		SANE_Int	n
	INIT:
		SANE_Status	status;
		SANE_Int	info;
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Setting option %d to automatic on SANE_Handle %p\n", n, (void *) h);
		status = sane_control_option (h, n, SANE_ACTION_SET_AUTO, 0, &info);
       		sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 

Sane.xs  view on Meta::CPAN

		SANE_Fixed      fixed;
		int		i, vector_length = 0;
		SV **		svp;
		SANE_Word *	vector;
		char *		string;
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Setting option %d on SANE_Handle %p\n", n, (void *) h);
		opt = sane_get_option_descriptor (h, n);
                if (!opt) croak("Error getting sane_get_option_descriptor");
		switch (opt->type) {

Sane.xs  view on Meta::CPAN

		SANE_Handle		handle
	INIT:
		SANE_Status		status;
		SANE_Parameters		params;
               	HV* hv = (HV*) sv_2mortal((SV*) newHV());
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Getting parameters for SANE_Handle %p\n", (void *) handle);
		status = sane_get_parameters (handle, &params);
		sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status);

Sane.xs  view on Meta::CPAN

		SANE_Int	max_length
	INIT:
		SANE_Status	status;
                SANE_Byte *	data;
                SANE_Int	length;
        PPCODE:
		data = malloc (max_length);
		status = sane_read (handle, data, max_length, &length);
       		SV* sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 
                if (status) {

Sane.xs  view on Meta::CPAN

sane_get_select_fd (handle)
		SANE_Handle	handle
	INIT:
		SANE_Status	status;
		SANE_Int	fd;
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Getting file handle of SANE_Handle %p\n", (void *) handle);
		status = sane_get_select_fd (handle, &fd);
                sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 

Sane.xs  view on Meta::CPAN

void
sane__init (class)
	INIT:
		SANE_Status		status;
                SANE_Int		version_code;
	PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Running sane_init\n");
		status = sane_init(&version_code, NULL);
                sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 

Sane.xs  view on Meta::CPAN

## 		LEAVE;

void
sane__get_version (class, version_code)
                SANE_Int	version_code
        PPCODE:
		XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MAJOR (version_code))));
		XPUSHs(sv_2mortal(newSViv(SANE_VERSION_MINOR (version_code))));
		XPUSHs(sv_2mortal(newSViv(SANE_VERSION_BUILD (version_code))));

void

Sane.xs  view on Meta::CPAN

		SANE_Status	status;
		AV * array;
                int i;
                const SANE_Device **	device_list;
		array = (AV *)sv_2mortal((SV *)newAV());
        PPCODE:
       		SV* sv = get_sv("Sane::DEBUG", FALSE);
               	if (SvTRUE(sv)) printf("Running sane_get_devices\n");
                status = sane_get_devices (&device_list, local);
                sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 

Sane.xs  view on Meta::CPAN

sane__open(class, name)
		SANE_String_Const	name
	INIT:
		SANE_Status		status;
                SANE_Handle		h;
        PPCODE:
        	status = sane_open(name, &h);
		SV* sv = get_sv("Sane::DEBUG", FALSE);
		if (SvTRUE(sv)) printf("sane_open returned SANE_Handle %p\n", (void *) h);
                sv = get_sv("Sane::_status", FALSE);
                sv_setiv(sv, status); 

 view all matches for this distribution


Scalar-Array

 view release on metacpan or  search on metacpan

fallback/const-xs.inc  view on Meta::CPAN

	/* NV		nv;	Uncomment this if you need to return NVs */
	/* const char	*pv;	Uncomment this if you need to return PVs */
    INPUT:
	SV *		sv;
        const char *	s = SvPV(sv, len);
    PPCODE:
	type = constant(aTHX_ s, len);
      /* Return 1 or 2 items. First is error message, or undef if no error.
           Second, if present, is found value */
        switch (type) {
        case PERL_constant_NOTFOUND:

 view all matches for this distribution


Scalar-Induce

 view release on metacpan or  search on metacpan

lib/Scalar/Induce.xs  view on Meta::CPAN

void
induce(block, var)
	CV* block;
	SV* var;
	PROTOTYPE: &$
	PPCODE:
		SAVESPTR(DEFSV);
		DEFSV = sv_mortalcopy(var);
		while (SvOK(DEFSV)) {
			PUSHMARK(SP);
			call_sv((SV*)block, G_ARRAY | G_NOARGS);

 view all matches for this distribution


Scalar-List-Utils

 view release on metacpan or  search on metacpan

ListUtil.xs  view on Meta::CPAN

    none   = 0
    all    = 1
    any    = 2
    notall = 3
PROTOTYPE: &@
PPCODE:
{
    int ret_true = !(ix & 2); /* return true at end of loop for none/all; false for any/notall */
    int invert   =  (ix & 1); /* invert block test for all/notall */
    SV **args = &PL_stack_base[ax];
    CV *cv    = sv_to_cv(block,

ListUtil.xs  view on Meta::CPAN

head(size,...)
PROTOTYPE: $@
ALIAS:
    head = 0
    tail = 1
PPCODE:
{
    int size = 0;
    int start = 0;
    int end = 0;
    int i = 0;

ListUtil.xs  view on Meta::CPAN

}

void
pairs(...)
PROTOTYPE: @
PPCODE:
{
    int argi = 0;
    int reti = 0;
    HV *pairstash = get_hv("List::Util::_Pair::", GV_ADD);

ListUtil.xs  view on Meta::CPAN

}

void
unpairs(...)
PROTOTYPE: @
PPCODE:
{
    /* Unlike pairs(), we're going to trash the input values on the stack
     * almost as soon as we start generating output. So clone them first
     */
    int i;

ListUtil.xs  view on Meta::CPAN

}

void
pairkeys(...)
PROTOTYPE: @
PPCODE:
{
    int argi = 0;
    int reti = 0;

    if(items % 2 && ckWARN(WARN_MISC))

ListUtil.xs  view on Meta::CPAN

}

void
pairvalues(...)
PROTOTYPE: @
PPCODE:
{
    int argi = 0;
    int reti = 0;

    if(items % 2 && ckWARN(WARN_MISC))

ListUtil.xs  view on Meta::CPAN


void
pairfirst(block,...)
    SV *block
PROTOTYPE: &@
PPCODE:
{
    GV *agv,*bgv;
    CV *cv = sv_to_cv(block, "pairfirst");
    I32 ret_gimme = GIMME_V;
    int argi = 1; /* "shift" the block */

ListUtil.xs  view on Meta::CPAN


void
pairgrep(block,...)
    SV *block
PROTOTYPE: &@
PPCODE:
{
    GV *agv,*bgv;
    CV *cv = sv_to_cv(block, "pairgrep");
    I32 ret_gimme = GIMME_V;

ListUtil.xs  view on Meta::CPAN


void
pairmap(block,...)
    SV *block
PROTOTYPE: &@
PPCODE:
{
    GV *agv,*bgv;
    CV *cv = sv_to_cv(block, "pairmap");
    SV **args_copy = NULL;
    I32 ret_gimme = GIMME_V;

ListUtil.xs  view on Meta::CPAN

    zip_longest   = ZIP_LONGEST
    zip_shortest  = ZIP_SHORTEST
    mesh          = ZIP_MESH
    mesh_longest  = ZIP_MESH_LONGEST
    mesh_shortest = ZIP_MESH_SHORTEST
PPCODE:
    Size_t nlists = items; /* number of lists */
    AV **lists;         /* inbound lists */
    Size_t len = 0;        /* length of longest inbound list = length of result */
    Size_t i;
    bool is_mesh = (ix & ZIP_MESH);

ListUtil.xs  view on Meta::CPAN

set_prototype(proto, code)
    SV *proto
    SV *code
PREINIT:
    SV *cv; /* not CV * */
PPCODE:
    SvGETMAGIC(code);
    if(!SvROK(code))
        croak("set_prototype: not a reference");

    cv = SvRV(code);

ListUtil.xs  view on Meta::CPAN

    int utf8flag = SvUTF8(name);
#if PERL_VERSION_LT(5, 41, 3) || PERL_VERSION_GT(5, 41, 5)
    int quotes_seen = 0;
    bool need_subst = FALSE;
#endif
PPCODE:
    if (!SvROK(sub) && SvGMAGICAL(sub))
        mg_get(sub);
    if (SvROK(sub))
        cv = (CV *) SvRV(sub);
    else if (SvTYPE(sub) == SVt_PVGV)

ListUtil.xs  view on Meta::CPAN

    SV *code
PREINIT:
    CV *cv;
    GV *gv;
    const char *stashname;
PPCODE:
    if (!SvROK(code) && SvGMAGICAL(code))
        mg_get(code);

    if(!SvROK(code) || SvTYPE(cv = (CV *)SvRV(code)) != SVt_PVCV)
        croak("Not a subroutine reference");

 view all matches for this distribution


Scalar-Util-Instance

 view release on metacpan or  search on metacpan

Instance.xs  view on Meta::CPAN


#endif /* !USE_ITHREADS */

void
generate_for(self, SV* klass, const char* predicate_name = NULL)
PPCODE:
{
    STRLEN klass_len;
    const char* klass_pv;
    HV* stash;
    CV* xsub;

 view all matches for this distribution


Scalar-Watcher

 view release on metacpan or  search on metacpan

Watcher.xs  view on Meta::CPAN

INCLUDE: const-xs.inc

void
when_modified(SV * target, SV * handler)
    PROTOTYPE: $&
    PPCODE:
        hook_watcher_magic(aTHX_ target, handler, &modified_vtbl);
        SPAGAIN;

void
when_destroyed(SV * target, SV * handler)
    PROTOTYPE: $&
    PPCODE:
        hook_watcher_magic(aTHX_ target, handler, &destroyed_vtbl);
        SPAGAIN;

 view all matches for this distribution


( run in 1.922 second using v1.01-cache-2.11-cpan-5511b514fd6 )