PREAD(2)

NOM
pread, pwrite - Lire ou écrire à une position donnée d'un descripteur de fichier

SYNOPSIS
#define _XOPEN_SOURCE 500

#include <unistd.h>

ssize_t pread(int fd, void *buf, size_t nombre, off_t position);

ssize_t pwrite(int fd, const void *buf, size_t nombre, off_t position);

DESCRIPTION
pread() lit au maximum le nombre indiqué d'octets depuis le descripteur fd, à la position mesurée depuis le début du fichier, et les place dans la zone commençant à l'adresse buf. La position de la tête de lecture du fichier n'est pas modifiée par cet appel système.

pwrite() lit au maximum le nombre indiqué d'octets dans la zone mémoire pointée par buf, et les écrit à la position (mesurée depuis le début du fichier) dans le descripteur fd. La position de la tête d'écriture du fichier n'est pas modifiée.

Dans les deux cas, le fichier décrit par fd doit permettre le positionnement.

VALEUR RENVOYÉE
S'ils réussissent, ces appels système renvoient le nombre d'octets lus ou écrits (0 indiquant que rien n'a été écrit dans le cas de pwrite(), ou la fin du fichier dans le cas de pread()). En cas d'échec, ils renvoient -1, et renseignent errno en conséquence.

ERREURS
pread() peut échouer et fournir dans errno n'importe quelle erreur indiquée par read(2) ou lseek(2). pwrite() peut échouer et fournir dans errno n'importe quelle erreur indiquée par write(2) ou lseek(2).

VERSIONS
Les appels système pread() et pwrite() ont été ajoutés dans le noyau Linux 2.1.60. Les points d'entrée dans la table des appels i386 furent instaurés dans la version 2.1.69. Le support par la bibliothèque C, y compris l'émulation sur les anciens noyaux sans ces appels système, fut ajouté dans la glibc 2.1.

CONFORMITÉ
POSIX.1-2001.

VOIR AUSSI
lseek(2), read(2), write(2), feature_test_macros(7)

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 12 novembre 1999 et révisée le 17 juillet 2008.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 2 pread ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.