Provided by: manpages-nl_20051127-4_all bug

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.

EIND WAARDE

       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
              voordat 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
              proces-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.

VOLDOET AAN

       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
       situaties  de  last  op  de  server flink vergroten, en zijn uitvoering
       nadelig beïnvloeden.

ZIE OOK

       close(2)  {sluiten},  fcntl(2)  {manipuleer  bi},   ioctl(2)   {in/uit-
       manipuleren}, lseek(2) {zoek}, readdir(2) {lees dir}, readlink(2) {lees
       koppeling}, 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 $