Provided by:
manpages-fr-dev_3.27fr1.4-1_all 
NOM
posix_fadvise - Predeclarer des acces aux donnees d'un fichier
SYNOPSIS
#include <fcntl.h>
int posix_fadvise(int fd, off_t offset, off_t len, int advice);
Exigences de macros de test de fonctionnalites pour la glibc (consultez
feature_test_macros(7)) :
posix_fadvise() :
_XOPEN_SOURCE >= 600 || _POSIX_C_SOURCE >= 200112L
DESCRIPTION
Les programmes peuvent utiliser posix_fadvise() pour annoncer leur
intention d'acceder aux donnees d'un fichier suivant un certain ordre,
permettant ainsi au noyau de realiser les optimisations appropriees.
L'indication advice s'applique a une region (pas necessairement
existante) debutant a offset et s'etendant sur len octets (ou jusqu'a
la fin du fichier si len vaut zero) dans le fichier reference par fd.
L'indication n'oblige a rien, il s'agit seulement d'une supposition
concernant le comportement futur de l'application.
Les valeurs possibles pour advice incluent :
POSIX_FADV_NORMAL
Indique que l'application n'a pas d'indice particulier
concernant les acces aux donnees du fichier. Le noyau appliquera
son comportement par defaut.
POSIX_FADV_SEQUENTIAL
L'application pense acceder aux donnees sequentiellement (dans
l'ordre des offsets croissants).
POSIX_FADV_RANDOM
Les acces se feront de maniere aleatoire.
POSIX_FADV_NOREUSE
Les donnees ne seront accedees qu'une seule fois.
POSIX_FADV_WILLNEED
Les donnees seront accedees dans le futur proche.
POSIX_FADV_DONTNEED
Les donnees ne seront pas accedees dans le futur proche.
VALEUR RENVOY'EE
L'appel renvoie zero s'il reussit. S'il echoue, il renvoie un code
d'erreur.
ERREURS
EBADF L'argument fd n'est pas un descripteur de fichier valable.
EINVAL L'indication advice est invalide.
ESPIPE Le descripteur correspond a un tube ou une FIFO. (Linux renvoie
en fait EINVAL dans ce cas).
VERSIONS
posix_fadvise() est apparu dans le noyau 2.5.60. La glibc le gere
depuis la version 2.2.
CONFORMIT'E
POSIX.1-2001. Veuillez noter que le type du parametre len a ete modifie
de size_t en off_t dans la specification POSIX.1-2003 TC1.
NOTES
Sous Linux, POSIX_FADV_NORMAL configure la fenetre de lecture anticipee
a sa taille par defaut pour le peripherique concerne.
POSIX_FADV_SEQUENTIAL double cette taille, et POSIX_FADV_RANDOM
desactive la lecture anticipee. Ces modifications affectent le fichier
entier, pas seulement la region indiquee (mais les autres descripteurs
ouverts sur le meme fichier ne sont pas modifies).
POSIX_FADV_WILLNEED initie une lecture non bloquante de la region
indiquee dans le cache. La quantite de donnees lues peut etre diminuee
suivant la charge memoire (quelques mega-octets seront en general
disponibles et souvent suffisants).
Sous les noyaux anterieurs a 2.6.18, POSIX_FADV_NOREUSE avait la meme
semantique que POSIX_FADV_WILLNEED. Il s'agissait sans doute d'un
bogue ; depuis Linux 2.6.18, cet attribut n'a aucun effet.
POSIX_FADV_DONTNEED essaye de liberer les pages de cache associees avec
la region indiquee. Ceci est utile par exemple lors du parcours de tres
gros fichiers. Un programme peut ainsi demander regulierement au noyau
de liberer les pages deja utilisees, pour eviter que des pages plus
utiles ne soient eliminees a leur place.
Les pages qui n'ont pas encore ete ecrites ne sont pas affectees, ainsi
si une application veut s'assurer que les pages seront relachees, elle
devrait appeler fsync(2) ou fdatasync(2) d'abord.
BOGUES
Dans les noyaux anterieurs a 2.6.6, si le parametre len etait nul, la
valeur etait interpretee comme << zero octets >>, et non comme << tous
les octets jusqu'a la fin du fichier >>.
VOIR AUSSI
readahead(2), sync_file_range(2), posix_fallocate(3), posix_madvise(3),
feature_test_macros(7)
COLOPHON
Cette page fait partie de la publication 3.27 du projet man-pages
Linux. Une description du projet et des instructions pour signaler des
anomalies peuvent etre trouvees a l'adresse
<URL:http://www.kernel.org/doc/man-pages/>.
TRADUCTION
Depuis 2010, cette traduction est maintenue a l'aide de l'outil po4a
<URL:http://po4a.alioth.debian.org/> par l'equipe de traduction
francophone au sein du projet perkamon
<URL:http://perkamon.alioth.debian.org/>.
Christophe Blaess <URL:http://www.blaess.fr/christophe/> (1996-2003),
Alain Portal <URL:http://manpagesfr.free.fr/> (2003-2006). Julien
Cristau et l'equipe francophone de traduction de Debian (2006-2009).
Veuillez signaler toute erreur de traduction en ecrivant a
<debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
paquet manpages-fr.
Vous pouvez toujours avoir acces a la version anglaise de ce document
en utilisant la commande << man -L C <section> <page_de_man> >>.