Sys-Hostname-FQDN

 view release on metacpan or  search on metacpan

FQDN.xs  view on Meta::CPAN


MODULE = Sys::Hostname::FQDN	PACKAGE = Sys::Hostname::FQDN

PROTOTYPES: DISABLE

void
usually_short()
    PREINIT:
	SV * out;
	char local_name[NS_MAXDNAME];
    PPCODE:
	if (gethostname(local_name,NS_MAXDNAME) != 0) {
	  ST(0) = &PL_sv_undef;
	}
	else {
	  out = sv_2mortal(newSVpv(local_name,0));
	  ST(0) = out;
	}
	XSRETURN(1);

void
inet_ntoa(netaddr)
	SV * netaddr
    PREINIT:
	STRLEN len;
	SV * out;  
	union {    
	    struct in_addr * inadr;
	    char * addr;
	} naddr;
    PPCODE:
	naddr.addr = (SvPV(netaddr, len));
	out = sv_2mortal(newSVpv(inet_ntoa(*naddr.inadr),0));
	ST(0) = out;
	XSRETURN(1);

void
inet_aton(dotquad)
	SV * dotquad
    PREINIT:
	SV * out;
	STRLEN len;
	unsigned char * dq;
	union {
	    struct in_addr * inadr;
	    char * addr;
	} naddr;
	struct in_addr myaddr;
    PPCODE:
	dq = (unsigned char *)(SvPV(dotquad, len));
	inet_aton((char *)dq,&myaddr);
	out = sv_2mortal(newSVpv((char *)&myaddr.s_addr,4));
	ST(0) = out;
	XSRETURN(1);



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