1 .\" Copyright (C) 2003 Free Software Foundation, Inc.
3 .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE)
4 .\" This file is distributed according to the GNU General Public License.
7 .\"*******************************************************************
9 .\" This file was generated with po4a. Translate the source file.
11 .\"*******************************************************************
12 .TH IO_CANCEL 2 2013\-04\-10 Linux "Linux Programmer's Manual"
14 io_cancel \- 未処理の非同期 I/O 操作の取り消し
17 \fB#include <linux/aio_abi.h>\fP /* 必要な型の定義 */
19 \fBint io_cancel(aio_context_t \fP\fIctx_id\fP\fB, struct iocb *\fP\fIiocb\fP\fB,\fP
20 \fB struct io_event *\fP\fIresult\fP\fB);\fP
23 \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。
26 \fBio_cancel\fP() システムコールは、過去に \fBio_submit\fP(2) を使って登録された非同期 I/O (AIO)
27 操作の取り消しを行おうとする。 \fIiocb\fP 引き数は取り消したい操作が示し、 \fIctx_id\fP 引き数は、取り消しを行う操作が登録された AIO
28 コンテキストである。操作の取り消しに成功すると、対象のイベントは \fIresult\fP で指されたメモリに コピーされる
29 (このとき、完了キューへの移動は行われない)。
31 成功した場合、 \fBio_cancel\fP() は 0 を返す。 失敗時の返り値については、「注意」の節を参照すること。
35 指定された \fIiocb\fP の取り消しが行われなかった。
38 データ構造の中に無効なデータを指しているものがある。
41 \fIctx_id\fP で指定された AIO コンテキストが無効である。
44 \fBio_cancel\fP() はこのアーキテクチャでは実装されていない。
47 非同期 I/O システム・コールは Linux 2.5 で初めて登場した。
50 \fBio_cancel\fP() は Linux 固有であり、移植を想定したプログラムで使用すべきではない。
52 .\" http://git.fedorahosted.org/git/?p=libaio.git
53 glibc はこのシステムコールのラッパー関数を提供していない。
54 \fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。
55 しかし、たいていは、このシステムコールを呼び出したいのではなく、
56 \fIlibaio\fP が提供している \fBio_cancel\fP ラッパー関数を呼び出したい
59 .\" But glibc is confused, since <libaio.h> uses 'io_context_t' to declare
61 \fIlibaio\fP のラッパー関数では \fIctx_id\fP 引き数に別の型
62 (\fIio_context_t\fP) が使われることに注意すること。
63 また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの
64 慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列
65 挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。
66 \fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通
67 知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 \fIerrno\fP
72 \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2),
75 この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.51 の一部
76 である。プロジェクトの説明とバグ報告に関する情報は
77 http://www.kernel.org/doc/man\-pages/ に書かれている。