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.
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'.