i386_set_ldt
Function - Set per-thread segment descriptors.
SYNOPSIS
kern_return_t i386_set_ldt
(thread_act_t target_act,
int first_selector,
descriptor_list_t desc_list);
PARAMETERS
- target_act
-
[in thread send right]
Thread whose segment descriptors are to be set.
- first_selector
-
[in scalar]
Selector value (segment register value) corresponding to the
first segment whose descriptor is to be set.
- desc_list
-
[pointer to in array of descriptor_t]
Array of segment descriptors. The
following forms are permitted:
-
Empty descriptor. The ACC_P flag (segment present) may or may
not be set.
-
ACC_CALL_GATE--Converted into a system call gate. The
ACC_P flag must be set.
All other descriptors must have both the ACC_P flag set and specify
user mode access (ACC_PL_U).
-
ACC_DATA.
-
ACC_DATA_W.
-
ACC_DATA_E.
-
ACC_DATA_EW.
-
ACC_CODE.
-
ACC_CODE_R.
-
ACC_CODE_C.
-
ACC_CODE_CR.
-
ACC_CALL_GATE_16.
-
ACC_CALL_GATE.
DESCRIPTION
The i386_set_ldt function allows a thread to have a
private local descriptor
table (LDT) which allows its local segments to map various ranges
of its address
space.
RETURN VALUES
Only generic errors apply.
RELATED INFORMATION
Functions:
i386_get_ldt.