-Come accennato in genere ogni \textit{system call} è associata ad una omonima
-funzione di libreria, che è quella che si usa normalmente per invocarla. Le
-\textsl{glibc} consentono comunque, nel caso non sia presente una specifica
-funzione di libreria corrispondente o qualora si voglia eseguire una specifica
-versione,\footnote{alcune \textit{system call} sono state modificate nel corso
- degli anni per aggiungere ad esempio delle funzionalità, l'interfaccia
- proposta dalle \textsl{glibc} si cura in genere di mantenere una uniformità
- chiamando le versioni corrette, ma qualora si voglia lavorare a basso
- livello ed usare una specifica versione, si può fare ricorso a questa
- funzione.} di eseguire direttamente una \textit{system call} tramite la
-funzione \funcd{syscall}, il cui prototipo (accessibile se si è definita la
-macro \macro{\_GNU\_SOURCE}, vedi sez.~\ref{sec:intro_gcc_glibc_std}) è:
-
-\begin{funcproto}{
- \fhead{unistd.h}
- \fhead{sys/syscall.h}
- \fdecl{int syscall(int number, ...)}
- \fdesc{Esegue la \textit{system call} indicata da \param{number}.}
-}
-{La funzione ritorna un intero dipendente dalla \textit{system call} invocata,
-in generale $0$ indica il successo e un valore negativo un errore.}
-\end{funcproto}
-
-La funzione richiede come primo argomento il numero della \textit{system call}
-da invocare, seguita dagli argomenti da passare alla stessa, che ovviamente
-dipendono da quest'ultima, e restituisce il codice di ritorno della
-\textit{system call} invocata. In generale un valore nullo indica il successo
-ed un valore negativo è un codice di errore che poi viene memorizzato nella
-variabile \var{errno} (sulla gestione degli errori torneremo in dettaglio in
-sez.~\ref{sec:sys_errors}).
-
-Il valore di \param{number} dipende sia dalla versione di kernel che
-dall'architettura,\footnote{in genere le vecchie \textit{system call} non
- vengono eliminate e se ne aggiungono di nuove con nuovi numeri.} ma
-ciascuna \textit{system call} viene in genere identificata da una costante
-nella forma \texttt{SYS\_*} dove al prefisso viene aggiunto il nome che spesso
-corrisponde anche alla omonima funzione di libreria; queste costanti sono
-definite nel file \texttt{sys/syscall.h}, ma si possono anche usare
-direttamente valori numerici.
-
-%
-% TODO:trattare non so se qui o altrove vsyscall e vDSO, vedi
-% http://davisdoesdownunder.blogspot.com/2011/02/linux-syscall-vsyscall-and-vdso-oh-my.html
-% http://www.win.tue.nl/~aeb/linux/lk/lk-4.html
-%