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


Scope-Escape

 view release on metacpan or  search on metacpan

lib/Scope/Escape.xs  view on Meta::CPAN

MODULE = Scope::Escape PACKAGE = Scope::Escape::Continuation

void
go(SV *contref, ...)
PROTOTYPE: $@
PPCODE:
	PUSHMARK(SP+1);
	/* the modified SP is intentionally lost here */
	THX_xsfunc_go(aTHX_ contsub_from_contref(contref));
	/* does not return */

 view all matches for this distribution


Scope-Upper

 view release on metacpan or  search on metacpan

Upper.xs  view on Meta::CPAN

#if XSH_THREADSAFE

void
CLONE(...)
PROTOTYPE: DISABLE
PPCODE:
 xsh_clone();
 XSRETURN(0);

#endif /* XSH_THREADSAFE */

void
HERE()
PROTOTYPE:
PREINIT:
 I32 cxix;
PPCODE:
 cxix = su_context_real2logical(su_context_here());
 EXTEND(SP, 1);
 mPUSHi(cxix);
 XSRETURN(1);

void
UP(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix;
PPCODE:
 SU_GET_CONTEXT(0, 0, su_context_here());
 if (cxix > 0) {
  --cxix;
  cxix = su_context_skip_db(cxix);
  cxix = su_context_normalize_up(cxix);

Upper.xs  view on Meta::CPAN

void
SUB(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix;
PPCODE:
 SU_GET_CONTEXT(0, 0, cxstack_ix);
 EXTEND(SP, 1);
 for (; cxix >= 0; --cxix) {
  PERL_CONTEXT *cx = cxstack + cxix;
  switch (CxTYPE(cx)) {

Upper.xs  view on Meta::CPAN

void
EVAL(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix;
PPCODE:
 SU_GET_CONTEXT(0, 0, cxstack_ix);
 EXTEND(SP, 1);
 for (; cxix >= 0; --cxix) {
  PERL_CONTEXT *cx = cxstack + cxix;
  switch (CxTYPE(cx)) {

Upper.xs  view on Meta::CPAN

void
SCOPE(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix, level;
PPCODE:
 SU_GET_LEVEL(0, 0);
 cxix = su_context_here();
 while (--level >= 0) {
  if (cxix <= 0) {
   warn(su_stack_smash);

Upper.xs  view on Meta::CPAN

void
CALLER(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix, level;
PPCODE:
 SU_GET_LEVEL(0, 0);
 for (cxix = cxstack_ix; cxix > 0; --cxix) {
  PERL_CONTEXT *cx = cxstack + cxix;
  switch (CxTYPE(cx)) {
   case CXt_SUB:

Upper.xs  view on Meta::CPAN

void
want_at(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix;
PPCODE:
 SU_GET_CONTEXT(0, 0, cxstack_ix);
 EXTEND(SP, 1);
 while (cxix > 0) {
  PERL_CONTEXT *cx = cxstack + cxix--;
  switch (CxTYPE(cx)) {

Upper.xs  view on Meta::CPAN

PROTOTYPE: ;$
PREINIT:
 I32 cxix;
 const PERL_CONTEXT *cx, *dbcx;
 COP *cop;
PPCODE:
 SU_GET_CONTEXT(0, 0, su_context_skip_db(cxstack_ix));
 cxix = su_context_normalize_up(cxix);
 cx   = cxstack + cxix;
 dbcx = cx;
 if (PL_DBsub && cxix && (CxTYPE(cx) == CXt_SUB || CxTYPE(cx) == CXt_FORMAT)) {

Upper.xs  view on Meta::CPAN

void
uplevel(SV *code, ...)
PROTOTYPE: &@
PREINIT:
 I32 cxix, ret, args = 0;
PPCODE:
 if (SvROK(code))
  code = SvRV(code);
 if (SvTYPE(code) < SVt_PVCV)
  croak("First argument to uplevel must be a code reference");
 SU_GET_CONTEXT(1, items - 1, cxstack_ix);

Upper.xs  view on Meta::CPAN

uid(...)
PROTOTYPE: ;$
PREINIT:
 I32 cxix;
 SV *uid;
PPCODE:
 SU_GET_CONTEXT(0, 0, su_context_here());
 uid = su_uid_get(cxix);
 EXTEND(SP, 1);
 PUSHs(uid);
 XSRETURN(1);

Upper.xs  view on Meta::CPAN

void
validate_uid(SV *uid)
PROTOTYPE: $
PREINIT:
 SV *ret;
PPCODE:
 ret = su_uid_validate(uid) ? &PL_sv_yes : &PL_sv_no;
 EXTEND(SP, 1);
 PUSHs(ret);
 XSRETURN(1);

 view all matches for this distribution


Search-ContextGraph

 view release on metacpan or  search on metacpan

ContextGraph.xs  view on Meta::CPAN

    	result_count = 0;
    	undef = (SV*) &PL_sv_undef;
		list =  (AV *) sv_2mortal((SV *)newAV());
		startSize = 64;
		
    PPCODE:
		result = collect_results(graph);
		for (i = 0; result[i].weight > 0; i++) {
			entry = newAV();
			/* fprintf( stderr, "weight %ld, %ld, %f \n", i, result[i].sink, result[i].weight);
			*/

 view all matches for this distribution


Search-Namazu

 view release on metacpan or  search on metacpan

Namazu.xs  view on Meta::CPAN

void
call_search_main(query, maxget)
	SV *query
	int maxget

	PPCODE:
		char *qstr;
                char buffer[BUFSIZE];
		char cqstr[BUFSIZE * 2];
		AV *retar;
		int i;

 view all matches for this distribution


SecurID-ACEdb

 view release on metacpan or  search on metacpan

ACEdb.xs  view on Meta::CPAN

	RETVAL

SV *
Sd_ListTokens()

     PPCODE:
	{
	  if (Sd_ListTokens(messageBuf, MAX_RESULT_MSG_SIZE) == API_OK) {
	    while (strcmp(messageBuf, "Done") != 0) {
	      EXTEND(sp, 1);
	      PUSHs(sv_2mortal(newSVpv(messageBuf, 0)));

ACEdb.xs  view on Meta::CPAN


SV *
Sd__ListGroupMembership(tokenSerialNumber)
     char * tokenSerialNumber

	PPCODE:
	{
	  char sn[13] = "000000000000";
	  if (strlen(tokenSerialNumber) > 12) tokenSerialNumber[12] = 0;
	  strcpy(sn+12-strlen(tokenSerialNumber), tokenSerialNumber);
	  if (Sd_ListGroupMembership(sn, messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {

ACEdb.xs  view on Meta::CPAN

	  }
	}

SV *
Sd__ListGroups()
	PPCODE:
	{
	  if (Sd_ListGroups(messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {
	    EXTEND(sp, 1);
	    PUSHs(&sv_undef);
	  } else {

ACEdb.xs  view on Meta::CPAN


SV *
Sd__ListClientActivations(tokenSerialNumber)
     char * tokenSerialNumber;

	PPCODE:
	{
	  char sn[13] = "000000000000";
	  if (strlen(tokenSerialNumber) > 12) tokenSerialNumber[12] = 0;
	  strcpy(sn+12-strlen(tokenSerialNumber), tokenSerialNumber);
	  if (Sd_ListClientActivations(sn, messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {

ACEdb.xs  view on Meta::CPAN


SV *
Sd__ListClientsForGroup(group)
     char *group;

	PPCODE:
	{
	  if (Sd_ListClientsForGroup(group, messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {
	    EXTEND(sp, 1);
	    PUSHs(&sv_undef);
	  } else {

ACEdb.xs  view on Meta::CPAN

	  }
	}

SV *
Sd__ListClients()
	PPCODE:
	{
	  if (Sd_ListClients(messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {
	    EXTEND(sp, 1);
	    PUSHs(&sv_undef);
	  } else {

ACEdb.xs  view on Meta::CPAN

Sd__ListHistory(days, tokenSerialNumber, filterOpt)
     char * days;
     char * tokenSerialNumber;
     char * filterOpt;

     PPCODE:
	{
	  char sn[13] = "000000000000";
	  if (strcmp(tokenSerialNumber, "help") == 0) {
	    strcpy(sn, "help");
	  } else {

ACEdb.xs  view on Meta::CPAN

SV *
Sd__MonitorHistory(outfile, dashC)
     char *outfile;
     char *dashC;

     PPCODE:
	{
	  if (Sd_MonitorHistory(outfile, dashC,
			     messageBuf, MAX_RESULT_MSG_SIZE) != API_OK) {
	    EXTEND(sp, 1);
	    PUSHs(&sv_undef);

 view all matches for this distribution


Sedna

 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


Seis

 view release on metacpan or  search on metacpan

lib/Perl6/PVIP.xs  view on Meta::CPAN

    size_t len;
    const char *buf;
    PVIPNode *node;
    SV *sv;
    SV *errpv;
PPCODE:
    buf = SvPV(code, len);
    PVIPString* err;
    node = PVIP_parse_string(buf, len, 0, &err);
    if (node) {
        XS_STRUCT2OBJ(sv, "Perl6::PVIP::Node", node, 1);

 view all matches for this distribution


Senna

 view release on metacpan or  search on metacpan

lib/Senna.xs  view on Meta::CPAN

        unsigned int nrecords_lexicon;
        unsigned int file_size_lexicon;
        unsigned int inv_seg_size;
        unsigned int inv_chunk_size;
        sen_rc rc;
    PPCODE:
        index = XS_STATE(sen_index *, self);
        rc = sen_index_info(index,
            &key_size, &flags, &initial_n_segments, &encoding,
            &nrecords_keys, &file_size_keys, &nrecords_lexicon,
            &file_size_lexicon, &inv_seg_size, &inv_chunk_size

lib/Senna.xs  view on Meta::CPAN

        sen_select_optarg *optarg = NULL;
        sen_sel_operator op = SvOK(op_sv) ? SvIV(op_sv) : 0;
        char *query = NULL;
        int need_optarg_free = 0;
        int need_records_free = 0;
    PPCODE:
        index = XS_STATE(sen_index *, self);

        if ( SvOK(query_sv) ) {
            query = SvPV(query_sv, query_len);
        }

lib/Senna.xs  view on Meta::CPAN

SRecords_xs_next(self)
        SV *self;
    PREINIT:
        sen_records *r;
        sen_rc rc;
    PPCODE:
        r = XS_STATE(sen_records *, self);

        if (GIMME_V == G_SCALAR) {
            /* If we're being called in scalar context, then just return if
             * we have a next record or not

lib/Senna.xs  view on Meta::CPAN

        sen_rc rc;
        sen_set *set;
        unsigned int key_size;
        unsigned int value_size;
        unsigned int n_entries;
    PPCODE:
        set = XS_STATE(sen_set *, self);
        rc = sen_set_info(set, &key_size, &value_size, &n_entries);
        if (rc != sen_success)
            croak ("Failed to call sen_set_info: %d", rc);

lib/Senna.xs  view on Meta::CPAN

#else
        size_t       max_tagged_len;
#endif
        int          i;
        sen_rc rc;
    PPCODE:
        snip = XS_STATE(sen_perl_snip *, self);
        sen_snip_exec(
            snip->snip,
            string,
#if (SENNA_MAJOR_VERSION >= 1)

lib/Senna.xs  view on Meta::CPAN

DESTROY(self)
        SV *self;
    PREINIT:
        sen_perl_snip *snip;
        int i;
    PPCODE:
        snip = XS_STATE(sen_perl_snip *, self);
        sen_snip_close(snip->snip);

        for(i = 0; i < snip->open_tags_size; i++) {
            Safefree(snip->open_tags[i]);

lib/Senna.xs  view on Meta::CPAN

SOSort_compar_arg(self)
        SV *self;
    PREINIT:
        sen_sort_optarg *optarg;
        void **args;
    PPCODE:
        optarg = XS_STATE(sen_sort_optarg *, self);
        /* The CV is always placed in the second element of ->func_arg */
        args = (void **) optarg->compar_arg;
        if (GIMME_V == G_SCALAR) {
            AV *av;

lib/Senna.xs  view on Meta::CPAN

void
SOSelect_weight_vector(self)
        SV *self;
    PREINIT:
        sen_select_optarg *optarg;
    PPCODE:
        optarg = XS_STATE(sen_select_optarg *, self);
        if (optarg->vector_size <= 0)
            return;

        if (GIMME_V == G_SCALAR) {

lib/Senna.xs  view on Meta::CPAN

SOSelect_func_arg(self)
        SV *self;
    PREINIT:
        sen_select_optarg *optarg;
        void **args;
    PPCODE:
        optarg = XS_STATE(sen_select_optarg *, self);
        /* The CV is always placed in the second element of ->func_arg */
        args = (void **) optarg->func_arg;
        if (GIMME_V == G_SCALAR) {
            AV *av;

 view all matches for this distribution


Sentinel

 view release on metacpan or  search on metacpan

lib/Sentinel.xs  view on Meta::CPAN

    SV *get_cb = NULL;
    SV *set_cb = NULL;
    SV *obj = NULL;
    SV *retval;

  PPCODE:
    /* Parse name => value argument pairs */
    for(i = 0; i < items; i += 2) {
      char *argname  = SvPV_nolen(ST(i));
      SV   *argvalue = ST(i+1);

 view all matches for this distribution


Sereal-Decoder

 view release on metacpan or  search on metacpan

Decoder.xs  view on Meta::CPAN

    SV *opt;
    SV *into;
  PREINIT:
    dMY_CXT;
    srl_decoder_t *dec= NULL;
  PPCODE:
    if (SvROK(src))
        croak("We can't decode a reference as Sereal!");
    /* Support no opt at all, undef, hashref */
    if (opt != NULL) {
        SvGETMAGIC(opt);

 view all matches for this distribution


Sereal-Encoder

 view release on metacpan or  search on metacpan

Encoder.xs  view on Meta::CPAN

    SV *src;
    HV *opt;
  PREINIT:
    srl_encoder_t *enc;
    dMY_CXT;
  PPCODE:
    enc = srl_build_encoder_struct(aTHX_ opt, MY_CXT.options);
    assert(enc != NULL);
    /* Avoid copy by stealing string buffer if it is not too large.
     * This makes sense in the functional interface since the string
     * buffer isn't ever going to be reused. */

Encoder.xs  view on Meta::CPAN

    SV *hdr_user_data_src;
    HV *opt;
  PREINIT:
    srl_encoder_t *enc;
    dMY_CXT;
  PPCODE:
    if (!SvOK(hdr_user_data_src))
      hdr_user_data_src = NULL;
    enc = srl_build_encoder_struct(aTHX_ opt, MY_CXT.options);
    assert(enc != NULL);
    /* Avoid copy by stealing string buffer if it is not too large.

 view all matches for this distribution


Sereal-Merger

 view release on metacpan or  search on metacpan

Merger.xs  view on Meta::CPAN


void
append(mrg, src)
    srl_merger_t *mrg;
    SV *src
  PPCODE:
    srl_merger_append(aTHX_ mrg, src);

void
append_all(mrg, src)
    srl_merger_t *mrg;
    AV *src
  PPCODE:
    srl_merger_append_all(aTHX_ mrg, src);

SV*
finish(mrg, user_header = NULL)
    srl_merger_t *mrg;

 view all matches for this distribution


Sereal-Path

 view release on metacpan or  search on metacpan

Iterator/Iterator.xs  view on Meta::CPAN

    UV length;
    int blessed;
    const char *classname;
    STRLEN classname_length;

  PPCODE:
    type = srl_iterator_info(aTHX_ iter, &length, &classname, &classname_length);
    blessed = (type & SRL_ITERATOR_INFO_BLESSED) == SRL_ITERATOR_INFO_BLESSED;

    EXTEND(SP, blessed ? 3 : 2);
    PUSHs(sv_2mortal(newSVuv(type)));

 view all matches for this distribution


Sereal-Splitter

 view release on metacpan or  search on metacpan

Splitter.xs  view on Meta::CPAN

  OUTPUT: RETVAL

void
DESTROY(splitter)
    Sereal::Splitter splitter;
  PPCODE:
    srl_destroy_splitter(aTHX_ splitter);

SV*
next_chunk(splitter)
    Sereal::Splitter splitter;

 view all matches for this distribution


Set-IntSpan-Fast-XS

 view release on metacpan or  search on metacpan

XS.xs  view on Meta::CPAN

int
_find_pos(self, val, low = 0)
AV *self;
IV val = SvIV(ST(1));
IV low = ( items == 3 ) ? SvIV( ST( 2 ) ) : 0;
PPCODE:
{
    XSRETURN_IV( __find_pos(self, val, low ) );
}

AV * 

 view all matches for this distribution


Set-Object

 view release on metacpan or  search on metacpan

Object.xs  view on Meta::CPAN


void
new(pkg, ...)
   SV* pkg;

   PPCODE:

   {
     SV* self;
     ISET* s;
     I32 item;

Object.xs  view on Meta::CPAN


void
insert(self, ...)
   SV* self;

   PPCODE:
      ISET* s = INT2PTR(ISET*, SvIV(SvRV(self)));
      I32 item;
      int inserted = 0;

      for (item = 1; item < items; ++item)

Object.xs  view on Meta::CPAN

  
void
remove(self, ...)
   SV* self;

   PPCODE:

      ISET* s = INT2PTR(ISET*, SvIV(SvRV(self)));
      I32 item;
      int removed = 0;

Object.xs  view on Meta::CPAN


void
includes(self, ...)
   SV* self;

   PPCODE:

      ISET* s = INT2PTR(ISET*, SvIV(SvRV(self)));
      I32 hash, index, item;
      SV **el_iter, **el_last;
      BUCKET* bucket;

Object.xs  view on Meta::CPAN


void
members(self)
   SV* self
   
   PPCODE:

      ISET* s = INT2PTR(ISET*, SvIV(SvRV(self)));
      BUCKET* bucket_iter = s->bucket;
      BUCKET* bucket_last = bucket_iter + s->buckets;

Object.xs  view on Meta::CPAN


void
_STORABLE_thaw(obj, cloning, serialized, ...)
   SV* obj;

   PPCODE:

   {
	   ISET* s;
	   I32 item;
	   SV* isv;

Object.xs  view on Meta::CPAN

void
CLONE(...)
PROTOTYPE: DISABLE
PREINIT:
  ISET *old_s;
PPCODE:
 {
  dMY_CXT;
  old_s = MY_CXT.s;
 }
 {

 view all matches for this distribution


Set-Product-XS

 view release on metacpan or  search on metacpan

XS.xs  view on Meta::CPAN

    AV **in;
    SV **out;
    CV *cv;
    HV *stash;
    GV *gv;
PPCODE:
    cv = sv_2cv(code, &stash, &gv, 0);
    if (! cv)
      croak("Not a subroutine reference");

    if (2 > items)

 view all matches for this distribution


Shardcache-Client-Fast

 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


ShiftJIS-CP932-MapUTF

 view release on metacpan or  search on metacpan

MapUTF.xs  view on Meta::CPAN

    U8 *s, *e, *p, *d, *m, *m_e, uni[UTF8_MAXLEN + 1];
    UV uv;
    struct leading lb;
    U8* (*app_uv)(U8*, UV);
    bool mod_g, mod_s, mod_t;
  PPCODE:
    STMT_ASSIGN_CVREF_AND_SRC(funcname_to[ix])
    if (SvUTF8(src)) {
	src = sv_mortalcopy(src);
	sv_utf8_downgrade(src, 0);
    }

MapUTF.xs  view on Meta::CPAN

    U8 *s, *e, *p, *d, *m, *m_e, mbc[3];
    U16 j, *t;
    UV uv;
    UV (*ord_uv)(U8 *, STRLEN, STRLEN *);
    bool mod_g, mod_s, mod_f;
  PPCODE:
    STMT_ASSIGN_CVREF_AND_SRC(funcname_fm[ix])
    if (ix == 0 && !SvUTF8(src)) {
	src = sv_mortalcopy(src);
	sv_utf8_upgrade(src);
    }

 view all matches for this distribution


ShiftJIS-String

 view release on metacpan or  search on metacpan

String.xsX  view on Meta::CPAN

issjis(...)
  PREINIT:
    I32 i;
    U8 *s;
    STRLEN byte;
  PPCODE:
    for (i = 0; i < items; i++) {
	s = (U8*)SvPV(ST(i), byte);
	if (!issjis(s, byte))
	    XSRETURN_NO;
    }

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *e, *p, *p_ini, *p_fin;
    STRLEN sbyte;
    I32 slen, ini, fin, cnt;
    int except;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), sbyte)
	: (U8*)SvPV(src, sbyte);

    slen = length(s,sbyte);

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    I32 cnt = 0;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV((ix == 1) ? byte : 2 * byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    I32 cnt = 0;
    U8* trail;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV(2 * byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    U16 uv;
    I32 cnt = 0;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV(byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    I32 cnt = 0;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV(2 * byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    I32 cnt = 0;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV(byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *p, *e, *d;
    STRLEN byte;
    SV *dst;
    I32 cnt = 0;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    dst = byte ? newSV(byte) : newSVpvn("",0);

String.xsX  view on Meta::CPAN

    U8 lastL = 0, iniL, iniT, finL, finT;
    STRLEN sbyte, dbyte, dstcur;
    SV *dst;
    U16 fr, to;
    int isReverse, doReverse, isrange;
  PPCODE:
    isReverse = SvTRUE(rev);

    s = (U8*)SvPV(src, sbyte);

    dbyte = sbyte + 1;

String.xsX  view on Meta::CPAN

    U8 *p, *e, *s, *d, *tr, *m;
    STRLEN idx;
    STRLEN byte, trbyte, modbyte;
    U8 fr[2], *to, tolast[2], pre[2], tmp[2];
    STRLEN fbyte, tbyte, lbyte, prebyte, tmpbyte;
  PPCODE:
    s = SvROK(src)
	? (U8*)SvPV_force(SvRV(src), byte)
	: (U8*)SvPV(src, byte);

    tr = (U8*)SvPV(trans, trbyte);

String.xsX  view on Meta::CPAN

  PREINIT:
    U8 *s, *e, *p, *sep, *anc, *last;
    STRLEN byte, sepbyte, ch;
    int wantarray;
    I32 cnt = 0;
  PPCODE:
    wantarray = (GIMME_V == G_ARRAY);

    s = (U8*)SvPV(src, byte);

    if (!byte)

 view all matches for this distribution


ShiftJIS-X0213-MapUTF

 view release on metacpan or  search on metacpan

MapUTF.xs  view on Meta::CPAN

    U8 *s, *e, *p, *d, uni[UTF8_MAXLEN + 1];
    UV uv, u_temp;
    struct leading lb;
    U8* (*app_uv)(U8*, UV);
    int  id_utf, use2004;
  PPCODE:
    use2004 = ix < NUM_toUTF;
    id_utf  = ix % NUM_toUTF;

    STMT_ASSIGN_CVREF_AND_SRC(funcname_to[ix])
    if (SvUTF8(src)) {

MapUTF.xs  view on Meta::CPAN

    U8 *s, *e, *p, *d, mbc[3];
    U16 j, *tbl_row, **tbl_plain;
    UV uv, uv2;
    UV (*ord_uv)(U8 *, STRLEN, STRLEN *);
    int  id_utf, use2004;
  PPCODE:
    use2004 = ix < NUM_fromUTF;
    id_utf  = ix % NUM_fromUTF;

    STMT_ASSIGN_CVREF_AND_SRC(funcname_fm[ix])
    if (id_utf == 0 && !SvUTF8(src)) {

 view all matches for this distribution


Shout

 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


Smart-Match

 view release on metacpan or  search on metacpan

lib/Smart/Match/Overload.xs  view on Meta::CPAN

MODULE = Smart::Match::Overload				PACKAGE = Smart::Match::Overload

int
_boolean(self, ...)
	SV* self;
	PPCODE:
		dUNDERBAR;
		if (UNDERBAR != DEFSV) {
			SAVESPTR(DEFSV);
			DEFSV = UNDERBAR;
		}

 view all matches for this distribution


Socket-Class

 view release on metacpan or  search on metacpan

Bluetooth.xs  view on Meta::CPAN

PREINIT:
	bdaddr_t addr[256];
	int r;
	my_thread_var_t *tv;
	char tmp[20];
PPCODE:
	r = bt_device_list( addr, sizeof( addr ) / sizeof( bdaddr_t ) );
	if( r == SOCKET_ERROR ) {
		tv = items > 0 ? my_thread_var_find( ST(0) ) : NULL;
		if( tv != NULL )
			tv->last_errno = Socket_errno();

Bluetooth.xs  view on Meta::CPAN

	char tmp[256], *s1;
	STRLEN l1;
	int r;
	bdaddr_t addr;
	my_thread_var_t *tv;
PPCODE:
	if( items > 1 ) {
		s1 = SvPVbyte( ST(1), l1 );
		if( l1 == sizeof( bdaddr_t ) )
			r = bt_device_name( (bdaddr_t *) s1, tmp, sizeof( tmp ) - 1 );
		else {

Bluetooth.xs  view on Meta::CPAN

	char tmp[256], *s1;
	STRLEN l1;
	int r;
	bdaddr_t addr;
	my_thread_var_t *tv;
PPCODE:
	if( items > 1 ) {
		s1 = SvPVbyte( ST(1), l1 );
		if( l1 == sizeof( bdaddr_t ) )
			r = bt_service_list( (bdaddr_t *) s1 );
		else {

 view all matches for this distribution


Socket-Mmsg

 view release on metacpan or  search on metacpan

Mmsg.xs  view on Meta::CPAN


void
sendmmsg (psock, msg_array_ref)
	PerlIO *	psock
	SV *	msg_array_ref
	PPCODE:
	sendmultimsg(psock, msg_array_ref);
	return;

void
recvmmsg (psock, msg_count, msg_len, tspec)
	PerlIO *	psock
	int	msg_count
	int	msg_len
	float	tspec
	PPCODE:
	recvmultimsg(psock, msg_count, msg_len, tspec);
	return;

 view all matches for this distribution


Socket-More-Interface

 view release on metacpan or  search on metacpan

Interface.xs  view on Meta::CPAN

		struct ifaddrs *next;
		int ret;
		HV* h;
		UV count=0;

	PPCODE:
		ret=getifaddrs(&a);

		if(ret<0){
			switch(GIMME_V){
				case G_SCALAR:

Interface.xs  view on Meta::CPAN

	SV *name;
	INIT:
		char *p;
		unsigned int ret;
		int len;
	PPCODE:

		if(SvOK(name)&&SvPOK(name)){
			len=SvCUR(name);
			p=SvGROW(name, len+1);	
			p[len]='\0';

Interface.xs  view on Meta::CPAN


		SV *result=newSV(IF_NAMESIZE);
		char *p=SvPVX(result);
		char *ret;
	
	PPCODE:
		if(SvOK(index)){
			ret=if_indextoname(SvUV(index), p);
			if(ret == p){
				
				SvPOK_on(result);

Interface.xs  view on Meta::CPAN


	INIT:

		UV count=0;
		struct if_nameindex *results, *next;
	PPCODE:

		results=if_nameindex();
		
		if(results ==NULL){

 view all matches for this distribution


Socket-More-Lookup

 view release on metacpan or  search on metacpan

Lookup.xs  view on Meta::CPAN

    int len;
    SV *temp;
    bool return_av;
    

  PPCODE: 
    h.ai_flags=0;
    h.ai_family=0;
    h.ai_socktype=0;
    h.ai_protocol=0;
    h.ai_addrlen=0;

Lookup.xs  view on Meta::CPAN

    char *service;
    int fl;
    int addrlen;
    struct sockaddr *addr;

  PPCODE:

    //Ensure outputs are not readonly
    
    if(SvREADONLY(hostname) || SvREADONLY(servicename)){
            Perl_croak(aTHX_ "%s", PL_no_modify);

 view all matches for this distribution


Socket-MsgHdr

 view release on metacpan or  search on metacpan

MsgHdr.xs  view on Meta::CPAN

    SV*     cmsv;
    INIT:
    struct msghdr dummy;
    struct cmsghdr *cm;
    STRLEN  len;
    PPCODE:
    dummy.msg_control    = (struct cmsghdr *) SvPV(cmsv, len);
    dummy.msg_controllen = len;

    if (!len)
        XSRETURN_EMPTY;

 view all matches for this distribution


Socket-Netlink

 view release on metacpan or  search on metacpan

lib/Socket/Netlink.xs  view on Meta::CPAN

    SV *addr

  PREINIT:
    struct sockaddr_nl snl;

  PPCODE:
    if(SvCUR(addr) != sizeof snl)
      croak("Expected %d byte address", sizeof snl);

    Copy(SvPVbyte_nolen(addr), &snl, sizeof snl, char);

lib/Socket/Netlink.xs  view on Meta::CPAN


  PREINIT:
    struct nlmsghdr nlmsghdr;
    STRLEN msglen;

  PPCODE:
    if(!SvPOK(msg))
      croak("Expected a string message");

    msglen = SvCUR(msg);

lib/Socket/Netlink.xs  view on Meta::CPAN

    SV *msg

  PREINIT:
    struct nlmsgerr nlmsgerr;

  PPCODE:
    if(!SvPOK(msg))
      croak("Expected a string message");
    if(SvCUR(msg) != sizeof(nlmsgerr))
      croak("Expected %d bytes of message", sizeof(nlmsgerr));

lib/Socket/Netlink.xs  view on Meta::CPAN


  INIT:
    STRLEN  bufflen;
    char   *buffer;

  PPCODE:
    if(!SvPOK(body))
      croak("Expected a string body");

    buffer = SvPVbyte(body, bufflen);

 view all matches for this distribution


Socket

 view release on metacpan or  search on metacpan

Socket.xs  view on Meta::CPAN

    }

void
unpack_sockaddr_in(sin_sv)
        SV *    sin_sv
    PPCODE:
    {
        STRLEN sockaddrlen;
        struct sockaddr_in addr;
        SV *ip_address_sv;
        char * sin;

Socket.xs  view on Meta::CPAN

    }

void
unpack_sockaddr_in6(sin6_sv)
        SV *    sin6_sv
        PPCODE:
        {
#ifdef HAS_SOCKADDR_IN6
        STRLEN addrlen;
        struct sockaddr_in6 sin6;
        char * addrbytes;

Socket.xs  view on Meta::CPAN

    }

void
unpack_ip_mreq(mreq_sv)
        SV * mreq_sv
    PPCODE:
    {
#ifdef HAS_IP_MREQ
        struct ip_mreq mreq;
        STRLEN mreqlen;
        char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);

Socket.xs  view on Meta::CPAN

    }

void
unpack_ip_mreq_source(mreq_sv)
        SV * mreq_sv
    PPCODE:
    {
#if defined(HAS_IP_MREQ_SOURCE) && defined (IP_ADD_SOURCE_MEMBERSHIP)
        struct ip_mreq_source mreq;
        STRLEN mreqlen;
        char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);

Socket.xs  view on Meta::CPAN

    }

void
unpack_ipv6_mreq(mreq_sv)
        SV * mreq_sv
    PPCODE:
    {
#ifdef HAS_IPV6_MREQ
        struct ipv6_mreq mreq;
        STRLEN mreqlen;
        char * mreqbytes = SvPVbyte(mreq_sv, mreqlen);

 view all matches for this distribution


( run in 2.294 seconds using v1.01-cache-2.11-cpan-5511b514fd6 )