openpty

Autres langues

Langue: ja

Version: 2003-07-18 (openSuse - 09/10/07)

Section: 3 (Bibliothèques de fonctions)

̾Á°

openpty, login_tty, forkpty - üËö (tty) ¥æ¡¼¥Æ¥£¥ê¥Æ¥£´Ø¿ô

½ñ¼°


#include <pty.h>

 /* openpty ¤È forkpty ÍÑ */


#include <utmp.h> /* login_tty ÍÑ */ int openpty(int *amaster, int *aslave, char *name, struct termios *termp, struct winsize *winp); int login_tty(int fd); pid_t forkpty(int *amaster, char *name, struct termios *termp, struct winsize *winp); -lutil ¤Ç¥ê¥ó¥¯¤¹¤ë¡£

ÀâÌÀ

openpty() ´Ø¿ô¤Ï¡¢»ÈÍѲÄǽ¤Êµ¿»÷üËö (pseudo-terminal) ¤ò¸«¤Ä¤±¤Æ¡¢ ¥Þ¥¹¥¿¤È¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤ò amaster ¤È aslave ¤ËÆþ¤ì¤ÆÊÖ¤¹¡£ name ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë̾¤¬ name ¤ËÊÖ¤µ¤ì¤ë¡£ termp ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤ÎüËö¥Ñ¥é¥á¡¼¥¿¤Ï termp ¤ÎÃͤËÀßÄꤵ¤ì¤ë¡£ winp ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¡¢¥¹¥ì¡¼¥Ö¤Î¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¤Ï winp ¤ËÀßÄꤵ¤ì¤ë¡£

login_tty() ´Ø¿ô¤Ï¡¢Ã¼Ëö fd ¤Ë¥í¥°¥¤¥ó¤¹¤ë½àÈ÷¤ò¤¹¤ë (fd ¤Ï¼ÂºÝ¤ÎüËö¥Ç¥Ð¥¤¥¹¤Ç¤â¡¢ openpty() ¤ÇÊÖ¤µ¤ì¤ëµ¿»÷üËö¤Î¥¹¥ì¡¼¥Ö¤Ç¤â¤è¤¤)¡£ ¶ñÂÎŪ¤Ë¤Ï¡¢¿·¤·¤¤¥»¥Ã¥·¥ç¥ó¤òºîÀ®¤·¡¢ fd ¤ò¥«¥ì¥ó¥È¡¦¥×¥í¥»¥¹¤ÎÀ©¸æüËö¤È¤·¡¢ ¥«¥ì¥ó¥È¡¦¥×¥í¥»¥¹¤Îɸ½àÆþÎÏ¡¦É¸½à½ÐÎÏ¡¦É¸½à¥¨¥é¡¼¤Î¥¹¥È¥ê¡¼¥à¤ò fd ¤ËÀßÄꤷ¤¿¸å¡¢ fd ¤ò¥¯¥í¡¼¥º¤¹¤ë¡£

forkpty() ´Ø¿ô¤Ï openpty(), fork(2), login_tty() ¤òÁȤ߹ç¤ï¤»¡¢µ¿»÷üËö¤òÁàºî¤¹¤ë¿·¤·¤¤¥×¥í¥»¥¹¤òÀ¸À®¤¹¤ë¡£ µ¿»÷üËö¤Î¥Þ¥¹¥¿Â¦¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ï amaster ¤ËÊÖ¤µ¤ì¡¢ name ¤¬ NULL ¤Ç¤Ê¤¤¾ì¹ç¤Ë¤Ï¡¢¥¹¥ì¡¼¥Ö¤Î¥Õ¥¡¥¤¥ë̾¤¬ name ¤ËÊÖ¤µ¤ì¤ë¡£ termp ¤È winp ¥Ñ¥é¥á¡¼¥¿¤Ï¡¢NULL ¤Ç¤Ê¤±¤ì¤Ð¡¢ µ¿»÷üËö¤Î¥¹¥ì¡¼¥Ö¦¤ÎüËö°À­¤È¥¦¥¤¥ó¥É¥¦¥µ¥¤¥º¤ò·èÄꤹ¤ë¡£

ÊÖ¤êÃÍ

openpty(), login_tty(), forkpty() ¤Î¸Æ¤Ó½Ð¤·¤¬À®¸ù¤·¤Ê¤«¤Ã¤¿¾ì¹ç¡¢ -1 ¤¬ÊÖ¤µ¤ì¤Æ¡¢ errno ¤Ï¥¨¥é¡¼¤ò¼¨¤¹ÃͤËÀßÄꤵ¤ì¤ë¡£ À®¸ù¤·¤¿¾ì¹ç¡¢ openpty(), login_tty() ¤ª¤è¤Ó 
forkpty() ¤Î»Ò¥×¥í¥»¥¹¤Ï 0 ¤òÊÖ¤·¡¢ forkpty() ¤Î¿Æ¥×¥í¥»¥¹¤Ï»Ò¥×¥í¥»¥¹¤Î¥×¥í¥»¥¹ ID ¤òÊÖ¤¹¡£

¥¨¥é¡¼

°Ê²¼¤Î¾ì¹ç¤Ë openpty() ¤Ï¼ºÇÔ¤¹¤ë:
ENOENT
»ÈÍѲÄǽ¤ÊüËö¤¬¤Ê¤¤¡£

ioctl(2) ¤¬ fd ¤ò¥«¥ì¥ó¥È¥×¥í¥»¥¹¤ÎÀ©¸æüËö¤ËÀßÄꤹ¤ë¤Î¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¡¢ login_tty() ¤Ï¼ºÇÔ¤¹¤ë¡£

openpty() ¤Þ¤¿¤Ï fork(2) ¤Î¤É¤Á¤é¤«¤¬¼ºÇÔ¤·¤¿¾ì¹ç¡¢ forkpty() ¤Ï¼ºÇÔ¤¹¤ë¡£

½àµò

¤³¤ì¤é¤Ï BSD ¤Î´Ø¿ô¤Ç¤¢¤ê¡¢libc5 ¤È glibc2 ¤Ë¸ºß¤¹¤ë¡£

Ãí°Õ

2.0.92 ¤è¤êÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤Î glibc ¤Ç¤Ï¡¢ openpty() ¤Ï BSD µ¿»÷üËö¥Ú¥¢¤Î¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤òÊÖ¤¹¡£ 2.0.92 °Ê¹ß¤Î glibc ¤Ç¤Ï¡¢ openpty() ¤Ï¤Þ¤º Unix 98 µ¿»÷üËö¥Ú¥¢¤ò¥ª¡¼¥×¥ó¤·¤è¤¦¤È¤·¡¢¤½¤ì¤Ë¼ºÇÔ¤·¤¿¾ì¹ç¤Ë BSD µ¿»÷üËö¥Ú¥¢¤Î¥ª¡¼¥×¥ó¤Ø¤È°Ü¹Ô¤¹¤ë¡£

¥Ð¥°

ï¤â name ¤ËÂФ·¤Æ¤É¤Î¤¯¤é¤¤Â礭¤µ¤òͽÌ󤷤Ƥª¤±¤Ð¤¤¤¤¤«Ê¬¤«¤é¤Ê¤¤¡£ ¤·¤¿¤¬¤Ã¤Æ¡¢NULL ¤Ç¤Ê¤¤ name ¤ò°ú¤­¿ô¤È¤·¤Æ openpty() ¤ä forkpty() ¤ò¸Æ¤Ó½Ð¤¹¤Î¤Ï°ÂÁ´¤Ç¤¢¤ë¤È¤Ï¸À¤¨¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

fork(2), pty(7)