NAME
ii338866ggeettllddtt, ii338866sseettllddtt - manage i386 per-process Local Descriptor
Table entries LLIIBBRRAARRYYStandard C Library (libc, -lc)
SYNOPSIS
##iinncclluuddee <
> ##iinncclluuddee <
int ii338866ggeettllddtt(int startsel, union ldtentry *descs, int numsels); int ii338866sseettllddtt(int startsel, union ldtentry *descs, int numsels);> DESCRIPTION
The ii338866ggeettllddtt() system call will return the list of i386 descriptors that the process has in its LDT. The ii338866sseettllddtt() system call will seta list of i386 descriptors for the current process in its LDT. Both rou-
tines accept a starting selector number startsel, an array of memory that will contain the descriptors to be set or returned descs, and the number of entries to set or return numsels. The argument descs can be either codedesct, datadesct or callgatet and are defined in. These structures are defined by the architecture as disjoint bit-fields, so care must be taken
in constructing them. If startsel is LDTAUTOALLOC, numsels is 1 and the descriptor pointed to by descs is legal, then ii338866sseettllddtt() will allocate a descriptor and return its selector number. If numdescs is 1, startsels is valid, and descs is NULL, thenii338866sseettllddtt() will free that descriptor (making it available to be real-
located again later). If numdescs is 0, startsels is 0 and descs is NULL then, as a special case, ii338866sseettllddtt() will free all descriptors.RETURN VALUES
Upon successful completion, ii338866ggeettllddtt() returns the number of descrip-
tors currently in the LDT. The ii338866sseettllddtt() system call returns the first selector set. In the case when a descriptor is allocated by thekernel, its number will be returned. Otherwise, a value of -1 is
returned and the global variable errno is set to indicate the error. EERRRROORRSS The ii338866ggeettllddtt() and ii338866sseettllddtt() system calls will fail if: [EINVAL] An inappropriate value was used for startsel or numsels. [EACCES] The caller attempted to use a descriptor that would circumvent protection or cause a failure.SEE ALSO
i386 Microprocessor Programmer's Reference Manual, Intel WWAARRNNIINNGG You can really hose your process using this. BSD September 20, 1993 BSD