1238384Sjkim/* ====================================================================
2238384Sjkim * Copyright (c) 2001-2005 The OpenSSL Project.  All rights reserved.
3238384Sjkim *
4238384Sjkim * Redistribution and use in source and binary forms, with or without
5238384Sjkim * modification, are permitted provided that the following conditions
6238384Sjkim * are met:
7238384Sjkim *
8238384Sjkim * 1. Redistributions of source code must retain the above copyright
9280304Sjkim *    notice, this list of conditions and the following disclaimer.
10238384Sjkim *
11238384Sjkim * 2. Redistributions in binary form must reproduce the above copyright
12238384Sjkim *    notice, this list of conditions and the following disclaimer in
13238384Sjkim *    the documentation and/or other materials provided with the
14238384Sjkim *    distribution.
15238384Sjkim *
16238384Sjkim * 3. All advertising materials mentioning features or use of this
17238384Sjkim *    software must display the following acknowledgment:
18238384Sjkim *    "This product includes software developed by the OpenSSL Project
19238384Sjkim *    for use in the OpenSSL Toolkit. (http://www.openssl.org/)"
20238384Sjkim *
21238384Sjkim * 4. The names "OpenSSL Toolkit" and "OpenSSL Project" must not be used to
22238384Sjkim *    endorse or promote products derived from this software without
23238384Sjkim *    prior written permission. For written permission, please contact
24238384Sjkim *    openssl-core@openssl.org.
25238384Sjkim *
26238384Sjkim * 5. Products derived from this software may not be called "OpenSSL"
27238384Sjkim *    nor may "OpenSSL" appear in their names without prior written
28238384Sjkim *    permission of the OpenSSL Project.
29238384Sjkim *
30238384Sjkim * 6. Redistributions of any form whatsoever must retain the following
31238384Sjkim *    acknowledgment:
32238384Sjkim *    "This product includes software developed by the OpenSSL Project
33238384Sjkim *    for use in the OpenSSL Toolkit (http://www.openssl.org/)"
34238384Sjkim *
35238384Sjkim * THIS SOFTWARE IS PROVIDED BY THE OpenSSL PROJECT ``AS IS'' AND ANY
36238384Sjkim * EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
37238384Sjkim * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
38238384Sjkim * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE OpenSSL PROJECT OR
39238384Sjkim * ITS CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
40238384Sjkim * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
41238384Sjkim * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
42238384Sjkim * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
43238384Sjkim * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT,
44238384Sjkim * STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
45238384Sjkim * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
46238384Sjkim * OF THE POSSIBILITY OF SUCH DAMAGE.
47238384Sjkim * ====================================================================
48238384Sjkim *
49238384Sjkim * This product includes cryptographic software written by Eric Young
50238384Sjkim * (eay@cryptsoft.com).  This product includes software written by Tim
51238384Sjkim * Hudson (tjh@cryptsoft.com).
52238384Sjkim *
53238384Sjkim */
54238384Sjkim
55238384Sjkim#ifndef HEADER_GOST_ERR_H
56280304Sjkim# define HEADER_GOST_ERR_H
57238384Sjkim
58238384Sjkim#ifdef  __cplusplus
59238384Sjkimextern "C" {
60238384Sjkim#endif
61238384Sjkim
62238384Sjkim/* BEGIN ERROR CODES */
63280304Sjkim/*
64280304Sjkim * The following lines are auto generated by the script mkerr.pl. Any changes
65238384Sjkim * made after this point may be overwritten when the script is next run.
66238384Sjkim */
67238384Sjkimvoid ERR_load_GOST_strings(void);
68238384Sjkimvoid ERR_unload_GOST_strings(void);
69238384Sjkimvoid ERR_GOST_error(int function, int reason, char *file, int line);
70280304Sjkim# define GOSTerr(f,r) ERR_GOST_error((f),(r),__FILE__,__LINE__)
71238384Sjkim
72238384Sjkim/* Error codes for the GOST functions. */
73238384Sjkim
74238384Sjkim/* Function codes. */
75280304Sjkim# define GOST_F_DECODE_GOST_ALGOR_PARAMS                  99
76280304Sjkim# define GOST_F_ENCODE_GOST_ALGOR_PARAMS                  100
77280304Sjkim# define GOST_F_FILL_GOST2001_PARAMS                      101
78280304Sjkim# define GOST_F_FILL_GOST94_PARAMS                        102
79280304Sjkim# define GOST_F_GET_ENCRYPTION_PARAMS                     103
80280304Sjkim# define GOST_F_GOST2001_COMPUTE_PUBLIC                   104
81280304Sjkim# define GOST_F_GOST2001_DO_SIGN                          105
82280304Sjkim# define GOST_F_GOST2001_DO_VERIFY                        106
83280304Sjkim# define GOST_F_GOST2001_KEYGEN                           107
84280304Sjkim# define GOST_F_GOST89_GET_ASN1_PARAMETERS                108
85280304Sjkim# define GOST_F_GOST89_SET_ASN1_PARAMETERS                109
86280304Sjkim# define GOST_F_GOST94_COMPUTE_PUBLIC                     110
87280304Sjkim# define GOST_F_GOST_CIPHER_CTL                           111
88280304Sjkim# define GOST_F_GOST_DO_SIGN                              112
89280304Sjkim# define GOST_F_GOST_DO_VERIFY                            113
90280304Sjkim# define GOST_F_GOST_IMIT_CTRL                            114
91280304Sjkim# define GOST_F_GOST_IMIT_FINAL                           140
92280304Sjkim# define GOST_F_GOST_IMIT_UPDATE                          115
93284285Sjkim# define GOST_F_GOST_SIGN_KEYGEN                          142
94280304Sjkim# define GOST_F_PARAM_COPY_GOST01                         116
95280304Sjkim# define GOST_F_PARAM_COPY_GOST94                         117
96280304Sjkim# define GOST_F_PKEY_GOST01CP_DECRYPT                     118
97280304Sjkim# define GOST_F_PKEY_GOST01CP_ENCRYPT                     119
98280304Sjkim# define GOST_F_PKEY_GOST01CP_KEYGEN                      120
99280304Sjkim# define GOST_F_PKEY_GOST01_PARAMGEN                      138
100280304Sjkim# define GOST_F_PKEY_GOST2001_DERIVE                      121
101280304Sjkim# define GOST_F_PKEY_GOST94CP_DECRYPT                     122
102280304Sjkim# define GOST_F_PKEY_GOST94CP_ENCRYPT                     123
103280304Sjkim# define GOST_F_PKEY_GOST94CP_KEYGEN                      124
104280304Sjkim# define GOST_F_PKEY_GOST94_PARAMGEN                      139
105280304Sjkim# define GOST_F_PKEY_GOST_CTRL                            125
106280304Sjkim# define GOST_F_PKEY_GOST_CTRL01_STR                      126
107280304Sjkim# define GOST_F_PKEY_GOST_CTRL94_STR                      127
108280304Sjkim# define GOST_F_PKEY_GOST_MAC_CTRL                        128
109280304Sjkim# define GOST_F_PKEY_GOST_MAC_CTRL_STR                    129
110280304Sjkim# define GOST_F_PKEY_GOST_MAC_KEYGEN                      130
111280304Sjkim# define GOST_F_PRINT_GOST_01                             131
112280304Sjkim# define GOST_F_PRIV_DECODE_GOST                          132
113280304Sjkim# define GOST_F_PUB_DECODE_GOST01                         133
114280304Sjkim# define GOST_F_PUB_DECODE_GOST94                         134
115280304Sjkim# define GOST_F_PUB_ENCODE_GOST01                         135
116280304Sjkim# define GOST_F_UNPACK_CC_SIGNATURE                       136
117280304Sjkim# define GOST_F_UNPACK_CP_SIGNATURE                       137
118238384Sjkim
119238384Sjkim/* Reason codes. */
120280304Sjkim# define GOST_R_BAD_KEY_PARAMETERS_FORMAT                 99
121280304Sjkim# define GOST_R_BAD_PKEY_PARAMETERS_FORMAT                100
122280304Sjkim# define GOST_R_CANNOT_PACK_EPHEMERAL_KEY                 101
123280304Sjkim# define GOST_R_CTRL_CALL_FAILED                          132
124280304Sjkim# define GOST_R_ERROR_COMPUTING_SHARED_KEY                102
125280304Sjkim# define GOST_R_ERROR_PACKING_KEY_TRANSPORT_INFO          103
126280304Sjkim# define GOST_R_ERROR_PARSING_KEY_TRANSPORT_INFO          104
127280304Sjkim# define GOST_R_INCOMPATIBLE_ALGORITHMS                   105
128280304Sjkim# define GOST_R_INCOMPATIBLE_PEER_KEY                     131
129280304Sjkim# define GOST_R_INVALID_CIPHER_PARAMS                     106
130280304Sjkim# define GOST_R_INVALID_CIPHER_PARAM_OID                  107
131280304Sjkim# define GOST_R_INVALID_DIGEST_TYPE                       108
132280304Sjkim# define GOST_R_INVALID_GOST94_PARMSET                    109
133280304Sjkim# define GOST_R_INVALID_IV_LENGTH                         110
134280304Sjkim# define GOST_R_INVALID_MAC_KEY_LENGTH                    111
135280304Sjkim# define GOST_R_INVALID_PARAMSET                          112
136280304Sjkim# define GOST_R_KEY_IS_NOT_INITALIZED                     113
137280304Sjkim# define GOST_R_KEY_IS_NOT_INITIALIZED                    114
138280304Sjkim# define GOST_R_KEY_PARAMETERS_MISSING                    115
139280304Sjkim# define GOST_R_MAC_KEY_NOT_SET                           116
140280304Sjkim# define GOST_R_MALLOC_FAILURE                            117
141280304Sjkim# define GOST_R_NO_MEMORY                                 118
142280304Sjkim# define GOST_R_NO_PARAMETERS_SET                         119
143280304Sjkim# define GOST_R_NO_PEER_KEY                               120
144280304Sjkim# define GOST_R_NO_PRIVATE_PART_OF_NON_EPHEMERAL_KEYPAIR  121
145280304Sjkim# define GOST_R_PUBLIC_KEY_UNDEFINED                      122
146280304Sjkim# define GOST_R_RANDOM_GENERATOR_ERROR                    123
147280304Sjkim# define GOST_R_RANDOM_GENERATOR_FAILURE                  124
148280304Sjkim# define GOST_R_RANDOM_NUMBER_GENERATOR_FAILED            125
149280304Sjkim# define GOST_R_SIGNATURE_MISMATCH                        126
150280304Sjkim# define GOST_R_SIGNATURE_PARTS_GREATER_THAN_Q            127
151280304Sjkim# define GOST_R_UKM_NOT_SET                               128
152280304Sjkim# define GOST_R_UNSUPPORTED_CIPHER_CTL_COMMAND            129
153280304Sjkim# define GOST_R_UNSUPPORTED_PARAMETER_SET                 130
154238384Sjkim
155238384Sjkim#ifdef  __cplusplus
156238384Sjkim}
157238384Sjkim#endif
158238384Sjkim#endif
159