|
|
CONSOLE_IOCTLS
Section: Linux Programmer's Manual (4) Updated: September 18, 1995 Index
Return to Main Contents
̾Á°
console ioctl - üËö¥³¥ó¥½¡¼¥ë¤È²¾ÁÛ¥³¥ó¥½¡¼¥ë¤Î ioctl
ÀâÌÀ
·Ù¹ð: ¤¢¤Ê¤¿¤¬°Ê²¼¤Î¾ðÊó¤ò»È¤¦¤Ê¤é¡¢¤½¤ì¤Ê¤ê¤Î³Ð¸ç¤Ç¤É¤¦¤¾¡£
·Ù¹ð¡§ioctl ¤Ïʸ½ñ²½¤µ¤ì¤Ê¤¤ Linux ¤ÎÆâÉôµ¡Ç½¤Ç¤¢¤ê¡¢·Ù¹ð¤Ê¤·¤ËÊѹ¹
¤µ¤ì¤ë¶²¤ì¤¬¤¢¤ë¡£¤Ê¤ë¤Ù¤¯ POSIX µ¡Ç½¤ò»È¤¦¤³¤È¤ò´«¤á¤ë¡£
¼¡¤Î¤è¤¦¤Ê Linux ¸ÇͤΠioctl() ¤¬¥µ¥Ý¡¼¥È¤µ¤ì¤Æ¤¤¤ë¡£
¤½¤ì¤¾¤ì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
-
¥Æ¥¥¹¥È/¥°¥é¥Õ¥£¥¯¥¹¥â¡¼¥É¤ò¼èÆÀ¤¹¤ë¡£ argp ¤¬»Ø¤¹ long ·¿ÊÑ¿ô
¤Ë¾å½Ò¤ÎÃͤΤɤÁ¤é¤«¤¬¥»¥Ã¥È¤µ¤ì¤ë¡£
- 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
-
¸½ºß¤Î¥Ç¥Õ¥©¥ë¥È¤Î¥«¥é¡¼¥Þ¥Ã¥×¤ò¥«¡¼¥Í¥ë¤è¤ê¼èÆÀ¤¹¤ë¡£argp ¤Ï 48
¥Ð¥¤¥È¤ÎÇÛÎó¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¡£(¥«¡¼¥Í¥ë 1.3.3 °Ê¹ß)
- 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
¤Ï¹½Â¤ÂÎ 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 ¤Ï¹½Â¤ÂÎ kbentry
¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
- KDGKBSENT
-
¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥¡¼¤Îʸ»úÎó¤ò¼èÆÀ¤¹¤ë¡£argp ¤Ï¡¢
struct kbsentry {
u_char kb_func;
u_char kb_string[512];
};
¤È¤¤¤¦¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
kb_func ÈÖÌܤΥե¡¥ó¥¯¥·¥ç¥ó¥¡¼¤Î¥¢¥¯¥·¥ç¥ó¥³¡¼¥É¤ËÂбþ¤¹¤ë
(NULL ¤Ç½ªÃ¼¤µ¤ì¤¿)ʸ»úÎó¤¬ kb_string ¤ËÀßÄꤵ¤ì¤ë¡£
- KDSKBSENT
-
¥Õ¥¡¥ó¥¯¥·¥ç¥ó¥¡¼¤Îʸ»úÎó¤Î¥¨¥ó¥È¥ê¡¼¤òÀßÄꤹ¤ë¡£argp ¤Ï¡¢
¹½Â¤ÂÎ kbsentry ¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
- KDGKBDIACR
-
¥«¡¼¥Í¥ë¤Î¥¢¥¯¥»¥ó¥È¥Æ¡¼¥Ö¥ë(accent table)¤òÆÉ¤ß¹þ¤à¡£argp¤Ï¡¢
struct kbdiacrs {
unsigned int kb_cnt;
struct kbdiacr kbdiacr[256];
};
¤È¤¤¤¦¹½Â¤ÂΤؤΥݥ¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
¤³¤³¤Ç¡¢kb_cnt ¤ÏÇÛÎóÃæ¤Î¥¨¥ó¥È¥ê¡¼¤Î¸Ä¿ô¤Ç¡¢¸Ä¡¹¤Î¥¨¥ó¥È¥ê¡¼¤Ï¡¢
struct kbdiacr {
u_char diacr,
base, result;
};
¤È¤¤¤¦¹½Â¤ÂΤǤ¢¤ë¡£
- KDGETKEYCODE
-
¥«¡¼¥Í¥ë¤Î(¥¹¥¥ã¥ó¥³¡¼¥É¤«¤é¥¡¼¥³¡¼¥É¤Ø
ÊÑ´¹¤¹¤ë)¥¡¼¥³¡¼¥É¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¡¼¤òÆÉ¤ß¹þ¤à¡£
argp ¤Ï¡¢
struct kbkeycode { unsigned int scancode, keycode; };
¤Ø¤Î¥Ý¥¤¥ó¥¿¡¼¤Ç¤¢¤ë¡£
keycode ¤Ï¡¢scancode ¤ËÂбþ¤·¤¿ÃͤËÀßÄꤵ¤ì¤ë¡£(¤¿¤À¤·¡¢89
<= scancode <= 255¤Î¤ß¤Ë¤Ä¤¤¤Æ¡£1 <= scancode <= 88¤Ç¤Ï
keycode == scancode ¤Ç¤¢¤ë¡£)
(¥«¡¼¥Í¥ë 1.1.63 °Ê¹ß)
- KDSETKEYCODE
-
¥«¡¼¥Í¥ë¤Î¥¡¼¥³¡¼¥É¥Æ¡¼¥Ö¥ë¥¨¥ó¥È¥ê¡¼¤ò½ñ¤¹þ¤à¡£argp ¤Ï¹½Â¤ÂÎ
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 ¤Ï¹½Â¤ÂÎ 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 °Ê¹ß)
Ìá¤êÃÍ
¥¨¥é¡¼¤ËÂФ·¤Æ¤Ï -1 ¤¬ÊÖ¤µ¤ì errno ¤¬ÀßÄꤵ¤ì¤ë¡£
¥¨¥é¡¼
errno ¤Ï¼¡¤Î¤è¤¦¤ÊÃͤò¤È¤ë:
- EBADF
-
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬Ìµ¸ú¡£
- ENOTTY
-
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤¬¥¥ã¥é¥¯¥¿¡¦¥¹¥Ú¥·¥ã¥ë¥Ç¥Ð¥¤¥¹¤È´ØÏ¢ÉÕ¤±¤é¤ì
¤Æ¤¤¤Ê¤¤¡£¤Þ¤¿¤Ï¡¢Í׵ᤵ¤ì¤¿¤â¤Î¤¬¤½¤ì¤ËÅö¤Æ¤Ï¤Þ¤é¤Ê¤¤¡£
- EINVAL
-
¥Õ¥¡¥¤¥ë¥Ç¥£¥¹¥¯¥ê¥×¥¿¤Þ¤¿¤Ï argp ¤¬Ìµ¸ú¡£
- EPERM
-
¸¢¸Â(permisson)°ãÈ¿¡£
·Ù¹ð
¤³¤Î¥Þ¥Ë¥å¥¢¥ë¥Ú¡¼¥¸¤ò Linux ¤Î¥³¥ó¥½¡¼¥ë ioctl ¤òʸ½ñ²½¤·¤¿¤â¤Î¤È»×¤ï
¤Ê¤¤»ö¡£
¤³¤ì¤Ï¡¢¶½Ì£¤¬¤¢¤ë¿Í¤¬¥½¡¼¥¹¤òÆÉ¤à¤³¤È¤ÎÂå¤ï¤ê¤Ë¤Ê¤ë¤è¤¦¤ËÍѰդ·¤¿Êª¤Ç
¤¢¤ë¡£
ioctl ¤Ïʸ½ñ²½¤µ¤ì¤Ê¤¤ Linux ¤ÎÆâÉôµ¡Ç½¤Ç¤¢¤Ã¤Æ¡¢·Ù¹ð¤Ê¤·¤ËÊѹ¹¤µ¤ì¤ë
¤³¤È¤¬¤¢¤ë¡£
(¤½¤·¤Æ¡¢¤³¤Î¥Ú¡¼¥¸¤Ï¥«¡¼¥Í¥ë 1.1.94 ¤Î¤È¤¤Î¾õ¶·¤òµ½Ò¤·¤¿Êª¤Ç¡¢¤½¤ì
¤Ï°ÊÁ°¤Î¥Ð¡¼¥¸¥ç¥ó¤ÈÈæ¤Ù¤ì¤Ð¡¢Â¿¤¯¤Î°ã¤¤¤¬¤¢¤ë)
ioctl ¤Ï¥«¡¼¥Í¥ë¤È¡¢¤¢¤ëÆÃÄê¤Î¤è¤¯ÃΤé¤ì¤¿¥×¥í¥°¥é¥à¤È¤Î¾ðÊó¸ò´¹¤Î¤¿¤á¤Ë
ƳÆþ¤µ¤ì¤ë»ö¤¬Èó¾ï¤Ë¿¤¤(fdisk, hdparm, setserial,tunelp, loadkeys,
selection, setfont ¤Ê¤É)¡£¤½¤Î¤¿¤á ioctl ¤Îưºî¤Ï¡¢¤½¤ÎÆÃÄê¤Î¥×¥í¥°¥é¥à
¤¬É¬ÍפȤ·¤¿»þ¤Ë¤ÏÊѹ¹¤Ë¤Ê¤ë¡£
¤³¤ì¤é¤Î ioctl ¤ò»È¤Ã¤¿¥×¥í¥°¥é¥à¤Ï¾¤Î¥Ð¡¼¥¸¥ç¥ó¤Î Unix ¤È¤Î¸ß´¹À¤¬
¤Ê¤¤¤·¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤Î Linux ¤Ç¤Ï¡¢Áö¤é¤Ê¤¤¡£¤µ¤é¤Ë¾Íè¤Î¥Ð¡¼¥¸¥ç¥ó
¤Î Linux ¤Ç¤ÏÁö¤é¤Ê¤¯¤Ê¤ë¤«¤âÃΤì¤Ê¤¤¡£
POSIX µ¡Ç½¤ò»È¤¤¤Ê¤µ¤¤¡£
´ØÏ¢¹àÌÜ
kbd_mode(1),
loadkeys(1),
dumpkeys(1),
mknod(1),
setleds(1),
setmetamode(1),
ioperm(2),
termios(2),
execve(2),
fcntl(2),
console(4),
console_codes(4),
mt(4),
sd(4),
tty(4),
ttys(4),
vcs(4),
vcsa(4),
charsets(7),
mapscrn(8),
setfont(8),
resizecons(8),
/usr/include/linux/kd.h,
/usr/include/linux/vt.h
Index
- ̾Á°
-
- ÀâÌÀ
-
- Ìá¤êÃÍ
-
- ¥¨¥é¡¼
-
- ·Ù¹ð
-
- ´ØÏ¢¹àÌÜ
-
|