Skip to content
BSD syscall#31

svc · unix #31

getpeername

Returns the address of the peer connected to a socket.

Prototype

int getpeername(int fdes, caddr_t asa, socklen_t *alen);

Returns: int

Arguments

NameTypeDirDescription
fdesint-
asacaddr_t-
alensocklen_t-

Version history

XNU tagmacOS#
xnu-1456.1.26macOS 10.6 Snow Leopard31
xnu-1486.2.1131
xnu-1504.15.331
xnu-1504.3.1231
xnu-1504.7.431
xnu-1504.9.1731
xnu-1504.9.2631
xnu-1504.9.3731

Notes

Returns ENOTCONN for sockets that never completed connect/accept. For AF_UNIX sockets created with socketpair the peer has no name and the returned sockaddr_un has length sizeof(sa_family_t). Useful for SCM_CREDS-style identity checks; combine with getsockopt LOCAL_PEERCRED or LOCAL_PEERPID for the macOS-specific peer credential APIs.

Detection

Not directly observable via ES. The same information is available through proc_pidfdinfo to a privileged observer.

Related APIs

getsocknameacceptconnectgetsockopt