+Dato che \func{gethostbyaddr} usa un buffer statico, anche di questa funzione
+esiste una versione rientrante \funcd{gethostbyaddr\_r} fornita come
+estensione dalle \acr{glibc}, il cui prototipo è:
+
+\begin{funcproto}{
+\fhead{netdb.h}
+\fhead{sys/socket.h}
+\fdecl{struct hostent *gethostbyaddr\_r(const void *addr, socklen\_t len, int type,\\
+\phantom{struct hostent *gethostbyaddr\_r(}struct hostent *ret, char *buf, size\_t buflen,\\
+\phantom{struct hostent *gethostbyaddr\_r(}struct hostent **result, int *h\_errnop);}
+\fdesc{Richiede la risoluzione inversa di un indirizzo IP.}
+}
+
+{La funzione ritorna $0$ in caso di successo e un valore non nullo per un errore.}
+\end{funcproto}
+
+La funzione prende per gli argomenti \param{addr}, \param{len} e \param{type}
+gli stessi valori di \func{gethostbyaddr} con lo stesso significato, gli
+argomenti successivi vengono utilizzati per restituire i dati, sono identici a
+quelli già illustrati in per \func{gethostbyname\_r} e
+\func{gethostbyname2\_r} e devono essere usati allo stesso modo.
+
+Infine lo standard POSIX prevede la presenza della funzione
+\funcm{gethostent}, che dovrebbe ritornare la voce successiva nel database dei
+nomi a dominio, ma questo ha senso solo per la lettura dei dati da un file
+come \conffile{/etc/hosts} e non per i risultati del DNS. Nel caso della
+\acr{glibc} questa viene usata allora solo per la lettura di quest'ultimo,
+come avviene in altri sistemi, ed ignora le voci relative ad indirizzi
+IPv6. Dato che i risultati si possono ottenere in modo generico con le
+funzioni già illustrate, non la tratteremo esplicitamente, come non tratteremo
+la sua variante rientrante \funcm{gethostent\_r}.
+