console_ioctl

Autres langues

Langue: ja

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

Section: 4 (Pilotes et protocoles réseau)

̾Á°

console ioctl - ¥³¥ó¥½¡¼¥ëüËö¤È²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Î ioctl

ÀâÌÀ

¼¡¤Î¤è¤¦¤Ê Linux ¸ÇÍ­¤Î ioctl(2) ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£ ¤½¤ì¤¾¤ì3ÈÖÌܤΰú¿ô¤¬É¬ÍפǤ¢¤ë¡¢¤³¤³¤Ç¤Ï argp ¤È¤¹¤ë¡£
KDGETLED
LED ¤Î¾õÂÖ¤ò¼èÆÀ¤¹¤ë¡£ argp ¤Ï long int ¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ *argp ¤Î²¼°Ì 3 ¥Ó¥Ã¥È¤Ë°Ê²¼¤Î¤è¤¦¤Ë LED ¤Î¾õÂÖ¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£


    LED_CAP       0x04   ¥­¥ã¥Ô¥¿¥ë¥í¥Ã¥¯¤¬ÅÀÅô
    LEC_NUM       0x02   ¥Ê¥ó¥Ð¡¼¥í¥Ã¥¯¤¬ÅÀÅô
    LED_SCR       0x01   ¥¹¥¯¥í¡¼¥ë¥í¥Ã¥¯¤¬ÅÀÅô

KDSETLED
LED¤òÅÀÅô¤µ¤»¤ë¡£LED¤Ï argp ¤Î²¼°Ì 3 ¥Ó¥Ã¥È¤Ë½¾¤¤ÅÀÅô¤µ¤ì¤ë¡£ ¤·¤«¤·¡¢¤è¤ê¹â°Ì¤Î¥Ó¥Ã¥È¤¬¥»¥Ã¥È¤µ¤ì¤Æ¤¤¤ë»þ¤Ë¤Ï¡¢¥­¥ã¥Ô¥¿¥ë¥í¥Ã¥¯¡¢ ¥Ê¥ó¥Ð¡¼¥í¥Ã¥¯¡¢¥¹¥¯¥í¡¼¥ë¥í¥Ã¥¯¤Î¥­¡¼¥Ü¡¼¥Éµ¡Ç½¤Î¾õÂÖ¤òɽ¼¨¤¹¤ë LED ¤Ï Ä̾ï¾õÂÖ¤ËÌá¤ë¡£

¥«¡¼¥Í¥ë 1.1.54 °ÊÁ°¤Ï¡¢LED ¤Ï¤½¤ì¤¾¤ì¤Î¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤Î¾õÂÖ¤òÈ¿±Ç¤¹¤ë ¤À¤±¤Ç¡¢KDGETLED/KDSETLED ¤â¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤òÊѹ¹¤¹¤ë¤À¤±¤Ç¤¢¤Ã¤¿¡£ ¥«¡¼¥Í¥ël 1.1.54 ¤«¤é¤Ï LED ¤ËǤ°Õ¤Îɽ¼¨¤ò¤¹¤ë»ö¤¬¤Ç¤­¤ë¤è¤¦¤Ë¤Ê¤Ã¤¿¤¬¡¢ ¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤òɽ¼¨¤¹¤ë¡£ ¼¡¤Ë¼¨¤¹ 2 ¤Ä¤Î ioctl ¤Ï¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤Ë¥¢¥¯¥»¥¹¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¡£

KDGKBLED
¥­¥ã¥Ô¥¿¥ë¥í¥Ã¥¯¡¢¥Ê¥ó¥Ð¡¼¥í¥Ã¥¯¡¢¥¹¥¯¥í¡¼¥ë¥í¥Ã¥¯¤Î(LED ¤Îɽ¼¨¤Ç¤Ï ¤Ê¤¯)¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤òÆÀ¤ë¡£ argp ¤Ï¥Õ¥é¥°¤Î¾õÂÖ¤¬¥»¥Ã¥È¤µ¤ì¤ëʸ»úÊÑ¿ô¤ò»Ø¤¹¡£ (0x7)¤Ç¥Þ¥¹¥¯¤·¤ÆÆÀ¤é¤ì¤ë²¼°Ì 3 ¥Ó¥Ã¥È¤¬¸½ºß¤Î¥Õ¥é¥°¤Î¾õÂÖ¤ò¼¨¤·¡¢ (0x70)¤Ç¥Þ¥¹¥¯¤·¤ÆÆÀ¤é¤ì¤ë¼¡¤Î 3 ¥Ó¥Ã¥È¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥é¥°¤Î¾õÂÖ¤ò ¼¨¤¹¡£(¥«¡¼¥Í¥ë 1.1.54°Ê¹ß)
KDSKBLED
¥­¥ã¥Ô¥¿¥ë¥í¥Ã¥¯¡¢¥Ê¥ó¥Ð¡¼¥í¥Ã¥¯¡¢¥¹¥¯¥í¡¼¥ë¥í¥Ã¥¯¤Î(LED ¤Îɽ¼¨¤Ç¤Ï¤Ê¤¯) ¥­¡¼¥Ü¡¼¥É¥Õ¥é¥°¤ò¥»¥Ã¥È¤¹¤ë¡£ argp ¤¬¥»¥Ã¥È¤·¤¿¤¤¥Õ¥é¥°¤Ç¤¢¤ë¡£ (0x7)¤Ç¥Þ¥¹¥¯¤·¤ÆÆÀ¤é¤ì¤ë²¼°Ì 3 ¥Ó¥Ã¥È¤¬¥Õ¥é¥°¤Î¾õÂ֤ǡ¢(0x70)¤Ç¥Þ¥¹¥¯¤·¤Æ ÆÀ¤é¤ì¤ë¼¡¤Î 3 ¥Ó¥Ã¥È¤¬¥Ç¥Õ¥©¥ë¥È¤Î¥Õ¥é¥°¤Î¾õÂ֤Ǥ¢¤ë¡£(¥«¡¼¥Í¥ë 1.1.54°Ê¹ß)
KDGKBTYPE
¥­¡¼¥Ü¡¼¥É¤Î¼ïÎà¤òÆÀ¤ë¡£¤³¤ì¤ÏÃÍ 0x02 ¤ÈÄêµÁ¤µ¤ì¤Æ¤¤¤ë KB_101¤òÊÖ¤¹¡£
KDADDIO
I/O¥Ý¡¼¥È¤òÍ­¸ú¤Êʪ¤È¤·¤Æ²Ã¤¨¤ë¡£¤³¤ì¤Ï ioperm(arg,1,1) ¤ÈÅù²Á¤Ç¤¢¤ë¡£
KDDELIO
I/O¥Ý¡¼¥È¤òÍ­¸ú¤Êʪ¤«¤é³°¤¹¡£¤³¤ì¤Ï ioperm(arg,1,0) ¤ÈÅù²Á¤Ç¤¢¤ë¡£
KDENABIO
¥Ó¥Ç¥ª¥Ü¡¼¥É¤Ø¤Î I/O ¤ò²Äǽ¤Ë¤¹¤ë¡£¤³¤ì¤Ï ioperm(0x3b4, 0x3df-0x3b4+1, 1) ¤ÈÅù²Á¤Ç¤¢¤ë¡£
KDDISABIO
¥Ó¥Ç¥ª¥Ü¡¼¥É¤Ø¤Î I/O ¤òÉÔ²Äǽ¤Ë¤¹¤ë¡£¤³¤ì¤Ï ioperm(0x3b4, 0x3df-0x3b4+1, 0) ¤ÈÅù²Á¤Ç¤¢¤ë¡£
KDSETMODE
¥Æ¥­¥¹¥È/¥°¥é¥Õ¥£¥¯¥¹¥â¡¼¥É¤òÀßÄꤹ¤ë¡£ argp ¤Ï¼¡¤Î¤¦¤Á¤Î¤É¤ì¤«¡§


    KD_TEXT       0x00
    KD_GRAPHICS   0x01

KDGETMODE
¥Æ¥­¥¹¥È/¥°¥é¥Õ¥£¥¯¥¹¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë¡£ ¾å½Ò¤ÎÃͤΤɤÁ¤é¤«¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£
KDMKTONE
»ØÄꤵ¤ì¤¿Ä¹¤µ¤Î¥È¡¼¥ó¤òȯÀ¸¤¹¤ë¡£ argp ¤Î²¼°Ì 16 ¥Ó¥Ã¥È¤Ï¥¯¥í¥Ã¥¯¥µ¥¤¥¯¥ë¤òñ°Ì¤Ë¤·¤Æ¼þ´ü¤ò»ØÄꤷ¡¢ ¾å°Ì 16 ¥Ó¥Ã¥È¤¬ msec ¤Îñ°Ì¤Çɽ¤·¤¿¡¢(¥È¡¼¥ó¤òȯÀ¸¤µ¤»¤ë)»þ´Ö¤ò»ØÄꤹ¤ë¡£ ¥È¡¼¥ó¤òȯÀ¸¤µ¤»¤ë»þ´Ö¤¬¥¼¥í¤Î¤È¤­¤Ï¡¢¥µ¥¦¥ó¥É¤Ï¥ª¥Õ¤Ë¤Ê¤ë¡£ À©¸æ¤Ïľ¤Á¤ËÌá¤ë¡£ Î㤨¤Ð¡¢argp = (125<<16) + 0x637 ¤È¤¹¤ì¤Ð¡¢Ä̾ï ctrl-G ¤ò²¡¤·¤¿»þ¤Ë ȯÀ¸¤¹¤ë²»¤Ë¤Ê¤ë¡£ (¥«¡¼¥Í¥ë 0.99pl1 °Ê¹ß;¤³¤Îµ¡Ç½¤Ï ¥«¡¼¥Í¥ë 2.1.49 ¤«¤é 2.1.50 ¤Ç¤Ï¥Ð¥°¤Î¤¿¤áÆ°ºî¤·¤Ê¤¤)
KIOCSOUND
²»¤ÎȯÀ¸¤Î³«»Ï¤äÄä»ß¤ò¹Ô¤¦¡£ argp ¤Î²¼°Ì 16 ¥Ó¥Ã¥È¤Ï¥¯¥í¥Ã¥¯¥µ¥¤¥¯¥ë¤òñ°Ì¤È¤·¤Æ¼þ´ü¤ò¼¨¤¹¡£ (¤Ä¤Þ¤ê argp = 1193180/¼þÇÈ¿ô)¡£ argp = 0 ¤Î¾ì¹ç¡¢¥µ¥¦¥ó¥É¤Ï¥ª¥Õ¤Ë¤Ê¤ë¡£ ¤É¤Á¤é¤Î¾ì¹ç¤Ç¤â¡¢¤¿¤À¤Á¤ËÀ©¸æ¤ÏÌá¤ë¡£
GIO_CMAP
¸½ºß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥«¥é¡¼¥Þ¥Ã¥×¤ò¥«¡¼¥Í¥ë¤è¤ê¼èÆÀ¤¹¤ë¡£
PIO_CMAP
¥Ç¥Õ¥©¥ë¥È¤Î¥Æ¥­¥¹¥È¥â¡¼¥É¤Î¥«¥é¡¼¥Þ¥Ã¥×¤òÊѹ¹¤¹¤ë¡£ argp ¤¬»Ø¤¹ 48 ¥Ð¥¤¥È¤ÎÇÛÎóÃæ¤Ë¤Ï¡¢16 ¤Î²Äǽ¤Ê¥¹¥¯¥ê¡¼¥ó¤Î¿§¤ò¡¢ ÀÖ¡¢ÎС¢ÀĤνç¤Ë 0 ¤ò¥ª¥Õ¡¢255¤òºÇÂ綯Å٤Ȥ·¤¿ÃͤȤ·¤ÆǼ¤á¤ë¡£ ¥Ç¥Õ¥©¥ë¥È¤Î¿§¤Ï½ç¤Ë¡¢¹õ¡¢Ç»¤¤ÀÖ¡¢Ç»¤¤ÎС¢Ã㡢ǻ¤¤ÀÄ¡¢Ç»¤¤»ç¡¢Ç»¤¤¥·¥¢¥ó¡¢ ÌÀ¤ë¤¤³¥¿§¡¢Ç»¤¤³¥¿§¡¢ÌÀ¤ë¤¤ÀÖ¡¢ÌÀ¤ë¤¤ÎС¢²«¡¢ÌÀ¤ë¤¤ÀÄ¡¢ÌÀ¤ë¤¤»ç¡¢ ÌÀ¤ë¤¤¥·¥¢¥ó¡¢Çò¤Ç¤¢¤ë¡£(¥«¡¼¥Í¥ë 1.3.3°Ê¹ß)
GIO_FONT
³ÈÄ¥¤µ¤ì¤¿·Á¼°¤Ç 256 ʸ»ú¤Î¥¹¥¯¥ê¡¼¥ó¥Õ¥©¥ó¥È¤òÆÀ¤ë¡£ argp ¤Ï 8192 ¥Ð¥¤¥È¤ÎÇÛÎó¤ò»Ø¤¹¡£ ¸½ºß¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤¬ 512 ʸ»ú¤Î¥Õ¥©¥ó¥È¤Ç¤¢¤ë¤«¡¢¥³¥ó¥½¡¼¥ë¤¬ ¥Æ¥­¥¹¥È¥â¡¼¥É¤Ç¤Ê¤¤»þ¤Ë¤Ï¼ºÇÔ¤· EINVAL ¤Î¥¨¥é¡¼¥³¡¼¥É¤òÊÖ¤¹¡£
GIO_FONTX
¥¹¥¯¥ê¡¼¥ó¥Õ¥©¥ó¥È¤È¤½¤ì¤Ë´ØÏ¢¤·¤¿¾ðÊó¤ò¼èÆÀ¤¹¤ë¡£ argp ¤Ï¹½Â¤ÂÎ consolefontdesc (PIO_FONTX ¤ò»²¾È¤Î¤³¤È)¤ò»Ø¤¹¡£ ´Ø¿ô¸Æ¤Ó½Ð¤·¤Î¤È¤­¤Ë¤Ï¡¢charcount ¤Ë¤Ï¡¢chardata ¤¬»Ø¤¹ ¥Ð¥Ã¥Õ¥¡¤Ë¤ª¤µ¤Þ¤ëºÇÂç¤Îʸ»ú¿ô¤ò¥»¥Ã¥È¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ´Ø¿ô¸Æ¤Ó½Ð¤·¤«¤éÌá¤Ã¤¿»þ¤Ë¤Ï charcount ¤È charheight ¤Ë¤Ï¡¢ ¸½ºß¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤Î³ºÅö¤¹¤ë¥Ç¡¼¥¿¤¬¼ý¤á¤é¤ì¤Æ¤¤¤ë¡£ ÇÛÎó chardata ¤Ë¤Ï¡¢ºÇ½é¤Ë charcount ¤Ë¤¤¤ì¤¿Ãͤˤè¤Ã¤Æ ¥Õ¥©¥ó¥È¤ò¼ý¤á¤ë¤Î¤Ë½½Ê¬¤Ê¥¹¥Ú¡¼¥¹¤¬¤¢¤ë¤È¤ï¤«¤ì¤Ð¥Õ¥©¥ó¥È¥Ç¡¼¥¿¤¬¼ý¤á¤é¤ì¤ë¡£ ¤½¤¦¤Ç¤Ê¤¤»þ¤Ë¤Ï¡¢¥Ð¥Ã¥Õ¥¡¤ÏÊѹ¹¤µ¤ì¤º¡¢ errno ¤Ë ENOMEM ¤¬ ¥»¥Ã¥È¤µ¤ì¤ë(¥«¡¼¥Í¥ë 1.3.1 °Ê¹ß)¡£
PIO_FONT
256 ʸ»ú¤Î¥Õ¥©¥ó¥È¤ò¥»¥Ã¥È¤¹¤ë¡£EGA/VGA ¥­¥ã¥é¥¯¥¿¡¼¥¸¥§¥Í¥ì¡¼¥¿¡¼ (character generator) ¤Ë¥Õ¥©¥ó¥È¤ò¥í¡¼¥É¤¹¤ë¡£ argp ¤Ï¡¢8192 ¥Ð¥¤¥È(°ìʸ»ú 32 ¥Ð¥¤¥È)¤Î¥Þ¥Ã¥×¤ò»Ø¤¹¡£ ¥Þ¥Ã¥×¤Î¤¦¤Á¡¢ºÇ½é¤Î N ¤Î¤ß¤¬ 8xN ¤Î¥Õ¥©¥ó¥È¤Î¤¿¤á¤Ë ÍѤ¤¤é¤ì¤ë(0 < N <= 32)¡£ ¤³¤Î¸Æ¤Ó½Ð¤·¤ò¤¹¤ë¤È Unicode ¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬Ìµ¸ú¤Ë¤Ê¤ë¡£
PIO_FONTX
¥¹¥¯¥ê¡¼¥ó¥Õ¥©¥ó¥È¤È¡¢¤½¤ì¤Ë´ØÏ¢¤¹¤ë¥ì¥ó¥À¥ê¥ó¥°¾ðÊó¤ò¥»¥Ã¥È¤¹¤ë¡£ argp ¤Ï¡¢

struct consolefontdesc {

    u_short charcount;    /* ¥Õ¥©¥ó¥È¤Îʸ»ú¿ô (256¤Þ¤¿¤Ï512) */

    u_short charheight;   /* °ìʸ»ú¤ÎÁöººÀþ¤Î¿ô (1-32) */

    char *chardata;       /* Ÿ³«¤µ¤ì¤¿¥Õ¥©¥ó¥È¥Ç¡¼¥¿ */

};

¤È¤¤¤¦¹½Â¤ÂΤò»Ø¤¹¡£

ɬÍפʤ饹¥¯¥ê¡¼¥ó¤ÏŬÅö¤Ë¥µ¥¤¥ºÊѹ¹¤µ¤ì¡¢SIGWINCH ¤¬Å¬ÀÚ¤Ê ¥×¥í¥»¥¹¤ËÁ÷¤é¤ì¤ë¡£ ¤³¤Î¥³¡¼¥ë¤Ë¤è¤ê Unicode ¤Î¥Þ¥Ã¥Ô¥ó¥°¤¬Ìµ¸ú¤Ë¤Ê¤ë¡£

PIO_FONTRESET
¥¹¥¯¥ê¡¼¥ó¥Õ¥©¥ó¥È¡¢¥µ¥¤¥º¡¢ Unicode ¥Þ¥Ã¥Ô¥ó¥°¤ò¥Ö¡¼¥È»þ¤Î¥Ç¥Õ¥©¥ë¥ÈÃÍ¤Ë ¥ê¥»¥Ã¥È¤¹¤ë¡£argp ¤ÏÍѤ¤¤é¤ì¤Ê¤¤¤¬¡¢¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¤È¤Î¸ß´¹À­¤òÊݤĤ¿¤á¤Ë NULL ¤Ë¥»¥Ã¥È¤¹¤Ù¤­¤Ç¤¢¤ë¡£
GIO_SCRNMAP
¥¹¥¯¥ê¡¼¥ó¥Þ¥Ã¥Ô¥ó¥°¤ò¥«¡¼¥Í¥ë¤è¤ê¼èÆÀ¤¹¤ë¡£argp ¤Ï¥µ¥¤¥º E_TABSZ ¤Î Îΰè¤ò»Ø¤¹¡£¤½¤ÎÎΰè¤Ë¤Ï³Æ¥­¥ã¥é¥¯¥¿¡¼¤òɽ¼¨¤¹¤ë¤Î¤ËÍѤ¤¤é¤ì¤ë¥Õ¥©¥ó¥È¤Î °ÌÃÖ¤¬¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¡£ ¤³¤Î¸Æ¤Ó½Ð¤·¤Ï¸½ºß¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥Õ¥©¥ó¥È¤¬ 256 ʸ»ú¤è¤ê¤â¿¤¤»þ¤Ë¤Ï ̵°ÕÌ£¤Ê¾ðÊó¤òÊÖ¤¹»ö¤¬Â¿¤¤¡£
GIO_UNISCRNMAP
¥Õ¥ë Unicode ¥¹¥¯¥ê¡¼¥ó¥Þ¥Ã¥Ô¥ó¥°¤ò¥«¡¼¥Í¥ë¤è¤ê¼èÆÀ¤¹¤ë¡£ argp ¤Ï¥µ¥¤¥º E_TABSZ*sizeof(unsigned short) ¤ÎÎΰè¤ò»Ø¤¹¡£ ¤½¤ÎÎΰè¤Ë¤Ï³Æ¥­¥ã¥é¥¯¥¿¡¼¤ò¼¨¤¹ Unicode ¤¬¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¡£ U+F000 ¤Ë»Ï¤Þ¤ë Unicode ¤ÎÆÃÊ̤ʽ¸¹ç¤Ï¡¢¡Ö¥Õ¥©¥ó¥ÈľÀܤÊ(direct to font)¡× ¥Þ¥Ã¥Ô¥ó¥°¤ò¼¨¤¹¤Î¤ËÍѤ¤¤é¤ì¤ë(¥«¡¼¥Í¥ë 1.3.1 °Ê¹ß)¡£
PIO_SCRNMAP
¡Ö¥æ¡¼¥¶¡¼ÄêµÁ²Äǽ¤Ê(user definable)¡×(4ÈÖÌܤÎ)¥Æ¡¼¥Ö¥ë¤ò¥«¡¼¥Í¥ë¤Ë ¥í¡¼¥É¤¹¤ë¡£¤½¤Î¥Æ¡¼¥Ö¥ë¤Ï³Æ¥Ð¥¤¥È¤ò¥¹¥¯¥ê¡¼¥ó¥·¥ó¥Ü¥ë¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ë¡£ argp ¤Ï¥µ¥¤¥ºE_TABSZ¤ÎÎΰè¤ò»Ø¤¹¡£
PIO_UNISCRNMAP
¡Ö¥æ¡¼¥¶¡¼ÄêµÁ²Äǽ¤Ê¡×(4ÈÖÌܤÎ)¥Æ¡¼¥Ö¥ë¤ò¥«¡¼¥Í¥ë¤Ë¥í¡¼¥É¤¹¤ë¡£ ¤½¤Î¥Æ¡¼¥Ö¥ë¤Ï³Æ¥Ð¥¤¥È¤ò¥æ¥Ë¥³¡¼¥É¤Ë¥Þ¥Ã¥Ô¥ó¥°¤·¡¢¤½¤Î¸å¡¢ ¸½ºß¥í¡¼¥É¤µ¤ì¤Æ¤¤¤ë¥æ¥Ë¥³¡¼¥É¤«¤é¥Õ¥©¥ó¥È¤Ø¤Î¥Þ¥Ã¥×¤Ë½¾¤¤ ¥¹¥¯¥ê¡¼¥ó¥·¥ó¥Ü¥ë¤ËÊÑ´¹¤µ¤ì¤ë¡£ U+F000 ¤Ë»Ï¤Þ¤ë¥æ¥Ë¥³¡¼¥É¤ÏľÀÜ¥Õ¥©¥ó¥È¥·¥ó¥Ü¥ë¤Ë¥Þ¥Ã¥Ô¥ó¥°¤¹¤ë¤Î¤Ë »È¤¨¤ë(¥«¡¼¥Í¥ë 1.3.1 °Ê¹ß)
GIO_UNIMAP
Unicode ¤«¤é¥Õ¥©¥ó¥È¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¥«¡¼¥Í¥ë¤«¤é¼èÆÀ¤¹¤ë¡£ argp ¤Ï¡¢

struct unimapdesc {

    u_short entry_ct;

    struct unipair *entries;

};

¤È¤¤¤¦¹½Â¤ÂΤò»Ø¤¹¡£ ¤³¤³¤Ç entries ¤Ï¡¢


struct unipair {

    u_short unicode;

    u_short fontpos;

};

¤È¤¤¤¦¹½Â¤ÂΤÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ (¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß)

PIO_UNIMAP
Unicode ¤«¤é¥Õ¥©¥ó¥È¤Ø¤Î¥Þ¥Ã¥Ô¥ó¥°¤ò¥«¡¼¥Í¥ë¤Ë¥»¥Ã¥È¤¹¤ë¡£argp ¤Ï¹½Â¤ÂÎ struct unimapdesc ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£(¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß)
PIO_UNIMAPCLR
¥Æ¡¼¥Ö¥ë¤ò¥¯¥ê¥¢¤·¡¢¤½¤Î»ö¤ò¥Ï¥·¥å¥¢¥ë¥´¥ê¥º¥à¤ËÅÁ¤¨¤ë¡£ argp¤Ï

struct unimapinit {

    u_short advised_hashsize;  /* 0 if no opinion */

    u_short advised_hashstep;  /* 0 if no opinion */

    u_short advised_hashlevel; /* 0 if no opinion */

};

¤È¤¤¤¦¹½Â¤ÂΤò»Ø¤¹¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ (¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß)

KDGKBMODE
¸½ºß¤Î¥­¡¼¥Ü¡¼¥É¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë¡£argp ¤Î»Ø¤¹ long ·¿ÊÑ¿ô¤¬¡¢ ¼¡¤Î¤¦¤Á¤Î¤É¤ì¤«¤ËÀßÄꤵ¤ì¤ë¡£


    K_RAW         0x00
    K_XLATE       0x01
    K_MEDIUMRAW   0x02
    K_UNICODE     0x03

KDSKBMODE
¸½ºß¤Î¥­¡¼¥Ü¡¼¥É¥â¡¼¥É¤òÀßÄꤹ¤ë¡£ argp ¤Ï¾åµ­¤ÎÃͤΤ¦¤Á¤Î¤É¤ì¤«¤ËÅù¤·¤¤Ãͤˤ¹¤ë¡£
KDGKBMETA
¥á¥¿¥­¡¼¥Ï¥ó¥É¥ê¥ó¥°¥â¡¼¥É(meta key handling mode)¤ò¼èÆÀ¤¹¤ë¡£ argp ¤¬»Ø¤¹ long ·¿ÊÑ¿ô¤Ï¡¢¼¡¤Î¤¦¤Á¤Î¤É¤ì¤«¤ËÀßÄꤵ¤ì¤ë¡£


    K_METABIT     0x03   set high order bit
    K_ESCPREFIX   0x04   escape prefix

KDSKBMETA
¥á¥¿¥­¡¼¥Ï¥ó¥É¥ê¥ó¥°¥â¡¼¥É¤òÀßÄꤹ¤ë¡£ argp ¤Ï¾åµ­¤ÎÃͤΤɤ줫¤ËÅù¤·¤¤Ãͤˤ¹¤ë¡£
KDGKBENT
¥­¡¼¥³¡¼¥É¤ò¥¢¥¯¥·¥ç¥ó¥³¡¼¥É¤ËÊÑ´¹¤¹¤ë¥­¡¼ÊÑ´¹É½¤Î¥¨¥ó¥È¥ê¡¼¤Î°ì¤Ä¤ò ¼èÆÀ¤¹¤ë¡£ argp ¤Ï¡¢

struct kbentry {

    u_char kb_table;

    u_char kb_index;

    u_short kb_value;

};

¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ ºÇ½é¤Î2¤Ä¤ÎÍ×ÁÇ¡¢kb_table ¤Ë¤ÏÁªÂò¤¹¤ë¥­¡¼¥Æ¡¼¥Ö¥ë (0 <= kb_table < MAX_NR_KEYMAPS)¡¢kb_index ¤Ë¤Ï¥­¡¼¥³¡¼¥É(0 <= kb_index < NR_KEYS)¤òÀßÄꤹ¤ë¡£ kb_value ¤ÏÂбþ¤¹¤ë¥¢¥¯¥·¥ç¥ó¥³¡¼¥É¡¢¤Þ¤¿¤Ï¡¢¤½¤Î¤è¤¦¤Ê¥­¡¼¤¬ ¤Ê¤¤¤È¤­¤Ë¤Ï K_HOLE¡¢kb_table ¤¬Ìµ¸ú¤Ê»þ¤Ë¤Ï K_NOSUCHMAP ¤ËÀßÄꤵ¤ì¤ë¡£

KDSKBENT
ÊÑ´¹¥Æ¡¼¥Ö¥ë¤Î¥¨¥ó¥È¥ê¡¼¤Î°ì¤Ä¤òÀßÄꤹ¤ë¡£argp ¤Ï ¹½Â¤ÂÎ struct kbentry ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
KDGKBSENT
¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Îʸ»úÎó¤ò¼èÆÀ¤¹¤ë¡£argp ¤Ï¡¢

struct kbsentry {

    u_char kb_func;

    u_char kb_string[512];

};

¤È¤¤¤¦¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£

kb_func ÈÖÌܤΥե¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Î¥¢¥¯¥·¥ç¥ó¥³¡¼¥É¤ËÂбþ¤¹¤ë (NULL ¤Ç½ªÃ¼¤µ¤ì¤¿)ʸ»úÎó¤¬ kb_string ¤ËÀßÄꤵ¤ì¤ë¡£

KDSKBSENT
¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥­¡¼¤Îʸ»úÎó¤Î¥¨¥ó¥È¥ê¡¼¤òÀßÄꤹ¤ë¡£argp ¤Ï¡¢ ¹½Â¤ÂÎ struct kbsentry ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
KDGKBDIACR
¥«¡¼¥Í¥ë¤Î¥¢¥¯¥»¥ó¥È¥Æ¡¼¥Ö¥ë(accent table)¤òÆɤ߹þ¤à¡£argp¤Ï¡¢

struct kbdiacrs {

    unsigned int kb_cnt;

    struct kbdiacr kbdiacr[256];

};

¤È¤¤¤¦¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ ¤³¤³¤Ç¡¢kb_cnt ¤ÏÇÛÎóÃæ¤Î¥¨¥ó¥È¥ê¡¼¤Î¸Ä¿ô¤Ç¡¢¸Ä¡¹¤Î¥¨¥ó¥È¥ê¡¼¤Ï¡¢


struct kbdiacr {

    u_char diacr;

    u_char base;

    u_char result;

};



¤È¤¤¤¦¹½Â¤ÂΤǤ¢¤ë¡£

KDGETKEYCODE
¥«¡¼¥Í¥ë¤Î(¥¹¥­¥ã¥ó¥³¡¼¥É¤«¤é¥­¡¼¥³¡¼¥É¤Ø ÊÑ´¹¤¹¤ë)¥­¡¼¥³¡¼¥É¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¡¼¤òÆɤ߹þ¤à¡£ argp ¤Ï¡¢ struct kbkeycode { unsigned int scancode; unsigned int keycode; };

¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ keycode ¤Ï¡¢scancode ¤ËÂбþ¤·¤¿ÃͤËÀßÄꤵ¤ì¤ë¡£(¤¿¤À¤·¡¢89 <= scancode <= 255 ¤Î¤ß¤Ë¤Ä¤¤¤Æ¡£1 <= scancode <= 88 ¤Ç¤Ï keycode == scancode ¤Ç¤¢¤ë¡£) (¥«¡¼¥Í¥ë 1.1.63 °Ê¹ß)

KDSETKEYCODE
¥«¡¼¥Í¥ë¤Î¥­¡¼¥³¡¼¥É¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¡¼¤ò½ñ¤­¹þ¤à¡£argp ¤Ï¹½Â¤ÂÎ struct kbkeycode ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ (¥«¡¼¥Í¥ë 1.1.63 °Ê¹ß)
KDSIGACCEPT
¤³¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤Ï¡¢ÆÃÊ̤ÊÁȹ礻¤Ç¥­¡¼¤ò²¡¤·¤¿»þ¤ËȯÀ¸¤¹¤ë¥·¥°¥Ê¥ë argp (1 <= argp <= NSIG) ¤ò¿Ê¤ó¤Ç¼õ¤±ÉÕ¤±¤ë¤«¤É¤¦¤«¤ò¼¨¤¹¡£ (linux/drivers/char/keyboard.c ¤Î Spawn_console() ¤ò¸«¤è¡£)
VT_OPENQRY
ºÇ½é¤Î¶õ¤¤¤Æ¤¤¤ë(¤Þ¤À¥ª¡¼¥×¥ó¤µ¤ì¤Æ¤¤¤Ê¤¤)¥³¥ó¥½¡¼¥ë¤òÊÖ¤¹¡£ argp ¤Î»Ø¤¹À°¿ô¤Ë¤Ï¡¢vt ¤ÎÈֹ椬¥»¥Ã¥È¤µ¤ì¤ë (1 <= *argp <= MAX_NR_CONSOLES)¡£
VT_GETMODE
¥¢¥¯¥Æ¥£¥Ö¤Ê vt ¤Î¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë¡£argp¤Ï¡¢

struct vt_mode {

   char mode;     /* vt mode */

   char waitv;    /* if set, hang on writes if not active */

   short relsig;  /* signal to raise on release req */

   short acqsig;  /* signal to raise on acquisition */

   short frsig;   /* unused (set to 0) */

};

¤È¤¤¤¦¹½Â¤ÂΤò»Ø¤¹¥Ý¥¤¥ó¥¿¤Ç¤¢¤ê¡¢¥¢¥¯¥Æ¥£¥Ö¤Ê vt ¤Î¥â¡¼¥É¤¬ ¥»¥Ã¥È¤µ¤ì¤ë¡£ mode ¤Ï¼¡¤Î¤É¤ì¤«¤ËÀßÄꤵ¤ì¤ë¡§


   VT_AUTO       ¼«Æ°vtÀÚÂؤ¨
   VT_PROCESS    ¥×¥í¥»¥¹¥³¥ó¥È¥í¡¼¥ëÀÚÂؤ¨
   VT_ACKACQ     ¥¢¥¯¥Î¥ê¥Ã¥¸ÀÚÂؤ¨

VT_SETMODE
¥¢¥¯¥Æ¥£¥Ö¤Ê vt ¤Î¥â¡¼¥É¤òÀßÄꤹ¤ë¡£argp ¤Ï¹½Â¤ÂÎ struct vt_mode ¤Ø¤Î ¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
VT_GETSTATE
¥°¥í¡¼¥Ð¥ë¤Ê vt ¤Î¾õÂ֤ξðÊó¤ò¼èÆÀ¤¹¤ë¡£argp¤Ï¡¢

struct vt_stat {

   ushort v_active;  /* active vt */

   ushort v_signal;  /* signal to send */

   ushort v_state;   /* vt bitmask */

};

¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ »ÈÍѤµ¤ì¤Æ¤¤¤ë¤½¤ì¤¾¤ì¤Î vt ¤Ë¤Ä¤­ v_state ¤ÎÂбþ¤¹¤ë¥Ó¥Ã¥È¤¬ ¥»¥Ã¥È¤µ¤ì¤ë¡£ (¥«¡¼¥Í¥ël 1.0 ¤«¤é 1.1.92 ¤Þ¤Ç)

VT_RELDISP
¥Ç¥£¥¹¥×¥ì¡¼¤ò²òÊü¤¹¤ë¡£
VT_ACTIVATE
argp (1 <= argp <= MAX_NR_CONSOLES)¤Î vt ¤ËÀÚÂؤ¨¤ë¡£
VT_WAITACTIVE
argp¤Î vt ¤¬¥¢¥¯¥Æ¥£¥Ö¤Ë¤Ê¤ë¤Þ¤ÇÂԤġ£
VT_DISALLOCATE
argp ¤Î vt ¤Ë·ë¤Ó¤Ä¤±¤é¤ì¤¿¥á¥â¥ê¡¼¤ò²òÊü¤¹¤ë¡£ (¥«¡¼¥Í¥ë 1.1.54 °Ê¹ß)
VT_RESIZE
¥«¡¼¥Í¥ë¤¬Ç§¼±¤¹¤ë¥¹¥¯¥ê¡¼¥ó¥µ¥¤¥º¤òÀßÄꤹ¤ë¡£argp ¤Ï¡¢

struct vt_sizes {

   ushort v_rows;       /* # rows */

   ushort v_cols;       /* # columns */

   ushort v_scrollsize; /* no longer used */

};

¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£ ¤³¤ì¤Ï¥Ó¥Ç¥ª¥â¡¼¥É¤òÊѹ¹¤·¤Ê¤¤»ö¤ËÃí°Õ¡£ resizecons(8) ¤ò¸«¤è(¥«¡¼¥Í¥ë 1.1.54 °Ê¹ß)¡£

VT_RESIZEX
¥«¡¼¥Í¥ë¤¬Ç§¼±¤¹¤ë³Æ¼ï¤Î¥¹¥¯¥ê¡¼¥ó¥Ñ¥é¥á¡¼¥¿¤òÀßÄꤹ¤ë¡£argp ¤Ï¡¢

struct vt_consize {

    ushort v_rows;    /* number of rows */

    ushort v_cols;    /* number of columns */

    ushort v_vlin;    /* number of pixel rows on screen */

    ushort v_clin;    /* number of pixel rows per character */

    ushort v_vcol;    /* number of pixel columns on screen */

    ushort v_ccol;    /* number of pixel columns per character */

};

¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£

¥Ñ¥é¥á¡¼¥¿¤Ï¥¼¥í¤Ç¤¢¤Ã¤Æ¤â¤è¤¤¡£¤½¤Î¤È¤­¤Ï ``Êѹ¹¤·¤Ê¤¤¤³¤È'' ¤ò °ÕÌ£¤¹¤ë¤¬¡¢Ê£¿ô¤Î¥Ñ¥é¥á¡¼¥¿¤¬ÀßÄꤵ¤ì¤¿»þ¤Ë¤Ï¤½¤ì¤é¤Î´Ö¤ÇÌ·½â¤¬ ¤Ê¤¤¤è¤¦¤Ë¤·¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ ¤³¤Î´Ø¿ô¸Æ¤Ó½Ð¤·¤Ë¤è¤Ã¤Æ¤â¥Ó¥Ç¥ª¥â¡¼¥É¤ÏÊѹ¹¤µ¤ì¤Ê¤¤»ö¤ËÃí°Õ¡£ resizecons(8) ¤ò»²¾È¤Î»ö(¥«¡¼¥Í¥ë 1.3.3 °Ê¹ß)¡£

°Ê²¼¤Î ioctl ¤¬¤É¤Î¤è¤¦¤ËÆ°ºî¤ò¤¹¤ë¤«¤Ï¡¢argp ¤¬»Ø¤¹¹½Â¤ÂΤΠºÇ½é¤Î¥Ð¥¤¥È(¤³¤³¤Ç¤Ï subcode ¤È¸Æ¤Ö)¤Ë°Í¸¤¹¤ë¡£ ¤³¤ì¤é¤Î¸Æ½Ð¤·¤Ï¡¢¥¹¡¼¥Ñ¡¼¥æ¡¼¥¶¡¼¤«¸½ºß¤Î tty ¤Î¥ª¡¼¥Ê¤Ë¤Î¤ßµö¤µ¤ì¤ë¡£

TIOCLINUX, subcode=0
¥¹¥¯¥ê¡¼¥ó¤ò¥À¥ó¥×(dump)¤¹¤ë ¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß¤Ç¤Ê¤¯¤Ê¤Ã¤¿(1.1.92 °Ê¹ß¤Ç¤Ï¡¢Âå¤ï¤ê¤Ë /dev/vcsN ¤Þ¤¿¤Ï /dev/vcsaN ¤è¤êÆɤ߹þ¤à)¡£
TIOCLINUX, subcode=1
¥¿¥¹¥¯¾ðÊó¤ò¼èÆÀ¤¹¤ë¡£¥«¡¼¥Í¥ë 1.1.92 ¤Ç¤Ê¤¯¤Ê¤Ã¤¿¡£
TIOCLINUX, subcode=2
ÁªÂò¤òÀßÄꤹ¤ë¡£ argp ¤¬»Ø¤¹¤Î¤Ï¡¢

struct {

   char subcode;

   short xs, ys, xe, ye;

   short sel_mode;

}



¤Ç¤¢¤ê¡¢¤³¤³¤Ç xs ¤È ys ¤Ï»Ï¤á¤Î·å¤È¹Ô¤Ç¡¢xe ¤È ye ¤Ï½ª¤ê¤Î·å¤È ¹Ô¤Ç¤¢¤ë¡£ (º¸¾å¤Î¶ù¤¬ ·å=¹Ô=1 ) sel_mode ¤Ï 0 ¤¬Ê¸»úËè¤ÎÁªÂò¤Ç¡¢1¤Ï¸ìËè¤ÎÁªÂò¡¢2¤Ï¹ÔËè¤ÎÁªÂò¤ò °ÕÌ£¤¹¤ë¡£ ¼¨¤µ¤ì¤¿¥¹¥¯¥ê¡¼¥ó¾å¤Îʸ»ú¤Ï¥Ï¥¤¥é¥¤¥Èɽ¼¨¤µ¤ì devices/char/console.c ¤Î ÀÅŪÇÛÎó sel_buffer ¤ËÊݸ¤µ¤ì¤ë¡£
TIOCLINUX, subcode=3
ÁªÂò¤·¤¿¤â¤Î¤ò¥Ú¡¼¥¹¥È¤¹¤ë¡£ ÁªÂò¥Ð¥Ã¥Õ¥¡Ãæ¤Îʸ»ú ¤¬ fd ¤Ë½ñ¤­½Ð¤µ¤ì¤ë¡£
TIOCLINUX, subcode=4
¥¹¥¯¥ê¡¼¥ó¤ò¥¢¥ó¥Ö¥é¥ó¥¯(unblank)¤¹¤ë¡£
TIOCLINUX, subcode=5
¸ìËè¤ÎÁªÂò¤Î¤¿¤á¤Î¡Ö¸ì¡×Ãæ¤Îʸ»ú¤òµ¬Äꤷ¤Æ¤¤¤ë 256 ¥Ó¥Ã¥È¤Î¥ë¥Ã¥¯¥¢¥Ã¥× ¥Æ¡¼¥Ö¥ë¤ÎÆâÍƤòÀßÄꤹ¤ë(¥«¡¼¥Í¥ë 1.1.32 °Ê¹ß)¡£
TIOCLINUX, subcode=6
argp ¤Ïʸ»úÊÑ¿ô¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¤Ç¡¢¤½¤ÎÆâÍƤ¬¥«¡¼¥Í¥ëÊÑ¿ô shift_state¤ÎÃͤËÀßÄꤵ¤ì¤ë(¥«¡¼¥Í¥ë 1.1.32 °Ê¹ß)¡£
TIOCLINUX, subcode=7
argp ¤Ïʸ»úÊÑ¿ô¤ò»Ø¤¹¥Ý¥¤¥ó¥¿¤Ç¡¢¤½¤ÎÆâÍƤ¬¥«¡¼¥Í¥ëÊÑ¿ô report_mouse ¤ÎÃͤËÀßÄꤵ¤ì¤ë(¥«¡¼¥Í¥ë 1.1.33 °Ê¹ß)¡£
TIOCLINUX, subcode=8
¥¹¥¯¥ê¡¼¥óÉý¡¢¥¹¥¯¥ê¡¼¥ó¹â¤µ¡¢¥«¡¼¥½¥ë°ÌÃÖ¡¢Á´¤Æ¤Îʸ»ú°À­¤ÎÁȤò¥À¥ó¥×¤¹¤ë (¥«¡¼¥Í¥ë 1.1.67 ¤«¤é 1.1.91¤Þ¤Ç¤Î¤ß¡£ ¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß¤Ç¤Ï /dev/vcsa*¤è¤êÆɤ߹þ¤à)¡£
TIOCLINUX, subcode=9
¥¹¥¯¥ê¡¼¥óÉý¡¢¥¹¥¯¥ê¡¼¥ó¹â¤µ¡¢¥«¡¼¥½¥ë°ÌÃÖ¡¢Á´¤Æ¤Îʸ»ú°À­¤ÎÁȤòÉü¸µ¤¹¤ë (¥«¡¼¥Í¥ë 1.1.67 ¤«¤é 1.1.91 ¤Þ¤Ç¤Î¤ß¡£ ¥«¡¼¥Í¥ë 1.1.92 °Ê¹ß¤Ç¤Ï /dev/vcsa* ¤Ë½ñ¤­¹þ¤à)¡£
TIOCLINUX, subcode=10
¿·À¤Âå¥â¥Ë¥¿¡¼¤Î¥Ñ¥ï¡¼¥»¡¼¥Öµ¡Ç½¤òÀ©¸æ¤¹¤ë¡£ VESA ¥¹¥¯¥ê¡¼¥ó¥Ö¥é¥ó¥­¥ó¥°¥â¡¼¥É¤¬ argp[1]¤ËÀßÄꤵ¤ì¤ë¡£ ¤½¤ÎÃͤϥ¹¥¯¥ê¡¼¥ó¥Ö¥é¥ó¥­¥ó¥°¤¬¤É¤Î¤è¤¦¤Ë¹Ô¤ï¤ì¤ë¤«¤ò¼¨¤¹¡£°Ê²¼¤¬¤½¤Î ÃͤǤ¢¤ë¡£

        0: ¥¹¥¯¥ê¡¼¥ó¥Ö¥é¥ó¥­¥ó¥°¤Ê¤·¡£

        1:¸½ºß¤Î¥Ó¥Ç¥ª¥¢¥À¥×¥¿¡¼¥ì¥¸¥¹¥¿¤¬Êݸ¤µ¤ì¤¿¤¢¤È¡¢
¥³¥ó¥È¥í¡¼¥é¤Ï¿âľƱ´ü¥Ñ¥ë¥¹¤ò¥ª¥Õ¤Ë¤¹¤ë¤è¤¦¥×¥í¥°¥é¥à¤µ¤ì¤ë¡£¤³¤ì¤Ë¤è¤ê ¥â¥Ë¥¿¡¼¤Ï¡Ö¥¹¥¿¥ó¥Ð¥¤¡×¥â¡¼¥É¤Ë¤Ï¤¤¤ë¡£ ¥â¥Ë¥¿¡¼¤Ë Off_Mode ¥¿¥¤¥Þ¤¬È÷¤ï¤Ã¤Æ¤ª¤ì¤Ð¡¢ºÇ½ªÅª¤Ë¤Ï¥â¥Ë¥¿¡¼¤¬¼«Ê¬¤Ç ÅŸ»¤òÍ¡£

        2:¸½ºß¤ÎÀßÄê¤òÊݸ¤·¤¿¸å¡¢¿âľ¡¢¿åʿƱ´ü¥Ñ¥ë¥¹¤¬¥ª¥Õ¤Ë¤Ê¤ë¡£
¤³¤ì¤Ë¤è¤ê¥â¥Ë¥¿¡¼¤Ï¡Ö¥ª¥Õ¡×¥â¡¼¥É¤Ë¤Ê¤ë¡£ ¥â¥Ë¥¿¡¼¤Ë Off_Mode ¥¿¥¤¥Þ¡¼¤¬¤Ê¤¤»þ¡¢¤Þ¤¿¤Ï¡¢blank_timer ¤¬¥¿¥¤¥à¥¢¥¦¥È¤·¤¿¤é ¤¹¤°¤Ë¥â¥Ë¥¿¡¼¤ÎÅŸ»¤òÍ¤¿¤¤¤È¤­¤Ë¤³¤ÎÁªÂò»è¤òÁª¤Ö¡£ (Ãí°Õ¡§ÉÑÈˤ˥â¥Ë¥¿¡¼¤ÎÅŸ»¤òÀÚ¤ë¤È¥â¥Ë¥¿¡¼¤òÄˤá¤ë¡£)

(¥«¡¼¥Í¥ë 1.1.76 °Ê¹ß)

Ìá¤êÃÍ

À®¸ù»þ¤Ë¤Ï 0 ¤¬ÊÖ¤µ¤ì¤ë¡£¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï -1 ¤¬ÊÖ¤µ¤ì¡¢ errno ¤¬ÀßÄꤵ¤ì¤ë¡£

¥¨¥é¡¼

errno ¤Ï¼¡¤Î¤è¤¦¤ÊÃͤò¤È¤ë:
EBADF
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬Ìµ¸ú¡£
ENOTTY
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥­¥ã¥é¥¯¥¿¡¦¥¹¥Ú¥·¥ã¥ë¥Ç¥Ð¥¤¥¹¤È´ØÏ¢ÉÕ¤±¤é¤ì¤Æ ¤¤¤Ê¤¤¡£¤Þ¤¿¤Ï¡¢Í׵ᤵ¤ì¤¿¤â¤Î¤¬¤½¤ì¤ËÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤¡£
EINVAL
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Þ¤¿¤Ï argp ¤¬Ìµ¸ú¡£
EPERM
¸¢¸Â¤¬ÉÔ½½Ê¬¡£

Ãí°Õ

·Ù¹ð: ¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò Linux ¤Î¥³¥ó¥½¡¼¥ë ioctl ¤òʸ½ñ²½¤·¤¿¤â¤Î¤È»×¤ï¤Ê¤¤»ö¡£ ¤³¤ì¤Ï¡¢¶½Ì£¤¬¤¢¤ë¿Í¤¬¥½¡¼¥¹¤òÆɤळ¤È¤ÎÂå¤ï¤ê¤Ë¤Ê¤ë¤è¤¦¤ËÍÑ°Õ¤·¤¿Êª¤Ç¤¢¤ë¡£ ioctl ¤Ïʸ½ñ²½¤µ¤ì¤Ê¤¤ Linux ¤ÎÆâÉôµ¡Ç½¤Ç¤¢¤Ã¤Æ¡¢·Ù¹ð¤Ê¤·¤Ë Êѹ¹¤µ¤ì¤ë¤³¤È¤¬¤¢¤ë¡£ (¤½¤·¤Æ¡¢¤³¤Î¥Ú¡¼¥¸¤Ï¥«¡¼¥Í¥ë 1.1.94 ¤Î¤È¤­¤Î¾õ¶·¤òµ­½Ò¤·¤¿Êª¤Ç¡¢¤½¤ì¤Ï °ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈÈæ¤Ù¤ì¤Ð¡¢Â¿¤¯¤Î°ã¤¤¤¬¤¢¤ë)

ioctl ¤Ï¥«¡¼¥Í¥ë¤È¡¢¤¢¤ëÆÃÄê¤Î¤è¤¯ÃΤé¤ì¤¿¥×¥í¥°¥é¥à¤È¤Î¾ðÊó¸ò´¹¤Î¤¿¤á¤Ë ƳÆþ¤µ¤ì¤ë»ö¤¬Èó¾ï¤Ë¿¤¤(fdisk, hdparm, setserial,tunelp, loadkeys, selection, setfont ¤Ê¤É)¡£¤½¤Î¤¿¤á ioctl ¤ÎÆ°ºî¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥×¥í¥°¥é¥à¤¬ ɬÍפȤ·¤¿»þ¤Ë¤ÏÊѹ¹¤Ë¤Ê¤ë¡£

¤³¤ì¤é¤Î ioctl ¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤Ï¾¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Unix ¤È¤Î¸ß´¹À­¤¬ ¤Ê¤¤¤·¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¤Ç¤Ï¡¢Áö¤é¤Ê¤¤¡£¤µ¤é¤Ë¾­Íè¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¤Ç¤ÏÁö¤é¤Ê¤¯¤Ê¤ë¤«¤âÃΤì¤Ê¤¤¡£

POSIX µ¡Ç½¤ò»È¤¤¤Ê¤µ¤¤¡£

´ØÏ¢¹àÌÜ

dumpkeys(1), kbd_mode(1), loadkeys(1), mknod(1), setleds(1), setmetamode(1), execve(2), fcntl(2), ioperm(2), termios(3), console(4), console_codes(4), mt(4), sd(4), tty(4), tty_ioctl(4), ttyS(4), vcs(4), vcsa(4), charsets(7), mapscrn(8), resizecons(8), setfont(8), /usr/include/linux/kd.h, /usr/include/linux/vt.h