Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

NAME

       set_thread_area - Set a Thread Local Storage (TLS) area

SYNOPSIS

       #include <linux/unistd.h>
       #include <asm/ldt.h>

       int set_thread_area(struct user_desc *u_info);

DESCRIPTION

       set_thread_area()  sets an entry in the current thread's Thread Local Storage (TLS) array.
       The  TLS  array  entry  set   by   set_thread_area()   corresponds   to   the   value   of
       u_info->entry_number passed in by the user.  If this value is in bounds, set_thread_area()
       copies the TLS descriptor pointed to by u_info into the thread's TLS array.

       When set_thread_area() is passed an entry_number of -1, it uses  a  free  TLS  entry.   If
       set_thread_area()  finds  a  free TLS entry, the value of u_info->entry_number is set upon
       return to show which entry was changed.

RETURN VALUE

       set_thread_area() returns 0 on success, and -1 on failure, with errno set appropriately.

ERRORS

       EINVAL u_info->entry_number is out of bounds.

       EFAULT u_info is an invalid pointer.

       ESRCH  A free TLS entry could not be located.

VERSIONS

       A version of set_thread_area() first appeared in Linux 2.5.29.

CONFORMING TO

       set_thread_area() is Linux-specific and should not be used in programs that  are  intended
       to be portable.

NOTES

       Glibc does not provide a wrapper for this system call; call it using syscall(2).

SEE ALSO

       get_thread_area(2)

COLOPHON

       This  page  is  part of release 3.35 of the Linux man-pages project.  A description of the
       project, and information about reporting bugs, can be found at  http://man7.org/linux/man-
       pages/.