OSDN Git Service

(split) LDP: Restore and add Copyrights for draft pages
[linuxjm/LDP_man-pages.git] / draft / man2 / io_submit.2
1 .\" Copyright (C) 2003 Free Software Foundation, Inc.
2 .\"
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" This file is distributed according to the GNU General Public License.
5 .\" %%%LICENSE_END
6 .\"
7 .\"*******************************************************************
8 .\"
9 .\" This file was generated with po4a. Translate the source file.
10 .\"
11 .\"*******************************************************************
12 .\"
13 .\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI, all rights reserved.
14 .\" Translated Mon Mar  8 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
15 .\" Updated 2012-05-29, Akihiro MOTOKI <amotoki@gmail.com>
16 .\" Updated 2013-03-27, Akihiro MOTOKI <amotoki@gmail.com>
17 .\"
18 .TH IO_SUBMIT 2 2012\-07\-13 Linux "Linux Programmer's Manual"
19 .SH 名前
20 io_submit \- 非同期 I/O ブロックを処理待ちキューに登録する
21 .SH 書式
22 .nf
23 \fB#include <linux/aio_abi.h>\fP          /* 必要な型の定義 */
24
25 \fBint io_submit(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fInr\fP\fB, struct iocb **\fP\fIiocbpp\fP\fB);\fP
26 .fi
27
28 \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
29 .SH 説明
30 .PP
31 \fBio_submit\fP() システムコールは、AIO コンテキスト \fIctx_id\fP に \fInr\fP 個
32 の I/O リクエストを処理待ちとしてキューに追加する。 \fIiocbpp\fP 引き数は、
33 AIO コンテキスト \fIctx_id\fP に登録される \fInr\fP 個の AIO 制御ブロックの
34 配列になっていなければならない。
35 .SH 返り値
36 成功すると、 \fBio_submit\fP()  は登録した \fIiocb\fP の個数を返す (\fInr\fP が 0 の場合は 0 を返す)。
37 失敗時の返り値については、「注意」の節を参照すること。
38 .SH エラー
39 .TP 
40 \fBEAGAIN\fP
41 何個かの \fIiocb\fP をキューに入れるのに必要なリソースが得られない。
42 .TP 
43 \fBEBADF\fP
44 先頭の \fIiocb\fP に指定されたファイル・ディスクリプタが無効である。
45 .TP 
46 \fBEFAULT\fP
47 データ構造の中に無効なデータを指しているものがある。
48 .TP 
49 \fBEINVAL\fP
50 \fIctx_id\fP で指定された AIO コンテキストが無効である。 \fInr\fP が 0 未満で
51 ある。 \fI*iocbpp[0]\fP の \fIiocb\fP が適切に初期化されていないか、
52 指定された操作がその \fIiocb\fP 中のファイル・ディスクリプタに対して 無効
53 である。
54 .TP 
55 \fBENOSYS\fP
56 \fBio_submit\fP()  はこのアーキテクチャでは実装されていない。
57 .SH バージョン
58 .PP
59 非同期 I/O システム・コールは Linux 2.5 で初めて登場した。
60 .SH 準拠
61 .PP
62 \fBio_submit\fP()  は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。
63 .SH 注意
64 .\" http://git.fedorahosted.org/git/?p=libaio.git
65 glibc はこのシステムコールのラッパー関数を提供していない。
66 \fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。
67 しかし、たいていは、このシステムコールを呼び出したいのではなく、
68  \fIlibaio\fP が提供している \fBio_submit\fP ラッパー関数を呼び出したい
69 場合がほとんどであろう。
70
71 .\" But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
72 .\" the system call.
73 \fIlibaio\fP のラッパー関数では \fIctx_id\fP 引き数に別の型
74 (\fIio_context_t\fP) が使われることに注意すること。
75 また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの
76 慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列
77 挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。
78 \fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通
79 知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 \fIerrno\fP
80 にエラーを示す (正の) 値が設定される。
81 .SH 関連項目
82 .\" .SH AUTHOR
83 .\" Kent Yoder.
84 \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2),
85 \fBaio\fP(7)
86 .SH この文書について
87 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.53 の一部
88 である。プロジェクトの説明とバグ報告に関する情報は
89 http://www.kernel.org/doc/man\-pages/ に書かれている。