INTRO(3) Manuel du Programmeur OpenBSD INTRO(3) ===== NOM ===== **intro** - introduction aux bibliothèques C ===== RÉSUMÉ ===== **cc** [//drapeaux//] //fichier// ... [**-lbibliothèque**] ===== DESCRIPTION ===== Les pages de manuel de la section 3 fournissent une vue d'ensemble des fonctions de la bibliothèque C, de leurs retours d'erreur, et d'autres définitions et concepts généraux. La plupart de ces fonctions sont disponibles depuis la bibliothèque C, //libc//. D'autres bibliothèques, comme la bibliothèque mathématique, //libm//, doivent être indiquées au moment de la compilation au moyen de l'option **-l** du compilateur. Voici les diverses bibliothèques (suivies du drapeau de chargeur) : * libc (**-lc**)\\ Fonctions de la bibliothèque C standard. Lorsqu'on utilise le compilateur C [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], il n'est pas nécessaire de fournir le drapeau de chargeur **-lc** pour ces fonctions. libc comprend en son sein plusieurs "bibliothèques" ou groupes de fonctions : les routines d'E/S standards, les routines de bases de données, les opérateurs de bits, les opérateurs de chaînes, les tests de caractères et les opérateurs de caractères, les routines de chiffrement DES, l'allocation de stockage, les fonctions liées au temps, la gestion des signaux, et plus encore. * libcompat (**-lcompat**)\\ Fonctions qui sont obsolètes mais disponibles pour raison de compatibilité avec 4.3BSD. Il y a là en particulier un certain nombre d'interfaces d'appels système fournis dans les précédentes versions de BSD, incluses pour compatibilité du code source. L'usage de ces routines devrait, pour la plupart, être évité. L'entrée de page de manuel de chacune de ces routines de compatibilité indique la bonne interface à utiliser. * libcrypto (**-lcrypto**)\\ La bibliothèque de cryptographie OpenSSL. Implémente un certain nombre d'algorithmes cryptographiques, fournissant ainsi des fonctionnalités telles que chiffrement symétrique, cryptographie à clef publique, et gestion de certificat. Voir [[:maxime:openbsd:manpages-fr:3:crypto|crypto(3)]]. * libcurses (**-lcurses**)\\ libncurses (**-lncurses**)\\ libtermcap (**-ltermcap**)\\ libtermlib (**-ltermlib**)\\ Routines de gestion de l'écran indépendantes du terminal, pour les terminaux à deux dimensions et à affichage non-bitmap. Cette implémentation correspond à "new curses" et fait figure de remplacement de la bibliothèque curses classique de 4.2BSD. Les bibliothèques //libncurses//, //libtermcap// et //libtermlib// sont toutes des liens physiques vers //libcurses//. Cela n'est fait que pour des raisons de compatibilité ; les nouveaux programmes devraient se lier à **-lcurses**. Voir [[:maxime:openbsd:manpages-fr:3:curses|curses(3)]] et [[:maxime:openbsd:manpages-fr:3:termcap|termcap(3)]]. * libdes (**-ldes**)\\ Implémentation de l'algorithme de chiffrement DES. Voir [[:maxime:openbsd:manpages-fr:3:des_crypt|des_crypt(3)]]. * libedit (**-ledit**)\\ Fonctions génériques d'édition et d'historique de ligne, similaires à celles que l'on trouve dans [[:maxime:openbsd:manpages-fr:1:sh|sh(1)]]. Les fonctions utilisant la bibliothèque //libedit// doivent être liées à la bibliothèque //libcurses//, c'est-à-dire **-ledit -lcurses**. Voir [[:maxime:openbsd:manpages-fr:3:editline|editline(3)]]. * libevent (**-levent**)\\ Fournit un mécanisme d'exécution d'une fonction lorsqu'un événement spécifique se produit sur un descripteur de fichier, ou après un laps de temps déterminé. Voir [[:maxime:openbsd:manpages-fr:3:event|event(3)]]. * libexpat (**-lexpat**)\\ Bibliothèque de routines pour le parsing de documents XML. * libform (**-lform**)\\ Infrastructures indépendantes du terminal pour la composition d'écran de formulaires sur les terminaux à cellule caractère. Les fonctions utilisant la bibliothèque //libform// doivent être liées à la bibliothèque //libcurses//, c'est-à-dire **-lform -lcurses**. Voir [[:maxime:openbsd:manpages-fr:3:form|form(3)]]. * libfrtbegin (**-lfrtbegin**)\\ libg2c (**-lg2c**)\\ Routines de support pour les fonctions Fortran. Ces deux bibliothèques ont été séparées pour permettre la liaison de code Fortran avec d'autres langages sur les plateformes ELF. Voir [[:maxime:openbsd:manpages-fr:1:g77|g77(1)]]. * libgcc (**-lgcc**)\\ Support à l'exécution de GCC, comprenant l'arithmétique des nombres de type long, propolice, et le support des exceptions indépendantes du langage. Remarque : les utilisateurs n'ont normalement pas à se lier explicitement à cette bibliothèque. * libgssapi (**-lgssapi**)\\ L'Interface de Programmation Applicative de Service Générique de Sécurité (Generic Security Service Application Program Interface, GSS-API) fournit des services de sécurité aux appelants, et ce de manière générique. Voir [[:maxime:openbsd:manpages-fr:3:gssapi|gssapi(3)]]. * libiberty (**-liberty**)\\ Ensemble de sous-routines manquantes dans d'autres systèmes d'exploitation, ainsi que le demangler C++ et d'autres fonctions utilisées par la chaîne d'outils GNU. * libkadm5clnt (**-lkadm5clnt**)\\ Bibliothèque cliente d'administration de Kerberos, pour parler à une base de données Kerberos. Les clients communiquent via le réseau. * libkadm5srv (**-lkadm5srv**)\\ Bibliothèque serveur d'administration de Kerberos, pour parler à une base de données Kerberos. Les serveurs parlent directement à la base de données. * libkeynote (**-lkeynote**)\\ Bibliothèque système pour le système de gestion de confiance keynote. Les systèmes de gestion de confiance fournissent des mécanismes standards et à usage général pour spécifier des politiques et des crédits de sécurité au niveau d'une application. Les fonctions utilisant la bibliothèque //libkeynote// doivent être liées aux bibliothèques //libm// et //libcrypto//, c'est-à-dire **-lkeynote -lm -lcrypto**. Voir [[:maxime:openbsd:manpages-fr:3:keynote|keynote(3)]] et [[:maxime:openbsd:manpages-fr:4:keynote|keynote(4)]]. * libkrb5 (**-lkrb5**)\\ libasn1 (**-lasn1**)\\ libcom_err (**-lcom_err**)\\ libhdb (**-lhdb**)\\ libkafs (**-lkafs**)\\ Bibliothèques de Kerberos 5. Les bibliothèques //libasn1//, //libcom_err//, //libhdb// et //libkafs// sont toutes des liens physiques vers //libkrb5//. Voir [[:maxime:openbsd:manpages-fr:3:krb5|krb5(3)]]. * libkvm (**-lkvm**)\\ Bibliothèque d'interface à la mémoire du noyau. Fournit une interface uniforme pour accéder aux images de mémoire virtuelle noyau, y compris les systèmes en fonctionnement et les dumps de crash. Voir [[:maxime:openbsd:manpages-fr:3:kvm|kvm(3)]]. * libl (**-ll**)\\ libfl (**-lfl**)\\ La bibliothèque de [[:maxime:openbsd:manpages-fr:1:lex|lex(1)]], un générateur d'analyseur lexical. La bibliothèque //libfl// est un lien physique vers //libl//. * libm (**-lm**)\\ Les fonctions mathématiques qui forment la bibliothèque C math, //libm//. Voir [[:maxime:openbsd:manpages-fr:3:math|math(3)]]. * libmenu (**-lmenu**)\\ Infrastructures indépendantes du terminal pour la composition de menus systèmes sur les terminaux à cellule caractère. Les fonctions utilisant la bibliothèque //libmenu// doivent être liées à la bibliothèque //libcurses//, c'est-à-dire **-lmenu -lcurses**. Voir [[:maxime:openbsd:manpages-fr:3:menu|menu(3)]]. * libmilter (**-lmilter**)\\ L'API de filtrage de message de [[:maxime:openbsd:manpages-fr:8:sendmail|sendmail(8)]]. Voir la documentation dans ///usr/share/doc/html/milter///. * libobjc (**-lobjc**)\\ Bibliothèque pour Objective C, un sur-ensemble orienté objet du C ANSI. Utilisez cela pour compiler les programmes Objective C. * libocurses (**-locurses**)\\ libotermcap (**-lotermcap**)\\ Routines pour fournir à l'utilisateur une méthode de mise à jour des écrans avec une optimisation raisonnable. La bibliothèque [[:maxime:openbsd:manpages-fr:3:ocurses|ocurses(3)]] est compatible avec la bibliothèque //curses// fournie dans 4.3. //libotermcap// est la bibliothèque //termcap// compatible 4.3, et consiste en un lien physique vers //libocurses//. Voir [[:maxime:openbsd:manpages-fr:3:otermcap|otermcap(3)]]. * libossaudio (**-lossaudio**)\\ Fournit une émulation de l'interface audio OSS (Linux). Cela n'est utilisé que pour le portage de programmes. Voir [[:maxime:openbsd:manpages-fr:3:ossaudio|ossaudio(3)]]. * libpanel (**-lpanel**)\\ Infrastructures indépendantes du terminal pour les fenêtres empilées sur les terminaux à cellule caractère. Les fonctions utilisant la bibliothèque //libpanel// doivent être liées à la bibliothèque //libcurses//, c'est-à-dire **-lpanel -lcurses**. Voir [[:maxime:openbsd:manpages-fr:3:panel|panel(3)]]. * libpcap (**-lpcap**)\\ Bibliothèque de capture de paquet. Tous les paquets du réseau, même ceux destinés aux autres hôtes, sont accessibles au travers de cette bibliothèque. Voir [[:maxime:openbsd:manpages-fr:3:pcap|pcap(3)]]. * libperl (**-lperl**)\\ Routines de support pour [[:maxime:openbsd:manpages-fr:1:perl|perl(1)]]. * libpthread (**-pthread**)\\ API IEEE Std 1003.1-2001 (``POSIX'') pour les threads et l'ordonnanceur de threads. Les applications threadées devraient utiliser **-pthread** et non **-lpthread**. Voir [[:maxime:openbsd:manpages-fr:3:pthreads|pthreads(3)]]. Remarque : les utilisateurs n'ont normalement pas à se lier explicitement à cette bibliothèque. * libreadline (**-lreadline**)\\ Interface d'édition de ligne de commande. Voir [[:maxime:openbsd:manpages-fr:3:readline|readline(3)]]. * librpcsvc (**-lrpcsvc**)\\ Générée par [[:maxime:openbsd:manpages-fr:1:rpcgen|rpcgen(1)]], contenant de petites fonctions pour de nombreux protocoles [[:maxime:openbsd:manpages-fr:3:rpc|rpc(3)]] communs. * libsectok (**-lsectok**)\\ Bibliothèque pour communiquer avec des cartes à puce ISO 7816. Voir [[:maxime:openbsd:manpages-fr:3:sectok|sectok(3)]]. * libskey (**-lskey**)\\ Bibliothèque de support pour le toolkit d'authentification par mot de passe à usage unique (one time password, OTP) S/Key. Voir [[:maxime:openbsd:manpages-fr:3:skey|skey(3)]]. * libssl (**-lssl**)\\ La bibliothèque ssl OpenSSL implémente les protocoles Secure Sockets Layer (SSL v2/v3) et Transport Layer Security (TLS v1). Voir [[:maxime:openbsd:manpages-fr:3:ssl|ssl(3)]]. * libstdc++ (**-lstdc++**)\\ Bibliothèque de sous-routine de GCC pour C++. Voir [[:maxime:openbsd:manpages-fr:1:c++|c++(1)]]. Remarque : les utilisateurs n'ont normalement pas à se lier explicitement à cette bibliothèque. * libsupc++ (**-lsupc++**)\\ (Systèmes GCC 3.3.x seulement.) Support pour le coeur du langage C++ (exceptions, new, typeinfo). Remarque : les utilisateurs n'ont normalement pas à se lier explicitement à cette bibliothèque. * libusbhid (**-lusbhid**)\\ Routines pour extraire des données depuis des périphériques USB Human Interface Devices (HIDs). Voir [[:maxime:openbsd:manpages-fr:3:usbhid|usbhid(3)]]. * libutil (**-lutil**)\\ Fonctions système utilitaires. Il s'agit actuellement de [[:maxime:openbsd:manpages-fr:3:check_expire|check_expire(3)]], [[:maxime:openbsd:manpages-fr:3:fmt_scaled|fmt_scaled(3)]], [[:maxime:openbsd:manpages-fr:3:fparseln|fparseln(3)]], [[:maxime:openbsd:manpages-fr:3:getmaxpartitions|getmaxpartitions(3)]], [[:maxime:openbsd:manpages-fr:3:getrawpartition|getrawpartition(3)]], [[:maxime:openbsd:manpages-fr:3:login|login(3)]], [[:maxime:openbsd:manpages-fr:3:login_fbtab|login_fbtab(3)]], [[:maxime:openbsd:manpages-fr:3:opendev|opendev(3)]], [[:maxime:openbsd:manpages-fr:3:opendisk|opendisk(3)]], [[:maxime:openbsd:manpages-fr:3:openpty|openpty(3)]], [[:maxime:openbsd:manpages-fr:3:pidfile|pidfile(3)]], [[:maxime:openbsd:manpages-fr:3:pw_init|pw_init(3)]], [[:maxime:openbsd:manpages-fr:3:pw_lock|pw_lock(3)]], [[:maxime:openbsd:manpages-fr:3:readlabelfs|readlabelfs(3)]] et [[:maxime:openbsd:manpages-fr:3:uucplock|uucplock(3)]]. * libwrap (**-lwrap**)\\ Bibliothèque de contrôle d'accès aux TCP wrappers. Voir [[:maxime:openbsd:manpages-fr:3:hosts_access|hosts_access(3)]] et [[:maxime:openbsd:manpages-fr:3:rfc1413|rfc1413(3)]]. * liby (**-ly**)\\ La bibliothèque pour [[:maxime:openbsd:manpages-fr:1:yacc|yacc(1)]], un générateur de parser LALR. * libz (**-lz**)\\ Bibliothèque de compression de données à usage général. Les fonctions de cette bibliothèque sont documentées dans [[:maxime:openbsd:manpages-fr:3:compress|compress(3)]]. Le format de données est décrit dans les RFC 1950 à 1952. Bibliothèques spécifiques à une plateforme : * libalpha (**-lalpha**)\\ Fonctions d'E/S et d'accès mémoire pour Alpha. Voir [[:maxime:openbsd:manpages-fr:2:inb|inb(2)]]. * libamd64 (**-lamd64**)\\ Fonctions d'E/S et d'accès mémoire pour AMD64. Voir [[:maxime:openbsd:manpages-fr:2:amd64_get_ioperm|amd64_get_ioperm(2)]] et [[:maxime:openbsd:manpages-fr:2:amd64_iopl|amd64_iopl(2)]]. * libarm (**-larm**)\\ Fonctions d'E/S et d'accès mémoire pour ARM. Voir [[:maxime:openbsd:manpages-fr:2:arm_drain_writebuf|arm_drain_writebuf(2)]] et [[:maxime:openbsd:manpages-fr:2:arm_sync_icache|arm_sync_icache(2)]]. * libi386 (**-li386**)\\ Fonctions d'E/S et d'accès mémoire pour i386. Voir [[:maxime:openbsd:manpages-fr:2:i386_get_ioperm|i386_get_ioperm(2)]], [[:maxime:openbsd:manpages-fr:2:i386_get_ldt|i386_get_ldt(2)]], [[:maxime:openbsd:manpages-fr:2:i386_iopl|i386_iopl(2)]] et [[:maxime:openbsd:manpages-fr:2:i386_vm86|i386_vm86(2)]]. ===== TYPES DE BIBLIOTHÈQUES ===== Les bibliothèques système sont situées dans ///usr/lib//. Habituellement, une bibliothèque présentera quelques variantes : libc.a libc.so.30.1 libc_p.a libc_pic.a Les bibliothèques portant le suffixe ".a" sont statiques. Si on lie un programme à une telle bibliothèque, alors tout le code de la bibliothèque sera lié dans le binaire. Cela signifie que le binaire peut être lancé même si les bibliothèques ne sont pas disponibles. Mais cela peut être inefficace en terme d'utilisation de la mémoire. On peut demander au compilateur C, [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], de lier statiquement en spécifiant le drapeau **-static**. Les bibliothèques portant un suffixe ".so.X.Y" sont des bibliothèques dynamiques. Quand le code est compilé dynamiquement, le code de la bibliothèque dont l'application a besoin n'est pas lié dans le binaire. Au lieu de cela, on ajoute des structures de données contenant des informations sur les bibliothèques dynamiques avec lesquelles il faut se lier. Quand le binaire est exécuté, l'éditeur de lien à l'exécution [[:maxime:openbsd:manpages-fr:1:ld.so|ld.so(1)]] lit ces structures de données, et les charge à une adresse virtuelle en utilisant l'appel système [[:maxime:openbsd:manpages-fr:2:mmap|mmap(2)]]. "X" représente le numéro majeur de la bibliothèque, et "Y" représente le numéro mineur. En général, un binaire sera capable d'utiliser une bibliothèque dynamique portant un numéro mineur différent, mais le numéro majeur doit correspondre. Dans l'exemple ci-dessus, un binaire lié à une bibliothèque de numéro mineur "3" pourrait être lié à libc.so.30.1, tandis qu'un binaire lié une bibliothèque de numéro majeur "31" ne le pourrait pas. Les avantages des bibliothèques dynamiques sont que plusieurs instances du même programme peuvent partager l'espace d'adressage, et que la taille physique du binaire est plus réduite. Les inconvénients sont la complexité ajoutée qui découle du chargement dynamique des bibliothèques, et le temps supplémentaire pris pour charger les bibliothèques. Bien entendu, si les bibliothèques ne sont pas disponibles, le binaire ne pourra pas s'exécuter. On peut demander au compilateur C, [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], de lier statiquement en spécifiant le drapeau **-shared**, bien que sur les systèmes qui le supportent ce sera le comportement par défaut, et ce ne sera donc pas nécessaire de le spécifier. Les bibliothèques portant le suffixe "_p.a" sont des bibliothèques de profilage. Elles contiennent des informations supplémentaires et convenant aux programmes qui analysent des indicateurs tels que la vitesse d'exécution ou les compteurs d'appels. Cela peut alors être interprété par des utilitaires tels que [[:maxime:openbsd:manpages-fr:1:gprof|gprof(1)]]. On peut demander au compilateur C, [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], de générer le code de profilage, ou de se lier aux bibliothèques de profilage, en spécifiant le drapeau **-pg**. Les bibliothèques portant le suffixe "_pic.a" contiennent du code indépendant de la position (position-independent code, PIC). Normalement, les compilateurs produisent du code relocalisable. Le code relocalisable doit être modifié à l'exécution, selon l'endroit en mémoire où il sera lancé. Le code PIC n'a pas besoin d'être modifié à l'exécution, mais il est moins efficace que le code relocalisable. Le code PIC est utilisé par les bibliothèques partagées, ce qui peut les rendre plus lentes. On peut demander au compilateur C, [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], de générer du code PIC ou de se lier aux bibliothèques PIC en spécifiant les drapeaux **-fpic** ou **-fPIC**. À l'exception des bibliothèques dynamiques, les bibliothèques sont générées en utilisant l'utilitaire [[:maxime:openbsd:manpages-fr:1:ar|ar(1)]]. Les bibliothèques renferment un index de leur contenu, stocké en son sein même. L'index dresse la liste de chaque symbole défini par un membre de la bibliothèque, c'est-à-dire un fichier objet relocalisable. Cela accélère le liage à la bibliothèque, et permet aux routines de la bibliothèque de s'appeler les unes les autres quelque soit leur placement à l'intérieur de la bibliothèque. L'index est créé par [[:maxime:openbsd:manpages-fr:1:ranlib|ranlib(1)]] et peut être visionné en utilisant [[:maxime:openbsd:manpages-fr:1:nm|nm(1)]]. La construction des versions PIC des bibliothèques et des bibliothèques dynamiques peut être empêchée en fixant la variable NOPIC dans ///etc/mk.conf//. La construction des versions de profilage des bibliothèques et/ou des bibliothèques dynamiques peut être empêchée en fixant la variable NOPROFILE dans ///etc/mk.conf//. Voir [[:maxime:openbsd:manpages-fr:5:mk.conf|mk.conf(5)]] pour de plus amples détails. ===== FICHIERS ===== /usr/lib/libasn1.a /usr/lib/libc.a /usr/lib/libcom_err.a /usr/lib/libcompat.a /usr/lib/libcrypto.a /usr/lib/libcurses.a /usr/lib/libdes.a /usr/lib/libedit.a /usr/lib/libevent.a /usr/lib/libexpat.a /usr/lib/libfl.a /usr/lib/libform.a /usr/lib/libfrtbegin.a /usr/lib/libg2c.a /usr/lib/gcc-lib/${ARCH}-unknown-openbsd${OSREV}/${GCCREV}/fpic/libgcc.a /usr/lib/libgssapi.a /usr/lib/libhdb.a /usr/lib/libiberty.a /usr/lib/libkadm5clnt.a /usr/lib/libkadm5srv.a /usr/lib/libkafs.a /usr/lib/libkeynote.a /usr/lib/libkrb5.a /usr/lib/libkvm.a /usr/lib/libl.a /usr/lib/libm.a /usr/lib/libmenu.a /usr/lib/libmilter.a /usr/lib/libncurses.a /usr/lib/libobjc.a /usr/lib/libocurses.a /usr/lib/libossaudio.a /usr/lib/libotermcap.a /usr/lib/libpanel.a /usr/lib/libpcap.a /usr/lib/libperl.a /usr/lib/libpthread.a /usr/lib/libreadline.a /usr/lib/librpcsvc.a /usr/lib/libsectok.a /usr/lib/libskey.a /usr/lib/libssl.a /usr/lib/libstdc++.a /usr/lib/libsupc++.a /usr/lib/libtermcap.a /usr/lib/libtermlib.a /usr/lib/libusbhid.a /usr/lib/libutil.a /usr/lib/libwrap.a /usr/lib/liby.a /usr/lib/libz.a /usr/lib/libalpha.a /usr/lib/libamd64.a /usr/lib/libarm.a /usr/lib/libi386.a ===== VOIR AUSSI ===== [[:maxime:openbsd:manpages-fr:1:ar|ar(1)]], [[:maxime:openbsd:manpages-fr:1:c++|c++(1)]], [[:maxime:openbsd:manpages-fr:1:cc|cc(1)]], [[:maxime:openbsd:manpages-fr:1:g77|g77(1)]], [[:maxime:openbsd:manpages-fr:1:gcc-local|gcc-local(1)]], [[:maxime:openbsd:manpages-fr:1:gprof|gprof(1)]], [[:maxime:openbsd:manpages-fr:1:ld|ld(1)]], [[:maxime:openbsd:manpages-fr:1:ld.so|ld.so(1)]], [[:maxime:openbsd:manpages-fr:1:lex|lex(1)]], [[:maxime:openbsd:manpages-fr:1:nm|nm(1)]], [[:maxime:openbsd:manpages-fr:1:perl|perl(1)]], [[:maxime:openbsd:manpages-fr:1:ranlib|ranlib(1)]], [[:maxime:openbsd:manpages-fr:1:yacc|yacc(1)]], [[:maxime:openbsd:manpages-fr:2:intro|intro(2)]], [[:maxime:openbsd:manpages-fr:3:compress|compress(3)]], [[:maxime:openbsd:manpages-fr:3:crypto|crypto(3)]], [[:maxime:openbsd:manpages-fr:3:curses|curses(3)]], [[:maxime:openbsd:manpages-fr:3:des_crypt|des_crypt(3)]], [[:maxime:openbsd:manpages-fr:3:editline|editline(3)]], [[:maxime:openbsd:manpages-fr:3:event|event(3)]], [[:maxime:openbsd:manpages-fr:3:form|form(3)]], [[:maxime:openbsd:manpages-fr:3:hosts_access|hosts_access(3)]], [[:maxime:openbsd:manpages-fr:3:keynote|keynote(3)]], [[:maxime:openbsd:manpages-fr:3:kvm|kvm(3)]], [[:maxime:openbsd:manpages-fr:3:math|math(3)]], [[:maxime:openbsd:manpages-fr:3:menu|menu(3)]], [[:maxime:openbsd:manpages-fr:3:ocurses|ocurses(3)]], [[:maxime:openbsd:manpages-fr:3:ossaudio|ossaudio(3)]], [[:maxime:openbsd:manpages-fr:3:panel|panel(3)]], [[:maxime:openbsd:manpages-fr:3:pcap|pcap(3)]], [[:maxime:openbsd:manpages-fr:3:pthreads|pthreads(3)]], [[:maxime:openbsd:manpages-fr:3:readline|readline(3)]], [[:maxime:openbsd:manpages-fr:3:rfc1413|rfc1413(3)]], [[:maxime:openbsd:manpages-fr:3:rpc|rpc(3)]], [[:maxime:openbsd:manpages-fr:3:sectok|sectok(3)]], [[:maxime:openbsd:manpages-fr:3:skey|skey(3)]], [[:maxime:openbsd:manpages-fr:3:ssl|ssl(3)]], [[:maxime:openbsd:manpages-fr:3:stdio|stdio(3)]], [[:maxime:openbsd:manpages-fr:3:termcap|termcap(3)]], [[:maxime:openbsd:manpages-fr:3:usbhid|usbhid(3)]], [[:maxime:openbsd:manpages-fr:4:keynote|keynote(4)]], [[:maxime:openbsd:manpages-fr:5:mk.conf|mk.conf(5)]] ===== HISTORIQUE ===== Une page de manuel **intro** est apparue dans AT&T UNIX Version 7. OpenBSD 4.4 26 Août 2008 6