P>
<P><B>int pthread_key_create(pthread_key_t *</B><I>key</I><B>, void
(*</B><I>destr_function</I><B>) (void *));</B> 
</P>
<P><B>int pthread_key_delete(pthread_key_t </B><I>key</I><B>);</B> 
</P>
<P><B>int pthread_setspecific(pthread_key_t </B><I>key</I><B>, const
void *</B><I>pointer</I><B>);</B> 
</P>
<P><B>void * pthread_getspecific(pthread_key_t </B><I>key</I><B>);</B>
</P>
<H2><A HREF="#toc2" NAME="sect2">Description</A></H2>
<P>Programs often need global or static variables that have different
values