Mail-SpamCannibal
view release on metacpan or search on metacpan
BDBaccess/CTest.xs view on Meta::CPAN
t_savpid(path)
char * path
CODE:
savpid(path);
void
t_chk4pid(path)
char * path
PREINIT:
SV * out;
PPCODE:
path = chk4pid(path);
if (path == NULL) {
ST(0) = &PL_sv_undef;
}
else {
out = sv_newmortal();
out = newSVpv(path,0);
ST(0) = out;
XSRETURN(1);
}
void
t_pidpath()
PREINIT:
SV * out;
PPCODE:
out = sv_newmortal();
out = newSVpv(pidpath(),0);
ST(0) = out;
XSRETURN(1);
int
t_init(home,...)
unsigned char * home
PREINIT:
STRLEN len;
BDBaccess/CTest.xs view on Meta::CPAN
dbtp_close(&dbtp);
void
t_get(which, name, addr);
int which;
char * name
unsigned char * addr
PREINIT:
SV * out;
void * data;
PPCODE:
if (dbtp_readDB(&dbtp,0, name, addr, 1))
XSRETURN_UNDEF;
if (which)
data = myct_getsec();
else
data = myct_getpri();
if (data == NULL) {
ST(0) = &PL_sv_undef;
BDBaccess/CTest.xs view on Meta::CPAN
}
XSRETURN(1);
void
t_getrecno(which, name, cursor)
int which
char * name
U32 cursor
PREINIT:
SV * netaddr, * tmp; /* older perl does not know about newSVuv */
PPCODE:
cursor = htonl(cursor);
if (dbtp_readDB(&dbtp,1,name,&cursor,1)) {
if(GIMME == G_ARRAY)
XSRETURN_EMPTY;
else
XSRETURN_UNDEF;
}
netaddr = sv_newmortal();
sv_setpvn(netaddr, (char *)dbtp.keydbt.data, (size_t)dbtp.keydbt.size);
XPUSHs(netaddr);
BDBaccess/CTest.xs view on Meta::CPAN
sv_setuv(tmp,cursor);
XPUSHs(sv_2mortal(tmp));
}
XSRETURN(2);
}
XSRETURN(1);
void
t_bdberror(status)
int status
PPCODE:
XPUSHs(sv_2mortal(newSVpv(db_strerror(status),0)));
XSRETURN(1);
void
t_bdbversion()
PREINIT:
char version[256];
int major, minor, patch;
PPCODE:
(void)db_version(&major,&minor,&patch);
(void)sprintf(version,"%d.%d.%d",major,minor,patch);
XPUSHs(sv_2mortal(newSVpv(version,0)));
XSRETURN(1);
U32
t_bdbcount(name)
char * name
CODE:
RETVAL = dbtp_statn(&dbtp,name);
DNSBLserver/CTest.xs view on Meta::CPAN
t_savpid(path)
char * path
CODE:
savpid(path);
void
t_chk4pid(path)
char * path
PREINIT:
SV * out;
PPCODE:
path = chk4pid(path);
if (path == NULL) {
ST(0) = &PL_sv_undef;
}
else {
out = sv_newmortal();
out = newSVpv(path,0);
ST(0) = out;
XSRETURN(1);
}
void
t_pidpath()
PREINIT:
SV * out;
PPCODE:
out = sv_newmortal();
out = newSVpv(pidpath(),0);
ST(0) = out;
XSRETURN(1);
int
t_init(home,...)
unsigned char * home
PREINIT:
STRLEN len;
DNSBLserver/CTest.xs view on Meta::CPAN
dbtp_close(&dbtp);
void
t_get(which, addr);
int which
SV * addr
PREINIT:
SV * out;
STRLEN len;
void * data;
PPCODE:
data = (void *)(SvPV(addr,len));
if (which)
data = myct_getsec(data,len);
else
data = myct_getpri(data,len);
if (data == NULL) {
ST(0) = &PL_sv_undef;
}
else {
DNSBLserver/CTest.xs view on Meta::CPAN
}
XSRETURN(1);
void
t_getrecno(which, cursor)
int which
U32 cursor
PREINIT:
SV * netaddr, * tmp; /* older perl does not know about newSVuv */
int ai;
PPCODE:
if (which)
ai = DBcontrib;
else
ai = DBtarpit;
if (dbtp_getrecno(&dbtp,ai,cursor)) {
if(GIMME == G_ARRAY)
XSRETURN_EMPTY;
else
XSRETURN_UNDEF;
DNSBLserver/CTest.xs view on Meta::CPAN
tmp = newSViv(cursor);
sv_setuv(tmp,cursor);
XPUSHs(sv_2mortal(tmp));
}
XSRETURN(2);
}
XSRETURN(1);
void
t_short()
PPCODE:
gethostname(strbuf,MAXDNAME);
ST(0) = sv_2mortal(newSVpv(strbuf,0));
XSRETURN(1);
int
t_not_numeric(cp)
char * cp
CODE:
RETVAL = not_numericIP(cp);
OUTPUT:
DNSBLserver/CTest.xs view on Meta::CPAN
void
t_set_dbhome(path)
char * path
CODE:
strcpy(tmpdbhome,path);
dbhome = tmpdbhome;
void
t_ret_resp()
PPCODE:
XPUSHs(sv_2mortal(newSVpv(my_inet_ntoa(&aa),0)));
if(GIMME != G_ARRAY) {
XSRETURN(1);
}
XPUSHs(sv_2mortal(newSVpv(my_inet_ntoa(&ab),0)));
XPUSHs(sv_2mortal(newSVpv(my_inet_ntoa(&ac),0)));
XPUSHs(sv_2mortal(newSVpv(my_inet_ntoa(&ad),0)));
XSRETURN(4);
void
t_ret_a_nibls()
PPCODE:
XPUSHs(sv_2mortal(newSVpv(my_nib_ntoa(ah,am,al,az),0)));
if(GIMME != G_ARRAY) {
XSRETURN(1);
}
XPUSHs(sv_2mortal(newSVpv(my_nib_ntoa(bh,bm,bl,bz),0)));
XPUSHs(sv_2mortal(newSVpv(my_nib_ntoa(ch,cm,cl,cz),0)));
XPUSHs(sv_2mortal(newSVpv(my_nib_ntoa(dh,dm,dl,dz),0)));
XSRETURN(4);
void
t_mybuffer(which)
int which
PREINIT:
char * bp;
PPCODE:
switch(which) {
case 0 :
bp = mybuffer;
break;
case 1 :
bp = txa;
break;
case 2 :
bp = txb;
break;
DNSBLserver/CTest.xs view on Meta::CPAN
PREINIT:
char * bp;
CODE:
bp = mybuffer;
iprint(fd,bp);
void
t_zone_name()
PREINIT:
SV * out;
PPCODE:
if (zone_name == NULL) {
ST(0) = &PL_sv_undef;
}
else {
out = sv_newmortal();
out = newSVpv(zone_name,0);
ST(0) = out;
XSRETURN(1);
}
DNSBLserver/CTest.xs view on Meta::CPAN
void
t_ratelimit(run,nsec,nusec,tsec,tusec,dmax,csum,psum)
int run
U32 nsec
U32 nusec
SV* tsec
SV* tusec
U32 dmax
U32 csum
U32 psum
PPCODE:
now.tv_sec = nsec;
now.tv_usec = nusec;
if (SvOK(tsec) && SvOK(tusec)) {
then.tv_sec = SvIV(tsec);
then.tv_usec = SvIV(tusec);
}
diskmax = dmax;
charsum = csum;
partsum = psum;
partmax = dmax/4;
( run in 0.597 second using v1.01-cache-2.11-cpan-5511b514fd6 )