2 % (c) The GRASP/AQUA Project, Glasgow University, 1996
4 \subsection[getPeerName.lc]{Return name of peer process}
6 Returns name of peer process connected to a socket.
13 #ifdef HAVE_SYS_TYPES_H
14 #include <sys/types.h>
17 #ifdef HAVE_SYS_SOCKET_H
18 #include <sys/socket.h>
22 getPeerName(int sockfd, struct sockaddr *peer, int *namelen)
26 while ((name = getpeername(sockfd, peer, namelen)) < 0) {
34 ghc_errtype = ERR_INVALIDARGUMENT;
35 ghc_errstr = "Not a valid write descriptor";
38 ghc_errtype = ERR_INVALIDARGUMENT;
39 ghc_errstr = "Data not in writeable part of user address space";
42 ghc_errtype = ERR_RESOURCEEXHAUSTED;
43 ghc_errstr = "Insuffcient resources";
46 ghc_errtype = ERR_INVALIDARGUMENT;
47 ghc_errstr = "Socket not connected";
50 ghc_errtype = ERR_INVALIDARGUMENT;
51 ghc_errstr = "Descriptor is not a socket";