modify_ldt

Autres langues

Langue: ja

Version: 2007-06-01 (openSuse - 09/10/07)

Section: 2 (Appels système)

̾Á°

modify_ldt - ldt ¤òÀßÄê¤Þ¤¿¤Ï¼èÆÀ¤¹¤ë

½ñ¼°


#include <sys/types.h>



int modify_ldt(int func, void *ptr, unsigned long bytecount);

ÀâÌÀ

modify_ldt() ¤Ï¥×¥í¥»¥¹¤Î¥í¡¼¥«¥ë¡¦¥Ç¥£¥¹¥¯¥ê¥×¥¿¡¼¡¦¥Æ¡¼¥Ö¥ë (local descriptor table; ldt) ¤òÆɤ߽ñ¤­¤¹¤ë¡£ ldt ¤Ï i386 ¥×¥í¥»¥Ã¥µ¡¼¤Ç»ÈÍѤµ¤ì¤ë¥×¥í¥»¥¹¤´¤È¤Î¥á¥â¥ê´ÉÍý¥Æ¡¼¥Ö¥ë¤Ç¤¢¤ë¡£ ¤³¤Î¥Æ¡¼¥Ö¥ë¤Ë´Ø¤·¤Æ¤Î¤è¤ê¾Ü¤·¤¤¾ðÊó¤Ï Intel 386 processor handbook ¤ò »²¾È¤¹¤ë¤³¤È¡£

func ¤¬ 0 ¤Ê¤é¤Ð¡¢ modify_ldt() ¤Ï ldt ¤ò ptr ¤¬»Ø¤·¤Æ¤¤¤ë¥á¥â¥ê¤ËÆɤ߹þ¤à¡£ Æɤ߹þ¤à¥Ð¥¤¥È¿ô¤Ï¼ÂºÝ¤Î ldt ¤Î¥µ¥¤¥º¤« bytecount ¤è¤ê¾®¤µ¤¤Êý¤Ç¤¢¤ë¡£

func ¤¬ 1 ¤Ê¤é¤Ð¡¢ modify_ldt() ¤Ï ldt ¥¨¥ó¥È¥ê¤Î°ì¤Ä¤òÊѹ¹¤¹¤ë¡£ ptr ¤Ï modify_ldt_ldt_s ¹½Â¤ÂΤò»Ø¤·¡¢ bytecount ¤Ï¤³¤Î¹½Â¤ÂΤÎÂ礭¤µ¤ËÅù¤·¤¯¤Ê¤±¤ì¤Ð¤Ê¤é¤Ê¤¤¡£

ÊÖ¤êÃÍ

À®¸ù¤·¤¿¾ì¹ç¤Ï¡¢ modify_ldt() ¤Ï (Æɤ߹þ¤ß¤Î¾ì¹ç¤Ï) ¼ÂºÝ¤ËÆɤ߹þ¤ó¤À¥Ð¥¤¥È¿ô¡¢ ¤Þ¤¿¤Ï (½ñ¤­¹þ¤ß¤Î¾ì¹ç¤Ï) 0 ¤òÊÖ¤¹¡£ ¼ºÇÔ¤·¤¿¾ì¹ç¤Ï modify_ldt() ¤Ï -1 ¤òÊÖ¤·¡¢ errno ¤òÀßÄꤹ¤ë¡£

¥¨¥é¡¼

EFAULT
ptr ¤¬¥¢¥É¥ì¥¹¶õ´Ö¤Î³°¤ò»Ø¤·¤Æ¤¤¤ë¡£
EINVAL
ptr ¤¬ 0 ¤Ç¤¢¤ë¡¢ ¤Þ¤¿¤Ï func ¤¬ 1 ¤Ç bytecount ¤¬ modify_ldt_ldt_s ¹½Â¤ÂΤΥµ¥¤¥º¤ÈÅù¤·¤¯¤Ê¤¤¤«¡¢ func ¤¬ 1 ¤Ç¿·¤·¤¤ ldt ¥¨¥ó¥È¥ê¤¬Ìµ¸ú¤ÊÃͤǤ¢¤ë¡£
ENOSYS
func ¤¬ 0 ¤Ç¤â 1 ¤Ç¤â¤Ê¤¤¡£

½àµò

¤³¤Î¥³¡¼¥ë¤Ï Linux ÆÃÍ­¤Ç¤¢¤ê¡¢°Ü¿¢¤ò°Õ¿Þ¤·¤¿¥×¥í¥°¥é¥à¤Ç¤Ï »ÈÍѤ·¤Æ¤Ï¤¤¤±¤Ê¤¤¡£

Ãí°Õ

glibc ¤Ï¤³¤Î¥·¥¹¥Æ¥à¥³¡¼¥ë¤ËÂФ¹¤ë¥é¥Ã¥Ñ¡¼´Ø¿ô¤òÄ󶡤·¤Æ¤¤¤Ê¤¤¡£ syscall(2) ¤ò»È¤Ã¤Æ¸Æ¤Ó½Ð¤¹¤³¤È¡£

´ØÏ¢¹àÌÜ

vm86(2)