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


Env-C

 view release on metacpan or  search on metacpan

C.xs  view on Meta::CPAN


MODULE = Env::C        PACKAGE = Env::C  PREFIX = env_c_

void
env_c_setenv_multi(...)
    PPCODE:
    int i;
    if (items % 3)
        croak("Usage: setenv_multi(var1, value1, override1, var2, value2, override2, ...)");
    for (i=0; i<items; i+=3)
        __setenv(SvPV_nolen(ST(i)), SvPV_nolen(ST(i+1)), SvIV(ST(i+2)));

C.xs  view on Meta::CPAN


MODULE = Env::C        PACKAGE = Env::C  PREFIX = env_c_

void
env_c_unsetenv_multi(...)
    PPCODE:
    int i;
    for (i=0; i<items; i++)
        __unsetenv(SvPV_nolen(ST(i)));
    XSRETURN(0);

 view all matches for this distribution


Erlang-Interface

 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:
        /* 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


Eshu

 view release on metacpan or  search on metacpan

include/eshu_xs.h  view on Meta::CPAN

	while (p < eol && (*p == ' ' || *p == '\t')) p++;
	return (p < eol && *p == '=');
}

/* XS labels: CODE, INIT, OUTPUT, PREINIT, CLEANUP, POSTCALL,
 * PPCODE, BOOT, CASE, INTERFACE, INTERFACE_MACRO, PROTOTYPES,
 * VERSIONCHECK, INCLUDE, FALLBACK, OVERLOAD, ALIAS, ATTRS */
static int eshu_xs_is_label(const char *content, const char *eol,
                            int *is_boot) {
	const char *p = content;
	const char *start;

include/eshu_xs.h  view on Meta::CPAN

	    (len == 4 && memcmp(start, "INIT", 4) == 0) ||
	    (len == 6 && memcmp(start, "OUTPUT", 6) == 0) ||
	    (len == 7 && memcmp(start, "PREINIT", 7) == 0) ||
	    (len == 7 && memcmp(start, "CLEANUP", 7) == 0) ||
	    (len == 8 && memcmp(start, "POSTCALL", 8) == 0) ||
	    (len == 6 && memcmp(start, "PPCODE", 6) == 0) ||
	    (len == 4 && memcmp(start, "CASE", 4) == 0) ||
	    (len == 9 && memcmp(start, "INTERFACE", 9) == 0) ||
	    (len == 15 && memcmp(start, "INTERFACE_MACRO", 15) == 0) ||
	    (len == 10 && memcmp(start, "PROTOTYPES", 10) == 0) ||
	    (len == 12 && memcmp(start, "VERSIONCHECK", 12) == 0) ||

 view all matches for this distribution


Etk-Perl

 view release on metacpan or  search on metacpan

xs/Alignment.xs  view on Meta::CPAN

void
etk_alignment_get(alignment)
	Etk_Alignment *	alignment
      ALIAS:
	Get=1
      PPCODE:
	float xalign;
	float yalign;
	float xscale;
	float yscale;

 view all matches for this distribution


Eval-Compile

 view release on metacpan or  search on metacpan

Compile.xs  view on Meta::CPAN


void 
cache_eval_undef()
    PREINIT:
    SV *last;
    PPCODE:
    last = eval_cache;
    if ( !eval_cache ){
	XSRETURN(0);
    };
    eval_cache=0;

Compile.xs  view on Meta::CPAN

    STRLEN plen;
    AV* temppad;
    HV* closure_cache;
    p_closure closure;
    dXSTARG;
    PPCODE:
    PERL_UNUSED_VAR(ix);
    if ( !eval_cache ){
	eval_cache = newAV();
	temppad = eval_cache;
	closure_cache = newHV();

Compile.xs  view on Meta::CPAN

    //I32 i;
    SV **value;
    char *pstr;
    STRLEN plen;
    dXSTARG;
    PPCODE:
    if ( ! (PL_op->op_private & OPpENTERSUB_HASTARG )){
	croak( "panic: XS sub no target " );
    };
    if (SvTYPE(TARG) != SVt_PVHV ){
	(void)SvUPGRADE( TARG , SVt_PVHV );

Compile.xs  view on Meta::CPAN


void run_sub( SV * code )
    PREINIT:
    I32 ret_count;
    int i;
    PPCODE:
    dSP;
    PUSHMARK(SP);
    PUTBACK;
    ret_count = call_sv( code, G_NOARGS | G_SCALAR );
    SPAGAIN;

Compile.xs  view on Meta::CPAN

void
compile_sub( SV *codetext)
    PREINIT:
    SV *text;
    SV *anonsub;
    PPCODE:
    //dSP;
    text= sv_newmortal( );
    sv_setpv( text , "sub {\n" );
    sv_catsv( text,  codetext );
    sv_catpv( text, "\n};\n" );

Compile.xs  view on Meta::CPAN

    long subcv_depth;
    long stack_depth;
    bool context_match;
    U32  context_seq;
    AV *results;
    PPCODE:
    if (cv && CvPADLIST( cv ) ){
	PADLIST *padlist = CvPADLIST( cv );
	if (CvDEPTH(cv)){
	    croak( "Fail compile: cv is running" );
	}

 view all matches for this distribution


Event-Lib

 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


Event-Stats

 view release on metacpan or  search on metacpan

lib/Event/Stats.xs  view on Meta::CPAN

	GEventAPI->install_stats(&Myvtbl);
     }

void
_enforcing_max_callback_time()
     PPCODE:
{
    XPUSHs(boolSV(EnforceMaxCBTime));
}

void
_enforce_max_callback_time(yes)
	bool yes
	PPCODE:
{
    XPUSHs(boolSV(EnforceMaxCBTime));
    if (!EnforceMaxCBTime ^ !yes)
	use_stats(yes? 1:-1);
    EnforceMaxCBTime = yes;

lib/Event/Stats.xs  view on Meta::CPAN

idle_time(sec)
	int sec
	PREINIT:
	int ran, die;
	double elapse;
	PPCODE:
	if (!Stats) croak("Event::Stats are not enabled");
	pe_stat_query(&idleStats, sec, &ran, &die, &elapse);
	XPUSHs(sv_2mortal(newSViv(ran)));
	XPUSHs(sv_2mortal(newSViv(die)));
	XPUSHs(sv_2mortal(newSVnv(elapse)));

lib/Event/Stats.xs  view on Meta::CPAN

total_time(sec)
	int sec
	PREINIT:
	int ran,die;
	double elapse;
	PPCODE:
	if (!Stats) croak("Event::Stats are not enabled");
	pe_stat_query(&totalStats, sec, &ran, &die, &elapse);
	XPUSHs(sv_2mortal(newSVnv(elapse)));

int

lib/Event/Stats.xs  view on Meta::CPAN

	int sec
	PREINIT:
	int ran, die;
	double elapse;
	pe_watcher *THIS;
	PPCODE:
	if (!Stats)
		croak("Event::Stats are not enabled");
	THIS = (pe_watcher*) GEventAPI->sv_2watcher(obj);
	if (THIS->stats)
	  pe_stat_query(THIS->stats, sec, &ran, &die, &elapse);

 view all matches for this distribution


Event

 view release on metacpan or  search on metacpan

Event.xs  view on Meta::CPAN

	OUTPUT:
	RETVAL

void
_memory_counters()
     PPCODE:
{
#ifdef EVENT_MEMORY_DEBUG
    int xx;
    for (xx=0; xx < MAX_MEMORYCOUNT; xx++)
	XPUSHs(sv_2mortal(newSViv(MemoryCount[xx])));
#endif
}

void
_incr_looplevel()
     PPCODE:
     ++LoopLevel;
     ++ExitLevel;

void
_decr_looplevel()
     PPCODE:
     --LoopLevel;

void
unloop(...)
     CODE:

Event.xs  view on Meta::CPAN

	int sec

void
all_watchers()
	PROTOTYPE:
	PPCODE:
	pe_watcher *ev;
	if (!AllWatchers.next)
	  return;
	ev = (pe_watcher*) AllWatchers.next->self;
	while (ev) {

Event.xs  view on Meta::CPAN

	}

void
all_idle()
	PROTOTYPE:
	PPCODE:
	pe_watcher *ev;
	if (!Idle.prev)
	  return;
	ev = (pe_watcher*) Idle.prev->self;
	while (ev) {

Event.xs  view on Meta::CPAN

	}

void
all_running()
	PROTOTYPE:
	PPCODE:
	int fx;
	for (fx = CurCBFrame; fx >= 0; fx--) {
	  pe_watcher *ev = (CBFrame + fx)->ev->up; /* XXX */
	  XPUSHs(watcher_2sv(ev));
	  if (GIMME_V != G_ARRAY)

Event.xs  view on Meta::CPAN

queue(...)
	PROTOTYPE: $;$
	PREINIT:
	pe_watcher *wa;
	pe_event *ev;
	PPCODE:
	wa = (pe_watcher*) sv_2watcher(ST(0));
	if (items == 1) {
	    ev = (*wa->vtbl->new_event)(wa);
	    ++ev->hits;
	}

Event.xs  view on Meta::CPAN

	LEAVE; /* reentry */

void
queue_time(prio)
	int prio
	PPCODE:
	NV max=0;
	int xx;
	if (prio < 0 || prio >= PE_QUEUES)
	  croak("queue_time(%d) out of domain [0..%d]",
		prio, PE_QUEUES-1);

Event.xs  view on Meta::CPAN


MODULE = Event		PACKAGE = Event::Event::Io

void
pe_event::got()
	PPCODE:
	XPUSHs(sv_2mortal(events_mask_2sv(((pe_ioevent*)THIS)->got)));

MODULE = Event		PACKAGE = Event::Event::Dataful

void
pe_event::data()
	PPCODE:
	XPUSHs(((pe_datafulevent*)THIS)->data);

MODULE = Event		PACKAGE = Event::Event

void

Event.xs  view on Meta::CPAN

	(*THIS->vtbl->dtor)(THIS);
}

void
pe_event::mom()
	PPCODE:
	if (--WarnCounter >= 0) warn("'mom' renamed to 'w'");
	XPUSHs(watcher_2sv(THIS->up));

void
pe_event::w()
	PPCODE:
	XPUSHs(watcher_2sv(THIS->up));

void
pe_event::hits()
	PPCODE:
	XPUSHs(sv_2mortal(newSViv(THIS->hits)));

void
pe_event::prio()
	PPCODE:
	XPUSHs(sv_2mortal(newSViv(THIS->prio)));

MODULE = Event		PACKAGE = Event::Watcher

void

Event.xs  view on Meta::CPAN

	}
}

void
pe_watcher::pending()
	PPCODE:
{
    if (GIMME_V == G_ARRAY) {
	pe_event *ev = (pe_event *) THIS->events.prev->self;
	while (ev) {
	    XPUSHs(event_2sv(ev));

Event.xs  view on Meta::CPAN

	pe_watcher_now(THIS);

void
pe_watcher::use_keys(...)
	PREINIT:
	PPCODE:
	warn("use_keys is deprecated");

void
pe_watcher::is_running(...)
	PPCODE:
	XPUSHs(sv_2mortal(newSViv(THIS->running)));

void
pe_watcher::is_active(...)
	PPCODE:
	PUTBACK;
	XPUSHs(boolSV(WaACTIVE(THIS)));

void
pe_watcher::is_suspended(...)
	PPCODE:
	PUTBACK;
	XPUSHs(boolSV(WaSUSPEND(THIS)));

void
pe_watcher::is_cancelled(...)
	PPCODE:
	PUTBACK;
	XPUSHs(boolSV(WaCANCELLED(THIS)));

void
pe_watcher::cb(...)
	PPCODE:
	PUTBACK;
	_watcher_callback(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::cbtime(...)
	PPCODE:
	PUTBACK;
	_watcher_cbtime(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::desc(...)
	PPCODE:
	PUTBACK;
	_watcher_desc(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::debug(...)
	PPCODE:
	PUTBACK;
	_watcher_debug(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::prio(...)
	PPCODE:
	PUTBACK;
	_watcher_priority(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::reentrant(...)
	PPCODE:
	PUTBACK;
	_watcher_reentrant(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::repeat(...)
	PPCODE:
	PUTBACK;
	_watcher_repeat(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::max_cb_tm(...)
	PPCODE:
	PUTBACK;
	_watcher_max_cb_tm(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::Watcher::Tied

void
allocate(clname, temple)
	SV *clname
	SV *temple
	PPCODE:
	if (!SvROK(temple)) croak("Bad template");
	XPUSHs(watcher_2sv(pe_tied_allocate(gv_stashsv(clname, 1),
					    SvRV(temple))));

void
pe_watcher::hard(...)
	PPCODE:
	PUTBACK;
	_timeable_hard(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::at(...)
	PPCODE:
	PUTBACK;
	_tied_at(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::flags(...)
	PPCODE:
	PUTBACK;
	_tied_flags(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::idle

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	if (!SvROK(temple)) croak("Bad template");
	XPUSHs(watcher_2sv(pe_idle_allocate(gv_stashsv(clname, 1),
			SvRV(temple))));

void
pe_watcher::hard(...)
	PPCODE:
	PUTBACK;
	_timeable_hard(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::max(...)
	PPCODE:
	PUTBACK;
	_idle_max_interval(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::min(...)
	PPCODE:
	PUTBACK;
	_idle_min_interval(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::timer

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	XPUSHs(watcher_2sv(pe_timer_allocate(gv_stashsv(clname, 1),
			SvRV(temple))));

void
pe_watcher::at(...)
	PPCODE:
	PUTBACK;
	_timer_at(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::hard(...)
	PPCODE:
	PUTBACK;
	_timeable_hard(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::interval(...)
	PPCODE:
	PUTBACK;
	_timer_interval(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::io

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	if (!SvROK(temple)) croak("Bad template");
	XPUSHs(watcher_2sv(pe_io_allocate(gv_stashsv(clname, 1),
			SvRV(temple))));

void
pe_watcher::poll(...)
	PPCODE:
	PUTBACK;
	_io_poll(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::fd(...)
	PPCODE:
	PUTBACK;
	_io_handle(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::timeout(...)
	PPCODE:
	PUTBACK;
	_io_timeout(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::timeout_cb(...)
	PPCODE:
	PUTBACK;
	_io_timeout_cb(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::var

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	XPUSHs(watcher_2sv(pe_var_allocate(gv_stashsv(clname, 1),
		SvRV(temple))));

void
pe_watcher::var(...)
	PPCODE:
	PUTBACK;
	_var_variable(THIS, items == 2? ST(1) : 0); /* don't mortalcopy!! */
	SPAGAIN;

void
pe_watcher::poll(...)
	PPCODE:
	PUTBACK;
	_var_events(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::signal

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	XPUSHs(watcher_2sv(pe_signal_allocate(gv_stashsv(clname, 1),
		SvRV(temple))));

void
pe_watcher::signal(...)
	PPCODE:
	PUTBACK;
	_signal_signal(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::group

void
allocate(clname, temple)
     SV *clname;
     SV *temple;
     PPCODE:
     XPUSHs(watcher_2sv(pe_group_allocate(gv_stashsv(clname, 1),
		SvRV(temple))));

void
pe_watcher::timeout(...)
	PPCODE:
	PUTBACK;
	_group_timeout(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::add(...)
	PPCODE:
	PUTBACK;
	_group_add(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

void
pe_watcher::del(...)
	PPCODE:
	PUTBACK;
	_group_del(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::generic

void
allocate(clname, temple)
     SV *clname;
     SV *temple;
     PPCODE:
     XPUSHs(watcher_2sv(pe_generic_allocate(gv_stashsv(clname, 1),
		SvRV(temple))));

void
pe_watcher::source(...)
	PPCODE:
	PUTBACK;
	_generic_source(THIS, items == 2? sv_mortalcopy(ST(1)) : 0);
	SPAGAIN;

MODULE = Event		PACKAGE = Event::generic::Source

void
allocate(clname, temple)
	SV *clname;
	SV *temple;
	PPCODE:
	if (!SvROK(temple)) croak("Bad template");
	XPUSHs(genericsrc_2sv(pe_genericsrc_allocate(gv_stashsv(clname, 1),
			SvRV(temple))));

void

Event.xs  view on Meta::CPAN

	pe_genericsrc_dtor(sv_2genericsrc(ref));
}

void
pe_genericsrc::event(...)
	PPCODE:
	pe_genericsrc_event(THIS,
		items >= 2 ? sv_mortalcopy(ST(1)) : &PL_sv_undef);

 view all matches for this distribution


Evo

 view release on metacpan or  search on metacpan

lib/Evo/Class/Attrs/XS.xs  view on Meta::CPAN

  SV *self;
  SV *name;

void slots(self)
  SV *self;
PPCODE:
  AV *av = sv2av(self);
  int i, last = av_top_index(av), size = last + 1;

  for (i = 0; i < size; i++) {
    SV **tmp = av_fetch(av, i, 0);

 view all matches for this distribution


ExtUtils-Constant

 view release on metacpan or  search on metacpan

lib/ExtUtils/Constant.pm  view on Meta::CPAN

    INPUT:
	int		utf8 = SvUTF8(sv);
EOT
  }
  $xs .= << 'EOT';
    PPCODE:
EOT

  if ($params->{IV} xor $params->{NV}) {
    $xs .= << "EOT";
        /* Change this to $C_subname(aTHX_ s, len, &iv, &nv);

 view all matches for this distribution


ExtUtils-HasCompiler

 view release on metacpan or  search on metacpan

t/compare.t  view on Meta::CPAN

MODULE = EUHC::Test PACKAGE = EUHC::Test
PROTOTYPES: DISABLED

IV
compiled_xs()
	PPCODE:
	XSRETURN_IV(1);
END

my $test_file = <<'END';
use Test::More tests => 1;

 view all matches for this distribution


ExtUtils-ParseXS

 view release on metacpan or  search on metacpan

lib/ExtUtils/ParseXS/Constants.pm  view on Meta::CPAN

# IN_OUT, NO_INIT, NO_OUTPUT.
# This list is mainly used by the parser to delineate blocks (such as
# blocks of CODE or lines of INPUT).

our @XSKeywords      = qw( 
  REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE
  OUTPUT CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE
  VERSIONCHECK INCLUDE INCLUDE_COMMAND SCOPE INTERFACE
  INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
  EXPORT_XSUB_SYMBOLS
);

 view all matches for this distribution


ExtUtils-XSBuilder

 view release on metacpan or  search on metacpan

XSBuilder/WrapXS.pm  view on Meta::CPAN


        my $retval = $return_type eq 'void' ?
          ["", ""] : ["RETVAL = ", "OUTPUT:\n    RETVAL\n"];

        my $retnum = $retdecl?scalar(@$retargs) + ($return_type eq 'void' ?0:1):0 ;
        $code .= $retdecl?"PPCODE:":"CODE:" ;
        $code .= "\n    $retval->[0]$dispatch($thx$parms);\n" ;
        if ($retdecl) {
            my $retclass = $self -> typemap -> map_class ($return_type) || $return_type ;
            if ($retclass =~ / /) 
                {

 view all matches for this distribution


ExtUtils-XSpp

 view release on metacpan or  search on metacpan

lib/ExtUtils/XSpp/Node/Function.pm  view on Meta::CPAN

  }

  my $has_ret = $ret_typemap && !$ret_typemap->type->is_void;

  my $ppcode = $has_ret && $ret_typemap->output_list( '' ) ? 1 : 0;
  my $code_type = $ppcode ? "PPCODE" : "CODE";
  my $ccode = $this->_call_code( $call_arg_list );
  if ($this->{CALL_CODE}) {
    $ccode = join( "\n", @{$this->{CALL_CODE}} );
  } elsif ($this->isa('ExtUtils::XSpp::Node::Destructor')) {
    $ccode = 'delete THIS';

 view all matches for this distribution


FCGI

 view release on metacpan or  search on metacpan

FCGI.xs  view on Meta::CPAN

GetHandles(request)
    FCGI request;
  PROTOTYPE: $
  PREINIT:
    int i;
  PPCODE:
    EXTEND(sp,3);
    for (i = 0; i < 3; ++i)
        PUSHs(sv_2mortal(newRV((SV *) request->gv[i])));

int

 view all matches for this distribution


FFI-Platypus

 view release on metacpan or  search on metacpan

xs/Buffer.xs  view on Meta::CPAN

  PROTOTYPE: $$;$
  PREINIT:
    int clear = 1;
    int set_length = 1;

  PPCODE:
    if (SvROK (sv))
        croak("buffer argument must be a scalar");

   if ( items > 2 ) {

 view all matches for this distribution


Feersum

 view release on metacpan or  search on metacpan

Feersum.xs  view on Meta::CPAN


PROTOTYPES: ENABLE

void
set_server_name_and_port(SV *self, SV *name, SV *port)
    PPCODE:
{
    if (feer_server_name)
        SvREFCNT_dec(feer_server_name);
    feer_server_name = newSVsv(name);
    SvREADONLY_on(feer_server_name);

Feersum.xs  view on Meta::CPAN

    SvREADONLY_on(feer_server_port);
}

void
accept_on_fd(SV *self, int fd)
    PPCODE:
{
    struct sockaddr_storage addr;
    socklen_t addr_len = sizeof(addr);

    if (getsockname(fd, (struct sockaddr*)&addr, &addr_len) == -1) perror("getsockname");

Feersum.xs  view on Meta::CPAN

    ev_io_init(&accept_w, accept_cb, fd, EV_READ);
}

void
unlisten (SV *self)
    PPCODE:
{
    trace("stopping accept\n");
    ev_prepare_stop(feersum_ev_loop, &ep);
    ev_check_stop(feersum_ev_loop, &ec);
    ev_idle_stop(feersum_ev_loop, &ei);

Feersum.xs  view on Meta::CPAN

void
request_handler(SV *self, SV *cb)
    PROTOTYPE: $&
    ALIAS:
        psgi_request_handler = 1
    PPCODE:
{
    if (unlikely(!SvOK(cb) || !SvROK(cb)))
        croak("can't supply an undef handler");
    if (request_cb_cv)
        SvREFCNT_dec(request_cb_cv);

Feersum.xs  view on Meta::CPAN

}

void
graceful_shutdown (SV *self, SV *cb)
    PROTOTYPE: $&
    PPCODE:
{
    if (!IsCodeRef(cb))
        croak("must supply a code reference");
    if (unlikely(shutting_down))
        croak("already shutting down");

Feersum.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

void
set_keepalive (SV *self, SV *set)
    PPCODE:
{
    trace("set keepalive %d\n", SvTRUE(set));
    is_keepalive = SvTRUE(set);
}

Feersum.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

void
DESTROY (SV *self)
    PPCODE:
{
    trace3("DESTROY server\n");
    if (request_cb_cv)
        SvREFCNT_dec(request_cb_cv);
}

Feersum.xs  view on Meta::CPAN

void
DESTROY (SV *self)
    ALIAS:
        Feersum::Connection::Reader::DESTROY = 1
        Feersum::Connection::Writer::DESTROY = 2
    PPCODE:
{
    feer_conn_handle *hdl = sv_2feer_conn_handle(self, 0);

    if (hdl == NULL) {
        trace3("DESTROY handle (closed) class=%s\n",

Feersum.xs  view on Meta::CPAN

}

SV*
read (feer_conn_handle *hdl, SV *buf, size_t len, ...)
    PROTOTYPE: $$$;$
    PPCODE:
{
    STRLEN buf_len = 0, src_len = 0;
    ssize_t offset;
    char *buf_ptr, *src_ptr;

Feersum.xs  view on Meta::CPAN

        RETVAL

void
write_array (feer_conn_handle *hdl, AV *abody)
    PROTOTYPE: $$
    PPCODE:
{
    if (unlikely(c->responding != RESPOND_STREAMING))
        croak("can only call write in streaming mode");

    trace("write_array fd=%d c=%p, abody=%p\n", c->fd, c, abody);

Feersum.xs  view on Meta::CPAN

_poll_cb (feer_conn_handle *hdl, SV *cb)
    PROTOTYPE: $$
    ALIAS:
        Feersum::Connection::Reader::poll_cb = 1
        Feersum::Connection::Writer::poll_cb = 2
    PPCODE:
{
    if (unlikely(ix < 1 || ix > 2))
        croak("can't call _poll_cb directly");
    else if (unlikely(ix == 1))
        croak("poll_cb for reading not yet supported"); // TODO poll_read_cb

Feersum.xs  view on Meta::CPAN

void
force_http10 (struct feer_conn *c)
    PROTOTYPE: $
    ALIAS:
        force_http11 = 1
    PPCODE:
        c->is_http11 = ix;

SV *
env (struct feer_conn *c)
    PROTOTYPE: $

Feersum.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

void
DESTROY (struct feer_conn *c)
    PPCODE:
{
    int i;
    trace("DESTROY connection fd=%d c=%p\n", c->fd, c);

    if (likely(c->rbuf)) SvREFCNT_dec(c->rbuf);

 view all matches for this distribution


Fetch

 view release on metacpan or  search on metacpan

xs/future.xs  view on Meta::CPAN

void
get(self)
    SV *self
    ALIAS:
        result = 1
    PPCODE:
    {
        IV st;
        PERL_UNUSED_VAR(ix);
        hmf_await(aTHX_ self);
        st = hmf_state(aTHX_ self);

xs/future.xs  view on Meta::CPAN

    }

void
failure(self)
    SV *self
    PPCODE:
    {
        hmf_await(aTHX_ self);
        if (hmf_state(aTHX_ self) != HMF_FAILED) XSRETURN_EMPTY;
        {
            AV *fav = hmf_values_av(aTHX_ self);

xs/future.xs  view on Meta::CPAN

    }

void
_values(self)
    SV *self
    PPCODE:
    {
        AV *rav = hmf_values_av(aTHX_ self);
        SSize_t i, n = rav ? av_len(rav) + 1 : 0;
        EXTEND(SP, n);
        for (i = 0; i < n; i++) {

 view all matches for this distribution


File-BSDGlob

 view release on metacpan or  search on metacpan

BSDGlob.xs  view on Meta::CPAN

  glob_t pglob;
  int i;
  int retval;
  int flags = 0;
  SV *tmp;
  PPCODE:
  /* allow for optional flags argument */
  if (items > 1) {
    flags = (int) SvIV(ST(1));
  }

 view all matches for this distribution


File-Copy-clonefile

 view release on metacpan or  search on metacpan

lib/File/Copy/clonefile.xs  view on Meta::CPAN


PROTOTYPES: DISABLE

void
clonefile(...)
PPCODE:
{
  if (items != 2 && items != 3) {
    croak("clonefile: the length of arguments must be 2 or 3");
  }
  const char* src = SvPV_nolen(ST(0));

 view all matches for this distribution


File-ExtAttr

 view release on metacpan or  search on metacpan

ExtAttr.xs  view on Meta::CPAN

    PREINIT:
        ssize_t size, ret;
        char *namebuf = NULL;
        char *nameptr;

    PPCODE:
        if(fd == -1)
            size = portable_listxattr(path, NULL, 0, flags);
        else
            size = portable_flistxattr(fd, NULL, 0, flags);

ExtAttr.xs  view on Meta::CPAN

    PREINIT:
        ssize_t size, ret;
        char *namebuf = NULL;
        char *nameptr;

    PPCODE:
        if(fd == -1)
            size = portable_listxattrns(path, NULL, 0, flags);
        else
            size = portable_flistxattrns(fd, NULL, 0, flags);

 view all matches for this distribution


File-Extractor

 view release on metacpan or  search on metacpan

Extractor.xs  view on Meta::CPAN

void
EXTRACTOR_getDefaultLibraries (class)
	PREINIT:
		const char *libraries;
		char *copy, *pos, *token;
	PPCODE:
		libraries = EXTRACTOR_getDefaultLibraries ();

		if (!libraries) {
			XSRETURN_EMPTY;
		}

Extractor.xs  view on Meta::CPAN

		SV *data
	PREINIT:
		STRLEN len;
		char *buf;
		EXTRACTOR_KeywordList *list, *i;
	PPCODE:
		if (SvROK (data) && (SvTYPE (SvRV (data)) == SVt_PVGV)) {
			buf = perl_extractor_slurp_from_handle (data, &len);
		}
		else {
			buf = SvPVbyte (data, len);

 view all matches for this distribution


File-LibMagic

 view release on metacpan or  search on metacpan

LibMagic.xs  view on Meta::CPAN

        const char *mime;
        const char *encoding;
        SV *d;
        SV *m;
        SV *e;
    PPCODE:
        if (SvROK(buffer)) {
            content = SvRV(buffer);
        }
        else {
            content = buffer;

LibMagic.xs  view on Meta::CPAN

        const char *mime;
        const char *encoding;
        SV *d;
        SV *m;
        SV *e;
    PPCODE:
        if ( ! SvPOK(filename) ) {
            croak("info_from_filename requires a scalar as its argument");
        }

        file = SvPV_nolen(filename);

LibMagic.xs  view on Meta::CPAN

        const char *mime;
        const char *encoding;
        SV *d;
        SV *m;
        SV *e;
    PPCODE:
        if ( ! SvOK(handle) ) {
            croak("info_from_handle requires a scalar filehandle as its argument");
        }

        io = IoIFP(sv_2io(handle));

 view all matches for this distribution


File-Locate

 view release on metacpan or  search on metacpan

Locate.xs  view on Meta::CPAN

	regex_t *preg = NULL;
	char errbuf[1024];
	regmatch_t pmatch[32];
        STRLEN n_a;
	register int i;
    PPCODE:
    
	for (i = 1; i < items; i++) {
            if (SvROK(ST(i)) && SvTYPE((SV*)SvRV(ST(i))) == SVt_PVCV) {
                coderef = newSVsv(ST(i));
            }

Locate.xs  view on Meta::CPAN


        boolean prev_fast_match = false;    /* true if we found a fast match
                                               (of patend) on the previous
                                               path.  */
	register int i;
    PPCODE:
    {
	for (i = 1; i < items; i++) {
            if (SvROK(ST(i)) && SvTYPE((SV*)SvRV(ST(i))) == SVt_PVCV) {
                coderef = newSVsv(ST(i));
            }

 view all matches for this distribution


File-Lock

 view release on metacpan or  search on metacpan

Lock.xs  view on Meta::CPAN

	FILE *	file
	mode_int	mode
	int		offset
	int		whence
	int		length
	PPCODE:
	{
#	ifdef FDEBUG
		fprintf(stderr,"Entering fcntl(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
#	endif		
#	if defined(HAS_FCNTL)

Lock.xs  view on Meta::CPAN


void
flock(file, mode=Lock_exclusive|Lock_nonblock)
	FILE *	file
	mode_int		mode
	PPCODE:
	{
#	ifdef FDEBUG
		fprintf(stderr,"Entering flock(%d,%s)\n",fileno(file),mode_name[mode]);
#	endif		
#	if defined(HAS_FLOCK)

Lock.xs  view on Meta::CPAN

	FILE *	file
	mode_int	mode
	int		offset
	int		whence
	int		length
	PPCODE:
	{
#	ifdef FDEBUG
		fprintf(stderr,"Entering lockf(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
#	endif		
#	if defined(HAS_LOCKF)

Lock.xs  view on Meta::CPAN

	RETVAL

void
_mode(mode)
	mode_int	mode
	PPCODE:
	{
		ReturnResult(mode & Lock_modemask,Lock_test);
	}
	

Lock.xs  view on Meta::CPAN

	FILE *	file
	mode_int	mode
	int		offset
	int		whence
	int		length
	PPCODE:
	{
#	ifdef FDEBUG
		fprintf(stderr,"Entering new File::Lock(%d,%s,%d,%d,%d)\n",fileno(file),mode_name[mode],offset,whence,length);
#	endif		
	if(((mode & Lock_modemask)== Lock_test) || ((mode & Lock_modemask)==Lock_unlock)) {

 view all matches for this distribution


File-Raw-Archive

 view release on metacpan or  search on metacpan

Archive.xs  view on Meta::CPAN

# helper cleanly closes the fd and frees the cursor.
# ====================================================================

void
list(...)
PPCODE:
{
    if (items < 2)
        croak("Usage: \\$class->list(\\$path, %%opts)");
    if ((items - 2) % 2 != 0)
        croak("File::Raw::Archive::list: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

IV
extract(...)
PPCODE:
{
    if (items < 4)
        croak("Usage: \\$class->extract(\\$path, \\$name, \\$dest, %%opts)");
    if ((items - 4) % 2 != 0)
        croak("File::Raw::Archive::extract: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

IV
extract_all(...)
PPCODE:
{
    if (items < 3)
        croak("Usage: \\$class->extract_all(\\$path, \\$dest, %%opts)");
    if ((items - 3) % 2 != 0)
        croak("File::Raw::Archive::extract_all: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

void
each(...)
PPCODE:
{
    if (items < 3)
        croak("Usage: \\$class->each(\\$path, %%opts, sub { ... })");
    SV *cb_sv = ST(items - 1);
    if (!SvROK(cb_sv) || SvTYPE(SvRV(cb_sv)) != SVt_PVCV)

Archive.xs  view on Meta::CPAN

    XSRETURN_EMPTY;
}

SV *
open(...)
PPCODE:
{
    if (items < 2)
        croak("Usage: \\$class->open(\\$path, %%opts)");
    if ((items - 2) % 2 != 0)
        croak("File::Raw::Archive::open: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

SV *
create(...)
PPCODE:
{
    if (items < 2)
        croak("Usage: \\$class->create(\\$path, %%opts)");
    if ((items - 2) % 2 != 0)
        croak("File::Raw::Archive::create: odd number of options");

Archive.xs  view on Meta::CPAN

MODULE = File::Raw::Archive   PACKAGE = File::Raw::Archive::Writer
# ====================================================================

void
add(...)
PPCODE:
{
    if (items < 1)
        croak("Usage: \\$writer->add(name => ..., content => ..., ...)");
    SV *self_sv = ST(0);
    if (!SvROK(self_sv) || SvTYPE(SvRV(self_sv)) != SVt_PVAV)

Archive.xs  view on Meta::CPAN

# Same semantics as the matching class methods minus the leading
# `$class` arg. Imported into the caller's package via `import` below.

SV *
file_archive_open(...)
PPCODE:
{
    if (items < 1)
        croak("Usage: file_archive_open(\\$path, %%opts)");
    if ((items - 1) % 2 != 0)
        croak("file_archive_open: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

SV *
file_archive_create(...)
PPCODE:
{
    if (items < 1)
        croak("Usage: file_archive_create(\\$path, %%opts)");
    if ((items - 1) % 2 != 0)
        croak("file_archive_create: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

SV *
file_archive_list(...)
PPCODE:
{
    if (items < 1)
        croak("Usage: file_archive_list(\\$path, %%opts)");
    if ((items - 1) % 2 != 0)
        croak("file_archive_list: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

IV
file_archive_extract(...)
PPCODE:
{
    if (items < 3)
        croak("Usage: file_archive_extract(\\$path, \\$name, \\$dest, %%opts)");
    if ((items - 3) % 2 != 0)
        croak("file_archive_extract: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

IV
file_archive_extract_all(...)
PPCODE:
{
    if (items < 2)
        croak("Usage: file_archive_extract_all(\\$path, \\$dest, %%opts)");
    if ((items - 2) % 2 != 0)
        croak("file_archive_extract_all: odd number of options");

Archive.xs  view on Meta::CPAN

    XSRETURN(1);
}

void
file_archive_each(...)
PPCODE:
{
    if (items < 2)
        croak("Usage: file_archive_each(\\$path, %%opts, sub { ... })");
    SV *cb_sv = ST(items - 1);
    if (!SvROK(cb_sv) || SvTYPE(SvRV(cb_sv)) != SVt_PVCV)

Archive.xs  view on Meta::CPAN

# Walks the requested name list and aliases each into the caller's
# stash as `file_archive_<name>`.

void
import(...)
PPCODE:
{
    /* ST(0) is the class. The rest are export-tag style names. */
    static const char * const known_names[] = {
        "open", "create", "list", "each", "extract", "extract_all", NULL
    };

 view all matches for this distribution


File-Raw-JSON

 view release on metacpan or  search on metacpan

JSON.xs  view on Meta::CPAN

void
import(...)
PREINIT:
    const char *pkg;
    I32 i;
PPCODE:
    pkg = CopSTASHPV(PL_curcop);
    if (items <= 1) XSRETURN_EMPTY;

    for (i = 1; i < items; i++) {
        STRLEN len;

JSON.xs  view on Meta::CPAN


PROTOTYPES: DISABLE

void
TRUE(...)
    PPCODE:
        PERL_UNUSED_VAR(items);
        if (!g_frj_true_sv) init_boolean_singletons(aTHX);
        SvREFCNT_inc_simple_void(g_frj_true_sv);
        XPUSHs(sv_2mortal(g_frj_true_sv));
        XSRETURN(1);

void
FALSE(...)
    PPCODE:
        PERL_UNUSED_VAR(items);
        if (!g_frj_false_sv) init_boolean_singletons(aTHX);
        SvREFCNT_inc_simple_void(g_frj_false_sv);
        XPUSHs(sv_2mortal(g_frj_false_sv));
        XSRETURN(1);

 view all matches for this distribution


File-Raw-Separated

 view release on metacpan or  search on metacpan

Separated.xs  view on Meta::CPAN

void
parse_buf_each(input, code, opts = NULL)
        SV *input
        SV *code
        SV *opts
    PPCODE:
        do_parse_buf_each(aTHX_ "parse_buf_each", input, code, opts, DIALECT_AUTO);
        XSRETURN_EMPTY;

void
csv_parse_buf_each(input, code, opts = NULL)
        SV *input
        SV *code
        SV *opts
    PPCODE:
        do_parse_buf_each(aTHX_ "csv_parse_buf_each", input, code, opts, DIALECT_CSV);
        XSRETURN_EMPTY;

void
tsv_parse_buf_each(input, code, opts = NULL)
        SV *input
        SV *code
        SV *opts
    PPCODE:
        do_parse_buf_each(aTHX_ "tsv_parse_buf_each", input, code, opts, DIALECT_TSV);
        XSRETURN_EMPTY;


void
parse_stream(path, code, opts = NULL)
        SV *path
        SV *code
        SV *opts
    PPCODE:
        do_parse_stream(aTHX_ "parse_stream", path, code, opts, DIALECT_AUTO);
        XSRETURN_EMPTY;

void
csv_parse_stream(path, code, opts = NULL)
        SV *path
        SV *code
        SV *opts
    PPCODE:
        do_parse_stream(aTHX_ "csv_parse_stream", path, code, opts, DIALECT_CSV);
        XSRETURN_EMPTY;

void
tsv_parse_stream(path, code, opts = NULL)
        SV *path
        SV *code
        SV *opts
    PPCODE:
        do_parse_stream(aTHX_ "tsv_parse_stream", path, code, opts, DIALECT_TSV);
        XSRETURN_EMPTY;

 view all matches for this distribution


File-stat2

 view release on metacpan or  search on metacpan

stat2.xs  view on Meta::CPAN

_stat2 (path)
      const char * path
    INIT:
      struct stat st;
      char ino[128];
    PPCODE:
      if (stat (path, &st) == 0)
        {
          sprintf (ino, "%llu", (unsigned long long)st.st_ino);
          XPUSHs (sv_2mortal (newSViv (st.st_dev    )));
          XPUSHs (sv_2mortal (newSVpv (ino       , 0)));

 view all matches for this distribution


Filesys-Df

 view release on metacpan or  search on metacpan

XS_statfs  view on Meta::CPAN

void
_df(dir)
	char *dir
	PREINIT:
	Statfs st;
	PPCODE:
	EXTEND(sp, 7);
#ifdef DF_SOLARIS
	if(statfs(dir, &st, 0, 0) == 0) {
#else
	if(statfs(dir, &st) == 0) {

XS_statfs  view on Meta::CPAN

void
_df_fh(fd)
	int fd
	PREINIT:
	Statfs st;
	PPCODE:
	EXTEND(sp, 7);
#ifdef DF_SOLARIS
	if(fstatfs(fd, &st, 0, 0) == 0) {
#else
	if(fstatfs(fd, &st) == 0) {

 view all matches for this distribution


( run in 1.013 second using v1.01-cache-2.11-cpan-92ad3014f07 )