Provided by:
manpages-nl_20051127-2_all 
NAAM
read - lees van een bestandindicator
OVERZICHT
#include <unistd.h>
ssize_t read(int bi, void *buf, size_t tel);
BESCHRIJVING
read() Probeert tot aan tel bytes van bestandsindicator bi in te lezen
naar de buffer buf.
Als tel nul is geeft read() nul terug zonder andere gevolgen. Als tel
groter is dan SSIZE_MAX, is het resultaat onbepaald.
Bij success wordt het aantal gelezen bytes teruggegeven (nul betekend
einde van het bestand); de positie in het bestand wordt met dit aantal
vooruitgezet. Het is niet fout als dat aantal kleiner is dan het
gevraagde aantal bytes, dat kan bijvoorbeeld gebeuren als er minder
bytes voorhanden zijn op dat ogenblik (wellicht omdat we dicht bij
eind-van-bestand zijn, omdat we van een pijp {pipe} lezen, of van een
terminal, of omdat read() onderbroken werd door een signaal). Bij
falen wordt -1 teruggegeven, en errno wordt naar behoren gezet. In dit
geval is het onbepaald gelaten of de plaats in het bestand (als die
bestaat) veranderd.
FOUTEN
EINTR {onderbroken} De aanroep werd onderbroken door een signaal voor‐
dat er gegevens werden gelezen.
EAGAIN {opnieuw} Niet-blokkerende In/Uit werd gekozen met O_NONBLOCK
{niet blokkeren} maar er stonden niet onmiddelijk gegevens klaar
om gelezen te worden.
EIO {In/Uit} In/Uit fout. Dit gebeurd bijvoorbeeld als een proces
uit een achtergrond-proces-groep probeert van zijn controlerende
tty te lezen en, òf het negeert/blokkeert SIGTTIN, òf zijn pro‐
ces-groep is verweesd {orphaned}. Het kan ook optreden als er
een laag-niveau In/Uit fout is terwijl er van schijf of tape
gelezen wordt.
EISDIR {is dir} bi wijst naar een directorie
EBADF {slecht bestand} bi Is geen geldige bestandsindicator, of is
niet open voor lezen.
EINVAL {ongeldig} bi wijst naar iets dat ongeschikt is om van te lezen
EFAULT {fout} buf Ligt buiten de door u toegankelijke adres ruimte.
Andere fouten kunnen ontstaan, afhankelijk van waar bi mee verbonden
is. POSIX Staat een read() die onderbroken wordt na het lezen van
enige gegevens toe om -1 terug te geven (met errno gezet naar EINTR);
of om het aantal gelezen bytes terug te geven.
SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3
BEPERKINGEN
Bij NFS bestandsystemen zal het lezen van kleine hoeveelheden gegevens
de tijdtempel alleen de eerste keer veranderen, volgende aanroepen
laten de tijdtempel onveranderd. Dit wordt veroorzaakt door cliënt-kant
bufferen van bestand-kenmerken: de meeste -zo niet alle- NFS cliënten
laten het bijwerken van de ‘atime’ {toegangstijd} aan de server over;
als een lees-opdracht dan genoeg heeft aan de cliënt-kant buffer vind
er geen lees-opdracht plaats naar de server en blijft de atime dus
onveranderd. UNIX Gedrag kan verkregen worden door het kenmerken
bufferen in de cliënt uit te schakelen, maar dat zal in de meeste situ‐
aties de last op de server flink vergroten, en zijn uitvoering nadelig
beïnvloeden.
close(2) {sluiten}, fcntl(2) {manipuleer bi}, ioctl(2) {in/uit-manip‐
uleren}, lseek(2) {zoek}, readdir(2) {lees dir}, readlink(2) {lees kop‐
peling}, select(2) {kies}, write(2) {schrijf}, fread(3) {lees}
VERTALING
Dit is een handleiding uit manpages-dev 1.34. Alles wat tussen
‘{’..‘}’ staat is aanvullende vertaling, en hoort niet bij de originele
handleiding. Email naar <manpages-nl@nl.linux.org>.
$Id: read.2,v 1.1.1.1 2004/03/21 21:02:25 cor Exp $