1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87
|
.\" This man page is Copyright (C) 1998 Pawel Krawczyk.
.\" Permission is granted to distribute possibly modified copies
.\" of this page provided the header is included verbatim,
.\" and in case of nontrivial modification author and date
.\" of the modification is added to the header.
.\
.\" Traduction 04/01/2000 par Christophe Blaess (ccb@club-internet.fr)
.\" LDP-man-pages 1.28
.TH SENDFILE 2 "4 Janvier 2000" Linux "Manuel du programmeur Linux"
.SH NOM
.SH NAME
sendfile \- Transfert de donnes entre descripteurs de fichiers.
.SH SYNOPSIS
.B #include <unistd.h>
.sp
.BI "int sendfile(int" " out_fd" ", int" " in_fd" ", off_t *" offset ", size_t" " count" )
.SH DESCRIPTION
Cet appel-systme copie des donnes entre un descripteur de fichier et
un autre. L'un ou l'autre de ces descripteurs peuvent tre une socket.
Le descripteur
.I in_fd
doit tre ouvert en lecture, et
.I out_fd
en criture.
Le pointeur
.I offset
doit correspondre une variable contenant la position dans le fichier
d'entre partir de laquelle
.BR sendfile (2)
commencera la lecture. Lorsque la routine se termine, la variable est
remplie avec la position de l'octet immdiatement aprs le dernier octet
lu.
L'argument
.I count
est le nombre d'octets copier entre les descripteurs de fichiers.
.SH NOTES
L'appel
.BR sendfile ()
ne modifie pas la position courante dans le fichier
.IR in_fd ,
mais modifie celle de
.IR out_fd .
Si vous voulez utiliser \fBsenbdfile\fP() pour envoyer un fichier au travers
d'une socket TCP, tout en le prcdant de donnes d'entte, voyez l'option
.B TCP_CORK
de
.BR tcp (7)
pour minimiser le nombre de paquets, et optimiser les performances.
.SH "VALEUR RENVOYE"
Si le transfert a russi, le nombre d'octets crits dans
.I out_fd
est renvoy. Sinon, \fBsendfile\fP() renvoie -1, et
.I errno
est configur.
.SH ERREURS
.TP 0.8i
.B EBADF
Le fichier d'entre n'est pas ouvert en lecture, ou celui de sortie en criture.
.TP
.B EINVAL
Le descripteur est invalide ou verrouill.
.TP
.B ENOMEM
Mmoire insuffisante pour lire depuis
.IR in_fd .
.TP
.B EIO
Erreur d'entre-sortie pendant la lecture depuis
.IR in_fd .
.SH VERSIONS
L'appel-systme
.BR sendfile ()
est une nouveaut de Linux 2.2.
Les autres Unix implmentent \fBsendfile\fP() avec d'autres smantiques, et d'autres
prototypes. Il ne faut pas l'utiliser dans un programme portable.
.SH "VOIR AUSSI"
.BR socket "(2), " open "(2)"
.SH TRADUCTION
Christophe Blaess, 2000.
|