Go to main content

man pages section 3: Extended Library Functions, Volume 1

Exit Print View

Updated: Wednesday, July 27, 2022
 
 

ERR_get_error (3openssl)

Name

ERR_get_error - ERR_get_error, ERR_peek_error, ERR_peek_last_error, ERR_get_error_line, ERR_peek_error_line, ERR_peek_last_error_line, ERR_get_error_line_data, obtain error code and data

Synopsis

#include <openssl/err.h>

unsigned long ERR_get_error(void);
unsigned long ERR_peek_error(void);
unsigned long ERR_peek_last_error(void);

unsigned long ERR_get_error_line(const char **file, int *line);
unsigned long ERR_peek_error_line(const char **file, int *line);
unsigned long ERR_peek_last_error_line(const char **file, int *line);

unsigned long ERR_get_error_line_data(const char **file, int *line,
const char **data, int *flags);
unsigned long ERR_peek_error_line_data(const char **file, int *line,
const char **data, int *flags);
unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
const char **data, int *flags);

Description

ERR_get_error(3openssl)             OpenSSL            ERR_get_error(3openssl)



NAME
       ERR_get_error, ERR_peek_error, ERR_peek_last_error, ERR_get_error_line,
       ERR_peek_error_line, ERR_peek_last_error_line, ERR_get_error_line_data,
       ERR_peek_error_line_data, ERR_peek_last_error_line_data - obtain error
       code and data

SYNOPSIS
        #include <openssl/err.h>

        unsigned long ERR_get_error(void);
        unsigned long ERR_peek_error(void);
        unsigned long ERR_peek_last_error(void);

        unsigned long ERR_get_error_line(const char **file, int *line);
        unsigned long ERR_peek_error_line(const char **file, int *line);
        unsigned long ERR_peek_last_error_line(const char **file, int *line);

        unsigned long ERR_get_error_line_data(const char **file, int *line,
                const char **data, int *flags);
        unsigned long ERR_peek_error_line_data(const char **file, int *line,
                const char **data, int *flags);
        unsigned long ERR_peek_last_error_line_data(const char **file, int *line,
                const char **data, int *flags);

DESCRIPTION
       ERR_get_error() returns the earliest error code from the thread's error
       queue and removes the entry. This function can be called repeatedly
       until there are no more error codes to return.

       ERR_peek_error() returns the earliest error code from the thread's
       error queue without modifying it.

       ERR_peek_last_error() returns the latest error code from the thread's
       error queue without modifying it.

       See ERR_GET_LIB(3) for obtaining information about location and reason
       of the error, and ERR_error_string(3) for human-readable error
       messages.

       ERR_get_error_line(), ERR_peek_error_line() and
       ERR_peek_last_error_line() are the same as the above, but they
       additionally store the file name and line number where the error
       occurred in *file and *line, unless these are NULL.

       ERR_get_error_line_data(), ERR_peek_error_line_data() and
       ERR_peek_last_error_line_data() store additional data and flags
       associated with the error code in *data and *flags, unless these are
       NULL. *data contains a string if *flags&ERR_TXT_STRING is true.

       An application MUST NOT free the *data pointer (or any other pointers
       returned by these functions) with OPENSSL_free() as freeing is handled
       automatically by the error library.

RETURN VALUES
       The error code, or 0 if there is no error in the queue.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:


       +---------------+--------------------------+
       |ATTRIBUTE TYPE |     ATTRIBUTE VALUE      |
       +---------------+--------------------------+
       |Availability   | library/security/openssl |
       +---------------+--------------------------+
       |Stability      | Pass-through uncommitted |
       +---------------+--------------------------+

SEE ALSO
       err(3), ERR_error_string(3), ERR_GET_LIB(3)

HISTORY
       ERR_get_error(), ERR_peek_error(), ERR_get_error_line() and
       ERR_peek_error_line() are available in all versions of SSLeay and
       OpenSSL. ERR_get_error_line_data() and ERR_peek_error_line_data() were
       added in SSLeay 0.9.0.  ERR_peek_last_error(),
       ERR_peek_last_error_line() and ERR_peek_last_error_line_data() were
       added in OpenSSL 0.9.7.



NOTES
       Source code for open source software components in Oracle Solaris can
       be found at https://www.oracle.com/downloads/opensource/solaris-source-
       code-downloads.html.

       This software was built from source available at
       https://github.com/oracle/solaris-userland.  The original community
       source was downloaded from
       https://www.openssl.org/source/openssl-1.0.2ze.tar.gz.

       Further information about this software can be found on the open source
       community website at https://www.openssl.org/.



1.0.2ze                           2022-05-03           ERR_get_error(3openssl)