Voltar à lista
Linux x86_64Rede & sockets#55

getsockopt

Consulta o valor atual de uma opção de socket.

Descrição

Contraparte de leitura de `setsockopt`.

Header: sys/socket.hman 2

Assinatura

int getsockopt(
    int sockfd,
    int level,
    int optname,
    void * optval,
    socklen_t * optlen
);

Parâmetros

ParâmetroTipoDescrição
sockfdintDescritor do socket.
levelintNível de protocolo da opção.
optnameintNome da opção dentro do nível.
optvalvoid *Recebe o valor atual da opção.
optlensocklen_t *Tamanho de `optval`; atualizado com o tamanho real.

Registradores (x86_64)

RegistradorPapelArgumento
raxnúmero da syscall (chamada) / valor de retorno (após SYSCALL)
rdiargumento 1sockfdint
rsiargumento 2levelint
rdxargumento 3optnameint
r10argumento 4optvalvoid *
r8argumento 5optlensocklen_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.
EFAULT(14)
Endereço de memória inválido (ponteiro fora do espaço de endereçamento válido).
ENOPROTOOPT(92)
Opção de protocolo indisponível.
ENOTSOCK(88)
Operação de socket em descritor que não é um socket.

Relacionadas