.\" Copyright (C) 2003 Free Software Foundation, Inc. .\" .\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. .\" %%%LICENSE_END .\" .\"******************************************************************* .\" .\" This file was generated with po4a. Translate the source file. .\" .\"******************************************************************* .\" .\" Japanese Version Copyright (c) 2003 Akihiro MOTOKI, all rights reserved. .\" Translated Mon Mar 8 2003 by Akihiro MOTOKI .\" Updated 2012-05-29, Akihiro MOTOKI .\" Updated 2013-03-25, Akihiro MOTOKI .\" Updated 2013-05-01, Akihiro MOTOKI .\" .TH IO_GETEVENTS 2 2020\-12\-21 Linux "Linux Programmer's Manual" .SH 名前 io_getevents \- 完了キューから非同期 I/O イベントを読み出す .SH 書式 .nf \fB#include \fP /* 必要な型の定義 */ \fB#include \fP /* 'struct timespec' の定義 */ .PP \fBint io_getevents(aio_context_t \fP\fIctx_id\fP\fB, long \fP\fImin_nr\fP\fB, long \fP\fInr\fP\fB,\fP \fB struct io_event *\fP\fIevents\fP\fB, struct timespec *\fP\fItimeout\fP\fB);\fP .fi .PP \fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。 .SH 説明 \fI注意\fP:このページは生の Linux のシステムコールのインターフェースについて説明している。 \fIlibaio\fP で提供されるラッパー関数では \fIctx_id\fP 引数に違う型が使われている。「注意」を参照。 .PP The \fBio_getevents\fP() system call attempts to read at least \fImin_nr\fP events and up to \fInr\fP events from the completion queue of the AIO context specified by \fIctx_id\fP. .PP The \fItimeout\fP argument specifies the amount of time to wait for events, and is specified as a relative timeout in a structure of the following form: .PP .in +4n .EX struct timespec { time_t tv_sec; /* seconds */ long tv_nsec; /* nanoseconds [0 .. 999999999] */ }; .EE .in .PP The specified time will be rounded up to the system clock granularity and is guaranteed not to expire early. .PP Specifying \fItimeout\fP as NULL means block indefinitely until at least \fImin_nr\fP events have been obtained. .SH 返り値 成功すると、 \fBio_getevents\fP() は読み出したイベント数を返す。 \fItimeout\fP 時間が経過した場合は、 0 もしくは \fImin_nr\fP 未満の値が返る。呼び出しがシグナルハンドラーに割り込まれた場合にも、 0 もしくは \fImin_nr\fP 未満の値が返ることがある。 .PP 失敗時の返り値については、「注意」の節を参照すること。 .SH エラー .TP \fBEFAULT\fP \fIevents\fP または \fItimeout\fP が無効なポインターである。 .TP \fBEINTR\fP シグナルハンドラーにより割り込まれた。 \fBsignal\fP(7) 参照。 .TP \fBEINVAL\fP \fIctx_id\fP が無効である。もしくは、\fImin_nr\fP または \fInr\fP が 範囲外の値である。 .TP \fBENOSYS\fP \fBio_getevents\fP() がこのアーキテクチャーでは実装されていない。 .SH バージョン 非同期 I/O システムコールは Linux 2.5 で初めて登場した。 .SH 準拠 \fBio_getevents\fP() は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。 .SH 注意 .\" http://git.fedorahosted.org/git/?p=libaio.git glibc はこのシステムコールのラッパー関数を提供していない。 \fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。 しかし、たいていは、このシステムコールを呼び出したいのではなく、 \fIlibaio\fP が提供している \fBio_getevents\fP ラッパー関数を呼び出したい 場合がほとんどであろう。 .PP .\" But glibc is confused, since uses 'io_context_t' to declare .\" the system call. \fIlibaio\fP のラッパー関数では \fIctx_id\fP 引数に別の型 (\fIio_context_t\fP) が使われることに注意すること。 また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの 慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列 挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。 \fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー通 知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 \fIerrno\fP にエラーを示す (正の) 値が設定される。 .SH バグ 無効な \fIctx_id\fP を指定した場合、エラー \fBEINVAL\fP が生成されず、セグメンテーション違反 (segmentation fault) が発生する場合がある。 .SH 関連項目 .\" .SH AUTHOR .\" Kent Yoder. \fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_setup\fP(2), \fBio_submit\fP(2), \fBaio\fP(7), \fBtime\fP(7) .SH この文書について この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 5.10 の一部である。プロジェクトの説明とバグ報告に関する情報は \%https://www.kernel.org/doc/man\-pages/ に書かれている。