Rechercher une page de manuel
ioctl
Langue: ja
Version: 2000-09-21 (openSuse - 09/10/07)
Section: 2 (Appels système)
̾Á°
ioctl - ¥Ç¥Ð¥¤¥¹ (device) ¤òÀ©¸æ¤¹¤ë½ñ¼°
#include <sys/ioctl.h>int ioctl(int d, int request, ...);
ÀâÌÀ
ioctl() ´Ø¿ô¤Ï¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë¤ò¹½À®¤¹¤ë¥Ç¥Ð¥¤¥¹¤Î¥Ñ¥é¥á¡¼¥¿¤ò Áàºî¤¹¤ë¡£ÆÃ¤Ë¡¢¥¥ã¥é¥¯¥¿·¿¤Î¥¹¥Ú¥·¥ã¥ë¡¦¥Õ¥¡¥¤¥ë(Î㤨¤ÐüËö(terminal)) ¤Î¿¤¯¤ÎÁàºî²Äǽ¤ÊÆÃÀ¤ò ioctl() ¥ê¥¯¥¨¥¹¥È¤Ë¤è¤Ã¤ÆÀ©¸æ¤¹¤ë¤³¤È¤¬¤Ç¤¤ë¡£°ú¤¿ô d ¤Ï¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£2ÈÖÌܤΰú¤¿ô¤Ï¡¢¥Ç¥Ð¥¤¥¹°Í¸¤Î¥ê¥¯¥¨¥¹¥È¡¦¥³¡¼¥É¤Ç¤¢¤ë¡£ 3ÈÖÌܤΰú¤¿ô¤Ï¡¢¥á¥â¥ê¤Ø¤Î·¿¤ò»ØÄꤷ¤Ê¤¤¥Ý¥¤¥ó¥¿¤Ç¤¢¤ë¡£ ¤³¤Î°ú¤¿ô¤ÏÅÁÅýŪ¤Ë(C ¤Ç void * ¤¬Í¸ú¤Ë¤Ê¤ëÁ°¤«¤é) char *argp ¤Èɽµ¤µ¤ì¤Æ¤¤¤ë¡£¤·¤¿¤¬¤Ã¤Æ¡¢¤³¤Îʸ¾Ï¤Ç¤â¤½¤Î¤è¤¦¤Ë̾ÉÕ¤±¤ë¤³¤È¤È¤¹¤ë¡£
ioctl() request ¤Ë¤Ï¡¢°Ê²¼¤Î¾ðÊó¤ò¥Ð¥¤¥È¿ô¤Ç¥¨¥ó¥³¡¼¥É¤¹¤ë: (1)°ú¤¿ô¤¬ ÆþÎÏ ¥Ñ¥é¥á¡¼¥¿¤« ½ÐÎÏ ¥Ñ¥é¥á¡¼¥¿¤Î¤É¤Á¤é¤«¤Ç¤¢¤ë¤«¡¢ (2) argp ¤ÎÂ礤µ¡£ ioctl() request ¤ò»ØÄꤹ¤ë¤¿¤á¤Î¥Þ¥¯¥í(macro)¤ÈÄêµÁ¤Ï <sys/ioctl.h> ¥Õ¥¡¥¤¥ë¤Ë¤¢¤ë¡£
ÊÖ¤êÃÍ
ioctl() requests use the return value as an output parameter ¤¿¤¤¤Æ¤¤¤Î¾ì¹ç¡¢À®¸ù¤·¤¿¾ì¹ç¤Ï¥¼¥í¤¬ÊÖ¤µ¤ì¤ë¡£ ¤¤¤¯¤Ä¤«¤Î ioctl() Í×µá¤Ç¤Ï½ÐÎϥѥé¥á¡¼¥¿¤È¤·¤ÆÊÖ¤êÃͤò»ÈÍѤ·¤Æ¤¤¤¿¤ê¡¢ À®¸ù¤·¤¿¾ì¹ç¤ËÈó 0 ¤ÎÃͤòÊÖ¤·¤¿¤ê¤¹¤ë¡£ ¥¨¥é¡¼¤Î¾ì¹ç¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬Å¬ÀÚ¤ËÀßÄꤵ¤ì¤ë¡£¥¨¥é¡¼
- EBADF
- d ¤¬Í¸ú¤Ê¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Ç¤Ï¤Ê¤¤¡£
- EFAULT
- argp ¤¬¥¢¥¯¥»¥¹ÉÔ²Äǽ¤Ê¥á¥â¥ê¤ò»²¾È¤·¤Æ¤¤¤ë¡£
- EINVAL
- request ¤Þ¤¿¤Ï argp ¤¬ÉÔÀµ¤Ç¤¢¤ë¡£
- ENOTTY
- d ¤¬¥¥ã¥é¥¯¥¿·¿¤Î¥¹¥Ú¥·¥ã¥ë¡¦¥Ç¥Ð¥¤¥¹¤ò»²¾È¤·¤Æ¤¤¤Ê¤¤¡£
- ENOTTY
- »ØÄꤵ¤ì¤¿¥ê¥¯¥¨¥¹¥È¤Ï¥Ç¥£¥¹¥¯¥ê¥×¥¿ d ¤¬»²¾È¤¹¤ë¼ïÎà¤Î¥ª¥Ö¥¸¥§¥¯¥È¤Ë¤ÏŬÍѤ¹¤ë¤³¤È¤¬¤Ç¤¤Ê¤¤¡£
½àµò
¤É¤ì¤«°ì¤Ä¤Îɸ½à¤ËÂбþ¤·¤Æ¤¤¤ë¤ï¤±¤Ç¤Ï¤Ê¤¤¡£ ioctl(2) ¤Î°ú¤¿ô¡¢ÊÖ¤êÃÍ¡¢²ò¼á¤Ï¡¢½èÍýÂоݤΥǥХ¤¥¹¡¦¥É¥é¥¤¥Ð¤´¤È¤Ë °Û¤Ê¤ë(¤³¤Î´Ø¿ô¤Ï Unix ¤Î ¥¹¥È¥ê¡¼¥à I/O ¥â¥Ç¥ë ¤Ë ÌÀ¤é¤«¤ËŬ¹ç¤·¤Ê¤¤ÍÍ¡¹¤ÊÁàºî¤Ë»ÈÍѤµ¤ì¤ë)¡£ ¤è¤¯ÃΤé¤ì¤Æ¤¤¤ë ioctl() ¤Î¥ê¥¹¥È¤Ë¤Ä¤¤¤Æ¤Ï ioctl_list(2) ¤ò»²¾È¤¹¤ë¤³¤È¡£ ioctl() ´Ø¿ô¥³¡¼¥ë¤Ï Version 7 AT&T Unix ¤ÇÅо줷¤¿¡£Ãí°Õ
¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ò»È¤¦¤Ë¤Ï¡¢¥ª¡¼¥×¥ó¤µ¤ì¤¿¥Õ¥¡¥¤¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬ ɬÍפǤ¢¤ë¡£¤·¤Ð¤·¤Ð open(2) ¥³¡¼¥ë¤Ï˾¤ó¤Ç¤¤¤Ê¤¤ÉûºîÍѤòȼ¤¦¤³¤È¤¬¤¢¤ë¤¬¡¢Linux ¤Ç¤Ï open(2) ¤Ë O_NONBLOCK ¥Õ¥é¥°¤ò¤Ä¤±¤ë¤³¤È¤Ç¤³¤ÎÉûºîÍѤòÈò¤±¤ë¤³¤È¤¬¤Ç¤¤ë¡£´ØÏ¢¹àÌÜ
execve(2), fcntl(2), ioctl_list(2), open(2), mt(4), sd(4), tty(4)Contenus ©2006-2023 Benjamin Poulain
Design ©2006-2023 Maxime Vantorre