1/* ====================================================================
2 * Copyright (c) 2001-2008 The OpenSSL Project.  All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 *
8 * 1. Redistributions of source code must retain the above copyright
9 *    notice, this list of conditions and the following disclaimer.
10 *
11 * 2. Redistributions in binary form must reproduce the above copyright
12 *    notice, this list of conditions and the following disclaimer in
13 *    the documentation and/or other materials provided with the
14 *    distribution.
15 *
16 * 3. All advertising materials mentioning features or use of this
17 *    software must display the following acknowledgment:
18 *    "This product includes software developed by the OpenSSL Project
19 *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20 *
21 * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22 *    endorse or promote products derived from this software without
23 *    prior written permission. For written permission, please contact
24 *    openssl-core@openssl.org.
25 *
26 * 5. Products derived from this software may not be called "OpenSSL"
27 *    nor may "OpenSSL" appear in their names without prior written
28 *    permission of the OpenSSL Project.
29 *
30 * 6. Redistributions of any form whatsoever must retain the following
31 *    acknowledgment:
32 *    "This product includes software developed by the OpenSSL Project
33 *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34 *
35 * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36 * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
39 * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40 * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42 * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44 * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45 * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46 * OF THE POSSIBILITY OF SUCH DAMAGE.
47 * ====================================================================
48 *
49 * This product includes cryptographic software written by Eric Young
50 * (eay@cryptsoft.com).  This product includes software written by Tim
51 * Hudson (tjh@cryptsoft.com).
52 *
53 */
54
55#ifndef HEADER_CAPI_ERR_H
56#define HEADER_CAPI_ERR_H
57
58#ifdef  __cplusplus
59extern "C" {
60#endif
61
62/* BEGIN ERROR CODES */
63/* The following lines are auto generated by the script mkerr.pl. Any changes
64 * made after this point may be overwritten when the script is next run.
65 */
66static void ERR_load_CAPI_strings(void);
67static void ERR_unload_CAPI_strings(void);
68static void ERR_CAPI_error(int function, int reason, char *file, int line);
69#define CAPIerr(f,r) ERR_CAPI_error((f),(r),__FILE__,__LINE__)
70
71/* Error codes for the CAPI functions. */
72
73/* Function codes. */
74#define CAPI_F_CAPI_CERT_GET_FNAME			 99
75#define CAPI_F_CAPI_CTRL				 100
76#define CAPI_F_CAPI_CTX_NEW				 101
77#define CAPI_F_CAPI_CTX_SET_PROVNAME			 102
78#define CAPI_F_CAPI_DSA_DO_SIGN				 114
79#define CAPI_F_CAPI_GET_KEY				 103
80#define CAPI_F_CAPI_GET_PKEY				 115
81#define CAPI_F_CAPI_GET_PROVNAME			 104
82#define CAPI_F_CAPI_GET_PROV_INFO			 105
83#define CAPI_F_CAPI_INIT				 106
84#define CAPI_F_CAPI_LIST_CONTAINERS			 107
85#define CAPI_F_CAPI_LOAD_PRIVKEY			 108
86#define CAPI_F_CAPI_OPEN_STORE				 109
87#define CAPI_F_CAPI_RSA_PRIV_DEC			 110
88#define CAPI_F_CAPI_RSA_PRIV_ENC			 111
89#define CAPI_F_CAPI_RSA_SIGN				 112
90#define CAPI_F_CERT_SELECT_DIALOG			 117
91#define CAPI_F_CLIENT_CERT_SELECT			 116
92#define CAPI_F_WIDE_TO_ASC				 113
93
94/* Reason codes. */
95#define CAPI_R_CANT_CREATE_HASH_OBJECT			 99
96#define CAPI_R_CANT_FIND_CAPI_CONTEXT			 100
97#define CAPI_R_CANT_GET_KEY				 101
98#define CAPI_R_CANT_SET_HASH_VALUE			 102
99#define CAPI_R_CRYPTACQUIRECONTEXT_ERROR		 103
100#define CAPI_R_CRYPTENUMPROVIDERS_ERROR			 104
101#define CAPI_R_DECRYPT_ERROR				 105
102#define CAPI_R_ENGINE_NOT_INITIALIZED			 106
103#define CAPI_R_ENUMCONTAINERS_ERROR			 107
104#define CAPI_R_ERROR_ADDING_CERT			 125
105#define CAPI_R_ERROR_CREATING_STORE			 126
106#define CAPI_R_ERROR_GETTING_FRIENDLY_NAME		 108
107#define CAPI_R_ERROR_GETTING_KEY_PROVIDER_INFO		 109
108#define CAPI_R_ERROR_OPENING_STORE			 110
109#define CAPI_R_ERROR_SIGNING_HASH			 111
110#define CAPI_R_FUNCTION_NOT_SUPPORTED			 112
111#define CAPI_R_GETUSERKEY_ERROR				 113
112#define CAPI_R_INVALID_DIGEST_LENGTH			 124
113#define CAPI_R_INVALID_DSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER	 122
114#define CAPI_R_INVALID_LOOKUP_METHOD			 114
115#define CAPI_R_INVALID_PUBLIC_KEY_BLOB			 115
116#define CAPI_R_INVALID_RSA_PUBLIC_KEY_BLOB_MAGIC_NUMBER	 123
117#define CAPI_R_PUBKEY_EXPORT_ERROR			 116
118#define CAPI_R_PUBKEY_EXPORT_LENGTH_ERROR		 117
119#define CAPI_R_UNKNOWN_COMMAND				 118
120#define CAPI_R_UNSUPPORTED_ALGORITHM_NID		 119
121#define CAPI_R_UNSUPPORTED_PADDING			 120
122#define CAPI_R_UNSUPPORTED_PUBLIC_KEY_ALGORITHM		 121
123#define CAPI_R_WIN32_ERROR				 127
124
125#ifdef  __cplusplus
126}
127#endif
128#endif
129