set_thread_area sets an entry in the current threads 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 threads 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.
set_thread_area returns 0 on success. Otherwise, it returns one of the errors listed in the "Errors" section.