Provided by: manpages-nl_20051127-4_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 $