minix3/man/man2/getpeereid.2

43 lines
1.3 KiB
Groff

.TH GETPEEREID 2
.SH NAME
getpeereid \- get the effective user ID and effective group ID of a peer
connected through a Unix domain socket.
.SH SYNOPSIS
.ft B
#include <sys/socket.h>
.in +5
.ti -5
int getpeereid(int \fIsd\fP, uid_t *\fIeuid\fP, gid_t *\fIegid\fP);
.br
.ft P
.SH DESCRIPTION
getpeereid() is often used to authenticate clients connecting to a
server through a Unix domain socket. The server can call this function
with a socket descriptor \fIsd\fP and this function will fill\-in
\fIeuid\fP and \fIegid\fP with the effective user ID and the effective
group ID of the client process.
.SH RETURN VALUES
On success, this function returns 0, \fIeuid\fP is set to the effective
user ID of the peer connected through Unix domain socket \fIsd\fP, and
\fIegid\fP is set to the effective group ID of the peer connected
through Unix domain socket \fIsd\fP. On error, -1 is returned and
\fIerrno\fP is set.
.SH ERRORS
.TP 15
[EBADF]
The argument \fIsd\fP is not a descriptor.
.TP 15
[ENOTSOCK]
The argument \fIsd\fP is a descriptor, but not a socket descriptor.
.TP 15
[EFAULT]
The address pointed to by \fIeuid\fP and/or \fIegid\fP is not in a
valid part of the process address space.
.SH SEE ALSO
.BR socket(2),
.BR socketpair(2),
.BR unix(8)
.SH HISTORY
This function first appeared in Minix 3.1.8.