.\" Hey Emacs! This file is -*- nroff -*- source. .\" .\" This manpage is Copyright (C) 1992 Drew Eckhardt; .\" 1993 Michael Haardt, Ian Jackson. .\" .\" Permission is granted to make and distribute verbatim copies of this .\" manual provided the copyright notice and this permission notice are .\" preserved on all copies. .\" .\" Permission is granted to copy and distribute modified versions of this .\" manual under the conditions for verbatim copying, provided that the .\" entire resulting derived work is distributed under the terms of a .\" permission notice identical to this one .\" .\" Since the Linux kernel and libraries are constantly changing, this .\" manual page may be incorrect or out-of-date. The author(s) assume no .\" responsibility for errors or omissions, or for damages resulting from .\" the use of the information contained herein. The author(s) may not .\" have taken the same level of care in the production of this manual, .\" which is licensed free of charge, as they might when working .\" professionally. .\" .\" Formatted or processed versions of this manual, if unaccompanied by .\" the source, must acknowledge the copyright and authors of this work. .\" .\" Modified Sat Jul 24 00:06:00 1993 by Rik Faith .\" Modified Wed Jan 17 16:02:32 1996 by Michael Haardt .\" .\" Modified Thu Apr 11 19:26:35 1996 by Andries Brouwer .\" Modified Sun Jul 21 18:59:33 1996 by Andries Brouwer .\" Modified Fri Jan 31 16:47:33 1997 by Eric S. Raymond .\" Modified Sat Jul 12 20:45:39 1997 by Michael Haardt .\" .\" .TH READ 2 "July 12, 1997" "Linux 2.0.32" "Linux Programmeurs Handleiding" .SH NAAM read \- lees van een bestandindicator .SH OVERZICHT .nf .B #include .sp .BI "ssize_t read(int " bi ", void *" buf ", size_t " tel ); .fi .SH BESCHRIJVING .B read() Probeert tot aan .I tel bytes van bestandsindicator .I bi in te lezen naar de buffer .IR buf . .PP Als .I tel nul is geeft .B read() nul terug zonder andere gevolgen. Als .I tel groter is dan SSIZE_MAX, is het resultaat onbepaald. .PP .SH "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 .B read() onderbroken werd door een signaal). Bij falen wordt \-1 teruggegeven, en .I errno wordt naar behoren gezet. In dit geval is het onbepaald gelaten of de plaats in het bestand (als die bestaat) veranderd. .SH FOUTEN .TP .B EINTR {onderbroken} De aanroep werd onderbroken door een signaal voordat er gegevens werden gelezen. .TP .B EAGAIN {opnieuw} Niet-blokkerende In/Uit werd gekozen met .B O_NONBLOCK {niet blokkeren} maar er stonden niet onmiddelijk gegevens klaar om gelezen te worden. .TP .B 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. .TP .B EISDIR {is dir} .I bi wijst naar een directorie .TP .B EBADF {slecht bestand} .I bi Is geen geldige bestandsindicator, of is niet open voor lezen. .TP .B EINVAL {ongeldig} .I bi wijst naar iets dat ongeschikt is om van te lezen .TP .B EFAULT {fout} .I buf Ligt buiten de door u toegankelijke adres ruimte. .PP Andere fouten kunnen ontstaan, afhankelijk van waar .IR bi mee verbonden is. POSIX Staat een .B read() die onderbroken wordt na het lezen van enige gegevens toe om \-1 terug te geven (met .I errno gezet naar EINTR); of om het aantal gelezen bytes terug te geven. .SH "VOLDOET AAN" SVr4, SVID, AT&T, POSIX, X/OPEN, BSD 4.3 .SH 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. .SH "ZIE OOK" .BR close "(2) {sluiten}," .BR fcntl "(2) {manipuleer bi}," .BR ioctl "(2) {in/uit-manipuleren}," .BR lseek "(2) {zoek}," .BR readdir "(2) {lees dir}," .BR readlink "(2) {lees koppeling}," .BR select "(2) {kies}," .BR write "(2) {schrijf}," .BR fread "(3) {lees}" .\" Translated to Dutch Mon Nov 6 2000 by Jos Boersema .\" .SH VERTALING Dit is een handleiding uit \fBmanpages-dev 1.34\fR. Alles wat tussen `\fB{\fR'..`\fB}\fR' staat is \fBaanvullende vertaling\fR, en hoort \fBniet\fR bij de originele handleiding. Email naar . .\"Vertaling Jos Boersema $Id: read.2,v 1.1 2003/04/28 18:43:35 bokkie Exp $