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.
 |