-Tutti i campi della struttura sono ad uso interno, e vengono usualmente
-inizializzati da \func{res\_init} in base al contenuto dei file di
-configurazione e ad una serie di valori di default. L'unico campo che può
-essere utile modificare è \var{\_res.options}, una maschera binaria che
-contiene una serie di bit di opzione che permettono di controllare il
-comportamento del \textit{resolver}.
+Dato che l'uso di una variabile globale rende tutte le funzioni
+dell'interfaccia classica non rientranti, queste sono state deprecate in
+favore di una nuova interfaccia in cui esse sono state sostituite da
+altrettante nuove funzioni, il cui nome è ottenuto apponendo una
+``\texttt{n}'' al nome di quella tradizionale (cioè nella forma
+\texttt{res\_n\textsl{nome}}). Tutte le nuove funzioni sono identiche alle
+precedenti, ma hanno un primo argomento aggiuntivo, \param{statep}, puntatore
+ad una struttura dello stesso tipo di \var{\_res}. Questo consente di usare
+una variabile locale per mantenere lo stato del \textit{resolver}, rendendo le
+nuove funzioni rientranti. In questo caso per poter utilizzare il nuovo
+argomento occorrerà una opportuna dichiarazione del relativo tipo di dato con:
+\includecodesnip{listati/resolv_newoption.c}
+
+Così la nuova funzione utilizzata per inizializzare il \textit{resolver} (che
+come la precedente viene chiamata automaticamente da tutte altre funzioni) è
+\funcd{res\_ninit}, ed il suo prototipo è:
+
+\begin{funcproto}{
+\fhead{netinet/in.h}
+\fhead{arpa/nameser.h}
+\fhead{resolv.h}
+\fdecl{int res\_ninit(res\_state statep)}
+\fdesc{Inizializza il sistema del \textit{resolver}.}
+}
+{La funzione ritorna $0$ in caso di successo e $-1$ per un errore.
+}
+\end{funcproto}
+
+Indipendentemente da quale versione delle funzioni si usino, tutti i campi
+della struttura (\var{\_res} o la variabile puntata da \param{statep}) sono ad
+uso interno, e vengono usualmente inizializzate da \func{res\_init} o
+\func{res\_ninit} in base al contenuto dei file di configurazione e ad una
+serie di valori di default. L'unico campo che può essere utile modificare è
+\var{\_res.options} (o l'equivalente della variabile puntata
+da\param{statep}), una maschera binaria che contiene una serie di bit che
+esprimono le opzioni che permettono di controllare il comportamento del
+\textit{resolver}.