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


Net-Bind-rbldnsdAccessor

 view release on metacpan or  search on metacpan

rbldnsdAccessor.xs  view on Meta::CPAN

        char c

    PREINIT:
        SV * len;

    PPCODE:
        if (max >= RBLF_DLEN)
          croak ("maximum transfer length exceeds internal buffer %d\n",RBLF_DLEN);

        memset(abuf,c,RBLF_DLEN);
        XPUSHs(sv_2mortal(newSViv(rblf_strncpy(abuf,src,max))));

rbldnsdAccessor.xs  view on Meta::CPAN

    PREINIT:
	STRLEN len;
	unsigned char * cp;
	int rv;

    PPCODE:
	invalid_pkt = 1;
	cp = (unsigned char *)SvPV(buffer,len);
	bzero(&pkt,sizeof(struct dnspacket));
	rv = rblf_safemcpy(pkt.p_buf, cp, (size_t)len,(pkt.p_buf + DNS_MAXPACKET));
	if (rv < 0) {

rbldnsdAccessor.xs  view on Meta::CPAN

void
rblf_next_answer()
    PREINIT:
	SV * rd;

    PPCODE:
	if (invalid_pkt) {
	bail:
	  if (GIMME_V != G_ARRAY)
	    XSRETURN_UNDEF;
	  XSRETURN_EMPTY;

rbldnsdAccessor.xs  view on Meta::CPAN

	char * name

    PREINIT:
	int answers = 0;

    PPCODE:
	invalid_pkt = rblf_query(name,&pkt);
	if (!invalid_pkt)
	  answers = (int)(pkt.p_buf[p_ancnt2]);

	XPUSHs(sv_2mortal(newSViv(answers)));

rbldnsdAccessor.xs  view on Meta::CPAN

rblf_dump_packet()

    PREINIT:
	STRLEN len;

    PPCODE:
	if (pkt.p_endp == NULL) {
	bail:
	  if (GIMME != G_ARRAY)
	    XSRETURN_UNDEF;
	  XSRETURN_EMPTY;

 view all matches for this distribution


Net-Bluetooth

 view release on metacpan or  search on metacpan

BlueZ.xs  view on Meta::CPAN



void
_close(sock)
	int sock
	PPCODE:
	close(sock);

InOutStream
_perlfh(fd)
	int fd

BlueZ.xs  view on Meta::CPAN

	RETVAL 


void
get_remote_devices(...)
	PPCODE:
	EXTEND(sp, 1);
	char addr[19];
	char name[248];
	char *local_addr;
	int len = 8; // 1.28 * len

BlueZ.xs  view on Meta::CPAN

void
sdp_search(addr, service, name)
	char *addr
	char *service
	char *name
	PPCODE:
	EXTEND(sp, 1);
	uuid_t svc_uuid;
	bdaddr_t target;
	sdp_list_t *response_list = NULL;
	sdp_session_t *session = 0;

BlueZ.xs  view on Meta::CPAN


void
_accept(fd, proto)
	int fd
	char *proto
	PPCODE:
	EXTEND(sp, 2);
	socklen_t addr_len;
	int res;

	if(strcasecmp(proto, "RFCOMM") == 0) {

BlueZ.xs  view on Meta::CPAN

	char *proto
	int port
	char *service_id
	char *name
	char *desc
	PPCODE:
	uint8_t rfcomm_channel = 0;
	uint16_t l2cap_port = 0;
	const char *service_name = name;
	const char *service_dsc = desc;
	const char *service_prov = name;

BlueZ.xs  view on Meta::CPAN


void
_getpeername(fd, proto)
	int fd
	char *proto
	PPCODE:
	EXTEND(sp, 2);
	if(strcasecmp(proto, "RFCOMM") == 0) {
		struct sockaddr_rc rcaddr;
		socklen_t len = sizeof(rcaddr);
		if(getpeername(fd, (struct sockaddr *) &rcaddr, &len) == 0) {

 view all matches for this distribution


Net-CDP

 view release on metacpan or  search on metacpan

CDP.xs  view on Meta::CPAN

PROTOTYPE: 
PREINIT:
	dMY_CXT;
	UV count;
	cdp_llist_t *ports;
PPCODE:
	MY_CXT.errors[0] = '\0';
	if (GIMME_V == G_VOID) XSRETURN_EMPTY;
	ports = cdp_get_ports(MY_CXT.errors);
	if (!ports) croak(MY_CXT.errors);
	PUSH_port_llist(ports);

CDP.xs  view on Meta::CPAN

addresses(self)
	Net_CDP self
PROTOTYPE: $
PREINIT:
	const cdp_llist_t *addresses;
PPCODE:
	addresses = cdp_get_addresses(self);
	PUSH_llist(addresses, "Net::CDP::Address");

int
_fd(self)

CDP.xs  view on Meta::CPAN

void
addresses(self, new_addresses=NULL)
	Net_CDP_Packet self
	Net_CDP_Address_List new_addresses
PROTOTYPE: $;$
PPCODE:
	if (items > 1) {
		if (self->addresses) cdp_llist_free(self->addresses);
		self->addresses = new_addresses;
	}
	PUSH_llist(self->addresses, "Net::CDP::Address");

CDP.xs  view on Meta::CPAN

void
ip_prefixes(self, new_ip_prefixes=NULL)
	Net_CDP_Packet self
	Net_CDP_IPPrefix_List new_ip_prefixes
PROTOTYPE: $;$
PPCODE:
	if (items > 1) {
		if (self->ip_prefixes) cdp_llist_free(self->ip_prefixes);
		self->ip_prefixes = new_ip_prefixes;
	}
	PUSH_llist(self->ip_prefixes, "Net::CDP::IPPrefix");

CDP.xs  view on Meta::CPAN

voice_vlan(self, new_voice_vlan=NULL, new_appliance_id=NULL)
	Net_CDP_Packet self
	U16_UNDEF new_voice_vlan
	U8_UNDEF new_appliance_id
PROTOTYPE: $;$$
PPCODE:
	if (items > 1) {
		if (new_voice_vlan && (*new_voice_vlan < 1 || *new_voice_vlan > MAX_VLAN_ID))
			croak("Invalid new_voice_vlan (must be between 1 and %u)", MAX_VLAN_ID);
		if (new_appliance_id && *new_appliance_id < 1)
			croak("Invalid new_appliance_id (must be between 1 and 255)");

CDP.xs  view on Meta::CPAN

voice_vlan_query(self, new_voice_vlan=NULL, new_appliance_id=NULL)
	Net_CDP_Packet self
	U16_UNDEF new_voice_vlan
	U8_UNDEF new_appliance_id
PROTOTYPE: $;$$
PPCODE:
	if (items > 1) {
		if (new_voice_vlan && (*new_voice_vlan < 1 || *new_voice_vlan > MAX_VLAN_ID))
			croak("Invalid new_voice_vlan (must be between 1 and %u)", MAX_VLAN_ID);
		if (new_appliance_id && *new_appliance_id < 1)
			croak("Invalid new_appliance_id (must be between 1 and 255)");

CDP.xs  view on Meta::CPAN

void
management_addresses(self, new_addresses=NULL)
	Net_CDP_Packet self
	Net_CDP_Address_List new_addresses
PROTOTYPE: $;$
PPCODE:
	if (items > 1) {
		if (self->mgmt_addresses) cdp_llist_free(self->mgmt_addresses);
		self->mgmt_addresses = new_addresses;
		CHECK_VERSION;
	}

 view all matches for this distribution


Net-CIDR-Compare

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


Net-CUPS

 view release on metacpan or  search on metacpan

CUPS.xs  view on Meta::CPAN

		RETVAL

void
NETCUPS_getDestination( name )
		char* name;
	PPCODE:
		cups_dest_t * destinations = NULL;
		cups_dest_t * destination = NULL;
		int count = 0;
		SV* rv = NULL;
		count = cupsGetDests( &destinations );

CUPS.xs  view on Meta::CPAN

		XPUSHs( rv );
		XSRETURN( 1 );

void
NETCUPS_getDestinations()
	PPCODE:
		cups_dest_t * destinations = NULL;
		int count = 0;
		int loop = 0;
		SV* rv = NULL;
		count = cupsGetDests( &destinations );

CUPS.xs  view on Meta::CPAN

void
NETCUPS_requestData( request, resource, filename )
		ipp_t* request;
		const char* resource;
		const char* filename;
	PPCODE:
		http_t* http = NULL;
		ipp_t* response = NULL;
		const char* server = NULL;
		SV* rv = NULL;
		int port;

CUPS.xs  view on Meta::CPAN

	http_t          *http;     /* HTTP object */
	ipp_t           *request;  /* IPP request object */
	ipp_t           *response; /* IPP response object */
	ipp_attribute_t *attr;     /* Current IPP attribute */
		
	PPCODE:
		SV* rv = NULL;	
		int count = 0;	
		cups_lang_t *language;
		language = cupsLangDefault();
		http = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption()); 

CUPS.xs  view on Meta::CPAN

	http_t          *http;     /* HTTP object */
	ipp_t           *request;  /* IPP request object */
	ipp_t           *response; /* IPP response object */
	ipp_attribute_t *attr;     /* Current IPP attribute */

	PPCODE:
		SV* rv = NULL;	
		int count = 0;	
		cups_lang_t *language;
		language = cupsLangDefault();
		http = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption()); 

CUPS.xs  view on Meta::CPAN


void
NETCUPS_deleteDestination( destination );
	const char* destination;

	PPCODE:
		ipp_t *request;
		http_t *http;
		char uri[HTTP_MAX_URI]; 	
	
		httpAssembleURIf(HTTP_URI_CODING_ALL, uri, sizeof(uri), "ipp", NULL,

CUPS.xs  view on Meta::CPAN

	const char* location;
	const char* printer_info;
	const char* ppd_name;
	const char* device_uri;

	PPCODE:
		http_t *http = NULL;     /* HTTP object */
		ipp_t *request = NULL;  /* IPP request object */
		char uri[HTTP_MAX_URI];	/* Job URI */
		
		http = httpConnectEncrypt(cupsServer(), ippPort(), cupsEncryption());

CUPS.xs  view on Meta::CPAN


void
NETCUPS_getPPDFileName(ppdfilename);
	const char* ppdfilename;

	PPCODE:
		http_t          *http;     /* HTTP object */
		ipp_t           *request;  /* IPP request object */
		ipp_t           *response; /* IPP response object */
		ipp_attribute_t *attr;     /* Current IPP attribute */
		int i = 0;

CUPS.xs  view on Meta::CPAN

NETCUPS_getDeviceAttribute( device, attribute, attribute_type )
	const char* device;
	const char* attribute;
	int attribute_type;

	PPCODE: 
		http_t *http = NULL;			/* HTTP object */
		ipp_t *request = NULL; 		/* IPP request */
		ipp_t *response = NULL;			/* IPP response */
		ipp_attribute_t *attr = NULL;	/* IPP attribute */
		SV* rv = NULL; 

CUPS.xs  view on Meta::CPAN

	INIT:
		int count = 0;
		int loop = 0;
		SV* rv = NULL;
		cups_option_t* options = NULL;
	PPCODE:
		count = self->num_options;
		options = self->options;

		for( loop = 0; loop < count; loop++ )
		{

CUPS.xs  view on Meta::CPAN

void
NETCUPS_getJobs( dest, whose, scope )
		const char* dest;
		int whose;
		int scope;
	PPCODE:
		int loop = 0;
		int count = 0;
		SV* rv = NULL;
		cups_job_t* jobs = NULL;
		count = cupsGetJobs( &jobs, dest, whose, scope );

CUPS.xs  view on Meta::CPAN



void
NETCUPS_getAttributes( ipp )
		ipp_t* ipp;
	PPCODE:
		SV* rv = NULL;
		int count = 0;
		ipp_attribute_t* attr = NULL;
		for (attr = ippFirstAttribute(ipp); attr != NULL; attr = ippNextAttribute(ipp))
		{

CUPS.xs  view on Meta::CPAN


void 
NETCUPS_getAttributeValue( ipp, name )
		ipp_t* ipp;
		const char* name;
	PPCODE:
		SV* rv = NULL;
		int count = 0;
		ipp_attribute_t* attr = NULL;
		for (attr = ippFirstAttribute(ipp); attr != NULL; attr = ippNextAttribute(ipp))
		{

CUPS.xs  view on Meta::CPAN

	OUTPUT:
		RETVAL

void
NETCUPS_newIPP()
	PPCODE:
		ipp_t * ipp = NULL;
		SV* rv = NULL;
		ipp = ippNew();
		rv = sv_newmortal();
		sv_setref_pv( rv, "Net::CUPS::IPP", ipp );

CUPS.xs  view on Meta::CPAN

		XSRETURN( 1 );

void
NETCUPS_newIPPRequest( op )
		ipp_op_t op;
	PPCODE:
		ipp_t * ipp = NULL;
		SV* rv = NULL;
		ipp = ippNewRequest( op );
		rv = sv_newmortal();
		sv_setref_pv( rv, "Net::CUPS::IPP", ipp );

 view all matches for this distribution


Net-Connection-Sniffer

 view release on metacpan or  search on metacpan

Sniffer.xs  view on Meta::CPAN


PROTOTYPES: ENABLE

void
xs2p_gvars()
  PPCODE:
	EXTEND(SP,4);
	PUSHs(sv_2mortal(newSVuv(now)));
	PUSHs(sv_2mortal(newSVuv(start)));
	PUSHs(sv_2mortal(newSVnv(rate)));
	PUSHs(sv_2mortal(newSVnv(bw)));

Sniffer.xs  view on Meta::CPAN

	int	vector
    PREINIT:
	unsigned char * buf;
	STRLEN	len;
	int	dnslen, listenlen;
    PPCODE:
	switch(vector)
	{
	case SEND_dns	:	
		if (av_len(dnsrequest) < 0) {
		  dnsRflag = 0;

Sniffer.xs  view on Meta::CPAN

	HV	* hp;
  INIT:
	if (SvTYPE(SvRV(hpp)) != SVt_PVHV)
	  croak("hp is not a hash REF");
	hp = (HV *)SvRV(hpp);
  PPCODE:
	if (ix == 1) {
	  XPUSHs(sv_2mortal(newSVuv(fetch_uv(hp,key))));
	  XSRETURN(1);
	} else
	  inc_sv(hp,key);

 view all matches for this distribution


Net-Curl

 view release on metacpan or  search on metacpan

Curl_Easy.xsh  view on Meta::CPAN

	const char *sclass
	SV *base
	PREINIT:
		perl_curl_easy_t *easy;
		HV *stash;
	PPCODE:
		if ( ! SvOK( base ) || ! SvROK( base ) )
			croak( "object base must be a valid reference\n" );

		easy = perl_curl_easy_new();
		perl_curl_easy_preset( easy );

Curl_Easy.xsh  view on Meta::CPAN

	PREINIT:
		perl_curl_easy_t *clone;
		const char *sclass;
		perl_curl_easy_callback_code_t i;
		HV *stash;
	PPCODE:
		if ( ! SvOK( base ) || ! SvROK( base ) )
			croak( "object base must be a valid reference\n" );

		sclass = sv_reftype( SvRV( ST(0) ), TRUE );
		clone = perl_curl_easy_duphandle( easy );

 view all matches for this distribution


Net-DNS-Native

 view release on metacpan or  search on metacpan

Native.xs  view on Meta::CPAN

    OUTPUT:
        RETVAL

void
_get_result(Net_DNS_Native *self, int fd)
    PPCODE:
        pthread_mutex_lock(&self->mutex);
        DNS_result *res = bstree_get(self->fd_map, fd);
        bstree_del(self->fd_map, fd);
        pthread_mutex_unlock(&self->mutex);
        

Native.xs  view on Meta::CPAN

        free(res->arg);
        free(res);

void
_timedout(Net_DNS_Native *self, int fd)
    PPCODE:
        char unknown = 0;
        
        pthread_mutex_lock(&self->mutex);
        if (bstree_get(self->fd_map, fd) == NULL) {
            unknown = 1;

Native.xs  view on Meta::CPAN

        queue_destroy(self->tout_queue);
        Safefree(self);

void
pack_sockaddr_in6(int port, SV *sv_address)
    PPCODE:
        STRLEN len;
        char *address = SvPV(sv_address, len);
        if (len != 16)
            croak("address length is %lu should be 16", len);
        

Native.xs  view on Meta::CPAN

        
        XPUSHs(sv_2mortal(newSVpvn((char*) addr, sizeof(struct sockaddr_in6))));

void
unpack_sockaddr_in6(SV *sv_addr)
    PPCODE:
        STRLEN len;
        char *addr = SvPV(sv_addr, len);
        if (len != sizeof(struct sockaddr_in6))
            croak("address length is %lu should be %lu", len, sizeof(struct sockaddr_in6));
        

 view all matches for this distribution


Net-DNS-SEC-Validator

 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


Net-DNS-ToolKit

 view release on metacpan or  search on metacpan

ToolKit.xs  view on Meta::CPAN

	SV **aptrs;
	STRLEN len, size, bsize;
	u_char **lastdnptr, **aoff;
	u_char * exp_dn, * msg, * comp_dn;
	int i, v, dnsize;
    PPCODE:
	if (! SvROK(buffer) || ! SvROK(name))
	    XSRETURN_EMPTY;

 # see: perlapi on 'svtype' and /usr/lib/perl5/i386-linux/CORE/sv.h

ToolKit.xs  view on Meta::CPAN

	SV * header
    PROTOTYPE: $
    PREINIT:
	STRLEN len;
	MY_HEADER * hp;
    PPCODE:
	if (! SvROK(header))
	    XSRETURN_EMPTY;

	hp = (MY_HEADER *)SvPV(SvRV(header),len);
	EXTEND(SP, 16);

ToolKit.xs  view on Meta::CPAN

    PROTOTYPE: $
    PREINIT:
	u_char bmask[] = {128,64,32,16,8,4,2,1};
	unsigned int i, hi, lo, tens[] = {1000,100,10,1, 1000,100,10,1};
	char out[15];
    PPCODE:
	hi = lo = 0;
	for(i=0;i<4;i++) {
	  if (ch & bmask[i])
		hi += tens[i];
	}

ToolKit.xs  view on Meta::CPAN

    PROTOTYPE: $$$
    PREINIT:
	STRLEN size;
	unsigned char * cp;
	SV * out;
    PPCODE:
	if (!SvROK(buffer))	/* not a pointer	*/
	    XSRETURN_EMPTY;

	cp = (u_char *)(SvPV(SvRV(buffer),size) + off);

ToolKit.xs  view on Meta::CPAN

	Net::DNS::ToolKit::get32 = 1
    PREINIT:
	SV * out;
	STRLEN size;
	u_char * cp;
    PPCODE:
	if (GIMME_V == G_VOID)
	    XSRETURN_UNDEF;		/* punt, nothing to return	*/

	if (!SvROK(buffer)) {
	bail:

ToolKit.xs  view on Meta::CPAN

	unsigned int off
    PREINIT:
	SV * netaddr;
	STRLEN size;
	u_char * cp, out[NS_INADDRSZ];
    PPCODE:
	if (GIMME_V == G_VOID)
	    XSRETURN_UNDEF;		/* punt, nothing to return	*/

	if (!SvROK(buffer)) {
	bail:

ToolKit.xs  view on Meta::CPAN

	unsigned int off
    PREINIT:
	SV * ipv6addr;
	STRLEN size;
	u_char * cp, out[NS_IN6ADDRSZ];
    PPCODE:
	if (GIMME_V == G_VOID)
	    XSRETURN_UNDEF;		/* punt, nothing to return	*/

	if (!SvROK(buffer)) {
	bail:

ToolKit.xs  view on Meta::CPAN


void
gettimeofday()
    PREINIT:
	SV * tmp;				/* older perl does not know about newSVuv */
    PPCODE:
	if (gettimeofday(&tv,NULL)) {		/* any error	*/
	    if (GIMME_V == G_ARRAY)
		XSRETURN_EMPTY;
	    else
		XSRETURN_UNDEF;

ToolKit.xs  view on Meta::CPAN

	}
	XSRETURN(1);

void
get_default()
    PPCODE:
	mysin();
	XPUSHs(sv_2mortal(newSVpvn((char *)&mysa.sin_addr, NS_INADDRSZ)));
	XSRETURN(1);

void
get_path()
    PREINIT:
	SV * out;
    PPCODE:
	if (path == NULL)
	    XSRETURN_UNDEF;
	out = sv_newmortal();
	sv_setpvn(out, path, (STRLEN)pathz);    
	XPUSHs(out);

ToolKit.xs  view on Meta::CPAN

void
lastchance()
    PREINIT:
	int i, nscount;
	u_char * netptr;
    PPCODE:
	if ((nscount = lchance()) < 1) {
	    if (GIMME_V != G_ARRAY)
		XSRETURN_UNDEF;
	    else
		XSRETURN_EMPTY;

 view all matches for this distribution


Net-DNS_A

 view release on metacpan or  search on metacpan

DNS_A.xs  view on Meta::CPAN

    char *host
    INIT:
    int res;
    struct sigevent sev;
    struct gaicb *gptr = &gcb;
    PPCODE:
    if (count) {
        XPUSHs(sv_2mortal(newSViv(0)));
        XPUSHs(sv_2mortal(newSVpv("Please call retrieve()", 0)));
    }
    else {

DNS_A.xs  view on Meta::CPAN

void
retrieve()
    INIT:
    int res;
    char host[NI_MAXHOST];
    PPCODE:

    if (0 == count) {
        XPUSHs(sv_2mortal(newSViv(0)));
        XPUSHs(sv_2mortal(newSVpv("Please call lookup()", 0)));
    }

 view all matches for this distribution


Net-Drizzle

 view release on metacpan or  search on metacpan

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


  my $END = "!End!\n\n";		# "impossible" keyword (multiple newline)

  # Match an XS keyword
  $BLOCK_re= '\s*(' . join('|', qw(
				   REQUIRE BOOT CASE PREINIT INPUT INIT CODE PPCODE OUTPUT
				   CLEANUP ALIAS ATTRS PROTOTYPES PROTOTYPE VERSIONCHECK INCLUDE
				   SCOPE INTERFACE INTERFACE_MACRO C_ARGS POSTCALL OVERLOAD FALLBACK
				  )) . "|$END)\\s*:";

  

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

      s/^/&/ if $in_out{$_};
    }
    $func_args = join(", ", @func_args);
    @args_match{@args} = @args_num;

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

inc/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/ExtUtils/ParseXS.pm  view on Meta::CPAN

	}
	print $deferred;
	
        process_keyword("INIT|ALIAS|ATTRS|PROTOTYPE|INTERFACE_MACRO|INTERFACE|C_ARGS|OVERLOAD") ;
	
	if (check_keyword("PPCODE")) {
	  print_section();
	  death ("PPCODE must be last thing") if @line;
	  print "\tLEAVE;\n" if $ScopeThisXSUB;
	  print "\tPUTBACK;\n\treturn;\n";
	} elsif (check_keyword("CODE")) {
	  print_section() ;
	} elsif (defined($class) and $func_name eq "DESTROY") {

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

      process_keyword("CLEANUP|ALIAS|ATTRS|PROTOTYPE|OVERLOAD") ;
      
      print Q(<<"EOF") if $ScopeThisXSUB;
#   ]]
EOF
      print Q(<<"EOF") if $ScopeThisXSUB and not $PPCODE;
#   LEAVE;
EOF
      
      # print function trailer
      print Q(<<"EOF");

inc/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


Net-ESMTP

 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


Net-FreeDB

 view release on metacpan or  search on metacpan

FreeDB.xs.linux  view on Meta::CPAN

	int i;
        char id[30];
	struct discdata data;
        HV* hash = newHV();
        AV* tracks = newAV();
    PPCODE:
	data = get_disc_id(dev);

	for (i = 0; i < (data.num_of_trks); i++) {
		av_push(tracks, newSVnv(data.track_offsets[i]));
	}

 view all matches for this distribution


Net-Hesiod

 view release on metacpan or  search on metacpan

Hesiod.xs  view on Meta::CPAN

		char ** results;
		char ** res;
		int i;
		dTARGET;
		SV *tmp;
	PPCODE:
		results = hesiod_resolve(context,name,type);
		/* Handle an invalid query */
		if ( ! results ) { XSRETURN_EMPTY; }
		res = results;
		i =0;

Hesiod.xs  view on Meta::CPAN

	const char *	name;
	PREINIT:
		struct passwd *pw;
		dTARGET;
		SV *tmp;
	PPCODE:
		pw = hesiod_getpwnam(context,name);
		/* Handle errors by returning empty */
		if ( ! pw ) { XSRETURN_EMPTY; }
		/* Presumably, have a valid response */
		tmp = sv_newmortal(); sv_setpv(tmp,pw->pw_name);

Hesiod.xs  view on Meta::CPAN

	uid_t	uid;
	PREINIT:
		struct passwd *pw;
		dTARGET;
		SV *tmp;
	PPCODE:
		pw = hesiod_getpwuid(context,uid);
		/* Handle errors by returning empty */
		if ( ! pw ) { XSRETURN_EMPTY; }
		/* Presumably, have a valid response */
		tmp = sv_newmortal(); sv_setpv(tmp,pw->pw_name);

Hesiod.xs  view on Meta::CPAN

	PREINIT:
		struct servent *sent;
		dTARGET;
		SV *tmp;
		int port;
	PPCODE:
		sent = hesiod_getservbyname(context,name, proto);
		/* Handle errors by returning empty */
		if ( ! sent ) { XSRETURN_EMPTY; }
		/* Presumably, have a valid response */
		/* servent struct is supposed to store port number in

Hesiod.xs  view on Meta::CPAN

	char *	user;
	PREINIT:
		struct hesiod_postoffice *po;
		dTARGET;
		SV * tmp;
	PPCODE:
		po = hesiod_getmailhost(context,user);
		/* Handle errors by returning empty */
		if ( ! po ) { XSRETURN_EMPTY; }
		/* Presumably, have a valid response */
		tmp= sv_newmortal(); sv_setpv(tmp,po->hesiod_po_type);

 view all matches for this distribution


Net-IP-Match-Bin

 view release on metacpan or  search on metacpan

Bin.xs  view on Meta::CPAN

    PREINIT:
        XS2_CTX* ctx;
	SV* sv;
	int i;

    PPCODE:
        STRLEN len;
        char *sclass = SvPV(class, len);
#if PVER >= 5008008
        Newx(ctx, 1, XS2_CTX);
#else

Bin.xs  view on Meta::CPAN

     PREINIT:
	XS2_CTX* ctx;
	SV* sv;
	int i;

     PPCODE:
	if (!SvROK(self)) {
	    XSRETURN_UNDEF;
	} else {
	    ctx = INT2PTR(XS2_CTX*, SvIV(SvRV(self)));
	}

Bin.xs  view on Meta::CPAN

     PREINIT:
	XS2_CTX* ctx;
	SV* sv;
	int i;

     PPCODE:
	if (!SvROK(self)) {
	    XSRETURN_UNDEF;
	} else {
	    ctx = INT2PTR(XS2_CTX*, SvIV(SvRV(self)));
	}

Bin.xs  view on Meta::CPAN

	char *p;
	int i;
	SV* sv;
	int func_call;
	int res;
     PPCODE:
	if (items < 2) {
	    /* too few args */
	    XSRETURN_UNDEF;
	}
	if (!SvROK(ST(0))) {

Bin.xs  view on Meta::CPAN

     PREINIT:
	XS2_CTX* ctx;
        AV* out;
        I32 i;

     PPCODE:
	I32 gimme = GIMME_V;
	I32 len = 0;

	if (!SvROK(self)) {
	    XSRETURN_UNDEF;

Bin.xs  view on Meta::CPAN

     SV* self

     PREINIT:
	XS2_CTX* ctx;

     PPCODE:
	if (!SvROK(self)) {
	    XSRETURN_UNDEF;
	} else {
	    ctx = INT2PTR(XS2_CTX*, SvIV(SvRV(self)));
	    _clean(aTHX_ ctx);

Bin.xs  view on Meta::CPAN

     SV* self

     PREINIT:
	XS2_CTX* ctx;

     PPCODE:
	if (!SvROK(self)) {
	    XSRETURN_UNDEF;
	} else {
	    ctx = INT2PTR(XS2_CTX*, SvIV(SvRV(self)));
	    _clean(aTHX_ ctx);

 view all matches for this distribution


Net-IP-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


Net-IP-XS

 view release on metacpan or  search on metacpan

NetIpXs.xs  view on Meta::CPAN

        char *prefix
    PREINIT:
        char buf[MAX_IPV6_STR_LEN];
        int len;
        int res;
    PPCODE:
        res = NI_ip_splitprefix(prefix, buf, &len);
        if (res) {
            XPUSHs(sv_2mortal(newSVpv(buf, 0)));
            XPUSHs(sv_2mortal(newSViv(len)));
        }

NetIpXs.xs  view on Meta::CPAN

    PREINIT:
        char *prefixes[MAX_PREFIXES];
        int pcount;
        int res;
        int i;
    PPCODE:
        pcount = 0;
        res = NI_ip_range_to_prefix(begin, end, ipversion, prefixes, &pcount);
        if (!res) {
            for (i = 0; i < pcount; i++) {
                free(prefixes[i]);

NetIpXs.xs  view on Meta::CPAN

        int len
        int version
    PREINIT:
        char buf[MAX_IPV6_RANGE_STR_LEN];
        int res;
    PPCODE:
        res = NI_ip_prefix_to_range(ip, len, version, buf);
        if (res) {
            XPUSHs(sv_2mortal(newSVpv(ip, 0)));
            XPUSHs(sv_2mortal(newSVpv(buf, 0)));
        } else {

NetIpXs.xs  view on Meta::CPAN

        char *ip
    PREINIT:
        char buf1[MAX_IPV6_STR_LEN];
        char buf2[MAX_IPV6_STR_LEN];
        int res;
    PPCODE:
        buf1[0] = '\0';
        buf2[0] = '\0';
        res = NI_ip_normalize(ip, buf1, buf2);
        if (res >= 1) {
            XPUSHs(sv_2mortal(newSVpv(buf1, 0)));

NetIpXs.xs  view on Meta::CPAN

    PREINIT:
        char *prefixes[MAX_PREFIXES];
        int pcount;
        int res;
        int i;
    PPCODE:
        if (!sv_isa(self, "Net::IP::XS")) {
            ST(0) = &PL_sv_undef;
        } else {
            pcount = 0;
            res = NI_find_prefixes(self, prefixes, &pcount);

 view all matches for this distribution


Net-Interface

 view release on metacpan or  search on metacpan

inst/netsymbols.pl  view on Meta::CPAN


  print NFx qq|\t_NI_AF_TEST = __NI_AF_TEST
    PREINIT:
	SV * rv;
	int n, i;
    PPCODE:
	if (ix >= $endv) {
	    croak("%s is not implemented on this architecture", GvNAME(CvGV(cv)));
	}
	rv = sv_2mortal(newSViv(ix));
	n = sizeof(ni_af_sym_tab) / sizeof(ni_iff_t);

inst/netsymbols.pl  view on Meta::CPAN


# add test element and complete
  print NFx qq|    PREINIT:
	SV * rv;
	int n, i;
    PPCODE:
	if (ix >= $endv) {
	    croak("%s is not implemented on this architecture", GvNAME(CvGV(cv)));
	}
	rv = sv_2mortal(newSVnv(bigsymvals[ix]));
	n = sizeof(ni_sym_iff_tab) / sizeof(ni_iff_t);

 view all matches for this distribution


Net-Kafka

 view release on metacpan or  search on metacpan

Kafka.xs  view on Meta::CPAN

    PREINIT:
        plrd_kafka_t *krd;
        rd_kafka_conf_t* conf;
        rd_kafka_t* rk;
        char errstr[ERRSTR_SIZE];
    PPCODE:
        Newxz(krd, 1, plrd_kafka_t);
        conf = krd_parse_config(aTHX_ krd, params);
        if (type == RD_KAFKA_PRODUCER) {
            DEBUGF(krd->debug_xs, "Creating producer");
            prd_init(krd, conf);

Kafka.xs  view on Meta::CPAN

krd_queue_poll(rdk, timeout_ms = 0)
        plrd_kafka_t *rdk
        int timeout_ms
    PREINIT:
        rd_kafka_event_t* rke;
    PPCODE:
        rke = rd_kafka_queue_poll(rdk->queue, timeout_ms);
        if (! rke) {
            XSRETURN_EMPTY;
            return;
        }

Kafka.xs  view on Meta::CPAN


void
krd_consumer_poll(rdk, timeout_ms = 0)
        plrd_kafka_t *rdk
        int timeout_ms
    PPCODE:
        rd_kafka_message_t *rd_msg = rd_kafka_consumer_poll( rdk->rk, timeout_ms );

        if (! rd_msg) {
            XSRETURN_EMPTY;
            return;

Kafka.xs  view on Meta::CPAN


void
krd_topic(rdk, topic)
        plrd_kafka_t* rdk
        char *topic
    PPCODE:
        rd_kafka_topic_t* rd_topic = rd_kafka_topic_new(rdk->rk, topic, NULL);
        DEBUG2F(rdk->debug_xs, "Created Net::Kafka::Topic %s", rd_kafka_topic_name(rd_topic));
        ST(0) = sv_newmortal();
        sv_setref_pv( ST(0), "Net::Kafka::Topic", (void *)rd_topic );
        XSRETURN(1);

Kafka.xs  view on Meta::CPAN

        int partition
        long timeout_ms
    PREINIT:
        rd_kafka_resp_err_t err;
        long low, high;
    PPCODE:
        err = rd_kafka_query_watermark_offsets(rdk->rk, topic, partition, &low, &high, timeout_ms);
        if (err != RD_KAFKA_RESP_ERR_NO_ERROR) {
            croak("Error querying watermark offsets: %s", rd_kafka_err2str(err));
        }
        EXTEND(SP, 2);

Kafka.xs  view on Meta::CPAN

void
krdm_timestamp(rd_msg)
        rd_kafka_message_t *rd_msg
    PREINIT:
        rd_kafka_timestamp_type_t tstype;
    PPCODE:
        long timestamp = rd_kafka_message_timestamp(rd_msg, &tstype);
        EXTEND(SP, 2);
        PUSHs(sv_2mortal(newSViv(timestamp)));
        PUSHs(sv_2mortal(newSViv(tstype)));

Kafka.xs  view on Meta::CPAN

        const void *value;
        size_t value_len;
    INPUT:
        rd_kafka_headers_t* hdrs
        const char *name
    PPCODE:
        err = rd_kafka_header_get_last(hdrs, name, &value, &value_len);
        if (err == RD_KAFKA_RESP_ERR_NO_ERROR) {
            PUSHs(sv_2mortal(newSVpvn(value, value_len)));
        } else if (err == RD_KAFKA_RESP_ERR__NOENT) {
            XSRETURN_UNDEF;

Kafka.xs  view on Meta::CPAN


void
ktpl_get(rktpl, idx)
        rd_kafka_topic_partition_list_t *rktpl
        int idx
    PPCODE:
        if (!rktpl || idx < 0 || idx >= rktpl->cnt) {
            return;
        }
        char* tn = rktpl->elems[idx].topic;
        EXTEND(SP, 3);

Kafka.xs  view on Meta::CPAN

        rd_kafka_topic_partition_list_t *rktpl
        char *topic
        int partition
    PREINIT:
        rd_kafka_topic_partition_t *tp;
    PPCODE:
        tp = rd_kafka_topic_partition_list_find(rktpl, topic, partition);
        if (tp == NULL) {
            XSRETURN_EMPTY;
            return;
        }

 view all matches for this distribution


Net-LDAP-Gateway

 view release on metacpan or  search on metacpan

Gateway.xs  view on Meta::CPAN

    RETVAL

SV *
ldap_peek_message(buffer)
    SV *buffer
PPCODE:
{
    int n = 0;
    STRLEN bytes, request_len, src_len;
    const char *start, *src, *max;
    sv_utf8_downgrade(buffer, 0);

Gateway.xs  view on Meta::CPAN

    XSRETURN(n);
}

void
ldap_shift_message(SV *buffer)
PPCODE:
{
    STRLEN src_len, message_len;
    const char *start = SvPV(buffer, src_len);
    const char *src = start;
    const char *max = start + src_len;

Gateway.xs  view on Meta::CPAN

ldap_pack_message_ref(msgid, op, data, controls = 0)
    U32 msgid
    U32 op
    HV *data
    SV *controls
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    ldap_pack_message_ref(dest, op, data, controls);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    ldap_pack_compare_response_ref = LDAP_OP_COMPARE_RESPONSE
    ldap_pack_abandon_request_ref = LDAP_OP_ABANDON_REQUEST
    ldap_pack_extended_request_ref = LDAP_OP_EXTENDED_REQUEST
    ldap_pack_extended_response_ref = LDAP_OP_EXTENDED_RESPONSE
    ldap_pack_intermediate_response_ref = LDAP_OP_INTERMEDIATE_RESPONSE
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    ldap_pack_message_ref(dest, ix, data, controls);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    U32 version
    SV *dn
    U32 method
    SV *arg1
    SV *arg2
PPCODE:
{
    SV *dest = new_message_sv();
    if (version > 3)
	croak("bad LDAP protocol version %u", (unsigned int)version);
    start_ldap_message(dest, msgid);

Gateway.xs  view on Meta::CPAN

}

void
ldap_pack_unbind_request(msgid)
    U32 msgid
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_unbind_request_args(dest);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    U32 size_limit
    U32 time_limit
    U32 types_only
    AV_opt *filter
    SV *attributes
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_search_request_args(dest,
				  base_dn, scope, deref,

Gateway.xs  view on Meta::CPAN


void
ldap_pack_search_entry_response(msgid, dn, ...)
    U32 msgid
    SV *dn
PPCODE:
{
    SV *dest = new_message_sv();
    if (items & 1)
	croak("Usage: Net::LDAP::Gateway::search_entry_response("
	      "$msgid, $dn, attr => \\@values, attr => \\@values, ...)");

Gateway.xs  view on Meta::CPAN

}

void
ldap_pack_search_reference_response(msgid, ...)
    U32 msgid
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_search_reference_response_args(dest, &(ST(1)), items - 1);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN


void
ldap_pack_modify_request(msgid, dn, ...)
    U32 msgid
    SV *dn
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_modify_request_args(dest, dn, &(ST(2)), items - 2);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN


void
ldap_pack_add_request(msgid, dn, ...)
    U32 msgid
    SV *dn
PPCODE:
{
    SV *dest = new_message_sv();
    if (items & 1)
	croak("Usage: Net::LDAP::Gateway::add_request("
	      "$msgid, $dn, attr => \\@values, attr => \\@values, ...)");

Gateway.xs  view on Meta::CPAN


void 
ldap_pack_delete_request(msgid, dn)
    U32 msgid
    SV *dn
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_delete_request_args(dest, dn);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    U32 msgid
    SV *dn
    SV *new_rdn
    I32 delete_old_rdn
    SV *new_superior
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_modify_dn_request_args(dest, dn, new_rdn, delete_old_rdn, new_superior);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

ldap_pack_compare_request(msgid, dn, attribute, value)
    U32 msgid
    SV *dn
    SV *attribute
    SV *value
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_compare_request_args(dest, dn, attribute, value);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN


void
ldap_pack_abandon_request(msgid, target_msgid)
    U32 msgid
    U32 target_msgid
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_abandon_request_args(dest, target_msgid);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

void
_ldap_pack_extended_request(msgid, oid, value = 0)
    U32 msgid
    SV *oid
    SV *value
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_extended_request_args(dest, oid, value);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    SV *matched_dn
    SV *message
    SV *referrals
    SV *name
    SV *value
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_extended_response_args(dest, result, matched_dn, message,
				     referrals, name, value);

Gateway.xs  view on Meta::CPAN

void
ldap_pack_intermediate_response(msgid, oid = 0, value = 0)
    U32 msgid
    SV *oid
    SV *value
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_intermediate_response_args(dest, oid, value);
    end_ldap_message(dest);

Gateway.xs  view on Meta::CPAN

    ldap_pack_modify_response = LDAP_OP_MODIFY_RESPONSE
    ldap_pack_add_response = LDAP_OP_ADD_RESPONSE
    ldap_pack_delete_response = LDAP_OP_DELETE_RESPONSE
    ldap_pack_modify_dn_response = LDAP_OP_MODIFY_DN_RESPONSE
    ldap_pack_compare_response = LDAP_OP_COMPARE_RESPONSE
PPCODE:
{
    SV *dest = new_message_sv();
    start_ldap_message(dest, msgid);
    pack_result_response_args(dest, ix, result, matched_dn, message, referrals);
    end_ldap_message(dest);

 view all matches for this distribution


Net-LDAPapi

 view release on metacpan or  search on metacpan

LDAPapi.xs  view on Meta::CPAN


void
ldap_explode_dn(dn,notypes)
    char *          dn
    int             notypes
    PPCODE:
    {
       char ** LDAPGETVAL;
       int i;

       if ((LDAPGETVAL = ldap_explode_dn(dn,notypes)) != NULL)

LDAPapi.xs  view on Meta::CPAN


void
ldap_explode_rdn(dn,notypes)
    char *          dn
    int     notypes
    PPCODE:
    {
       char ** LDAPGETVAL;
       int i;

       if ((LDAPGETVAL = ldap_explode_rdn(dn,notypes)) != NULL)

LDAPapi.xs  view on Meta::CPAN

void
ldap_get_values_len(ld,entry,target)
    LDAP *          ld
    LDAPMessage *   entry
    char *          target
    PPCODE:
    {
       struct berval ** LDAPGETVAL;
       int i;

       if ((LDAPGETVAL = ldap_get_values_len(ld,entry,target)) != NULL)

 view all matches for this distribution


Net-LDAPxs

 view release on metacpan or  search on metacpan

LDAPxs.xs  view on Meta::CPAN

		RETVAL

void
_unbind(ld)
		LDAP* ld
	PPCODE:
		ldap_unbind_ext(ld, NULL, NULL);

void
_search(ld, opt)
		LDAP *ld

LDAPxs.xs  view on Meta::CPAN

		int msgid;

		HV* search_result;
		HV* stash;
		SV* blessed_result;
	PPCODE:
		if ((svp = hv_fetch(opt, "base", 4, FALSE)) && SvPOK(*svp)) {
			base = (char *)SvPV_nolen(*svp);
		}else{
			croak("_search(base): not a string");
		}

 view all matches for this distribution


Net-LDNS

 view release on metacpan or  search on metacpan

src/LDNS.xs  view on Meta::CPAN


PROTOTYPES: ENABLE

SV *
to_idn(...)
    PPCODE:
    {
#ifdef WE_CAN_HAZ_IDN
        int i;
        for( i = 0; i<items; i++ )
        {

src/LDNS.xs  view on Meta::CPAN

        RETVAL

SV *
load_zonefile(filename)
    char *filename;
    PPCODE:
    {
		ldns_zone *zone;
		ldns_status s;
		ldns_rr *soa;
		ldns_rr_list *rrs;

src/LDNS.xs  view on Meta::CPAN


SV *
name2addr(obj,name)
    Net::LDNS obj;
    const char *name;
    PPCODE:
    {
        ldns_rr_list *addrs;
        ldns_rdf *dname;
        size_t n, i;
        I32 context;

src/LDNS.xs  view on Meta::CPAN


SV *
addr2name(obj,addr_in)
    Net::LDNS obj;
    const char *addr_in;
    PPCODE:
    {
        ldns_rr_list *names;
        ldns_rdf *addr_rdf;
        size_t n, i;
        I32 context;

src/LDNS.xs  view on Meta::CPAN

        RETVAL

SV *
packet_answer(obj)
    Net::LDNS::Packet obj;
    PPCODE:
    {
        size_t i,n;
        ldns_rr_list *rrs;
        I32 context = GIMME_V;

src/LDNS.xs  view on Meta::CPAN

    }

SV *
packet_authority(obj)
    Net::LDNS::Packet obj;
    PPCODE:
    {
        size_t i,n;
        ldns_rr_list *rrs;
        I32 context = GIMME_V;

src/LDNS.xs  view on Meta::CPAN

    }

SV *
packet_additional(obj)
    Net::LDNS::Packet obj;
    PPCODE:
    {
        size_t i,n;
        ldns_rr_list *rrs;
        I32 context = GIMME_V;

src/LDNS.xs  view on Meta::CPAN

    }

SV *
packet_question(obj)
    Net::LDNS::Packet obj;
    PPCODE:
    {
        size_t i,n;
        ldns_rr_list *rrs;
        I32 context = GIMME_V;

src/LDNS.xs  view on Meta::CPAN


SV *
rr_new_from_string(class,str)
    char *class;
    char *str;
    PPCODE:
        ldns_status s;
        ldns_rr *rr;
        char rrclass[40];
        char *rrtype;
        SV* rr_sv;

src/LDNS.xs  view on Meta::CPAN

        RETVAL

SV *
rr_nsec3_salt(obj)
    Net::LDNS::RR::NSEC3 obj;
    PPCODE:
        if(ldns_nsec3_salt_length(obj) > 0)
        {
            ldns_rdf *buf = ldns_nsec3_salt(obj);
            ST(0) = sv_2mortal(newSVpvn((char *)ldns_rdf_data(buf), ldns_rdf_size(buf)));
            ldns_rdf_deep_free(buf);

src/LDNS.xs  view on Meta::CPAN

        RETVAL

SV *
rr_nsec3param_salt(obj)
    Net::LDNS::RR::NSEC3PARAM obj;
    PPCODE:
        ldns_rdf *rdf = ldns_rr_rdf(obj,3);
        if(ldns_rdf_size(rdf) > 0)
        {
            mPUSHs(newSVpvn((char *)ldns_rdf_data(rdf), ldns_rdf_size(rdf)));
        }

 view all matches for this distribution


Net-LibAsyncNS

 view release on metacpan or  search on metacpan

lib/Net/LibAsyncNS.xs  view on Meta::CPAN

    int err;
    struct addrinfo *res;
    struct addrinfo *res_iter;
    int n_res;

  PPCODE:
    err = asyncns_getaddrinfo_done(self, q->query, &res);

    XPUSHs(gai_err_to_SV(err));

    if(err) {

lib/Net/LibAsyncNS.xs  view on Meta::CPAN

  PREINIT:
    int err;
    char host[1024];
    char serv[256];

  PPCODE:
    err = asyncns_getnameinfo_done(self, q->query, host, sizeof(host), serv, sizeof(serv));

    XPUSHs(gai_err_to_SV(err));

    if(err) {

lib/Net/LibAsyncNS.xs  view on Meta::CPAN


  INIT:
    int len;
    unsigned char *answer;

  PPCODE:
    len = asyncns_res_done(self, q->query, &answer);
    if(len < 0) {
      if(-len != EAGAIN)
        SvREFCNT_dec(q->sv);

 view all matches for this distribution


Net-LibNFS

 view release on metacpan or  search on metacpan

LibNFS.xs  view on Meta::CPAN

# ----------------------------------------------------------------------
# Static functions

void
find_local_servers ()
    PPCODE:
        struct nfs_server_list *servers = nfs_find_local_servers();

        if (!servers) {
            XSRETURN_EMPTY;
        }

LibNFS.xs  view on Meta::CPAN


        free_nfs_srvr_list(srvlist);

void
mount_getexports (SV* server_sv, SV* timeout_sv=&PL_sv_undef)
    PPCODE:
        const char* server = exs_SvPVbyte_nolen(server_sv);

        struct exportnode* nodes;

        if (SvOK(timeout_sv)) {

LibNFS.xs  view on Meta::CPAN


        SvREFCNT_dec(nfs_dh->perl_nfs);

void
read (SV* self_sv)
    PPCODE:
        _FORBID_VOID_CONTEXT;

        nlnfs_dh_s* nfs_dh = exs_structref_ptr(self_sv);

        SV* nfs_sv = nfs_dh->perl_nfs;

LibNFS.xs  view on Meta::CPAN


        SvREFCNT_dec(nfs_fh->perl_nfs);

void
close (SV* self_sv)
    PPCODE:
        nlnfs_fh_s* nfs_fh = exs_structref_ptr(self_sv);

        SV* nfs_sv = nfs_fh->perl_nfs;

        nlnfs_s* perl_nfs = exs_structref_ptr(nfs_sv);

 view all matches for this distribution


Net-LibNIDS

 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


Net-MDNS-Client

 view release on metacpan or  search on metacpan

Client.xs  view on Meta::CPAN

	INIT:
		mdnsda r;
		struct in_addr in;
		char * t;

	PPCODE:
		r = mdnsc_get_a_result(query_type, query_string);
		if ( GIMME_V == G_VOID )
			{ XSRETURN_UNDEF;}
		if (r)
			{

 view all matches for this distribution


Net-MDNS-Server

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


Net-MRT

 view release on metacpan or  search on metacpan

MRT.xs  view on Meta::CPAN


void
mrt_read_next(f)
PerlIO * f;
    PROTOTYPE: *
    PPCODE:
        # Definitions
        Off_t msgpos = PerlIO_tell(f); // Store message position & check for proper handle
        int sz;
        MRT_MESSAGE mh;
        char sbuff[SBUFF] = {};

MRT.xs  view on Meta::CPAN


void
mrt_get_next(f)
PerlIO * f;
    PROTOTYPE: *
    PPCODE:
        # Definitions
        Off_t msgpos = PerlIO_tell(f); // Store message position & check for proper handle
        int sz;
        MRT_MESSAGE mh;
        char sbuff[SBUFF] = {};

 view all matches for this distribution


( run in 3.498 seconds using v1.01-cache-2.11-cpan-4e7a2411597 )