MODIFY_LDT(2)       Linux Programmer's Manual       MODIFY_LDT(2)

NAME
       modify_ldt - get or set ldt

SYNOPSIS
       #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);

DESCRIPTION
       modify_ldt  reads  or  writes  the  local descriptor table
       (ldt) for a process.  The ldt is a per-process memory man-
       agement table used by the i386 processor.  For more infor-
       mation on this table, see an Intel 386 processor handbook.

       When  func  is 0, modify_ldt reads the ldt into the memory
       pointed to by ptr.   The  number  of  bytes  read  is  the
       smaller of bytecount and the actual size of the ldt.

       When  func  is  1, modify_ldt modifies one ldt entry.  ptr
       points to a modify_ldt_ldt_s structure and bytecount  must
       equal the size of this structure.

RETURN VALUE
       On success, modify_ldt returns either the actual number of
       bytes read (for reading) or 0 (for writing).  On  failure,
       modify_ldt returns -1 and sets errno.

ERRORS
       ENOSYS func is neither 0 nor 1.

       EINVAL ptr  is  0, or func is 1 and bytecount is not equal
              to the size of the structure  modify_ldt_ldt_s,  or
              func is 1 and the new ldt entry has illegal values.

       EFAULT ptr points outside the address space.

CONFORMING TO
       This call in Linux-specfic and should not be used in  pro-
       grams intended to be portable.

SEE ALSO
       vm86(2)

Linux 1.3.6                22 July 1995                         1