878ba523ac
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.
28 lines
457 B
C
28 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;
|
|
}
|