NIS
view release on metacpan or search on metacpan
int
yp_bind(domain)
char * domain
void
yp_unbind(domain)
char * domain
void
yp_get_default_domain()
PPCODE:
{
char *domain;
int status;
status = yp_get_default_domain(&domain);
XPUSHs(sv_2mortal(newSViv(status)));
if (status == 0) XPUSHs(sv_2mortal(newSVpv(domain, strlen(domain))));
}
void
yp_match(domain, map, key)
char * domain
char * map
SV * key
PPCODE:
{
char *inkey;
STRLEN inkeylen;
char *outval;
int outvallen;
int status;
if (SvPOK(key))
{
inkey = SvPV(key, inkeylen);
else
{
XPUSHs(sv_2mortal(newSViv(YPERR_BADARGS)));
}
}
void
yp_first(domain, map)
char * domain
char * map
PPCODE:
{
char *outkey;
int outkeylen;
char *outval;
int outvallen;
int status;
status = yp_first(domain, map, &outkey, &outkeylen, &outval, &outvallen);
XPUSHs(sv_2mortal(newSViv(status)));
if (status == 0)
XPUSHs(sv_2mortal(newSVpv(outkey, outkeylen)));
XPUSHs(sv_2mortal(newSVpv(outval, outvallen)));
}
}
void
yp_next(domain, map, key)
char * domain
char * map
SV * key
PPCODE:
{
char *inkey;
STRLEN inkeylen;
char *outkey;
int outkeylen;
char *outval;
int outvallen;
int status;
if (SvPOK(key))
else
{
XPUSHs(sv_2mortal(newSViv(YPERR_BADARGS)));
}
}
void
yp_all(domain, map)
char * domain
char * map
PPCODE:
{
struct ypall_callback callback;
struct callbackdata data;
int status;
data.results = sv_2mortal(newRV((SV *) newHV()));
data.status = 0;
callback.foreach = ypallcallback;
callback.data = (char *)&data;
XPUSHs(sv_newmortal());
status = yp_all(domain, map, &callback);
sv_setnv(ST(0), data.status);
if (status == 0 && data.status == YPERR_NOMORE)
sv_setsv(ST(1), (SV *)data.results);
}
void
yp_order(domain, map)
char * domain
char * map
PPCODE:
{
unsigned long order;
int status;
status = yp_order(domain, map, &order);
XPUSHs(sv_2mortal(newSViv(status)));
if (status == 0) XPUSHs(sv_2mortal(newSViv(order)));
}
void
yp_master(domain, map)
char * domain
char * map
PPCODE:
{
char *name;
int status;
status = yp_master(domain, map, &name);
XPUSHs(sv_2mortal(newSViv(status)));
if (status == 0) XPUSHs(sv_2mortal(newSVpv(name, strlen(name))));
}
char *
( run in 2.051 seconds using v1.01-cache-2.11-cpan-5511b514fd6 )