- l'attesa viene interrotta da un segnale la funzione restituisce -1 e setta
- \var{errno} a \macro{EINTR} (per i dettagli sul \textit{file locking} vedi
- \secref{sec:file_locking}).
-\item[\macro{F\_GETOWN}] restituisce il \acr{pid} del processo o il process
- group che è preposto alla ricezione dei segnali \macro{SIGIO} e
- \macro{SIGURG} per gli eventi associati al file descriptor \var{fd}. Il
- process group è restituito come valore negativo.
-\item[\macro{F\_SETOWN}] setta il processo o process group che riceverà i
- segnali \macro{SIGIO} e \macro{SIGURG} per gli eventi associati al file
- descriptor \var{fd}. I process group sono settati usando valori negativi.
-\item[\macro{F\_GETSIG}] restituisce il valore del segnale mandato quando ci
- sono dati disponibili in input su un file descriptor aperto o settato in I/O
- asincrono. Il valore 0 indica il valore default (che è \macro{SIGIO}), un
- valore diverso da zero indica il segnale richiesto, (che può essere lo
- stesso \macro{SIGIO}).
-\item[\macro{F\_SETSIG}] setta il segnale da inviare quando diventa possibile
- effettuare I/O sul file descriptor in caso di I/O asincrono. Il valore zero
- indica di usare il segnale di default, \macro{SIGIO}. Un altro valore
- (compreso lo stesso \macro{SIGIO}) specifica il segnale voluto; l'uso di un
- valore diverso da zero permette inoltre, se si è installato il manipolatore
- del segnale come \var{sa\_sigaction} usando \macro{SA\_SIGINFO}, (vedi
- \secref{sec:sig_sigaction}), di rendere disponibili al manipolatore
- informazioni ulteriori informazioni riguardo il file che ha generato il
- segnale attraverso i valori restituiti in \var{siginfo\_t} (come vedremo in
- \secref{sec:file_asyncronous_io}).
+ l'attesa viene interrotta da un segnale la funzione restituisce -1 e imposta
+ \var{errno} a \errcode{EINTR}, in caso di successo ritorna un valore nullo.
+ Questa funzionalità è trattata in dettaglio in
+ sez.~\ref{sec:file_posix_lock}.
+\item[\const{F\_GETOWN}] restituisce il \acr{pid} del processo o
+ l'identificatore del process group\footnote{i \texttt{process group} sono
+ (vedi sez.~\ref{sec:sess_proc_group}) raggruppamenti di processi usati nel
+ controllo di sessione; a ciascuno di essi è associato un identificatore
+ (un numero positivo analogo al \acr{pid}).} che è preposto alla ricezione
+ dei segnali \const{SIGIO} e \const{SIGURG} per gli eventi associati al file
+ descriptor \param{fd}. Nel caso di un process group viene restituito un
+ valore negativo il cui valore assoluto corrisponde all'identificatore del
+ process group. In caso di errore viene restituito -1.
+\item[\const{F\_SETOWN}] imposta, con il valore dell'argomento \param{arg},
+ l'identificatore del processo o del \textit{process group} che riceverà i
+ segnali \const{SIGIO} e \const{SIGURG} per gli eventi associati al file
+ descriptor \param{fd}, ritorna un valore nullo in caso di successo o -1 in
+ caso di errore. Come per \const{F\_GETOWN}, per impostare un
+ \textit{process group} si deve usare per \param{arg} un valore negativo, il
+ cui valore assoluto corrisponde all'identificatore del \textit{process
+ group}.
+\item[\const{F\_GETSIG}] restituisce il valore del segnale inviato quando ci
+ sono dati disponibili in ingresso su un file descriptor aperto ed impostato
+ per l'I/O asincrono (si veda sez.~\ref{sec:file_asyncronous_io}). Il valore 0
+ indica il valore predefinito (che è \const{SIGIO}), un valore diverso da
+ zero indica il segnale richiesto, (che può essere anche lo stesso
+ \const{SIGIO}). In caso di errore ritorna -1.
+\item[\const{F\_SETSIG}] imposta il segnale da inviare quando diventa
+ possibile effettuare I/O sul file descriptor in caso di I/O asincrono,
+ ritorna un valore nullo in caso di successo o -1 in caso di errore. Il
+ valore zero indica di usare il segnale predefinito, \const{SIGIO}. Un altro
+ valore diverso da zero (compreso lo stesso \const{SIGIO}) specifica il
+ segnale voluto; l'uso di un valore diverso da zero permette inoltre, se si è
+ installato il gestore del segnale come \var{sa\_sigaction} usando
+ \const{SA\_SIGINFO}, (vedi sez.~\ref{sec:sig_sigaction}), di rendere
+ disponibili al gestore informazioni ulteriori riguardo il file che ha
+ generato il segnale attraverso i valori restituiti in \struct{siginfo\_t}
+ (come vedremo in sez.~\ref{sec:file_asyncronous_io}).\footnote{i due comandi
+ \const{F\_SETSIG} e \const{F\_GETSIG} sono una estensione specifica di
+ Linux.}
+\item[\const{F\_SETLEASE}] imposta o rimuove un \textit{file
+ lease}\footnote{questa è una nuova funzionalità, specifica di Linux, e
+ presente solo a partire dai kernel della serie 2.4.x, in cui il processo
+ che detiene un \textit{lease} su un file riceve una notifica qualora un
+ altro processo cerca di eseguire una \func{open} o una \func{truncate} su
+ di esso.} sul file descriptor \var{fd} a seconda del valore del terzo
+ argomento, che in questo caso è un \ctyp{int}, ritorna un valore nullo in
+ caso di successo o -1 in caso di errore. Questa funzionalità avanzata è
+ trattata in dettaglio in sez.~\ref{sec:file_asyncronous_operation}.
+\item[\const{F\_GETLEASE}] restituisce il tipo di \textit{file lease} che il
+ processo detiene nei confronti del file descriptor \var{fd} o -1 in caso di
+ errore. Con questo comando il terzo argomento può essere omesso. Questa
+ funzionalità avanzata è trattata in dettaglio in
+ sez.~\ref{sec:file_asyncronous_operation}.
+\item[\const{F\_NOTIFY}] attiva un meccanismo di notifica per cui viene
+ riportata al processo chiamante, tramite il segnale \const{SIGIO} (o altro
+ segnale specificato con \const{F\_SETSIG}) ogni modifica eseguita o
+ direttamente sulla directory cui \var{fd} fa riferimento, o su uno dei file
+ in essa contenuti; ritorna un valore nullo in caso di successo o -1 in caso
+ di errore. Questa funzionalità avanzata, disponibile dai kernel della serie
+ 2.4.x, è trattata in dettaglio in sez.~\ref{sec:file_asyncronous_operation}.