OSDN Git Service

(split) LDP: Update drafts based on LDP v3.40.
[linuxjm/LDP_man-pages.git] / draft / man2 / io_submit.2
1 .\" Copyright (C) 2003 Free Software Foundation, Inc.
2 .\" This file is distributed according to the GNU General Public License.
3 .\" See the file COPYING in the top level source directory for details.
4 .\"
5 .\" .de Sh \" Subsection
6 .\" .br
7 .\" .if t .Sp
8 .\" .ne 5
9 .\" .PP
10 .\" \fB\$1\fP
11 .\" .PP
12 .\" ..
13 .\" .de Sp \" Vertical space (when we can't use .PP)
14 .\" .if t .sp .5v
15 .\" .if n .sp
16 .\" ..
17 .\" .de Ip \" List item
18 .\" .br
19 .\" .ie \n(.$>=3 .ne \$3
20 .\" .el .ne 3
21 .\" .IP "\$1" \$2
22 .\" ..
23 .\"*******************************************************************
24 .\"
25 .\" This file was generated with po4a. Translate the source file.
26 .\"
27 .\"*******************************************************************
28 .TH IO_SUBMIT 2 2008\-06\-18 Linux "Linux Programmer's Manual"
29 .SH 名前
30 io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
31 .SH 書式
32 .nf
33 .\" .ad l
34 .\" .hy 0
35 .\" #include <linux/aio.h>
36 \fB#include <libaio.h>\fP
37 .sp
38 .\" .HP 16
39 .\" .ad
40 .\" .hy
41 \fBint io_submit(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fInr\fP\fB, struct iocb **\fP\fIiocbpp\fP\fB);\fP
42 .sp
43 \fI\-laio\fP とリンクする。
44 .fi
45 .SH 説明
46 .PP
47 \fBio_submit\fP()  は、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個の I/O リクエストを処理待ちとしてキューに追加する。
48 \fIiocbpp\fP は、AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の AIO 制御ブロックの配列になっていなければならない。
49 .SH 返り値
50 成功すると、 \fBio_submit\fP()  は登録した \fIiocb\fP の個数を返す (\fInr\fP が 0 の場合は 0 を返す)。
51 失敗時の返り値については、「注意」の節を参照すること。
52 .SH エラー
53 .TP 
54 \fBEAGAIN\fP
55 何個かの \fIiocb\fP をキューに入れるのに必要なリソースが得られない。
56 .TP 
57 \fBEBADF\fP
58 先頭の \fIiocb\fP に指定されたファイル・ディスクリプタが無効である。
59 .TP 
60 \fBEFAULT\fP
61 データ構造の中に無効なデータを指しているものがある。
62 .TP 
63 \fBEINVAL\fP
64 \fIctx_id\fP で指定された \fIaio_context\fP が無効である。 \fInr\fP が 0 未満である。 *iocbpp[0] の
65 \fIiocb\fP が適切に初期化されていないか、 指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して 無効である。
66 .TP 
67 \fBENOSYS\fP
68 \fBio_submit\fP()  はこのアーキテクチャでは実装されていない。
69 .SH バージョン
70 .PP
71 非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。
72 .SH 準拠
73 .PP
74 \fBio_submit\fP()  は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
75 .SH 注意
76 glibc はこのシステムコール用のラッパー関数を提供していない。
77
78 \fIlibaio\fP で \fBio_submit\fP()  用に提供されているラッパー関数は、エラーの通知が通常の C ライブラリの
79 慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。
80 \fBsyscall\fP(2)  経由でシステムコールを起動すると、返り値は通常のエラー通知の慣習に したがってものとなり、エラーの場合には \-1 が返り、
81 \fIerrno\fP にエラーを示す (正の) 値が設定される。
82 .SH 関連項目
83 .\" .SH "NOTES"
84 .\" .PP
85 .\" The asynchronous I/O system calls were written by Benjamin LaHaise.
86 .\" .SH AUTHOR
87 .\" Kent Yoder.
88 \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2),
89 \fBaio\fP(7)
90 .SH この文書について
91 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.40 の一部
92 である。プロジェクトの説明とバグ報告に関する情報は
93 http://www.kernel.org/doc/man\-pages/ に書かれている。