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.
5 .\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI, all rights reserved.
6 .\" Translated Mon Mar 8 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
8 .\" .de Sh \" Subsection
16 .\" .de Sp \" Vertical space (when we can't use .PP)
20 .\" .de Ip \" List item
22 .\" .ie \\n(.$>=3 .ne \\$3
26 .TH IO_SUBMIT 2 2008-06-18 "Linux" "Linux Programmer's Manual"
28 io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
33 .B #include <libaio.h>
34 .\" #include <linux/aio.h>
37 .BI "int io_submit(aio_context_t " ctx_id ", long " nr \
38 ", struct iocb **" iocbpp );
47 は、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個の I/O
48 リクエストを処理待ちとしてキューに追加する。
49 \fIiocbpp\fP は、AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の
50 AIO 制御ブロックの配列になっていなければならない。
54 は登録した \fIiocb\fP の個数を返す
55 (\fInr\fP が 0 の場合は 0 を返す)。
56 失敗時の返り値については、「注意」の節を参照すること。
60 何個かの \fIiocb\fP をキューに入れるのに必要なリソースが得られない。
63 先頭の \fIiocb\fP に指定されたファイル・ディスクリプタが無効である。
66 データ構造の中に無効なデータを指しているものがある。
69 \fIctx_id\fP で指定された \fIaio_context\fP が無効である。
71 *iocbpp[0] の \fIiocb\fP が適切に初期化されていないか、
72 指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して
80 非同期 I/O システム・コールは 2002年8月に Linux 2.5 で初めて登場した。
84 は Linux 固有であり、移植を想定したプログラムで
87 glibc はこのシステムコール用のラッパー関数を提供していない。
92 用に提供されているラッパー関数は、エラーの通知が通常の C ライブラリの
93 慣習にしたがっておらず、エラーの場合には負のエラー番号
94 (エラーの節に列挙されている値の一つを負にしたもの) が返り値となる。
96 経由でシステムコールを起動すると、返り値は通常のエラー通知の慣習に
97 したがってものとなり、エラーの場合には \-1 が返り、
103 .BR io_getevents (2),
108 .\" 非同期 I/O システム・コールは Benjamin LaHaise が書いた。