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 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128
|
.\" Hey Emacs! This file is -*- nroff -*- source.
.\"
.\" Copyright (c) 1996 Tom Bjorkholm <tomb@mydata.se>
.\"
.\" This is free documentation; you can redistribute it and/or
.\" modify it under the terms of the GNU General Public License as
.\" published by the Free Software Foundation; either version 2 of
.\" the License, or (at your option) any later version.
.\"
.\" The GNU General Public License's references to "object code"
.\" and "executables" are to be interpreted as the output of any
.\" document formatting or typesetting system, including
.\" intermediate and printed output.
.\"
.\" This manual is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
.\" GNU General Public License for more details.
.\"
.\" You should have received a copy of the GNU General Public
.\" License along with this manual; if not, write to the Free
.\" Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111,
.\" USA.
.\"
.\" 1996-04-12 Tom Bjorkholm <tomb@mydata.se>
.\" First version written
.\" Modified Tue Oct 22 17:41:07 1996 by Eric S. Raymond <esr@thyrsus.com>
.\"
.\" Japanese Version Copyright (c) 1997-1999 HANATAKA Shinya
.\" all rights reserved.
.\" Translated Sun Feb 23 22:30:34 JST 1997
.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
.\" Translated Sat Apr 3 15:57:04 JST 1999
.\" by HANATAKA Shinya <hanataka@abyss.rim.or.jp>
.\"
.\"WORD: vector ٥(vector)
.\"WORD: descriptor ǥץ
.\"WORD: buffer Хåե
.\"WORD: segmentation fault ơȿ
.\"WORD: non-blocking I/O I/O
.\"WORD: socket å
.\"WORD: device ǥХ
.\"WORD: memory
.\"
.TH READV 2 "1999-01-20" "Linux 2.2.0-pre8" "Linux Programmer's Manual"
.SH ̾
readv, writev \- ٥(vector)ɤ߽Ԥʤ
.SH
.B #include <sys/uio.h>
.sp
.BI "int readv(int " fd ", const struct iovec * " vector ", int " count );
.sp
.BI "int writev(int " fd ", const struct iovec * " vector ", int " count );
.sp
.B
\fBstruct iovec {\fR
.br
\fB__ptr_t \fIiov_base\fB;\fR /* Starting address. */
.br
\fBsize_t \fIiov_len\fB;\fR /* Length in bytes. */
.br
\fB};\fR
.fi
.SH
\fBreadv\fR ϥե롦ǥץ(file descriptor) \fIfd\fR
ǡɤ߹߷̤ \fIvector\fR ˵Ҥ줿Хåե˳Ǽ롣
Хåեο \fIcount\fR ǻꤹ롣Хåեؤϻꤵ줿֤
Ǽ롣ǡϢ³ХåեǤʤ\fI٥(vector)\fRسǼ
\fBread\fR Ʊ褦Ư
\fBwritev\fR ϥե롦ǥץ \fIfd\fR
\fIvector\fR ˵Ҥ줿ХåեΥǡࡣХåե
\fIcount\fR ǻꤹ롣Хåեϻꤵ줿֤ǻѤ롣
ǡϢ³ХåեǤʤ\fI٥(vector)\fR
\fBwrite\fR Ʊ褦Ư
.SH ֤
\fBreadv\fR ɤ߹Хȿ֤
\fBwritev\fR ϽХȿ֤
顼ξ \-1 ֤졢\fIerrno\fR Ŭڤꤵ롣
.SH 顼
.TP
.B EINVAL
ʰͿ줿㤨 \fIcount\fR \fBMAX_IOVEC\fR
礭Ǥ롢\fIfd\fR ɤ߹ߤβǽ(\fBreadv\fR ξ)
߲ǽ(\fBwritev\fR ξ)֥ȤȤƤʤʤɡ
.TP
.B EFAULT
֥ơȿ(segmentation fault)
Ƥ \fIvector\fR \fIiov_base\fR Τɤ줫
Ƥ줿ؤƤʤ
.TP
.B EBADF
ե롦ǥץ \fIfd\fR ʤ
.TP
.B EINTR
ǡɤ߽˥ʥˤäƳޤ줿
.TP
.B EAGAIN
\fBO_NONBLOCK\fR Ѥ(non-blocking) I/O Ƥꡢ
ɤ߹ǡ¸ߤʤä(ޤϥե롦ǥץ
\fIfd\fR ȤƤ륪֥ȤåƤ롣)
.TP
.B EISDIR
\fIfd\fR ǥ쥯ȥȤƤ롣
.TP
.B EOPNOTSUP
\fIfd\fR ɤ߹/ߤݡȤƤʤåȤǥХ
ȤƤ롣
.TP
.B ENOMEM
ͥ˽ʬ꤬ʤ
.PP
\fIfd\fR ³Ƥ륪֥ȤˤäƤ¾Υ顼뤫⤷ʤ
.SH
4.4BSD (
.B readv
.B writev
ؿ BSD 4.2 Ǻǽ˸줿), Unix98Linux libc5 Ǥ \fIcount\fR
ηȤ \fBsize_t\fR ѤƤŪǤϤ뤬
ɸǤϤʤ
.SH Ϣ
.BR read (2),
.BR write (2),
.BR fprintf (3),
.BR fscanf (3).
|