]> git.saurik.com Git - apple/xnu.git/blob - osfmk/man/i386_set_ldt.html
xnu-344.tar.gz
[apple/xnu.git] / osfmk / man / i386_set_ldt.html
1 <h2>i386_set_ldt</h2> <hr> <p> <strong>Function</strong> - Set per-thread segment descriptors. <h3>SYNOPSIS</h3> <pre> <strong>kern_return_t i386_set_ldt</strong> <strong>(thread_act_t</strong> <var>target_act</var>, <strong>int</strong> <var>first_selector</var>, <strong>descriptor_list_t</strong> <var>desc_list</var><strong>);</strong> </pre> <h3>PARAMETERS</h3> <dl> <p> <dt> <var>target_act</var> <dd> [in thread send right] Thread whose segment descriptors are to be set. <p> <dt> <var>first_selector</var> <dd> [in scalar] Selector value (segment register value) corresponding to the first segment whose descriptor is to be set. <p> <dt> <var>desc_list</var> <dd> [pointer to in array of <strong>descriptor_t</strong>] Array of segment descriptors. The following forms are permitted: <ul> <p> <li> Empty descriptor. The <strong>ACC_P</strong> flag (segment present) may or may not be set. <p> <li> <strong>ACC_CALL_GATE</strong>--Converted into a system call gate. The <strong>ACC_P</strong> flag must be set. </ul> <p> All other descriptors must have both the <strong>ACC_P</strong> flag set and specify user mode access (<strong>ACC_PL_U</strong>). <ul> <p> <li> <strong>ACC_DATA</strong>. <p> <li> <strong>ACC_DATA_W</strong>. <p> <li> <strong>ACC_DATA_E</strong>. <p> <li> <strong>ACC_DATA_EW</strong>. <p> <li> <strong>ACC_CODE</strong>. <p> <li> <strong>ACC_CODE_R</strong>. <p> <li> <strong>ACC_CODE_C</strong>. <p> <li> <strong>ACC_CODE_CR</strong>. <p> <li> <strong>ACC_CALL_GATE_16</strong>. <p> <li> <strong>ACC_CALL_GATE</strong>. </ul> </dl> <h3>DESCRIPTION</h3> <p> The <strong>i386_set_ldt</strong> 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. <h3>RETURN VALUES</h3> <p> Only generic errors apply. <h3>RELATED INFORMATION</h3> <p> Functions: <a href="i386_get_ldt.html"><strong>i386_get_ldt<strong></a>.