Misc fix ups to deprecate explicit de-init documentation
[openssl.git] / doc / crypto / err.pod
index 1a19a19a80f89623ed7dea2ba2d8426945d64d1d..33cb19d0cf43b1e2246edade3b8b02d91e0b6b53 100644 (file)
@@ -22,6 +22,7 @@ err - error codes
  int ERR_GET_REASON(unsigned long e);
 
  void ERR_clear_error(void);
+ void ERR_remove_thread_state(void);
 
  char *ERR_error_string(unsigned long e, char *buf);
  const char *ERR_lib_error_string(unsigned long e);
@@ -32,9 +33,6 @@ err - error codes
  void ERR_print_errors_fp(FILE *fp);
 
  void ERR_load_crypto_strings(void);
- void ERR_free_strings(void);
-
- void ERR_remove_state(unsigned long pid);
 
  void ERR_put_error(int lib, int func, int reason, const char *file,
          int line);
@@ -44,6 +42,17 @@ err - error codes
  unsigned long ERR_PACK(int lib, int func, int reason);
  int ERR_get_next_error_library(void);
 
+Deprecated:
+
+ #if OPENSSL_API_COMPAT < 0x10000000L
+ void ERR_remove_state(unsigned long pid);
+ #endif
+
+ #if OPENSSL_API_COMPAT < 0x10100000L
+ void ERR_free_strings(void)
+ #endif
+
+
 =head1 DESCRIPTION
 
 When a call to the OpenSSL library fails, this is usually signaled
@@ -51,18 +60,18 @@ by the return value, and an error code is stored in an error queue
 associated with the current thread. The B<err> library provides
 functions to obtain these error codes and textual error messages.
 
-The L<ERR_get_error(3)|ERR_get_error(3)> manpage describes how to
+The L<ERR_get_error(3)> manpage describes how to
 access error codes.
 
 Error codes contain information about where the error occurred, and
-what went wrong. L<ERR_GET_LIB(3)|ERR_GET_LIB(3)> describes how to
+what went wrong. L<ERR_GET_LIB(3)> describes how to
 extract this information. A method to obtain human-readable error
-messages is described in L<ERR_error_string(3)|ERR_error_string(3)>.
+messages is described in L<ERR_error_string(3)>.
 
-L<ERR_clear_error(3)|ERR_clear_error(3)> can be used to clear the
+L<ERR_clear_error(3)> can be used to clear the
 error queue.
 
-Note that L<ERR_remove_state(3)|ERR_remove_state(3)> should be used to
+Note that L<ERR_remove_thread_state(3)> should be used to
 avoid memory leaks when threads are terminated.
 
 =head1 ADDING NEW ERROR CODES TO OPENSSL
@@ -159,28 +168,32 @@ TBA more details
 
 =head1 INTERNALS
 
-The error queues are stored in a hash table with one B<ERR_STATE>
-entry for each pid. ERR_get_state() returns the current thread's
+The error queues are stored in a thread-local storage with one B<ERR_STATE>
+entry for each thread. ERR_get_state() returns the current thread's
 B<ERR_STATE>. An B<ERR_STATE> can hold up to B<ERR_NUM_ERRORS> error
 codes. When more error codes are added, the old ones are overwritten,
 on the assumption that the most recent errors are most important.
 
-Error strings are also stored in hash table. The hash tables can
-be obtained by calling ERR_get_err_state_table(void) and
-ERR_get_string_table(void) respectively.
+Error strings are also stored in a hash table that can be obtained
+by calling ERR_get_string_table(void).
 
 =head1 SEE ALSO
 
-L<CRYPTO_set_locking_callback(3)|CRYPTO_set_locking_callback(3)>,
-L<ERR_get_error(3)|ERR_get_error(3)>,
-L<ERR_GET_LIB(3)|ERR_GET_LIB(3)>,
-L<ERR_clear_error(3)|ERR_clear_error(3)>,
-L<ERR_error_string(3)|ERR_error_string(3)>,
-L<ERR_print_errors(3)|ERR_print_errors(3)>,
-L<ERR_load_crypto_strings(3)|ERR_load_crypto_strings(3)>,
-L<ERR_remove_state(3)|ERR_remove_state(3)>,
-L<ERR_put_error(3)|ERR_put_error(3)>,
-L<ERR_load_strings(3)|ERR_load_strings(3)>,
-L<SSL_get_error(3)|SSL_get_error(3)>
+L<CRYPTO_set_locking_callback(3)>,
+L<ERR_get_error(3)>,
+L<ERR_GET_LIB(3)>,
+L<ERR_clear_error(3)>,
+L<ERR_error_string(3)>,
+L<ERR_print_errors(3)>,
+L<ERR_load_crypto_strings(3)>,
+L<ERR_remove_thread_state(3)>,
+L<ERR_put_error(3)>,
+L<ERR_load_strings(3)>,
+L<SSL_get_error(3)>
+
+=head1 HISTORY
+
+The ERR_load_crypto_strings() function was deprecated in OpenSSL 1.1.0 by
+OPENSSL_init_crypto().
 
 =cut