1656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* crypto/err/err.h */ 2656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 3656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * All rights reserved. 4656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 5656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This package is an SSL implementation written 6656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * by Eric Young (eay@cryptsoft.com). 7656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The implementation was written so as to conform with Netscapes SSL. 8656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 9656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This library is free for commercial and non-commercial use as long as 10656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the following conditions are aheared to. The following conditions 11656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * apply to all code found in this distribution, be it the RC4, RSA, 12656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * lhash, DES, etc., code; not just the SSL code. The SSL documentation 13656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * included with this distribution is covered by the same copyright terms 14656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * except that the holder is Tim Hudson (tjh@cryptsoft.com). 15656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 16656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Copyright remains Eric Young's, and as such any Copyright notices in 17656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the code are not to be removed. 18656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * If this package is used in a product, Eric Young should be given attribution 19656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * as the author of the parts of the library used. 20656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * This can be in the form of a textual message at program startup or 21656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * in documentation (online or textual) provided with the package. 22656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 23656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Redistribution and use in source and binary forms, with or without 24656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * modification, are permitted provided that the following conditions 25656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * are met: 26656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 1. Redistributions of source code must retain the copyright 27656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * notice, this list of conditions and the following disclaimer. 28656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 2. Redistributions in binary form must reproduce the above copyright 29656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * notice, this list of conditions and the following disclaimer in the 30656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * documentation and/or other materials provided with the distribution. 31656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 3. All advertising materials mentioning features or use of this software 32656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * must display the following acknowledgement: 33656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * "This product includes cryptographic software written by 34656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * Eric Young (eay@cryptsoft.com)" 35656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The word 'cryptographic' can be left out if the rouines from the library 36656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * being used are not cryptographic related :-). 37656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 4. If you include any Windows specific code (or a derivative thereof) from 38656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the apps directory (application code) you must include an acknowledgement: 39656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * "This product includes software written by Tim Hudson (tjh@cryptsoft.com)" 40656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 41656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * THIS SOFTWARE IS PROVIDED BY ERIC YOUNG ``AS IS'' AND 42656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 43656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 44656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE 45656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 46656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS 47656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 48656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT 49656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY 50656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF 51656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * SUCH DAMAGE. 52656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * 53656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * The licence and distribution terms for any publically available version or 54656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * derivative of this code cannot be changed. i.e. this code cannot simply be 55656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * copied and put under another distribution licence 56656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * [including the GNU Public Licence.] 57656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project */ 58221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom/* ==================================================================== 59221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * Copyright (c) 1998-2006 The OpenSSL Project. All rights reserved. 60221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 61221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * Redistribution and use in source and binary forms, with or without 62221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * modification, are permitted provided that the following conditions 63221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * are met: 64221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 65221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 1. Redistributions of source code must retain the above copyright 66221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * notice, this list of conditions and the following disclaimer. 67221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 68221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 2. Redistributions in binary form must reproduce the above copyright 69221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * notice, this list of conditions and the following disclaimer in 70221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * the documentation and/or other materials provided with the 71221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * distribution. 72221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 73221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 3. All advertising materials mentioning features or use of this 74221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * software must display the following acknowledgment: 75221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * "This product includes software developed by the OpenSSL Project 76221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * for use in the OpenSSL Toolkit. (http://www.openssl.org/)" 77221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 78221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to 79221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * endorse or promote products derived from this software without 80221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * prior written permission. For written permission, please contact 81221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * openssl-core@openssl.org. 82221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 83221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 5. Products derived from this software may not be called "OpenSSL" 84221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * nor may "OpenSSL" appear in their names without prior written 85221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * permission of the OpenSSL Project. 86221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 87221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 6. Redistributions of any form whatsoever must retain the following 88221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * acknowledgment: 89221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * "This product includes software developed by the OpenSSL Project 90221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * for use in the OpenSSL Toolkit (http://www.openssl.org/)" 91221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 92221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY 93221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 94221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR 95221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR 96221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 97221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT 98221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; 99221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) 100221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, 101221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) 102221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED 103221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * OF THE POSSIBILITY OF SUCH DAMAGE. 104221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * ==================================================================== 105221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 106221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * This product includes cryptographic software written by Eric Young 107221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * (eay@cryptsoft.com). This product includes software written by Tim 108221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * Hudson (tjh@cryptsoft.com). 109221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom * 110221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom */ 111656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 112656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef HEADER_ERR_H 113656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define HEADER_ERR_H 114656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 115656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/e_os2.h> 116656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 117656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_FP_API 118656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <stdio.h> 119656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <stdlib.h> 120656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 121656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 122656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/ossl_typ.h> 123656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_BIO 124656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/bio.h> 125656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 126656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_LHASH 127656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <openssl/lhash.h> 128656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 129656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 130656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 131656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectextern "C" { 132656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 133656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 134656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_ERR 135656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,d,e) 136656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#else 137656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_PUT_error(a,b,c,d,e) ERR_put_error(a,b,c,NULL,0) 138656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 139656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 140656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#include <errno.h> 141656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 142656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_TXT_MALLOCED 0x01 143656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_TXT_STRING 0x02 144656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 145656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_FLAG_MARK 0x01 146656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 147656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_NUM_ERRORS 16 148656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct err_state_st 149656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 150221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom CRYPTO_THREADID tid; 151656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int err_flags[ERR_NUM_ERRORS]; 152656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long err_buffer[ERR_NUM_ERRORS]; 153656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project char *err_data[ERR_NUM_ERRORS]; 154656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int err_data_flags[ERR_NUM_ERRORS]; 155656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char *err_file[ERR_NUM_ERRORS]; 156656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int err_line[ERR_NUM_ERRORS]; 157656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project int top,bottom; 158656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } ERR_STATE; 159656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 160656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* library */ 161656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_NONE 1 162656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_SYS 2 163656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_BN 3 164656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_RSA 4 165656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_DH 5 166656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_EVP 6 167656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_BUF 7 168656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_OBJ 8 169656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_PEM 9 170656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_DSA 10 171656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_X509 11 172656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_METH 12 */ 173656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_ASN1 13 174656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_CONF 14 175656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_CRYPTO 15 176656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_EC 16 177656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_SSL 20 178656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_SSL23 21 */ 179656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_SSL2 22 */ 180656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_SSL3 23 */ 181656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_RSAREF 30 */ 182656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* #define ERR_LIB_PROXY 31 */ 183656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_BIO 32 184656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_PKCS7 33 185656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_X509V3 34 186656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_PKCS12 35 187656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_RAND 36 188656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_DSO 37 189656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_ENGINE 38 190656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_OCSP 39 191656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_UI 40 192656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_COMP 41 193656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_ECDSA 42 194656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_ECDH 43 195656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_STORE 44 196e45f106cb6b47af1f21efe76e933bdea2f5dd1caNagendra Modadugu#define ERR_LIB_FIPS 45 197e45f106cb6b47af1f21efe76e933bdea2f5dd1caNagendra Modadugu#define ERR_LIB_CMS 46 198221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define ERR_LIB_TS 47 199221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define ERR_LIB_HMAC 48 200221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define ERR_LIB_JPAKE 49 201656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 202656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_LIB_USER 128 203656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 204656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYSerr(f,r) ERR_PUT_error(ERR_LIB_SYS,(f),(r),__FILE__,__LINE__) 205656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define BNerr(f,r) ERR_PUT_error(ERR_LIB_BN,(f),(r),__FILE__,__LINE__) 206656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RSAerr(f,r) ERR_PUT_error(ERR_LIB_RSA,(f),(r),__FILE__,__LINE__) 207656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define DHerr(f,r) ERR_PUT_error(ERR_LIB_DH,(f),(r),__FILE__,__LINE__) 208656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define EVPerr(f,r) ERR_PUT_error(ERR_LIB_EVP,(f),(r),__FILE__,__LINE__) 209656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define BUFerr(f,r) ERR_PUT_error(ERR_LIB_BUF,(f),(r),__FILE__,__LINE__) 210656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OBJerr(f,r) ERR_PUT_error(ERR_LIB_OBJ,(f),(r),__FILE__,__LINE__) 211656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define PEMerr(f,r) ERR_PUT_error(ERR_LIB_PEM,(f),(r),__FILE__,__LINE__) 212656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define DSAerr(f,r) ERR_PUT_error(ERR_LIB_DSA,(f),(r),__FILE__,__LINE__) 213656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X509err(f,r) ERR_PUT_error(ERR_LIB_X509,(f),(r),__FILE__,__LINE__) 214656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ASN1err(f,r) ERR_PUT_error(ERR_LIB_ASN1,(f),(r),__FILE__,__LINE__) 215656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CONFerr(f,r) ERR_PUT_error(ERR_LIB_CONF,(f),(r),__FILE__,__LINE__) 216656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CRYPTOerr(f,r) ERR_PUT_error(ERR_LIB_CRYPTO,(f),(r),__FILE__,__LINE__) 217656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ECerr(f,r) ERR_PUT_error(ERR_LIB_EC,(f),(r),__FILE__,__LINE__) 218656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SSLerr(f,r) ERR_PUT_error(ERR_LIB_SSL,(f),(r),__FILE__,__LINE__) 219656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define BIOerr(f,r) ERR_PUT_error(ERR_LIB_BIO,(f),(r),__FILE__,__LINE__) 220656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define PKCS7err(f,r) ERR_PUT_error(ERR_LIB_PKCS7,(f),(r),__FILE__,__LINE__) 221656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define X509V3err(f,r) ERR_PUT_error(ERR_LIB_X509V3,(f),(r),__FILE__,__LINE__) 222656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define PKCS12err(f,r) ERR_PUT_error(ERR_LIB_PKCS12,(f),(r),__FILE__,__LINE__) 223656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define RANDerr(f,r) ERR_PUT_error(ERR_LIB_RAND,(f),(r),__FILE__,__LINE__) 224656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define DSOerr(f,r) ERR_PUT_error(ERR_LIB_DSO,(f),(r),__FILE__,__LINE__) 225656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ENGINEerr(f,r) ERR_PUT_error(ERR_LIB_ENGINE,(f),(r),__FILE__,__LINE__) 226656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define OCSPerr(f,r) ERR_PUT_error(ERR_LIB_OCSP,(f),(r),__FILE__,__LINE__) 227656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define UIerr(f,r) ERR_PUT_error(ERR_LIB_UI,(f),(r),__FILE__,__LINE__) 228656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define COMPerr(f,r) ERR_PUT_error(ERR_LIB_COMP,(f),(r),__FILE__,__LINE__) 229656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ECDSAerr(f,r) ERR_PUT_error(ERR_LIB_ECDSA,(f),(r),__FILE__,__LINE__) 230656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ECDHerr(f,r) ERR_PUT_error(ERR_LIB_ECDH,(f),(r),__FILE__,__LINE__) 231656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define STOREerr(f,r) ERR_PUT_error(ERR_LIB_STORE,(f),(r),__FILE__,__LINE__) 232e45f106cb6b47af1f21efe76e933bdea2f5dd1caNagendra Modadugu#define FIPSerr(f,r) ERR_PUT_error(ERR_LIB_FIPS,(f),(r),__FILE__,__LINE__) 233656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define CMSerr(f,r) ERR_PUT_error(ERR_LIB_CMS,(f),(r),__FILE__,__LINE__) 234221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define TSerr(f,r) ERR_PUT_error(ERR_LIB_TS,(f),(r),__FILE__,__LINE__) 235221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define HMACerr(f,r) ERR_PUT_error(ERR_LIB_HMAC,(f),(r),__FILE__,__LINE__) 236e45f106cb6b47af1f21efe76e933bdea2f5dd1caNagendra Modadugu#define JPAKEerr(f,r) ERR_PUT_error(ERR_LIB_JPAKE,(f),(r),__FILE__,__LINE__) 237656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 238656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Borland C seems too stupid to be able to shift and do longs in 239656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the pre-processor :-( */ 240656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_PACK(l,f,r) (((((unsigned long)l)&0xffL)*0x1000000)| \ 241656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project ((((unsigned long)f)&0xfffL)*0x1000)| \ 242656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project ((((unsigned long)r)&0xfffL))) 243656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_GET_LIB(l) (int)((((unsigned long)l)>>24L)&0xffL) 244656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_GET_FUNC(l) (int)((((unsigned long)l)>>12L)&0xfffL) 245656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_GET_REASON(l) (int)((l)&0xfffL) 246656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_FATAL_ERROR(l) (int)((l)&ERR_R_FATAL) 247656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 248656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 249656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* OS functions */ 250656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_FOPEN 1 251656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_CONNECT 2 252656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_GETSERVBYNAME 3 253656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_SOCKET 4 254656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_IOCTLSOCKET 5 255656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_BIND 6 256656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_LISTEN 7 257656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_ACCEPT 8 258656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_WSASTARTUP 9 /* Winsock stuff */ 259656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_OPENDIR 10 260656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define SYS_F_FREAD 11 261656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 262656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 263656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* reasons */ 264656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_SYS_LIB ERR_LIB_SYS /* 2 */ 265656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_BN_LIB ERR_LIB_BN /* 3 */ 266656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_RSA_LIB ERR_LIB_RSA /* 4 */ 267656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_DH_LIB ERR_LIB_DH /* 5 */ 268656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_EVP_LIB ERR_LIB_EVP /* 6 */ 269656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_BUF_LIB ERR_LIB_BUF /* 7 */ 270656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_OBJ_LIB ERR_LIB_OBJ /* 8 */ 271656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_PEM_LIB ERR_LIB_PEM /* 9 */ 272656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_DSA_LIB ERR_LIB_DSA /* 10 */ 273656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_X509_LIB ERR_LIB_X509 /* 11 */ 274656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_ASN1_LIB ERR_LIB_ASN1 /* 13 */ 275656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_CONF_LIB ERR_LIB_CONF /* 14 */ 276656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_CRYPTO_LIB ERR_LIB_CRYPTO /* 15 */ 277656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_EC_LIB ERR_LIB_EC /* 16 */ 278656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_SSL_LIB ERR_LIB_SSL /* 20 */ 279656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_BIO_LIB ERR_LIB_BIO /* 32 */ 280656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_PKCS7_LIB ERR_LIB_PKCS7 /* 33 */ 281656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_X509V3_LIB ERR_LIB_X509V3 /* 34 */ 282656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_PKCS12_LIB ERR_LIB_PKCS12 /* 35 */ 283656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_RAND_LIB ERR_LIB_RAND /* 36 */ 284656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_DSO_LIB ERR_LIB_DSO /* 37 */ 285656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_ENGINE_LIB ERR_LIB_ENGINE /* 38 */ 286656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_OCSP_LIB ERR_LIB_OCSP /* 39 */ 287656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_UI_LIB ERR_LIB_UI /* 40 */ 288656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_COMP_LIB ERR_LIB_COMP /* 41 */ 289656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_ECDSA_LIB ERR_LIB_ECDSA /* 42 */ 290656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_ECDH_LIB ERR_LIB_ECDH /* 43 */ 291656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_STORE_LIB ERR_LIB_STORE /* 44 */ 292221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#define ERR_R_TS_LIB ERR_LIB_TS /* 45 */ 293656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 294656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_NESTED_ASN1_ERROR 58 295656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_BAD_ASN1_OBJECT_HEADER 59 296656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_BAD_GET_ASN1_OBJECT_CALL 60 297656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_EXPECTING_AN_ASN1_SEQUENCE 61 298656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_ASN1_LENGTH_MISMATCH 62 299656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_MISSING_ASN1_EOS 63 300656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 301656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* fatal error */ 302656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_FATAL 64 303656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_MALLOC_FAILURE (1|ERR_R_FATAL) 304656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_SHOULD_NOT_HAVE_BEEN_CALLED (2|ERR_R_FATAL) 305656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_PASSED_NULL_PARAMETER (3|ERR_R_FATAL) 306656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_INTERNAL_ERROR (4|ERR_R_FATAL) 307656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#define ERR_R_DISABLED (5|ERR_R_FATAL) 308656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 309656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* 99 is the maximum possible ERR_R_... code, higher values 310656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * are reserved for the individual libraries */ 311656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 312656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 313656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projecttypedef struct ERR_string_data_st 314656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project { 315656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project unsigned long error; 316656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char *string; 317656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project } ERR_STRING_DATA; 318656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 319656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_put_error(int lib, int func,int reason,const char *file,int line); 320656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_set_error_data(char *data,int flags); 321656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 322656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_get_error(void); 323656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_get_error_line(const char **file,int *line); 324656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_get_error_line_data(const char **file,int *line, 325656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char **data, int *flags); 326656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_error(void); 327656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_error_line(const char **file,int *line); 328656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_error_line_data(const char **file,int *line, 329656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char **data,int *flags); 330656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_last_error(void); 331656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_last_error_line(const char **file,int *line); 332656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectunsigned long ERR_peek_last_error_line_data(const char **file,int *line, 333656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project const char **data,int *flags); 334656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_clear_error(void ); 335656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectchar *ERR_error_string(unsigned long e,char *buf); 336656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_error_string_n(unsigned long e, char *buf, size_t len); 337656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst char *ERR_lib_error_string(unsigned long e); 338656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst char *ERR_func_error_string(unsigned long e); 339656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst char *ERR_reason_error_string(unsigned long e); 340656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_print_errors_cb(int (*cb)(const char *str, size_t len, void *u), 341656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project void *u); 342656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_FP_API 343656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_print_errors_fp(FILE *fp); 344656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 345656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_BIO 346656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_print_errors(BIO *bp); 347656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 348392aa7cc7d2b122614c5393c3e357da07fd07af3Brian Carlstromvoid ERR_add_error_data(int num, ...); 349392aa7cc7d2b122614c5393c3e357da07fd07af3Brian Carlstromvoid ERR_add_error_vdata(int num, va_list args); 350656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_load_strings(int lib,ERR_STRING_DATA str[]); 351656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_unload_strings(int lib,ERR_STRING_DATA str[]); 352656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_load_ERR_strings(void); 353656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_load_crypto_strings(void); 354656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_free_strings(void); 355656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 356221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromvoid ERR_remove_thread_state(const CRYPTO_THREADID *tid); 357221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#ifndef OPENSSL_NO_DEPRECATED 358656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectvoid ERR_remove_state(unsigned long pid); /* if zero we look it up */ 359221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstrom#endif 360656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source ProjectERR_STATE *ERR_get_state(void); 361656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 362656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifndef OPENSSL_NO_LHASH 363221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromLHASH_OF(ERR_STRING_DATA) *ERR_get_string_table(void); 364221304ee937bc0910948a8be1320cb8cc4eb6d36Brian CarlstromLHASH_OF(ERR_STATE) *ERR_get_err_state_table(void); 365221304ee937bc0910948a8be1320cb8cc4eb6d36Brian Carlstromvoid ERR_release_err_state_table(LHASH_OF(ERR_STATE) **hash); 366656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 367656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 368656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint ERR_get_next_error_library(void); 369656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 370656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint ERR_set_mark(void); 371656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint ERR_pop_to_mark(void); 372656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 373656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* Already defined in ossl_typ.h */ 374656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* typedef struct st_ERR_FNS ERR_FNS; */ 375656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* An application can use this function and provide the return value to loaded 376656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * modules that should use the application's ERR state/functionality */ 377656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectconst ERR_FNS *ERR_get_implementation(void); 378656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project/* A loaded module should call this function prior to any ERR operations using 379656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project * the application's "ERR_FNS". */ 380656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Projectint ERR_set_implementation(const ERR_FNS *fns); 381656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 382656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#ifdef __cplusplus 383656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project} 384656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 385656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project 386656d9c7f52f88b3a3daccafa7655dec086c4756eThe Android Open Source Project#endif 387