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