Socket-More-Lookup
view release on metacpan or search on metacpan
char *sname=NULL;
struct addrinfo *res;
struct addrinfo h;
struct addrinfo *hh=NULL;
struct addrinfo *next;
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;
h.ai_addr=NULL;
h.ai_canonname=NULL;
h.ai_next=NULL;
// First check that output array is doable
PROTOTYPE: $$$$
INIT:
int ret;
char *host;
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);
}
if(SvOK(address) && SvPOK(address)){
addrlen=SvCUR(address);
addr=(struct sockaddr *)SvPVX(address);//SvGROW(address,0);
const-xs.inc view on Meta::CPAN
dTARGET;
#endif
STRLEN len;
int type;
/* IV iv; Uncomment this if you need to return IVs */
/* 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:
sv =
sv_2mortal(newSVpvf("%s is not a valid Socket::More::Lookup macro", s));
PUSHs(sv);
break;
case PERL_constant_NOTDEF:
fallback/const-xs.inc view on Meta::CPAN
dTARGET;
#endif
STRLEN len;
int type;
/* IV iv; Uncomment this if you need to return IVs */
/* 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:
sv =
sv_2mortal(newSVpvf("%s is not a valid Socket::More::Lookup macro", s));
PUSHs(sv);
break;
case PERL_constant_NOTDEF:
( run in 1.399 second using v1.01-cache-2.11-cpan-5511b514fd6 )