I386_GET_LDT(2) | System Calls Manual (i386) | I386_GET_LDT(2) |
i386_get_ldt
, i386_set_ldt
—
#include <sys/types.h>
#include <machine/segments.h>
#include <machine/sysarch.h>
int
i386_get_ldt
(int
start_sel, union
descriptor *descs, int
num_sels);
int
i386_set_ldt
(int
start_sel, union
descriptor *descs, int
num_sels);
i386_get_ldt
() will return the list of i386 descriptors
that the process has in its LDT. i386_set_ldt
() will
set a list of i386 descriptors for the current process in its LDT. Both
routines accept a starting selector number start_sel ,
an array of memory that will contain the descriptors to be set or returned
descs , and the number of entries to set or return
num_sels.
The argument descs can be either
segment_descriptor or gate_descriptor and are defined in
<i386/segments.h> .
These structures are
defined by the architecture as disjoint bit-fields, so care must be taken in
constructing them.
i386_get_ldt
() returns the
number of descriptors currently in the LDT.
i386_set_ldt
() returns the first selector set.
Otherwise, a value of -1 is returned and the global variable
errno is set to indicate the error.
i386_get_ldt
() and
i386_set_ldt
() will fail if:
September 20, 1993 | NetBSD 9.0 |