.\" Copyright (C) 2007 Michael Kerrisk .\" .\" %%%LICENSE_START(VERBATIM) .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one. .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" %%%LICENSE_END .\" .\" 2007-10-23 mtk: moved the _syscallN specific material to the .\" new _syscall(2) page, and substantially enhanced and rewrote .\" the remaining material on this page. .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .TH INTRO 2 "20 février 2014" Linux "Manuel du programmeur Linux" .SH NOM intro \- Introduction à la section des appels système .SH DESCRIPTION La section 2 des manuels décrit les appels système Linux. Un appel système est un point d'entrée dans le noyau Linux. Généralement, les appels système ne sont pas invoqués directement\ : à la place, la plupart des appels système ont des fonctions enveloppes correspondantes dans la bibliothèque C qui effectuent les étapes nécessaires (par exemple, déroutement (trap) en mode noyau) afin d'invoquer l'appel système. Ainsi, faire un appel système ressemble à la même chose que d'invoquer une fonction de la bibliothèque. Dans bien des cas, la fonction enveloppe fournie par la bibliothèque\ C ne fait rien deplus que\ : .IP * 3 copier les paramètres et le numéro unique d'appel système dans les registres où le noyau les attend\ ; .IP * déroutement («\ trap\ ») en mode noyau, à la suite de quoi le noyau effectue le travail concret de l'appel système\ ; puis .IP * positionner \fIerrno\fP si l'appel système a renvoyé un numéro d'erreur au moment où le noyau repasse le CPU en mode utilisateur. .LP Cependant, dans certains cas, une fonction enveloppe peut faire plus que cela, comme prétraiter les paramètres avant de passer en mode noyau, ou post\-traiter les valeurs renvoyées par l'appel système. Lorsque c'est possible, les pages de manuel de la section\ 2 essaient de décrire les détails à la fois de l'interface de programmation de la bibliothèque\ C (généralement GNU) et de l'appel système brut. Plus généralement, la section \fBDESCRIPTION\fP de la page se concentre sur l'interface de la bibliothèque\ C, puis les différences de l'appel système sont décrites dans la section \fBNOTES\fP. Pour avoir une liste des appels système de Linux, consultez la page \fBsyscalls\fP(2). .SH "VALEUR RENVOYÉE" En cas d'erreur, la plupart des appels système renvoient une valeur d'erreur négative (c'est\-à\-dire, la valeur opposée de l'une des constantes décrites dans \fBerrno\fP(3)). La fonction enveloppe de la bibliothèque C cache ce détail à l'appelant\ : lorsqu'un appel système renvoie une valeur négative, la fonction enveloppe met dans la variable \fIerrno\fP la valeur absolue de cette valeur de retour et renvoie \-1 comme sa valeur de retour. La valeur renvoyée par un appel système réussi dépend de l'appel. Beaucoup d'appels système renvoient 0 lorsqu'ils réussissent, mais certains renvoient parfois une valeur non nulle dans ce cas. Les détails sont décrits dans leur page de manuel associée. Dans certains cas, le programmeur doit définir une macro de test de fonctionnalités afin d'obtenir la déclaration d'un appel système du fichier d'en\-tête spécifié dans la section SYNOPSIS de la page de manuel (si elle est nécessaire, cette macro de test de fonctionnalités doit être définie avant d'inclure \fItout\fP fichier d'en\(hytête). Dans de tels cas, la macro nécessaire est décrite dans la page de manuel. Pour plus d'informations sur les macros de test de fonctionnalités, consultez \fBfeature_test_macros\fP(7). .SH CONFORMITÉ Certains termes et abréviations sont utilisés pour indiquer les variantes d'UNIX ou les normes auxquelles les appels de cette section se conforment. Consultez \fBstandards\fP(7). .SH NOTES .SS "Appel Direct" Dans la plupart des cas, il n'est pas nécessaire d'invoquer un appel système directement, mais il arrive parfois que la bibliothèque standard de C n'implémente pas une fonction pourtant utile. Dans ce cas, le programmeur doit invoquer l'appel système à la main, en utilisant \fBsyscall\fP(2). Auparavant il était aussi possible d'utiliser les macros _syscall, qui sont décrites dans \fB_syscall\fP(2). .SS "Auteurs et termes de copyright" Consultez les en\-têtes de la source de chaque page de manuel pour connaître le(s) auteur(s) et conditions de copyright. Ils peuvent être différents selon les pages. .SH "VOIR AUSSI" .ad l .nh \fB_syscall\fP(2), \fBsyscall\fP(2), \fBsyscalls\fP(2), \fBerrno\fP(3), \fBintro\fP(3), \fBcapabilities\fP(7), \fBcredentials\fP(7), \fBfeature_test_macros\fP(7), \fBmq_overview\fP(7), \fBpath_resolution\fP(7), \fBpipe\fP(7), \fBpty\fP(7), \fBsem_overview\fP(7), \fBshm_overview\fP(7), \fBsignal\fP(7), \fBsocket\fP(7), \fBstandards\fP(7), \fBsvipc\fP(7), \fBsymlink\fP(7), \fBtime\fP(7) .SH COLOPHON Cette page fait partie de la publication 3.65 du projet \fIman\-pages\fP Linux. Une description du projet et des instructions pour signaler des anomalies peuvent être trouvées à l'adresse \%http://www.kernel.org/doc/man\-pages/. .SH TRADUCTION Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a par l'équipe de traduction francophone au sein du projet perkamon . .PP Christophe Blaess (1996-2003), Alain Portal (2003-2006). Julien Cristau et l'équipe francophone de traduction de Debian\ (2006-2009). .PP Veuillez signaler toute erreur de traduction en écrivant à ou par un rapport de bogue sur le paquet \fBmanpages\-fr\fR. .PP Vous pouvez toujours avoir accès à la version anglaise de ce document en utilisant la commande «\ \fBman\ \-L C\fR \fI
\fR\ \fI\fR\ ».