set_thread_area

NAME

set_thread_area - Set a Thread Local Storage (TLS) area

SYNOPSIS

#include <linux/unistd.h>
#include <asm/ldt.h> I int set_thread_area(struct user_desc * u_info );

DESCRIPTION

R set_thread_area () sets an entry in the current thread's Thread Local Storage (TLS) array. The TLS array entry set by R set_thread_area () corresponds to the value of u_info->entry_number passed in by the user. If this value is in bounds, R set_thread_area () copies the TLS descriptor pointed to by u_info into the thread's TLS array.
When R set_thread_area () is passed an entry_number of -1, it uses a free TLS entry. If R 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

R 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 R set_thread_area () first appeared in Linux 2.5.29.

CONFORMING TO

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

SEE ALSO