diff options
author | Dr. Stephen Henson <steve@openssl.org> | 2008-05-31 22:50:00 +0000 |
---|---|---|
committer | Dr. Stephen Henson <steve@openssl.org> | 2008-05-31 22:50:00 +0000 |
commit | 408f90659241feb18d15e93ee7e20c51a2781179 (patch) | |
tree | 93c1c8bb0e0d455ba2aa688d9f177d35edd804ed /engines/e_capi_err.c | |
parent | 7a18ecb2df34baa6de462bfcf9379e38209d224b (diff) | |
download | openssl-408f90659241feb18d15e93ee7e20c51a2781179.tar.gz |
Add CryptoAPI error file too.
Diffstat (limited to 'engines/e_capi_err.c')
-rw-r--r-- | engines/e_capi_err.c | 178 |
1 files changed, 178 insertions, 0 deletions
diff --git a/engines/e_capi_err.c b/engines/e_capi_err.c new file mode 100644 index 0000000000..6ffd5bf574 --- /dev/null +++ b/engines/e_capi_err.c @@ -0,0 +1,178 @@ +/* e_capi_err.c */ +/* ==================================================================== + * Copyright (c) 1999-2008 The OpenSSL Project. All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions + * are met: + * + * 1. Redistributions of source code must retain the above copyright + * notice, this list of conditions and the following disclaimer. + * + * 2. Redistributions in binary form must reproduce the above copyright + * notice, this list of conditions and the following disclaimer in + * the documentation and/or other materials provided with the + * distribution. + * + * 3. All advertising materials mentioning features or use of this + * software must display the following acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit. (http://www.OpenSSL.org/)" + * + * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to + * endorse or promote products derived from this software without + * prior written permission. For written permission, please contact + * openssl-core@OpenSSL.org. + * + * 5. Products derived from this software may not be called "OpenSSL" + * nor may "OpenSSL" appear in their names without prior written + * permission of the OpenSSL Project. + * + * 6. Redistributions of any form whatsoever must retain the following + * acknowledgment: + * "This product includes software developed by the OpenSSL Project + * for use in the OpenSSL Toolkit (http://www.OpenSSL.org/)" + * + * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY + * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE + * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE OpenSSL PROJECT OR + * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, + * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT + * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) + * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, + * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) + * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED + * OF THE POSSIBILITY OF SUCH DAMAGE. + * ==================================================================== + * + * This product includes cryptographic software written by Eric Young + * (eay@cryptsoft.com). This product includes software written by Tim + * Hudson (tjh@cryptsoft.com). + * + */ + +/* NOTE: this file was auto generated by the mkerr.pl script: any changes + * made to it will be overwritten when the script next updates this file, + * only reason strings will be preserved. + */ + +#include <stdio.h> +#include <openssl/err.h> +#include "e_capi_err.h" + +/* BEGIN ERROR CODES */ +#ifndef OPENSSL_NO_ERR + +#define ERR_FUNC(func) ERR_PACK(0,func,0) +#define ERR_REASON(reason) ERR_PACK(0,0,reason) + +static ERR_STRING_DATA CAPI_str_functs[]= + { +{ERR_FUNC(CAPI_F_CAPI_CERT_GET_FNAME), "CAPI_CERT_GET_FNAME"}, +{ERR_FUNC(CAPI_F_CAPI_CTRL), "CAPI_CTRL"}, +{ERR_FUNC(CAPI_F_CAPI_CTX_NEW), "CAPI_CTX_NEW"}, +{ERR_FUNC(CAPI_F_CAPI_CTX_SET_PROVNAME), "CAPI_CTX_SET_PROVNAME"}, +{ERR_FUNC(CAPI_F_CAPI_DSA_DO_SIGN), "CAPI_DSA_DO_SIGN"}, +{ERR_FUNC(CAPI_F_CAPI_GET_KEY), "CAPI_GET_KEY"}, +{ERR_FUNC(CAPI_F_CAPI_GET_PROVNAME), "CAPI_GET_PROVNAME"}, +{ERR_FUNC(CAPI_F_CAPI_GET_PROV_INFO), "CAPI_GET_PROV_INFO"}, +{ERR_FUNC(CAPI_F_CAPI_INIT), "CAPI_INIT"}, +{ERR_FUNC(CAPI_F_CAPI_LIST_CONTAINERS), "CAPI_LIST_CONTAINERS"}, +{ERR_FUNC(CAPI_F_CAPI_LOAD_PRIVKEY), "CAPI_LOAD_PRIVKEY"}, +{ERR_FUNC(CAPI_F_CAPI_OPEN_STORE), "CAPI_OPEN_STORE"}, +{ERR_FUNC(CAPI_F_CAPI_RSA_PRIV_DEC), "CAPI_RSA_PRIV_DEC"}, +{ERR_FUNC(CAPI_F_CAPI_RSA_PRIV_ENC), "CAPI_RSA_PRIV_ENC"}, +{ERR_FUNC(CAPI_F_CAPI_RSA_SIGN), "CAPI_RSA_SIGN"}, +{ERR_FUNC(CAPI_F_WIDE_TO_ASC), "WIDE_TO_ASC"}, +{0,NULL} + }; + +static ERR_STRING_DATA CAPI_str_reasons[]= + { +{ERR_REASON(CAPI_R_CANT_CREATE_HASH_OBJECT),"cant create hash object"}, +{ERR_REASON(CAPI_R_CANT_FIND_CAPI_CONTEXT),"cant find capi context"}, +{ERR_REASON(CAPI_R_CANT_GET_KEY) ,"cant get key"}, +{ERR_REASON(CAPI_R_CANT_SET_HASH_VALUE) ,"cant set hash value"}, +{ERR_REASON(CAPI_R_CRYPTACQUIRECONTEXT_ERROR),"cryptacquirecontext error"}, +{ERR_REASON(CAPI_R_CRYPTENUMPROVIDERS_ERROR),"cryptenumproviders error"}, +{ERR_REASON(CAPI_R_DECRYPT_ERROR) ,"decrypt error"}, +{ERR_REASON(CAPI_R_ENGINE_NOT_INITIALIZED),"engine not initialized"}, +{ERR_REASON(CAPI_R_ENUMCONTAINERS_ERROR) ,"enumcontainers error"}, +{ERR_REASON(CAPI_R_ERROR_GETTING_FRIENDLY_NAME),"error getting friendly name"}, +{ERR_REASON(CAPI_R_ERROR_GETTING_KEY_PROVIDER_INFO),"error getting key provider info"}, +{ERR_REASON(CAPI_R_ERROR_OPENING_STORE) ,"error opening store"}, +{ERR_REASON(CAPI_R_ERROR_SIGNING_HASH) ,"error signing hash"}, +{ERR_REASON(CAPI_R_FUNCTION_NOT_SUPPORTED),"function not supported"}, +{ERR_REASON(CAPI_R_GETUSERKEY_ERROR) ,"getuserkey error"}, +{ERR_REASON(CAPI_R_INVALID_DIGEST_LENGTH),"invalid digest length"}, +{ERR_REASON(CAPI_R_INVALID_DSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER),"invalid dsa public key blob magic number"}, +{ERR_REASON(CAPI_R_INVALID_LOOKUP_METHOD),"invalid lookup method"}, +{ERR_REASON(CAPI_R_INVALID_PUBLIC_KEY_BLOB),"invalid public key blob"}, +{ERR_REASON(CAPI_R_INVALID_RSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER),"invalid rsa public key blob magic number"}, +{ERR_REASON(CAPI_R_PUBKEY_EXPORT_ERROR) ,"pubkey export error"}, +{ERR_REASON(CAPI_R_PUBKEY_EXPORT_LENGTH_ERROR),"pubkey export length error"}, +{ERR_REASON(CAPI_R_UNKNOWN_COMMAND) ,"unknown command"}, +{ERR_REASON(CAPI_R_UNSUPPORTED_ALGORITHM_NID),"unsupported algorithm nid"}, +{ERR_REASON(CAPI_R_UNSUPPORTED_PADDING) ,"unsupported padding"}, +{ERR_REASON(CAPI_R_UNSUPPORTED_PUBLIC_KEY_ALGORITHM),"unsupported public key algorithm"}, +{0,NULL} + }; + +#endif + +#ifdef CAPI_LIB_NAME +static ERR_STRING_DATA CAPI_lib_name[]= + { +{0 ,CAPI_LIB_NAME}, +{0,NULL} + }; +#endif + + +static int CAPI_lib_error_code=0; +static int CAPI_error_init=1; + +static void ERR_load_CAPI_strings(void) + { + if (CAPI_lib_error_code == 0) + CAPI_lib_error_code=ERR_get_next_error_library(); + + if (CAPI_error_init) + { + CAPI_error_init=0; +#ifndef OPENSSL_NO_ERR + ERR_load_strings(CAPI_lib_error_code,CAPI_str_functs); + ERR_load_strings(CAPI_lib_error_code,CAPI_str_reasons); +#endif + +#ifdef CAPI_LIB_NAME + CAPI_lib_name->error = ERR_PACK(CAPI_lib_error_code,0,0); + ERR_load_strings(0,CAPI_lib_name); +#endif + } + } + +static void ERR_unload_CAPI_strings(void) + { + if (CAPI_error_init == 0) + { +#ifndef OPENSSL_NO_ERR + ERR_unload_strings(CAPI_lib_error_code,CAPI_str_functs); + ERR_unload_strings(CAPI_lib_error_code,CAPI_str_reasons); +#endif + +#ifdef CAPI_LIB_NAME + ERR_unload_strings(0,CAPI_lib_name); +#endif + CAPI_error_init=1; + } + } + +static void ERR_CAPI_error(int function, int reason, char *file, int line) + { + if (CAPI_lib_error_code == 0) + CAPI_lib_error_code=ERR_get_next_error_library(); + ERR_PUT_error(CAPI_lib_error_code,function,reason,file,line); + } |