OSDN Git Service

(split) LDP: Update releases based on LDP 3.52 release
[linuxjm/LDP_man-pages.git] / release / man3 / openpty.3
index 692952a..04a47e5 100644 (file)
@@ -1,6 +1,7 @@
 .\" Copyright (c) OpenBSD Group
 .\" All rights reserved.
 .\"
+.\" %%%LICENSE_START(BSD_3_CLAUSE_UCB)
 .\" Redistribution and use in source and binary forms, with or without
 .\" modification, are permitted provided that the following conditions
 .\" are met:
 .\" LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
 .\" OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
 .\" SUCH DAMAGE.
+.\" %%%LICENSE_END
 .\"
 .\" Converted into a manpage again by Martin Schulze <joey@infodrom.org>
 .\"
 .\" Added -lutil remark, 030718
 .\"
-.\" Japanese Version Copyright (c) 2002 Yuichi SATO
-.\"         all rights reserved.
-.\" Translated Tue Jan 22 21:42:05 JST 2002
-.\"         by Yuichi SATO <ysato@h4.dion.ne.jp>
-.\" Updated Mon Mar  8 2003 by Akihiro MOTOKI <amotoki@dd.iij4u.or.jp>
-.\" Updated Sun Sep 14 2003 by Akihiro MOTOKI
+.\"*******************************************************************
 .\"
-.\"WORD:       tty             Ã¼Ëö
-.\"WORD:       pseudo-tty      µ¿»÷üËö
+.\" This file was generated with po4a. Translate the source file.
 .\"
-.TH OPENPTY 3  2003-07-18 "GNU" "Linux Programmer's Manual"
-.SH Ì¾Á°
-openpty, login_tty, forkpty \- Ã¼Ëö (tty) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô
-.SH ½ñ¼°
+.\"*******************************************************************
+.TH OPENPTY 3 2010\-06\-13 GNU "Linux Programmer's Manual"
+.SH 名前
+openpty, login_tty, forkpty \- 端末ユーティリティ関数
+.SH 書式
 .nf
-.B #include <pty.h>
+\fB#include <pty.h>\fP
 .sp
-.BI "int openpty(int *" amaster ", int *" aslave ", char *" name ,
-.BI "            struct termios *" termp ", struct winsize *" winp );
+\fBint openpty(int *\fP\fIamaster\fP\fB, int *\fP\fIaslave\fP\fB, char *\fP\fIname\fP\fB,\fP
+\fB            const struct termios *\fP\fItermp\fP\fB,\fP
+\fB            const struct winsize *\fP\fIwinp\fP\fB);\fP
 .sp
-.BI "pid_t forkpty(int *" amaster ", char *" name ", struct termios *" termp ,
-.BI "              struct winsize *" winp );
+\fBpid_t forkpty(int *\fP\fIamaster\fP\fB, char *\fP\fIname\fP\fB,\fP
+\fB              const struct termios *\fP\fItermp\fP\fB,\fP
+\fB              const struct winsize *\fP\fIwinp\fP\fB);\fP
 .sp
-.B #include <utmp.h>
+\fB#include <utmp.h>\fP
 .sp
-.BI "int login_tty(int " fd );
+\fBint login_tty(int \fP\fIfd\fP\fB);\fP
 .sp
-\fI\-lutil\fP ¤Ç¥ê¥ó¥¯¤¹¤ë¡£
+\fI\-lutil\fP でリンクする。
 .fi
-.SH ÀâÌÀ
-.BR openpty ()
-´Ø¿ô¤Ï¡¢»ÈÍѲÄǽ¤Êµ¿»÷üËö (pseudo-terminal) ¤ò¸«¤Ä¤±¤Æ¡¢
-¥Þ¥¹¥¿¤È¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò
-.I amaster
-¤È
-.I aslave
-¤ËÆþ¤ì¤ÆÊÖ¤¹¡£
-.I name
-¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë̾¤¬
-.I name
-¤ËÊÖ¤µ¤ì¤ë¡£
-.I termp
-¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤ÎüËö¥Ñ¥é¥á¡¼¥¿¤Ï
-.I termp
-¤ÎÃͤËÀßÄꤵ¤ì¤ë¡£
-.I winp
-¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤Î¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¤Ï
-.I winp
-¤ËÀßÄꤵ¤ì¤ë¡£
+.SH 説明
+\fBopenpty\fP()  関数は、使用可能な疑似端末 (pseudoterminal) を見つけて、 マスタとスレーブのファイル・ディスクリプタを
+\fIamaster\fP と \fIaslave\fP に入れて返す。 \fIname\fP が NULL でない場合、スレーブのファイル名が \fIname\fP
+に返される。 \fItermp\fP が NULL でない場合、スレーブの端末パラメータは \fItermp\fP の値に設定される。 \fIwinp\fP が NULL
+でない場合、スレーブのウインドウサイズは \fIwinp\fP に設定される。
 
-.BR login_tty ()
-´Ø¿ô¤Ï¡¢Ã¼Ëö
-.I fd
-¤Ë¥í¥°¥¤¥ó¤¹¤ë½àÈ÷¤ò¤¹¤ë
-.RI ( fd
-¤Ï¼ÂºÝ¤ÎüËö¥Ç¥Ð¥¤¥¹¤Ç¤â¡¢
-.BR openpty ()
-¤ÇÊÖ¤µ¤ì¤ëµ¿»÷üËö¤Î¥¹¥ì¡¼¥Ö¤Ç¤â¤è¤¤)¡£
-¶ñÂÎŪ¤Ë¤Ï¡¢¿·¤·¤¤¥»¥Ã¥·¥ç¥ó¤òºîÀ®¤·¡¢
-.I fd
-¤ò¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤ÎÀ©¸æüËö¤È¤·¡¢
-¸Æ¤Ó½Ð¤·¸µ¤Îɸ½àÆþÎÏ¡¦É¸½à½ÐÎÏ¡¦É¸½à¥¨¥é¡¼¤Î¥¹¥È¥ê¡¼¥à¤ò
-.I fd
-¤ËÀßÄꤷ¤¿¸å¡¢
-.I fd
-¤ò¥¯¥í¡¼¥º¤¹¤ë¡£
+\fBlogin_tty\fP()  関数は、端末 \fIfd\fP にログインする準備をする (\fIfd\fP は実際の端末デバイスでも、 \fBopenpty\fP()
+で返される疑似端末のスレーブでもよい)。 具体的には、新しいセッションを作成し、 \fIfd\fP を呼び出し元のプロセスの制御端末とし、
+呼び出し元の標準入力・標準出力・標準エラーのストリームを \fIfd\fP に設定した後、 \fIfd\fP をクローズする。
 
-.BR forkpty ()
-´Ø¿ô¤Ï
-.BR openpty (),
-.BR fork (2),
-.BR login_tty ()
-¤òÁȤ߹ç¤ï¤»¡¢µ¿»÷üËö¤òÁàºî¤¹¤ë¿·¤·¤¤¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë¡£
-µ¿»÷üËö¤Î¥Þ¥¹¥¿Â¦¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï
-.I amaster
-¤ËÊÖ¤µ¤ì¡¢
-.I name
-¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë̾¤¬
-.I name
-¤ËÊÖ¤µ¤ì¤ë¡£
-.I termp
-¤È
-.I winp
-°ú¤­¿ô¤Ï¡¢NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢
-µ¿»÷üËö¤Î¥¹¥ì¡¼¥Ö¦¤ÎüËö°À­¤È¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¤ò·èÄꤹ¤ë¡£
-.SH ÊÖ¤êÃÍ
-.BR openpty (),
-.BR login_tty (),
-.BR forkpty ()
-¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢
-\-1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢
-.I errno
-¤Ï¥¨¥é¡¼¤ò¼¨¤¹ÃͤËÀßÄꤵ¤ì¤ë¡£
-À®¸ù¤·¤¿¾ì¹ç¡¢
-.BR openpty (),
-.BR login_tty ()
-¤ª¤è¤Ó 
-.BR forkpty ()
-¤Î»Ò¥×¥í¥»¥¹¤Ï 0 ¤òÊÖ¤·¡¢
-.BR forkpty ()
-¤Î¿Æ¥×¥í¥»¥¹¤Ï»Ò¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤òÊÖ¤¹¡£
-.SH ¥¨¥é¡¼
-°Ê²¼¤Î¾ì¹ç¤Ë
-.BR openpty ()
-¤Ï¼ºÇÔ¤¹¤ë:
-.TP
-.B ENOENT
-»ÈÍѲÄǽ¤ÊüËö¤¬¤Ê¤¤¡£
+\fBforkpty\fP()  関数は \fBopenpty\fP(), \fBfork\fP(2), \fBlogin_tty\fP()
+を組み合わせ、疑似端末を操作する新しいプロセスを生成する。 疑似端末のマスタ側のファイル・ディスクリプタは \fIamaster\fP に返され、
+\fIname\fP が NULL でない場合には、スレーブのファイル名が \fIname\fP に返される。 \fItermp\fP と \fIwinp\fP
+引き数は、NULL でなければ、 疑似端末のスレーブ側の端末属性とウインドウサイズを決定する。
+.SH 返り値
+\fBopenpty\fP(), \fBlogin_tty\fP(), \fBforkpty\fP()  の呼び出しが成功しなかった場合、 \-1 が返されて、
+\fIerrno\fP はエラーを示す値に設定される。 成功した場合、 \fBopenpty\fP(), \fBlogin_tty\fP()  および  
+\fBforkpty\fP()  の子プロセスは 0 を返し、 \fBforkpty\fP()  の親プロセスは子プロセスのプロセス ID を返す。
+.SH エラー
+以下の場合に \fBopenpty\fP()  は失敗する:
+.TP 
+\fBENOENT\fP
+使用可能な端末がない。
 .LP
-.BR ioctl (2)
-¤¬
-.I fd
-¤ò¸Æ¤Ó½Ð¤·¸µ¤Î¥×¥í¥»¥¹¤ÎÀ©¸æüËö¤ËÀßÄꤹ¤ë¤Î¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¡¢
-.BR login_tty ()
-¤Ï¼ºÇÔ¤¹¤ë¡£
+\fBioctl\fP(2)  が \fIfd\fP を呼び出し元のプロセスの制御端末に設定するのに失敗した場合、 \fBlogin_tty\fP()  は失敗する。
 .LP
-.BR openpty ()
-¤Þ¤¿¤Ï
-.BR fork (2)
-¤Î¤É¤Á¤é¤«¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢
-.BR forkpty ()
-¤Ï¼ºÇÔ¤¹¤ë¡£
-.SH ½àµò
-¤³¤ì¤é¤Ï BSD ¤Î´Ø¿ô¤Ç¤¢¤ê¡¢libc5 ¤È glibc2 ¤Ë¸ºß¤¹¤ë¡£
-.SH Ãí°Õ
-.\" ¤³¤ì¤é¤Î´Ø¿ô¤Ï libutil ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¥³¥ó¥Ñ¥¤¥ë»þ¤Î
-.\" ¥ª¥×¥·¥ç¥ó¤Ë
-.\" .B \-lutil
-.\" ¤ò²Ã¤¨¤ëɬÍפ¬¤¢¤ë¡£
-.\"
-2.0.92 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î glibc ¤Ç¤Ï¡¢
-.BR openpty ()
-¤Ï BSD µ¿»÷üËö¥Ú¥¢¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£
-2.0.92 °Ê¹ß¤Î glibc ¤Ç¤Ï¡¢
-.BR openpty ()
-¤Ï¤Þ¤º Unix 98 µ¿»÷üËö¥Ú¥¢¤ò¥ª¡¼¥×¥ó¤·¤è¤¦¤È¤·¡¢¤½¤ì¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë
-BSD µ¿»÷üËö¥Ú¥¢¤Î¥ª¡¼¥×¥ó¤Ø¤È°Ü¹Ô¤¹¤ë¡£
-.SH ¥Ð¥°
-ï¤â
-.I name
-¤ËÂФ·¤Æ¤É¤Î¤¯¤é¤¤Â礭¤µ¤òͽÌ󤷤Ƥª¤±¤Ð¤¤¤¤¤«Ê¬¤«¤é¤Ê¤¤¡£
-¤·¤¿¤¬¤Ã¤Æ¡¢NULL ¤Ç¤Ê¤¤
-.I name
-¤ò°ú¤­¿ô¤È¤·¤Æ
-.BR openpty ()
-¤ä
-.BR forkpty ()
-¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ï°ÂÁ´¤Ç¤¢¤ë¤È¤Ï¸À¤¨¤Ê¤¤¡£
-.SH ´ØÏ¢¹àÌÜ
-.BR fork (2),
-.BR ttyname (3),
-.BR pty (7)
+\fBopenpty\fP()  または \fBfork\fP(2)  のどちらかが失敗した場合、 \fBforkpty\fP()  は失敗する。
+.SH 準拠
+これらは BSD の関数であり、libc5 と glibc2 に存在する。 POSIX での標準化はされていない。
+.SH 注意
+glibc 2.8 で、 \fBopenpty\fP()  と \fBforkpty\fP()  の構造体へのポインタの引き数に \fBconst\fP
+修飾子が追加された。
+
+2.0.92 より前のバージョンの glibc では、 \fBopenpty\fP()  は BSD 疑似端末ペアのファイル・ディスクリプタを返す。
+2.0.92 以降の glibc では、 \fBopenpty\fP()  はまず Unix 98 疑似端末ペアをオープンしようとし、それに失敗した場合に
+BSD 疑似端末ペアのオープンへと移行する。
+.SH バグ
+誰も \fIname\fP に対してどのくらい大きさを予約しておけばいいか分からない。 したがって、NULL でない \fIname\fP を引き数として
+\fBopenpty\fP()  や \fBforkpty\fP()  を呼び出すのは安全であるとは言えない。
+.SH 関連項目
+\fBfork\fP(2), \fBttyname\fP(3), \fBpty\fP(7)
+.SH この文書について
+この man ページは Linux \fIman\-pages\fP プロジェクトのリリース 3.52 の一部
+である。プロジェクトの説明とバグ報告に関する情報は
+http://www.kernel.org/doc/man\-pages/ に書かれている。