summaryrefslogtreecommitdiffstats
path: root/doc/posix_users/key.texi
diff options
context:
space:
mode:
Diffstat (limited to 'doc/posix_users/key.texi')
-rw-r--r--doc/posix_users/key.texi177
1 files changed, 177 insertions, 0 deletions
diff --git a/doc/posix_users/key.texi b/doc/posix_users/key.texi
new file mode 100644
index 0000000000..90569d0e27
--- /dev/null
+++ b/doc/posix_users/key.texi
@@ -0,0 +1,177 @@
+@c
+@c COPYRIGHT (c) 1996.
+@c On-Line Applications Research Corporation (OAR).
+@c All rights reserved.
+@c
+
+@ifinfo
+@node Key Manager, Key Manager Introduction, pthread_cond_timedwait, Top
+@end ifinfo
+@chapter Key Manager
+@ifinfo
+@menu
+* Key Manager Introduction::
+* Key Manager Background::
+* Key Manager Operations::
+* Key Manager Directives::
+@end menu
+@end ifinfo
+
+@ifinfo
+@node Key Manager Introduction, Key Manager Background, Key Manager, Key Manager
+@end ifinfo
+@section Introduction
+
+The key manager ...
+
+The directives provided by the key manager are:
+
+@itemize @bullet
+@item @code{pthread_key_create} -
+@item @code{pthread_key_delete} -
+@item @code{pthread_setspecific} -
+@item @code{pthread_getspecific} -
+@end itemize
+
+@ifinfo
+@node Key Manager Background, Key Manager Operations, Key Manager Introduction, Key Manager
+@end ifinfo
+@section Background
+
+@ifinfo
+@node Key Manager Operations, Key Manager Directives, Key Manager Background, Key Manager
+@end ifinfo
+@section Operations
+
+@ifinfo
+@node Key Manager Directives, pthread_key_create, Key Manager Operations, Key Manager
+@end ifinfo
+@section Directives
+@ifinfo
+@menu
+* pthread_key_create::
+* pthread_key_delete::
+* pthread_setspecific::
+* pthread_getspecific::
+@end menu
+@end ifinfo
+
+This section details the key manager's directives.
+A subsection is dedicated to each of this manager's directives
+and describes the calling sequence, related constants, usage,
+and status codes.
+
+@page
+@ifinfo
+@node pthread_key_create, pthread_key_delete, Key Manager Directives, Key Manager Directives
+@end ifinfo
+@subsection pthread_key_create
+
+@subheading CALLING SEQUENCE:
+
+@example
+#include <pthread.h>
+
+int pthread_key_create(
+ pthread_key_t *key,
+ void (*destructor)( void * )
+);
+@end example
+
+@subheading STATUS CODES:
+
+@table @b
+@item EAGAIN
+There were not enough resources available to create another key.
+
+@item ENOMEM
+Insufficient memory exists to create the key.
+
+@end table
+
+@page
+@ifinfo
+@node pthread_key_delete, pthread_setspecific, pthread_key_create, Key Manager Directives
+@end ifinfo
+@subsection pthread_key_delete
+
+@subheading CALLING SEQUENCE:
+
+@example
+#include <pthread.h>
+
+int pthread_key_delete(
+ pthread_key_t key,
+);
+@end example
+
+@subheading STATUS CODES:
+
+@table @b
+@item EINVAL
+The key was invalid
+
+@end table
+
+@subheading DESCRIPTION:
+
+@subheading NOTES:
+
+@page
+@ifinfo
+@node pthread_setspecific, pthread_getspecific, pthread_key_delete, Key Manager Directives
+@end ifinfo
+@subsection pthread_setspecific
+
+@subheading CALLING SEQUENCE:
+
+@example
+#include <pthread.h>
+
+int pthread_setspecific(
+ pthread_key_t key,
+ const void *value
+);
+@end example
+
+@subheading STATUS CODES:
+@table @b
+@item EINVAL
+The specified key is invalid.
+
+@end table
+
+@subheading DESCRIPTION:
+
+@subheading NOTES:
+
+@page
+@ifinfo
+@node pthread_getspecific, Clock Manager, pthread_setspecific, Key Manager Directives
+@end ifinfo
+@subsection pthread_getspecific
+
+@subheading CALLING SEQUENCE:
+
+@example
+#include <pthread.h>
+
+void *pthread_getspecific(
+ pthread_key_t key
+);
+@end example
+
+@subheading STATUS CODES:
+@table @b
+@item NULL
+There is no thread-specific data associated with the specified key.
+
+@item non-NULL
+The data associated with the specified key.
+
+@end table
+
+@subheading DESCRIPTION:
+
+@subheading NOTES:
+