MODIFY_LDT
Section: 리눅스 프로그래머 매뉴얼 (2)
Updated: 1995년 6월 22일
Index
Return to Main Contents
이름
modify_ldt - ldt를 가져오거나 설정한다.
사용법
#include <linux/ldt.h>
#include <linux/unistd.h>
_syscall3( int, modify_ldt, int, func, void *, ptr, unsigned long, bytecount )
int modify_ldt(int func, void *ptr, unsigned long bytecount);
설명
modify_ldt는
프로세스를 위해 지역 기술자 테이블(local descriptor table, ldt)을 읽거나 쓴다.
ldt는 i386 프로세스에 의해 사용되는 프로세스당 메모리 관리 테이블이다.
이 테이블에 관한 더 많은 정보를 원한다면, Intel 386 프로세스 핸드북을
참조해라.
func가
0이라면,
modify_ldt는
ptr가
가리키는 메모리로 ldt를 읽어들인다.
읽을 바이트 수는
bytecount보다
작으며 ldt의 실제 크기를 나타낸다.
func가
1이라면,
modify_ldt는
하나의 ldt 엔트리를 수정한다.
ptr는
modify_ldt_ldt_s
구조체를 가리키며
bytecount는
이 구조체의 크기와 같아야 한다.
반환값
성공시,
modify_ldt는
읽은(읽기 시에) 바이트의 실제 수나 0(쓰기 시에)을 반환한다.
실패시,
modify_ldt는
-1을 반환하며
errno는
적당한 값으로 설정된다.
에러
- ENOSYS
-
func가
0도 1도 아니다.
- EINVAL
-
ptr이
0이거나,
func가
1이고
bytecount가
modify_ldt_ldt_s구조체의
크기와 같지 않을 경우나,
func가
1이고 새로운 ldt 엔트리가 허용되지 않는 값이다.
- EFAULT
-
ptr이
주소 공간이 아닌 곳을 가리키고 있다.
호환
이 함수는 리눅스에 의존적이며 호환성을 염두에 둔 프로그램에서 사용해서는
안된다.
관련 항목
vm86(2)
역자
정강훈 <skyeyes@soback.kornet.net>, 2000년 5월 28일
Index
- 이름
-
- 사용법
-
- 설명
-
- 반환값
-
- 에러
-
- 호환
-
- 관련 항목
-
- 역자
-
This document was created by
man2html,
using the manual pages.
Time: 08:06:59 GMT, March 25, 2004