Syscall BSD#31
svc · unix #31
getpeername
Renvoie l'adresse du pair connecté à une socket.
Prototype
int getpeername(int fdes, caddr_t asa, socklen_t *alen);Retour: int
Arguments
| Name | Type | Dir | Description |
|---|---|---|---|
| fdes | int | - | |
| asa | caddr_t | - | |
| alen | socklen_t | - |
Historique des versions
| XNU tag | macOS | # |
|---|---|---|
| xnu-1456.1.26 | macOS 10.6 Snow Leopard | 31 |
| xnu-1486.2.11 | — | 31 |
| xnu-1504.15.3 | — | 31 |
| xnu-1504.3.12 | — | 31 |
| xnu-1504.7.4 | — | 31 |
| xnu-1504.9.17 | — | 31 |
| xnu-1504.9.26 | — | 31 |
| xnu-1504.9.37 | — | 31 |
Notes
Renvoie ENOTCONN pour des sockets n'ayant jamais terminé connect/accept. Pour les sockets AF_UNIX créées avec socketpair, le pair n'a pas de nom et le sockaddr_un retourné est de longueur sizeof(sa_family_t). Utile pour des vérifications d'identité de type SCM_CREDS ; à combiner avec getsockopt LOCAL_PEERCRED ou LOCAL_PEERPID pour les API de credentials de pair propres à macOS.
Détection
Non directement observable via ES. La même information est disponible via proc_pidfdinfo pour un observateur privilégié.
API associées
getsocknameacceptconnectgetsockopt