table of contents
- trixie 4.27.0-1
- trixie-backports 4.28.0-2~bpo13+2
- testing 4.28.0-2
- unstable 4.28.0-2
| getpeername(2) | System Calls Manual | getpeername(2) |
NOMBRE¶
getpeername - obtiene el nombre del conector en el otro extremo
BIBLIOTECA¶
Biblioteca Estándar C (libc, -lc)
SINOPSIS¶
#include <sys/socket.h>
int getpeername(int sockfd, struct sockaddr *restrict addr,
socklen_t *restrict addrlen);
DESCRIPCIÓN¶
getpeername() retornará la dirección del par conectado al socket sockfd, en el búfer que apunta addr. El argumento addrlen debe inicializarse para indicar la cantidad de espacio apuntado por addr. Al devolver, contiene el tamaño real del nombre devuelto (en bytes). El nombre se trunca si el búfer proporcionado es demasiado pequeño.
La dirección devuelta se trunca si el tamaño del búfer indicado es demasiado pequeño; en este caso, addrlen devolverá un valor mayor que el proporcionado a la llamada.
VALOR DEVUELTO¶
En caso de éxito se devuelve cero. En caso de error se devuelve -1, y errno se configura para indicar el error.
ERRORES¶
- EBADF
- El argumento sockfd no es un descriptor de archivo válido.
- EFAULT
- El parámetro addr apunta a memoria que no está en una zona válida del espacio de direcciones del proceso.
- EINVAL
- addrlen es inválido (por ejemplo: tiene valor negativo).
- ENOBUFS
- Insuficientes recursos disponibles para realizar la operación.
- ENOTCONN
- El conector no está conectado.
- ENOTSOCK
- El descriptor de archivo sockfd no se refiere a un conector.
ESTÁNDARES¶
POSIX.1-2008.
HISTORIAL¶
POSIX.1-2001, SVr4, 4.4BSD (apareció por primera vez en 4.2BSD).
NOTAS¶
Para los sockets de flujo, una vez ejecutada una instrucción connect(2), cualquiera de los sockets puede llamar a getpeername() para obtener la dirección del socket parejo. Por otro lado, los sockets de datagrama no requieren conexión. Llamar a connect(2) en un socket de datagrama simplemente establece la dirección del par para los datagramas salientes enviados con write(2) o recv(2). Quien llama a connect(2) puede usar getpeername() para obtener la dirección del par que previamente estableció para el socket. Sin embargo, el socket del par no dispone de esta información e invocar a getpeername() en él no devolverá información útil (a menos que también se haya ejecutado una llamada a connect(2) en el par). Tenga en cuenta también que el receptor de un datagrama puede obtener la dirección del emisor al usar recvfrom(2).
VÉASE TAMBIÉN¶
accept(2), bind(2), getsockname(2), ip(7), socket(7), unix(7)
TRADUCCIÓN¶
La traducción al español de esta página del manual fue creada por Gerardo Aburruzaga García <gerardo.aburruzaga@uca.es>, Juan Piernas <piernas@ditec.um.es> y Marcos Fouces <marcos@debian.org>
Esta traducción es documentación libre; lea la GNU General Public License Version 3 o posterior con respecto a las condiciones de copyright. No existe NINGUNA RESPONSABILIDAD.
Si encuentra algún error en la traducción de esta página del manual, envíe un correo electrónico a debian-l10n-spanish@lists.debian.org.
| 2 Mayo 2024 | Páginas de Manual de Linux 6.9.1 |