+Oltre a questa funzione di lettura, che è l'unica definita dallo standard ANSI
+C, in seguito sono state proposte altre da utilizzare per settare e per
+cancellare le variabili di ambiente presenti; uno schema delle funzioni
+previste nei vari standard unix e disponibili in Linux è riportato in \ntab.
+
+\begin{table}[htb]
+ \centering
+ \begin{tabular}[c]{|l|c|c|c|c|c|c|}
+ \hline
+ \textbf{Funzione} & \textbf{ANSI C} & \textbf{POSIX.1} & \textbf{XPG3} &
+ \textbf{SVr4} & \textbf{BSD} & \textbf{Linux} \\
+ \hline
+ \hline
+ \func{getenv} & $\bullet$ & $\bullet$ & $\bullet$ &
+ $\bullet$ & $\bullet$ & $\bullet$ \\
+ \func{setenv} & & & &
+ & $\bullet$ & $\bullet$ \\
+ \func{unsetenv} & & & &
+ & $\bullet$ & $\bullet$ \\
+ \func{putenv} & & opz. & $\bullet$ &
+ & $\bullet$ & $\bullet$ \\
+ \func{clearenv} & & opz. & &
+ & & \\
+ \hline
+ \end{tabular}
+ \caption{Funzioni per la gestione delle variabili di ambiente.}
+ \label{tab:proc_env_func}
+\end{table}
+
+In Linux solo le prime quattro funzioni di \curtab\ sono definite; i prototipi
+delle restanti tre sono i seguenti:
+
+\begin{functions}
+ \headdecl{stdlib.h}
+ \funcdecl{int putenv(char *string)}
+ La funzione aggiunge la stringa \param{string} all'ambiente.
+ \funcdecl{int setenv(const char *name, const char *value, int overwrite)}
+ La funzione setta la variabile di ambiente \param{name} al valore
+ \param{value}.
+
+ Entrembe le funzioni ritornano 0 in caso di successo e -1 per un errore, che
+ è sempre \macro{ENOMEM}.
+
+ \funcdecl{void unsetenv(const char *name)}
+ La funzione rimuove la variabile di ambiente \param{name}.
+\end{functions}
+
+Per modificare o aggiungere una variabile di ambiente si possono usare le
+funzioni \func{putenv} e \func{setenv}. La prima prende come parametro una
+stringa analoga quella restituita da \func{getenv}, e sempre nella forma
+\texttt{NOME=valore}, se la variabile esiste verrà modificata, altrimenti sarà
+aggiunta. La seconda permette di specificare separatamente nome e valore,
+inoltre il valore di \param{overwrite} ne specifica il comportamento nel caso
+la variabile esista già, sovrascrivendola se diverso da zero, lasciandola
+immutata se uguale a zero.
+
+Per cancellare una variabile di ambiente si usa \func{unsetenv}, che elimina
+ogni occorrenza della variabile, se questa non esiste non è considerato un
+errore.
+
+
+