minix/lib/nbsd_libminlib/getnucred.c
Gianluca Guida 878ba523ac Add libminlib for NBSD libc compilation.
This library includes various random and minix-specific functions
included in the Minix libc. Most of them should be part of libsys,
and in general it would be nice to extinguish this library over
time.
2011-03-22 13:47:35 +00:00

29 lines
457 B
C

#include <lib.h>
#include <errno.h>
#include <sys/ucred.h>
#include <unistd.h>
PUBLIC int getnucred(endpoint_t proc_ep, struct ucred *ucred)
{
message m;
pid_t pid;
if (ucred == NULL) {
errno = EFAULT;
return -1;
}
m.m1_i1 = proc_ep; /* search for this process */
pid = _syscall(PM_PROC_NR, GETEPINFO, &m);
if (pid < 0) {
return -1;
}
ucred->pid = pid;
ucred->uid = m.PM_NUID;
ucred->gid = m.PM_NGID;
return 0;
}