X-Git-Url: http://git.osdn.net/view?a=blobdiff_plain;f=release%2Fman2%2Fio_setup.2;h=efed2268e9dd1415166add6018735838335e5f2a;hb=dba08e2eee1afb613e4e8e9310eb752cb06f45de;hp=9c2c741b83f236cb2b795732d1a04c4b74bc0db8;hpb=633a2252e0be3c867dce264a180a89ce8181d36f;p=linuxjm%2FLDP_man-pages.git diff --git a/release/man2/io_setup.2 b/release/man2/io_setup.2 index 9c2c741b..efed2268 100644 --- a/release/man2/io_setup.2 +++ b/release/man2/io_setup.2 @@ -1,109 +1,92 @@ .\" Copyright (C) 2003 Free Software Foundation, Inc. +.\" +.\" %%%LICENSE_START(GPL_NOVERSION_ONELINE) .\" This file is distributed according to the GNU General Public License. -.\" See the file COPYING in the top level source directory for details. +.\" %%%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 +.\" Updated 2013-07-15, Akihiro MOTOKI .\" -.\" .de Sh \" Subsection -.\" .br -.\" .if t .Sp -.\" .ne 5 -.\" .PP -.\" \fB\\$1\fP -.\" .PP -.\" .. -.\" .de Sp \" Vertical space (when we can't use .PP) -.\" .if t .sp .5v -.\" .if n .sp -.\" .. -.\" .de Ip \" List item -.\" .br -.\" .ie \\n(.$>=3 .ne \\$3 -.\" .el .ne 3 -.\" .IP "\\$1" \\$2 -.\" .. -.TH IO_SETUP 2 2003-06-18 "Linux" "Linux Programmer's Manual" -.SH ̾Á° -io_setup \- ÈóƱ´ü I/O ¥³¥ó¥Æ¥­¥¹¥È¤òºîÀ®¤¹¤ë -.SH ½ñ¼° +.TH IO_SETUP 2 2013\-06\-21 Linux "Linux Programmer's Manual" +.SH 名前 +io_setup \- 非同期 I/O コンテキストを作成する +.SH 書式 .nf -.\" .ad l -.\" .hy 0 -.B #include -.\" #include -.sp -.\" .HP 15 -.BI "int io_setup(unsigned " nr_events ", aio_context_t *" ctxp ); -.\" .ad -.\" .hy -.sp -\fI\-laio\fP ¤È¥ê¥ó¥¯¤¹¤ë¡£ +\fB#include \fP /* 必要な型の定義 */ + +\fBint io_setup(unsigned \fP\fInr_events\fP\fB, aio_context_t *\fP\fIctx_idp\fP\fB);\fP .fi -.SH ÀâÌÀ + +\fI注\fP: このシステムコールには glibc のラッパー関数は存在しない。「注意」の節を参照。 +.SH 説明 .PP -.BR io_setup () -¤Ï¡¢¾¯¤Ê¤¯¤È¤â \fInr_events\fP ¸Ä¤Î¥¤¥Ù¥ó¥È¤ò¼õ¿®²Äǽ¤Ê -ÈóƱ´ü I/O (AIO) ¥³¥ó¥Æ¥­¥¹¥È¤ÎºîÀ®¤ò¹Ô¤¦¡£ -\fIctxp\fP ¤Ï¡¢¤¹¤Ç¤Ë¸ºß¤¹¤ë AIO ¥³¥ó¥Æ¥­¥¹¥È¤ò»Ø¤·¤Æ¤¤¤Æ¤Ï¤Ê¤é¤º¡¢ -.BR io_setup () -¤Î¸Æ¤Ó½Ð¤·¤ÎÁ°¤Ë 0 ¤Ë½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ -AIO ¥³¥ó¥Æ¥­¥¹¥È¤ÎºîÀ®¤ËÀ®¸ù¤¹¤ë¤È¡¢\fI*ctxp\fP ¤ËºîÀ®¤µ¤ì¤¿ -AIO ¥³¥ó¥Æ¥­¥¹¥È¤Ø¤Î¥Ý¥¤¥ó¥¿¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£ -.SH ÊÖ¤êÃÍ -À®¸ù¤·¤¿¾ì¹ç¡¢ -.BR io_setup () -¤Ï 0 ¤òÊÖ¤¹¡£ -¼ºÇÔ»þ¤ÎÊÖ¤êÃͤˤĤ¤¤Æ¤Ï¡¢¡ÖÃí°Õ¡×¤ÎÀá¤ò»²¾È¤¹¤ë¤³¤È¡£ -.SH ¥¨¥é¡¼ -.TP -.B EAGAIN -»ØÄꤵ¤ì¤¿ \fInr_events\fP ¤¬¥æ¡¼¥¶¤¬»ÈÍѤǤ­¤ë¥¤¥Ù¥ó¥È¿ô¤Î¾å¸Â¤ò±Û¤¨¤Æ¤¤¤ë¡£ -.TP -.B EFAULT -\fIctxp\fP ¤Ë̵¸ú¤Ê¥Ý¥¤¥ó¥¿¤¬»ØÄꤵ¤ì¤Æ¤¤¤ë¡£ -.TP -.B EINVAL -\fIctxp\fP ¤¬½é´ü²½¤µ¤ì¤Æ¤¤¤Ê¤¤¤«¡¢»ØÄꤵ¤ì¤¿ \fInr_events\fP ¤¬ -ÆâÉô¤ÎÀ©¸ÂÃͤò±Û¤¨¤Æ¤¤¤ë¡£¤Þ¤¿¡¢ \fInr_events\fP ¤Ï 0 ¤è¤êÂ礭¤¤ÃÍ¤Ë -ÀßÄꤹ¤Ù¤­¤Ç¤¢¤ë¡£ -.TP -.B ENOMEM -ɬÍפʥ«¡¼¥Í¥ë¡¦¥ê¥½¡¼¥¹¤òÆÀ¤é¤ì¤Ê¤¤¡£ -.TP -.B ENOSYS -.BR io_setup () -¤¬¤³¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï¼ÂÁõ¤µ¤ì¤Æ¤¤¤Ê¤¤¡£ -.SH ¥Ð¡¼¥¸¥ç¥ó +\fBio_setup\fP() システムコールは、 \fInr_events\fP 個のイベントを +同時に実行に適した非同期 I/O (AIO) コンテキストの作成を行う。 \fIctx_idp\fP 引き数 +は、すでに存在する AIO コンテキストを指していてはならず、 +\fBio_setup\fP() の呼び出しの前に 0 に初期化されていなければならない。 +AIO コンテキストの作成に成功すると、 \fI*ctx_idp\fP に作成された AIO +コンテキストへのポインタがセットされる。 +.SH 返り値 +成功した場合、 \fBio_setup\fP() は 0 を返す。 失敗時の返り値については、「注意」の節を参照すること。 +.SH エラー +.TP +\fBEAGAIN\fP +指定された \fInr_events\fP がユーザが使用できるイベント数の上限を越えている。イベント数の上限は +\fI/proc/sys/fs/aio\-max\-nr\fP で定義されている。 +.TP +\fBEFAULT\fP +\fIctx_idp\fP に無効なポインタが指定されている。 +.TP +\fBEINVAL\fP +\fIctx_idp\fP が初期化されていないか、指定された \fInr_events\fP が内部の +制限値を越えている。また、 \fInr_events\fP は 0 より大きい値に設定 +すべきである。 +.TP +\fBENOMEM\fP +必要なカーネル・リソースを得られない。 +.TP +\fBENOSYS\fP +\fBio_setup\fP() がこのアーキテクチャでは実装されていない。 +.SH バージョン .PP -ÈóƱ´ü I/O ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï 2002ǯ8·î¤Ë Linux 2.5 ¤Ç½é¤á¤ÆÅо줷¤¿¡£ -.SH ½àµò +非同期 I/O システム・コールは Linux 2.5 で初めて登場した。 +.SH 準拠 .PP -.BR io_setup () -¤Ï Linux ¸ÇÍ­¤Ç¤¢¤ê¡¢°Ü¿¢¤òÁÛÄꤷ¤¿¥×¥í¥°¥é¥à¤Ç -»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£ -.SH Ãí°Õ -glibc ¤Ï¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ëÍѤΥé¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£ +\fBio_setup\fP() は Linux 固有であり、移植を想定したプログラムで 使用すべきではない。 +.SH 注意 +.\" http://git.fedorahosted.org/git/?p=libaio.git +glibc はこのシステムコールのラッパー関数を提供していない。 +\fBsyscall\fP(2) を使ってこのシステムコールを起動することができる。 +しかし、たいていは、このシステムコールを呼び出したいのではなく、 + \fIlibaio\fP が提供している \fBio_setup\fP ラッパー関数を呼び出したい +場合がほとんどであろう。 -.I libaio -¤Ç -.BR io_setup () -ÍѤËÄ󶡤µ¤ì¤Æ¤¤¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤Ï¡¢¥¨¥é¡¼¤ÎÄÌÃΤ¬Ä̾ï¤Î C ¥é¥¤¥Ö¥é¥ê¤Î -´·½¬¤Ë¤·¤¿¤¬¤Ã¤Æ¤ª¤é¤º¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤ÏÉé¤Î¥¨¥é¡¼ÈÖ¹æ -(¥¨¥é¡¼¤ÎÀá¤ËÎóµó¤µ¤ì¤Æ¤¤¤ëÃͤΰì¤Ä¤òÉé¤Ë¤·¤¿¤â¤Î) ¤¬ÊÖ¤êÃͤȤʤ롣 -.BR syscall (2) -·Ðͳ¤Ç¥·¥¹¥Æ¥à¥³¡¼¥ë¤òµ¯Æ°¤¹¤ë¤È¡¢ÊÖ¤êÃͤÏÄ̾ï¤Î¥¨¥é¡¼ÄÌÃΤδ·½¬¤Ë -¤·¤¿¤¬¤Ã¤Æ¤â¤Î¤È¤Ê¤ê¡¢¥¨¥é¡¼¤Î¾ì¹ç¤Ë¤Ï \-1 ¤¬Ê֤ꡢ -.I errno -¤Ë¥¨¥é¡¼¤ò¼¨¤¹ (Àµ¤Î) Ãͤ¬ÀßÄꤵ¤ì¤ë¡£ -.SH ´ØÏ¢¹àÌÜ -.PP -.BR io_cancel (2), -.BR io_destroy (2), -.BR io_getevents (2), -.BR io_submit (2) -.\" .SH Ãí -.\" .PP -.\" ÈóƱ´ü I/O ¥·¥¹¥Æ¥à¡¦¥³¡¼¥ë¤Ï Benjamin LaHaise ¤¬½ñ¤¤¤¿¡£ -.\" .SH Ãø¼Ô +.\" But glibc is confused, since uses 'io_context_t' to declare +.\" the system call. +\fIlibaio\fP のラッパー関数では \fIctx_idp\fP 引き数に別の型 +(\fIio_context_t\ *\fP) が使われることに注意すること。 +また、\fIlibaio\fP のラッパー関数は、エラーの通知が通常の C ライブラリの +慣習にしたがっておらず、エラーの場合には負のエラー番号 (エラーの節に列 +挙されている値の一つを負にしたもの) が返り値となる点にも注意すること。 +\fBsyscall\fP(2) 経由でシステムコールを起動すると、返り値は通常のエラー +通知の慣習に したがってものとなり、エラーの場合には \-1 が返り、 +\fIerrno\fP にエラーを示す (正の) 値が設定される。 +.SH 関連項目 +.\" .SH AUTHOR .\" Kent Yoder. +\fBio_cancel\fP(2), \fBio_destroy\fP(2), \fBio_getevents\fP(2), \fBio_submit\fP(2), +\fBaio\fP(7) +.SH この文書について +この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.67 の一部 +である。プロジェクトの説明とバグ報告に関する情報は +http://www.kernel.org/doc/man\-pages/ に書かれている。