Voltar à lista
Linux x86_64Rede & sockets#52

getpeername

Consulta o endereço do par remoto ao qual um socket está conectado.

Descrição

Contraparte de `getsockname` para o lado remoto da conexão.

Header: sys/socket.hman 2

Assinatura

int getpeername(int sockfd, struct sockaddr * addr, socklen_t * addrlen);

Parâmetros

ParâmetroTipoDescrição
sockfdintDescritor do socket.
addrstruct sockaddr *Recebe o endereço remoto.
addrlensocklen_t *Tamanho de `addr`; atualizado com o tamanho real.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1sockfdint
rsiargumento 2addrstruct sockaddr *
rdxargumento 3addrlensocklen_t *

Valor de retorno

0 em sucesso; -1 em erro, com errno definido.

Códigos de erro (errno)

EBADF(9)
Descritor de arquivo inválido.
ENOTCONN(107)
Socket não conectado.
ENOTSOCK(88)
Operação de socket em descritor que não é um socket.

Relacionadas