intro

INTRO(2)                   Manuel du programmeur Linux                  INTRO(2)



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), symlink(7), system_data_types(7),
       sysvipc(7), time(7)

COLOPHON
       Cette page fait partie de la publication 5.13 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 ⟨⟩.




Linux                             27 août 2021                          INTRO(2)