インテル® C++ コンパイラー 18.0 デベロッパー・ガイドおよびリファレンス

lio_listio

非同期の読み取り操作を実行します。

構文

int lio_listio(int mode, struct aiocb *list[], int nent, struct sigevent *sig);

引数

mode

<aio.h> ファイルで宣言されている次の値を使用することができます。

  • LIO_WAIT: I/O 操作の完了後にのみ、関数が戻るようにします (同期 I/O 操作)
  • LIO_NOWAIT: I/O 操作がキューされたら関数が戻るようにします (非同期 I/O 要求)

*list[]

送信済みの I/O 要求を指定する aiocb ポインターの配列。配列中の NULL 要素は無視されます。

nent

配列の要素の数

*sig

すべての I/O 操作が完了した後に、非同期通知が送信されるようにするかどうかを指定。次の値を使用することができます。

  • 0 : 非同期通知を送信する。非同期 I/O 要求が発生したら、アプリケーションで定義されている値とキューされた信号が生成されます。
  • 1 : 非同期 I/O 要求が処理されても、非同期通知を送信しない
  • 2 : 非同期通知を送信する。通知するために、通知関数が呼び出されます。

説明

lio_listio() 関数は、1 つの関数呼び出しで I/O 要求のリストを開始します。

mode 引数は、すべての I/O 操作が完了したとき、または操作がキューされたときに関数が戻るように指定します。

mode 引数が LIO_WAIT の場合、すべての I/O 操作が完了するまで関数は待機します。この場合、sig 引数は無視されます。

mode 引数が LIO_NOWAIT の場合、関数は直ちに戻ります。すべての I/O 操作が完了すると、sig 引数の値に応じて、非同期通知が送信されます。

戻り値

mode=LIO_NOWAIT の場合、lio_listio() 関数は次のタイミングで戻ります。

mode=LIO_WAIT の場合、lio_listio() 関数は次のタイミングで戻ります。

関連情報