intro(2) System Calls Manual intro(2) NOM intro - Introduction a la section des appels systeme DESCRIPTION La section 2 des manuels decrit les appels systeme Linux. Un appel systeme est un point d'entree dans le noyau Linux. Generalement, les appels systeme ne sont pas invoques directement : a la place, la plupart des appels systeme ont des fonctions enveloppes correspondantes dans la bibliotheque C qui effectuent les etapes necessaires (par exemple, deroutement (trap) en mode noyau) afin d'invoquer l'appel systeme. Ainsi, faire un appel systeme ressemble a la meme chose que d'invoquer une fonction de la bibliotheque. Dans bien des cas, la fonction enveloppe fournie par la bibliotheque C ne fait rien deplus que : - copier les parametres et le numero unique d'appel systeme dans les registres ou le noyau les attend ; - deroutement (<< trap >>) en mode noyau, a la suite de quoi le noyau effectue le travail concret de l'appel systeme ; - positionner errno si l'appel systeme a renvoye un numero d'erreur au moment ou le noyau repasse le CPU en mode utilisateur. Cependant, dans certains cas, une fonction enveloppe peut faire plus que cela, comme pretraiter les parametres avant de passer en mode noyau, ou post-traiter les valeurs renvoyees par l'appel systeme. Lorsque c'est le cas, les pages de manuel de la section 2 essaient de decrire les details a la fois de l'interface de programmation de la bibliotheque C (generalement GNU) et de l'appel systeme brut. Plus generalement, la section DESCRIPTION de la page se concentre sur l'interface de la bibliotheque C, puis les differences de l'appel systeme sont decrites dans la section NOTES. Pour avoir une liste des appels systeme de Linux, consultez la page syscalls(2). VALEUR RENVOYEE En cas d'erreur, la plupart des appels systeme renvoient une valeur d'erreur negative (c'est-a-dire, la valeur opposee de l'une des constantes decrites dans errno(3)). La fonction enveloppe de la bibliotheque C cache ce detail a l'appelant : lorsqu'un appel systeme renvoie une valeur negative, 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 renvoyee par un appel systeme reussi depend de l'appel. Beaucoup d'appels systeme renvoient 0 lorsqu'ils reussissent, mais certains renvoient parfois une valeur non nulle dans ce cas. Les details sont decrits dans leur page de manuel associee. Dans certains cas, le programmeur doit definir une macro de test de fonctionnalites afin d'obtenir la declaration d'un appel systeme du fichier d'en-tete specifie dans la section SYNOPSIS de la page de manuel (si elle est necessaire, cette macro de test de fonctionnalites doit etre definie avant d'inclure tout fichier d'en-tete). Dans de tels cas, la macro necessaire est decrite dans la page de manuel. Pour plus d'informations sur les macros de test de fonctionnalites, consultez feature_test_macros(7). STANDARDS Certains termes et abreviations sont utilises 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 necessaire d'invoquer un appel systeme directement, mais il arrive parfois que la bibliotheque standard de C n'implemente pas une fonction pourtant utile. Dans ce cas, le programmeur doit invoquer l'appel systeme a la main, en utilisant syscall(2). Auparavant il etait aussi possible d'utiliser les macros _syscall, qui sont decrites dans _syscall(2). Auteurs et termes de droit d'auteur Consultez les en-tetes de la source de chaque page de manuel pour connaitre le(s) auteur(s) et conditions de droit d'auteur. Ils peuvent etre differents 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) TRADUCTION La traduction francaise de cette page de manuel a ete creee par Christophe Blaess , Stephan Rafin , Thierry Vignaud , Francois Micaux, Alain Portal , Jean-Philippe Guerard , Jean-Luc Coulon (f5ibh) , Julien Cristau , Thomas Huriaux , Nicolas Francois , Florentin Duneau , Simon Paillard , Denis Barbier , David Prevot et Jean-Philippe MENGUAL Cette traduction est une documentation libre ; veuillez vous reporter a la GNU General Public License version 3 concernant les conditions de copie et de distribution. Il n'y a aucune RESPONSABILITE LEGALE. Si vous decouvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un message a . Pages du manuel de Linux 6.06 31 octobre 2023 intro(2)