+ di un terminale.} caratteri.
+
+Esiste infine una versione rientrante \func{ttyname\_r} della funzione
+\func{ttyname}, che non presenta il problema dell'uso di una zona di memoria
+statica; il suo prototipo è:
+\begin{prototype}{unistd.h}{int ttyname\_r(int desc, char *buff, size\_t len)}
+
+ Restituisce il nome del terminale associato al file \param{desc}.
+
+ \bodydesc{La funzione restituisce 0 in caso di successo e -1 in caso di
+ errore, nel qual caso \var{errno} assumerà i valori:
+ \begin{errlist}
+ \item[\macro{ERANGE}] la lunghezza del buffer, \param{len}, non è
+ sufficiente per contenere la stringa restituita.
+ \end{errlist}
+ ed inoltre \macro{EBADF} ed \macro{ENOSYS}.
+}
+\end{prototype}
+
+La funzione prende due argomenti, il puntatore alla zona di memoria
+\param{buff}, in cui l'utente vuole che il risultato venga scritto (dovrà
+ovviamente essere stata allocata in precedenza), e la relativa dimensione,
+\param{len}; se la stringa che deve essere restituita eccede questa dimensione
+si avrà una condizione di errore.