Provided by: manpages-fr_4.13-4_all bug

NOM

       intro - Introduction à la section des appels système

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 :

       –  copier  les  paramètres  et  le  numéro unique d'appel système dans les registres où le
          noyau les attend ;

       –  déroutement (« trap ») en mode noyau, à la suite de quoi le noyau effectue  le  travail
          concret de l'appel système ;

       –  positionner errno si l'appel système a renvoyé un numéro d'erreur au moment où le noyau
          repasse le CPU en mode utilisateur.

       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 le cas, 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 DESCRIPTION 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 NOTES.

       Pour avoir une liste des appels système de Linux, consultez la page syscalls(2).

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 errno(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 errno 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 tout fichier d'en‐tê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 feature_test_macros(7).

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 standards(7).

NOTES

   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  syscall(2).  Auparavant il était aussi possible d'utiliser les macros _syscall,
       qui sont décrites dans _syscall(2).

   Auteurs et termes de droit d'auteur
       Consultez les en-têtes de la  source  de  chaque  page  de  manuel  pour  connaître  le(s)
       auteur(s) et conditions de droit d'auteur. Ils peuvent être différents selon les pages.

VOIR AUSSI

       _syscall(2), syscall(2), syscalls(2), errno(3), intro(3), capabilities(7), credentials(7),
       feature_test_macros(7), mq_overview(7), path_resolution(7), pipe(7), pty(7),
       sem_overview(7), shm_overview(7), signal(7), socket(7), standards(7),
       system_data_types(7), symlink(7), sysvipc(7), time(7)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux. Une description
       du projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette page de manuel a été créée par Christophe Blaess
       <https://www.blaess.fr/christophe/>, Stéphan Rafin <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain Portal <aportal@univ-montp2.fr>,
       Jean-Philippe Guérard <fevrier@tigreraye.org>, Jean-Luc Coulon (f5ibh) <jean-
       luc.coulon@wanadoo.fr>, Julien Cristau <jcristau@debian.org>, Thomas Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>, Denis
       Barbier <barbier@debian.org>, David Prévot <david@tilapin.org> et Jean-Philippe MENGUAL
       <jpmengual@debian.org>

       Cette traduction est une documentation libre ; veuillez vous reporter à la GNU General
       Public License version 3 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ concernant les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.