2 * Generated by util/mkerr.pl DO NOT EDIT
3 * Copyright 1995-2022 The OpenSSL Project Authors. All Rights Reserved.
5 * Licensed under the Apache License 2.0 (the "License"). You may not use
6 * this file except in compliance with the License. You can obtain a copy
7 * in the file LICENSE in the source distribution or at
8 * https://www.openssl.org/source/license.html
11 #include <openssl/err.h>
12 #include <openssl/bioerr.h>
13 #include "crypto/bioerr.h"
15 #ifndef OPENSSL_NO_ERR
17 static const ERR_STRING_DATA BIO_str_reasons
[] = {
18 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_ACCEPT_ERROR
), "accept error"},
19 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_ADDRINFO_ADDR_IS_NOT_AF_INET
),
20 "addrinfo addr is not af inet"},
21 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_AMBIGUOUS_HOST_OR_SERVICE
),
22 "ambiguous host or service"},
23 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_BAD_FOPEN_MODE
), "bad fopen mode"},
24 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_BROKEN_PIPE
), "broken pipe"},
25 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_CONNECT_ERROR
), "connect error"},
26 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_CONNECT_TIMEOUT
), "connect timeout"},
27 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_GETHOSTBYNAME_ADDR_IS_NOT_AF_INET
),
28 "gethostbyname addr is not af inet"},
29 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_GETSOCKNAME_ERROR
), "getsockname error"},
30 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_GETSOCKNAME_TRUNCATED_ADDRESS
),
31 "getsockname truncated address"},
32 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_GETTING_SOCKTYPE
), "getting socktype"},
33 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_INVALID_ARGUMENT
), "invalid argument"},
34 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_INVALID_SOCKET
), "invalid socket"},
35 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_IN_USE
), "in use"},
36 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_LENGTH_TOO_LONG
), "length too long"},
37 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_LISTEN_V6_ONLY
), "listen v6 only"},
38 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_LOOKUP_RETURNED_NOTHING
),
39 "lookup returned nothing"},
40 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_MALFORMED_HOST_OR_SERVICE
),
41 "malformed host or service"},
42 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NBIO_CONNECT_ERROR
), "nbio connect error"},
43 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NO_ACCEPT_ADDR_OR_SERVICE_SPECIFIED
),
44 "no accept addr or service specified"},
45 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NO_HOSTNAME_OR_SERVICE_SPECIFIED
),
46 "no hostname or service specified"},
47 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NO_PORT_DEFINED
), "no port defined"},
48 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NO_SUCH_FILE
), "no such file"},
49 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_PORT_MISMATCH
), "port mismatch"},
50 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_TFO_DISABLED
), "tfo disabled"},
51 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_TFO_NO_KERNEL_SUPPORT
),
52 "tfo no kernel support"},
53 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_TRANSFER_ERROR
), "transfer error"},
54 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_TRANSFER_TIMEOUT
), "transfer timeout"},
55 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_BIND_SOCKET
),
56 "unable to bind socket"},
57 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_CREATE_SOCKET
),
58 "unable to create socket"},
59 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_KEEPALIVE
),
60 "unable to keepalive"},
61 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_LISTEN_SOCKET
),
62 "unable to listen socket"},
63 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_NODELAY
), "unable to nodelay"},
64 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_REUSEADDR
),
65 "unable to reuseaddr"},
66 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNABLE_TO_TFO
), "unable to tfo"},
67 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNAVAILABLE_IP_FAMILY
),
68 "unavailable ip family"},
69 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNINITIALIZED
), "uninitialized"},
70 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNKNOWN_INFO_TYPE
), "unknown info type"},
71 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNSUPPORTED_IP_FAMILY
),
72 "unsupported ip family"},
73 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNSUPPORTED_METHOD
), "unsupported method"},
74 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_UNSUPPORTED_PROTOCOL_FAMILY
),
75 "unsupported protocol family"},
76 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_WRITE_TO_READ_ONLY_BIO
),
77 "write to read only BIO"},
78 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_WSASTARTUP
), "WSAStartup"},
79 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_LOCAL_ADDR_NOT_AVAILABLE
),
80 "local address not available"},
81 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_PEER_ADDR_NOT_AVAILABLE
),
82 "peer address not available"},
83 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_NON_FATAL
),
84 "non-fatal or transient error"},
85 {ERR_PACK(ERR_LIB_BIO
, 0, BIO_R_PORT_MISMATCH
),
92 int ossl_err_load_BIO_strings(void)
94 #ifndef OPENSSL_NO_ERR
95 if (ERR_reason_error_string(BIO_str_reasons
[0].error
) == NULL
)
96 ERR_load_strings_const(BIO_str_reasons
);
101 #ifndef OPENSSL_NO_SOCK
103 int BIO_err_is_non_fatal(unsigned int errcode
)
105 if (ERR_SYSTEM_ERROR(errcode
))
106 return BIO_sock_non_fatal_error(ERR_GET_REASON(errcode
));
107 else if (ERR_GET_LIB(errcode
) == ERR_LIB_BIO
108 && ERR_GET_REASON(errcode
) == BIO_R_NON_FATAL
)