Sun-Solaris-Ucred
view release on metacpan or search on metacpan
ucred_getsuid(uc)
Sun::Solaris::Ucred::Ucred *uc;
gid_t
ucred_getegid(uc)
Sun::Solaris::Ucred::Ucred *uc;
gid_t
ucred_getrgid(uc)
Sun::Solaris::Ucred::Ucred *uc;
gid_t
ucred_getsgid(uc)
Sun::Solaris::Ucred::Ucred *uc;
pid_t
ucred_getpid(uc)
Sun::Solaris::Ucred::Ucred *uc;
zoneid_t
ucred_getzoneid(uc)
Sun::Solaris::Ucred::Ucred *uc;
uint_t
ucred_getpflags(uc, flags)
Sun::Solaris::Ucred::Ucred *uc;
uint_t flags;
Sun::Solaris::Privilege::Privset *
ucred_getprivset(uc, which)
Sun::Solaris::Ucred::Ucred *uc;
const char *which;
PREINIT:
const priv_set_t *val;
CODE:
/*
* Since this function returns a pointer into the ucred_t, we need
* to copy it or perl may free one before the other; and the
* priv_set_t * returned by it doesn't react kindly to free().
*/
val = ucred_getprivset(uc, which);
if (val == NULL || (RETVAL = dupset(val)) == NULL)
XSRETURN_UNDEF;
RETPRIVSET(RETVAL);
Sun::Solaris::Ucred::Ucred *
getpeerucred(fd)
int fd;
CODE:
RETVAL = NULL;
if (getpeerucred(fd, &RETVAL) != 0)
XSRETURN_UNDEF;
RETUCRED(RETVAL);
void
ucred_getgroups(uc)
Sun::Solaris::Ucred::Ucred *uc;
PREINIT:
const gid_t *gids;
int n;
PPCODE:
n = ucred_getgroups(uc, &gids);
if (n < 0)
XSRETURN_UNDEF;
PUTBACK;
if (GIMME_V == G_SCALAR) {
EXTEND(SP, 1);
PUSHs(sv_2mortal(newSViv(n)));
PUTBACK;
XSRETURN(1);
} else if (GIMME_V == G_ARRAY) {
int i;
EXTEND(SP, n);
for (i = 0; i < n; i++)
PUSHs(sv_2mortal(newSViv(gids[i])));
PUTBACK;
XSRETURN(n);
} else {
PUTBACK;
XSRETURN(0);
}
MODULE = Sun::Solaris::Ucred PACKAGE = Sun::Solaris::Ucred::UcredPtr PREFIX = Ucred_
void
Ucred_DESTROY(uc)
Sun::Solaris::Ucred::Ucred *uc;
CODE:
ucred_free(uc);
( run in 0.651 second using v1.01-cache-2.11-cpan-5511b514fd6 )