commande intro

Si vous voulez revenir sur la PAGE PRéCéNTE.

Commande intro


  • intro


  • INTRO(2)                  Manuel du programmeur Linux                 INTRO(2)
    
    NOM
           intro - Introduction à la section des appels-système.
    
    DESCRIPTION
           Ce  chapitre  décrit les appels-système de Linux.  Pour avoir une liste
           des appels-système disponibles dans Linux 2, voyez la page syscalls(2).
    
       Appel Direct
           Dans la plupart des cas il n'est pas nécessaire d'invoquer  directement
           un appel-système, mais il arrive parfois que la bibliothèque C standard
           n'implémente pas une fonction utile.
    
       Synopsis
           #include 
    
           une macro _syscall
    
           L'appel système désiré
    
       Setup
           La chose la plus importante à connaître concernant un appel-système est
           son prototype. Vous devez connaître le nombre d'arguments, leurs types,
           et le type de retour de la  fonction.  Il  y  a  6  macros  simplifiant
           l'appel effectif au système.  Elles ont la forme :
    
                  _syscallX(type,name,type1,arg1,type2,arg2,...)
    
                         avec  X  dans  l'intervalle  0–5, correspondant au nombre
                                d'arguments de l'appel-système.
    
                         type est le type  de  la  valeur  renvoyée  par  l'appel-
                                système.
    
                         name est le nom de l'appel-système.
    
                         typeN est le type du Nième argument.
    
                         argN est le nom du Nième argument.
    
           Ces  macros  créent  une  fonction  appelée  name  avec  les  arguments
           spécifiés. Une fois inclus le  _syscall() dans le  fichier  source,  on
           effectue l'appel-système avec name.
    
    EXEMPLE
           #include 
           #include      /* les macros _syscallX */
           #include      /* pour struct sysinfo  */
    
           _syscall1(int, sysinfo, struct sysinfo *, info);
    
           /*
            * Note : Si vous copiez directement depuis le source nroff
            * de cette page,  n'oubliez pas d'enlever les backslashes
            * supplémentaires dans les printf.
            */
    
           int main(void)
           {
                struct sysinfo s_info;
                int error;
    
                error = sysinfo(&s_info);
                printf("code d'erreur = %d\n", error);
                   printf("Uptime = %ds\nCharge: 1 min %d / 5 min %d / 15 min %d\n"
                           "RAM: totale %d / libre %d / partagee %d\n"
                           "Mémoire dans buffers = %d\nSwap: total %d / libre %d\n"
                           "Nombre de processus = %d\n",
                     s_info.uptime, s_info.loads[0],
                     s_info.loads[1], s_info.loads[2],
                     s_info.totalram, s_info.freeram,
                     s_info.sharedram, s_info.bufferram,
                     s_info.totalswap, s_info.freeswap,
                     s_info.procs);
                return(0);
           }
    
    EXEMPLE D'EXÉCUTION
           code d'erreur = 0
           uptime = 502034s
           Charge: 1 min 13376 / 5 min 5504 / 15 min 1152
           RAM: totale 15343616 / libre 827392 / partagee 8237056
           Mémoire dans buffers = 5066752
           Swap: total 27881472 / libre 24698880
           Nombre de processus = 40
    
    NOTES
           La  macro _syscall() ne crée pas de prototype. Il faut le fournir vous-
           même, principalement en C++.
    
           Les appels-système ne renvoient pas nécessairement des  code  d'erreurs
           tous positifs ou négatifs. Vous devez lire les sources pour vérifier le
           retour en erreur. Généralement, ce sont des  codes  d'erreur  négatifs,
           par  exemple  -EPERM.  La  macro  _syscall()  renverra le résultat r de
           l'appel-système quand r est positif ou nul, mais renverra -1 sinon,  en
           positionnant errno a -r quand  r est négatif.  Pour les codes d'erreur,
           voir errno(3).
    
           Certains appels-système, comme mmap, nécessitent  plus  de  cinq  argu‐
           ments. Ceci est géré en plaçant les arguments sur la pile et en passant
           un pointeur sur le bloc d'arguments.
    
    CONFORMITÉ
           Dans ce paragraphe, des abréviations indiquent les variantes d'Unix, ou
           des  standards  dont les appels-système sont conformes à la description
           donnée dans ces pages de manuel. Il s'agit de :
    
           SVr4   System V Release 4 Unix, comme indiqué dans "Programmer's Refer‐
                  ence Manual: Operating System API (Intel processors)" (Prentice-
                  Hall 1992, ISBN 0-13-951294-2)
    
           SVID   System V Interface Definition, comme décrit dans "The  System  V
                  Interface     Definition,     Fourth     Edition",    disponible
                  ftp://ftp.fpk.novell.com/pub/unix-standards/svid sous  forme  de
                  fichier Postscript.
    
           POSIX.1
                  IEEE  1003.1-1990 part 1, connu également sous le nom de ISO/IEC
                  9945-1:1990s, ou le nom "IEEE Portable Operating  System  Inter‐
                  face  for  Computing  Environments",  comme  indiqué dans Donald
                  Lewine "POSIX Programmer's Guide" (O'Reilly & Associates,  Inc.,
                  1991, ISBN 0-937175-73-0.
    
           POSIX.1b
                  IEEE  Std 1003.1b-1993 (POSIX.1b standard) décrivant les options
                  temps-réel des systèmes d'exploitations portables,  aussi  connu
                  sous  le  nom  de ISO/IEC 9945-1:1996, indiqué dans "Programming
                  for the real world - POSIX.4" de Bill O. Gallmeister (O'Reilly &
                  Associates, Inc. ISBN 1-56592-074-0).
    
           SUS, SUSv2
                  Single  Unix  Specification.   (Développées par X/Open et l'Open
                  Group. Voir http://www.UNIX-systems.org/version2/ .)
    
           4.3BSD/4.4BSD
                  Les distributions 4.3 et 4.4 de l'Unix Berkeley BSD  était  com‐
                  patible avec 4.3.
    
           V7     Version 7, l'Unix ancestral des Laboratoires Bell.
    
    FICHIERS
           /usr/include/linux/unistd.h
    
    VOIR AUSSI
           errno(3)
    
    TRADUCTION
           Christophe Blaess, 1996-2003.
    
    LDP                             18 juillet 2003                       INTRO(2)
    
    



    Mes sources sont extraites de "www.linux-france.org" que je remercie au passage, pour sa traduction

    Pour me contacter pour me faire des remarques, des critiques, ou tout simplement pour m'indiquer un lien cassé ou un nouveau lien vers une ressource intéressante (peut-être la votre) à rajouter dans cette page: dafpolo@gmail.com
    vous pouvez également laisser un message sur mon Livre d'or.