ISARA Quantum Resistant Toolkit  Version 1.1
Quantum resistant cryptographic primitives and algorithms.
iqr_retval.h
Go to the documentation of this file.
1 
17 #ifndef IQR_RETVAL_H
18 #define IQR_RETVAL_H
19 
20 #ifdef __cplusplus
21 extern "C" {
22 #endif
23 
24 #include "iqr_api.h"
25 
26 typedef enum {
28  IQR_OK = 0,
29 
30  // -----------------------------------------------------------------------------------------------------------------------------
31  // General error values.
32  // -----------------------------------------------------------------------------------------------------------------------------
33 
35  IQR_ENULLPTR = -1001,
36 
38  IQR_ENOMEM = -1002,
39 
41  IQR_ENOTINIT = -1003,
42 
44  IQR_EINVBUFSIZE = -1004,
45 
47  IQR_EBADVALUE = -1005,
48 
50  IQR_EOUTOFRANGE = -1006,
51 
54 
56  IQR_EINVOBJECT = -1008,
57 
60 
63 
65  IQR_EINVDATA = -1011,
66 
69  IQR_EINVPTR = -1012,
70 
72  IQR_EPTROVERLAP = -1013,
73 
74  // -----------------------------------------------------------------------------------------------------------------------------
75  // Algorithm error values.
76  // -----------------------------------------------------------------------------------------------------------------------------
77 
80 
83 
84  // -----------------------------------------------------------------------------------------------------------------------------
85  // Key error values.
86  // -----------------------------------------------------------------------------------------------------------------------------
87 
90 
93 
95  IQR_EINVSYMKEY = -3003,
96 
99 
102 
105 
106  // -----------------------------------------------------------------------------------------------------------------------------
107  // Random Number Generator error values.
108  // -----------------------------------------------------------------------------------------------------------------------------
109 
111  IQR_ENOTSEEDED = -4001,
112 
114  IQR_ERESEED = -4002,
115 
116  // -----------------------------------------------------------------------------------------------------------------------------
117  // Crypto error values.
118  // -----------------------------------------------------------------------------------------------------------------------------
119 
122 
123  // -----------------------------------------------------------------------------------------------------------------------------
124  // Bignum error values.
125  // -----------------------------------------------------------------------------------------------------------------------------
126 
129 
131  IQR_EDIVBYZERO = -6002,
132 
135 } iqr_retval;
136 
137 // ---------------------------------------------------------------------------------------------------------------------------------
138 // Helper functions.
139 // ---------------------------------------------------------------------------------------------------------------------------------
140 
150 IQR_API
151 const char *iqr_StrError(iqr_retval ret);
152 
153 #ifdef __cplusplus
154 }
155 #endif
156 
157 #endif /* IQR_RETVAL_H */
The parameter value is not valid.
Definition: iqr_retval.h:47
The provided buffer has an invalid size.
Definition: iqr_retval.h:44
The provided data is invalid.
Definition: iqr_retval.h:65
IQR_API const char * iqr_StrError(iqr_retval ret)
Definition: iqr_retval.h:69
The decryption algorithm failed to decrypt the ciphertext.
Definition: iqr_retval.h:121
The signature of the message is invalid.
Definition: iqr_retval.h:101
The private key is invalid.
Definition: iqr_retval.h:92
The key cannot be used to create more signatures.
Definition: iqr_retval.h:104
The specified structure is not initialized.
Definition: iqr_retval.h:41
The parameter value is out of range.
Definition: iqr_retval.h:50
A NULL pointer was passed in where a valid pointer was expected.
Definition: iqr_retval.h:35
The arithmetic operation resulted in integer overflow.
Definition: iqr_retval.h:128
The object is invalid.
Definition: iqr_retval.h:56
The provided hashing algorithm is not valid for this key type.
Definition: iqr_retval.h:82
Input and output pointers must not be overlapping buffers.
Definition: iqr_retval.h:72
The provided callback pointers are invalid.
Definition: iqr_retval.h:59
The symmetric key is invalid.
Definition: iqr_retval.h:95
The Random Number Generator must be reseeded.
Definition: iqr_retval.h:114
The parameter value is valid but not supported.
Definition: iqr_retval.h:53
The public key is not derived from the private key.
Definition: iqr_retval.h:98
The algorithm state is invalid.
Definition: iqr_retval.h:79
The public key is invalid.
Definition: iqr_retval.h:89
The arithmetic operation resulted in division by zero.
Definition: iqr_retval.h:131
Success, function completed successfully.
Definition: iqr_retval.h:28
The Random Number Generator has not been seeded.
Definition: iqr_retval.h:111
Memory allocation failed.
Definition: iqr_retval.h:38
The arithmetic operation produced wrong result.
Definition: iqr_retval.h:134
iqr_retval
Definition: iqr_retval.h:26
Callbacks to an algorithm were not registered prior to use.
Definition: iqr_retval.h:62