NOMBRE
gethostname, sethostname − obtiene/asigna el nombre del host
SINOPSIS
#include <unistd.h>
int
gethostname(char *name, size_t
len);
int sethostname(const char *name, size_t
len);
DESCRIPCIÓN
Estas funciones se usan para obtener o cambiar el nombre del host del proceso actual. La función gethostname() devuelve un nombre de host acabado en NULL (establecido anteriormente por sethostname()) en el array name que tiene una longitud de len bytes. En el caso en que el nombre de host acabado en NULL no quepa, no se devuelve un error, pero se trunca el nombre de host. Queda sin especificar si el nombre de host truncado terminará en NULL.
VALOR DEVUELTO
En caso de éxito devuelve un 0. En caso de error,devuelve un −1, y errno se asigna apropiadamente.
ERRORES
EINVAL |
len es negativo o, para sethostname, len es mas largo que el máximo de tamaño permitido, o, para gethostname en Linux/i386, len es mas corto que el tamaño actual. (In this last case glibc 2.1 uses ENAMETOOLONG.) | ||
EPERM |
Para sethostname, realizar la llamada no hace falta estar como superusuario. | ||
EFAULT |
name es una dirección inválida. |
CONFORME A
SVr4, 4.4BSD (esta función apareció por primera vez en 4.2BSD). POSIX 1003.1-2001 especifica gethostname pero no sethostname.
FALLOS
Para muchas combinaciones núcleo Linux / libc gethostname devolverá un error en lugar de un nombre de host truncado.
OBSERVACIONES
SUSv2 garantiza que ’Los nombres de host están limitados a 255 bytes’. POSIX 1003.1-2001 garantiza que ’Los nombres de host (sin incluir el carácter NULL del final) están limitados a HOST_NAME_MAX bytes’.