sethostname(2) obtiene/asigna el nombre del host

Other Alias

gethostname

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