iso9660fs: initialize buffer cache
[minix.git] / man / man2 / getpeereid.2
blob2c0a15f07823190efc80f1cc599c50ac74011e7c
1 .TH GETPEEREID 2
2 .SH NAME
3 getpeereid \- get the effective user ID and effective group ID of a peer
4 connected through a Unix domain socket.
5 .SH SYNOPSIS
6 .ft B
7 #include <sys/socket.h>
9 .in +5
10 .ti -5
11 int getpeereid(int \fIsd\fP, uid_t *\fIeuid\fP, gid_t *\fIegid\fP);
12 .br
13 .ft P
14 .SH DESCRIPTION
15 getpeereid() is often used to authenticate clients connecting to a 
16 server through a Unix domain socket. The server can call this function 
17 with a socket descriptor \fIsd\fP and this function will fill\-in 
18 \fIeuid\fP and \fIegid\fP with the effective user ID and the effective 
19 group ID of the client process.
20 .SH RETURN VALUES
21 On success, this function returns 0, \fIeuid\fP is set to the effective 
22 user ID of the peer connected through Unix domain socket \fIsd\fP, and 
23 \fIegid\fP is set to the effective group ID of the peer connected 
24 through Unix domain socket \fIsd\fP. On error, -1 is returned and 
25 \fIerrno\fP is set.
26 .SH ERRORS
27 .TP 15
28 [EBADF]
29 The argument \fIsd\fP is not a descriptor.
30 .TP 15
31 [ENOTSOCK]
32 The argument \fIsd\fP is a descriptor, but not a socket descriptor.
33 .TP 15
34 [EFAULT]
35 The address pointed to by \fIeuid\fP and/or \fIegid\fP is not in a 
36 valid part of the process address space.
37 .SH SEE ALSO
38 .BR socket(2),
39 .BR socketpair(2),
40 .BR unix(8)
41 .SH HISTORY
42 This function first appeared in Minix 3.1.8.