43 lines
1.3 KiB
Groff
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.
|