ioperm

Autres langues

Langue: ja

Version: 2004-05-27 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

ioperm - ¥Ý¡¼¥È¤ÎÆþ½ÐÎϵö²Ä¤òÀßÄꤹ¤ë

½ñ¼°

#include <unistd.h> /* for libc5 */
#include <sys/io.h> /* for glibc */

int ioperm(unsigned long from, unsigned long num, int turn_on);

ÀâÌÀ

ioperm() ¤Ï°ú¤­¿ô from ¤Î I/O ¥Ý¡¼¥È¥¢¥É¥ì¥¹¤«¤é num ¥Ð¥¤¥Èʬ¤ÎÎΰè¤ËÂФ¹¤ë¤³¤Î¥×¥í¥»¥¹¤Î¥¢¥¯¥»¥¹µö²Ä¥Ó¥Ã¥È¤ò turn_on ¤ËÀßÄꤹ¤ë¡£ turn_on ¤¬ 0 °Ê³°¤Î¾ì¹ç¡¢¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤ÏÆø¢ (CAP_SYS_RAWIO) ¤ò»ý¤Ã¤Æ¤¤¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

¤³¤ÎÊýË¡¤ÇÀßÄê¤Ç¤­¤ë¤Î¤Ï 0x3ff ÈÖÃϤޤǤΠI/O¥Ý¡¼¥È¤Ë¸Â¤é¤ì¤ë¡£ ¤³¤ì¤è¤ê¤âÂ礭¤Ê¥¢¥É¥ì¥¹¤Î¥Ý¡¼¥È¤ËÂФ·¤Æ¤Ï iopl(2) ´Ø¿ô¤ò»È¤ï¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£ fork(2) ¤·¤¿¾ì¹ç¤Ï¥¢¥¯¥»¥¹¸¢¤Ï·Ñ¾µ¤µ¤ì¤Ê¤¤¤¬¡¢ exec(2) ¤Î¾ì¹ç¤Ï·Ñ¾µ¤µ¤ì¤ë¡£ ¤³¤ì¤ÏÈóÆø¢¥×¥í¥»¥¹¤Ë¥Ý¡¼¥È¤Ø¤Î¥¢¥¯¥»¥¹¸¢¤ò Í¿¤¨¤ë¤Î¤Ë»ÈÍѤǤ­¤ë¡£

¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¤Û¤È¤ó¤É i386 ¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Î¤¿¤á¤À¤±¤Î¤â¤Î¤Ç¤¢¤ë¡£ ¤½¤Î¾¤Î¿¤¯¤Î¥¢¡¼¥­¥Æ¥¯¥Á¥ã¤Ç¤Ï¸ºß¤·¤Ê¤¤¤«¡¢¾ï¤Ë¥¨¥é¡¼¤òÊÖ¤¹¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ë¤Ï 0 ¤òÊÖ¤¹¡£¥¨¥é¡¼¤Î¾ì¹ç¤Ë -1 ¤òÊÖ¤·¡¢ errno ¤ËŬÀÚ¤ÊÃͤòÀßÄꤹ¤ë¡£

¥¨¥é¡¼

EINVAL
from ¤Þ¤¿¤Ï num ¤ÎÃͤ¬ÉÔÀµ¤Ç¤¢¤ë¡£
EIO
(PPC ¤Ç)¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤Ï¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Ê¤¤¡£
ENOMEM
¥á¥â¥êÉÔ­¡£
EPERM
¸Æ¤Ó½Ð¤·¸µ¥×¥í¥»¥¹¤Ë½½Ê¬¤Ê¸¢¸Â¤¬¤Ê¤«¤Ã¤¿¡£

½àµò

ioperm() ¤Ï Linux ÆÃÍ­¤Î´Ø¿ô¤Ç¤¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç »ÈÍѤ·¤Æ¤Ï¤Ê¤é¤Ê¤¤¡£

Ãí°Õ

libc5 ¤Ç¤Ï¥·¥¹¥Æ¥à¥³¡¼¥ë¤È¤·¤Æ°·¤¤ <unistd.h> ¤Ë¥×¥í¥È¥¿¥¤¥×¤¬Â¸ºß¤·¤Æ¤¤¤ë¡£ glibc1 ¤Ë¤Ï¥×¥í¥È¥¿¥¤¥×¤Ï¸ºß¤·¤Ê¤¤¡£ glibc2 ¤Ï <sys/io.h> ¤È <sys/perm.h> ¤ÎξÊý¤Ë¥×¥í¥È¥¿¥¤¥×¤ò»ý¤Ã¤Æ¤¤¤ë¡£ ¸å¼Ô¤Ï i386 ¤Î¤ß¤ÇÍøÍѲÄǽ¤Ê¤Î¤Ç¡¢»ÈÍѤ¹¤Ù¤­¤Ç¤Ï¤Ê¤¤¡£

´ØÏ¢¹àÌÜ

iopl(2), capabilities(7)