1# the mapping from return code to the appropriate message
20x00000000 = CKR_OK
30x00000001 = CKR_CANCEL
40x00000002 = CKR_HOST_MEMORY
50x00000003 = CKR_SLOT_ID_INVALID
60x00000005 = CKR_GENERAL_ERROR
70x00000006 = CKR_FUNCTION_FAILED
80x00000007 = CKR_ARGUMENTS_BAD
90x00000008 = CKR_NO_EVENT
100x00000009 = CKR_NEED_TO_CREATE_THREADS
110x0000000A = CKR_CANT_LOCK
120x00000010 = CKR_ATTRIBUTE_READ_ONLY
130x00000011 = CKR_ATTRIBUTE_SENSITIVE
140x00000012 = CKR_ATTRIBUTE_TYPE_INVALID
150x00000013 = CKR_ATTRIBUTE_VALUE_INVALID
160x00000020 = CKR_DATA_INVALID
170x00000021 = CKR_DATA_LEN_RANGE
180x00000030 = CKR_DEVICE_ERROR
190x00000031 = CKR_DEVICE_MEMORY
200x00000032 = CKR_DEVICE_REMOVED
210x00000040 = CKR_ENCRYPTED_DATA_INVALID
220x00000041 = CKR_ENCRYPTED_DATA_LEN_RANGE
230x00000050 = CKR_FUNCTION_CANCELED
240x00000051 = CKR_FUNCTION_NOT_PARALLEL
250x00000054 = CKR_FUNCTION_NOT_SUPPORTED
260x00000060 = CKR_KEY_HANDLE_INVALID
270x00000062 = CKR_KEY_SIZE_RANGE
280x00000063 = CKR_KEY_TYPE_INCONSISTENT
290x00000064 = CKR_KEY_NOT_NEEDED
300x00000065 = CKR_KEY_CHANGED
310x00000066 = CKR_KEY_NEEDED
320x00000067 = CKR_KEY_INDIGESTIBLE
330x00000068 = CKR_KEY_FUNCTION_NOT_PERMITTED
340x00000069 = CKR_KEY_NOT_WRAPPABLE
350x0000006A = CKR_KEY_UNEXTRACTABLE
360x00000070 = CKR_MECHANISM_INVALID
370x00000071 = CKR_MECHANISM_PARAM_INVALID
380x00000082 = CKR_OBJECT_HANDLE_INVALID
390x00000090 = CKR_OPERATION_ACTIVE
400x00000091 = CKR_OPERATION_NOT_INITIALIZED
410x000000A0 = CKR_PIN_INCORRECT
420x000000A1 = CKR_PIN_INVALID
430x000000A2 = CKR_PIN_LEN_RANGE
440x000000A3 = CKR_PIN_EXPIRED
450x000000A4 = CKR_PIN_LOCKED
460x000000B0 = CKR_SESSION_CLOSED
470x000000B1 = CKR_SESSION_COUNT
480x000000B3 = CKR_SESSION_HANDLE_INVALID
490x000000B4 = CKR_SESSION_PARALLEL_NOT_SUPPORTED
500x000000B5 = CKR_SESSION_READ_ONLY
510x000000B6 = CKR_SESSION_EXISTS
520x000000B7 = CKR_SESSION_READ_ONLY_EXISTS
530x000000B8 = CKR_SESSION_READ_WRITE_SO_EXISTS
540x000000C0 = CKR_SIGNATURE_INVALID
550x000000C1 = CKR_SIGNATURE_LEN_RANGE
560x000000D0 = CKR_TEMPLATE_INCOMPLETE
570x000000D1 = CKR_TEMPLATE_INCONSISTENT
580x000000E0 = CKR_TOKEN_NOT_PRESENT
590x000000E1 = CKR_TOKEN_NOT_RECOGNIZED
600x000000E2 = CKR_TOKEN_WRITE_PROTECTED
610x000000F0 = CKR_UNWRAPPING_KEY_HANDLE_INVALID
620x000000F1 = CKR_UNWRAPPING_KEY_SIZE_RANGE
630x000000F2 = CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT
640x00000100 = CKR_USER_ALREADY_LOGGED_IN
650x00000101 = CKR_USER_NOT_LOGGED_IN
660x00000102 = CKR_USER_PIN_NOT_INITIALIZED
670x00000103 = CKR_USER_TYPE_INVALID
680x00000104 = CKR_USER_ANOTHER_ALREADY_LOGGED_IN
690x00000105 = CKR_USER_TOO_MANY_TYPES
700x00000110 = CKR_WRAPPED_KEY_INVALID
710x00000112 = CKR_WRAPPED_KEY_LEN_RANGE
720x00000113 = CKR_WRAPPING_KEY_HANDLE_INVALID
730x00000114 = CKR_WRAPPING_KEY_SIZE_RANGE
740x00000115 = CKR_WRAPPING_KEY_TYPE_INCONSISTENT
750x00000120 = CKR_RANDOM_SEED_NOT_SUPPORTED
760x00000121 = CKR_RANDOM_NO_RNG
770x00000150 = CKR_BUFFER_TOO_SMALL
780x00000160 = CKR_SAVED_STATE_INVALID
790x00000170 = CKR_INFORMATION_SENSITIVE
800x00000180 = CKR_STATE_UNSAVEABLE
810x00000190 = CKR_CRYPTOKI_NOT_INITIALIZED
820x00000191 = CKR_CRYPTOKI_ALREADY_INITIALIZED
830x000001A0 = CKR_MUTEX_BAD
840x000001A1 = CKR_MUTEX_NOT_LOCKED
850x00000200 = CKR_FUNCTION_REJECTED
860x80000000 = CKR_VENDOR_DEFINED
87