update to latest pkcs11.h from Marcus.
git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@3073 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
parent
4857be57d4
commit
9aa18ea1ce
|
@ -41,9 +41,8 @@
|
|||
user.
|
||||
|
||||
If CRYPTOKI_COMPAT is defined before including this header file,
|
||||
then some type definitions and macros are defined for backwards
|
||||
compatibility in the API. This approach is merely meant for
|
||||
transition and not perfect. */
|
||||
then none of the API changes above take place, and the API is the
|
||||
one defined by the PKCS #11 standard. */
|
||||
|
||||
#ifndef PKCS11_H
|
||||
#define PKCS11_H 1
|
||||
|
@ -52,6 +51,17 @@
|
|||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* The version of cryptoki we implement. The revision is changed with
|
||||
each modification of this file. If you do not use the "official"
|
||||
version of this file, please consider deleting the revision macro
|
||||
(you may use a macro with a different name to keep track of your
|
||||
versions). */
|
||||
#define CRYPTOKI_VERSION_MAJOR 2
|
||||
#define CRYPTOKI_VERSION_MINOR 20
|
||||
#define CRYPTOKI_VERSION_REVISION 4
|
||||
|
||||
|
||||
#ifndef CRYPTOKI_COMPAT
|
||||
#define CRYPTOKI_COMPAT 1
|
||||
#endif
|
||||
|
@ -76,6 +86,93 @@ extern "C" {
|
|||
#endif
|
||||
|
||||
|
||||
#if CRYPTOKI_COMPAT
|
||||
/* If we are in compatibility mode, switch all exposed names to the
|
||||
PKCS #11 variant. There are corresponding #undefs below. */
|
||||
|
||||
#define ck_flags_t CK_FLAGS
|
||||
#define ck_version _CK_VERSION
|
||||
|
||||
#define ck_info _CK_INFO
|
||||
#define cryptoki_version cryptokiVersion
|
||||
#define manufacturer_id manufacturerID
|
||||
#define library_description libraryDescription
|
||||
#define library_version libraryVersion
|
||||
|
||||
#define ck_notification_t CK_NOTIFICATION
|
||||
#define ck_slot_id_t CK_SLOT_ID
|
||||
|
||||
#define ck_slot_info _CK_SLOT_INFO
|
||||
#define slot_description slotDescription
|
||||
#define hardware_version hardwareVersion
|
||||
#define firmware_version firmwareVersion
|
||||
|
||||
#define ck_token_info _CK_TOKEN_INFO
|
||||
#define serial_number serialNumber
|
||||
#define max_session_count ulMaxSessionCount
|
||||
#define session_count ulSessionCount
|
||||
#define max_rw_session_count ulMaxRwSessionCount
|
||||
#define rw_session_count ulRwSessionCount
|
||||
#define max_pin_len ulMaxPinLen
|
||||
#define min_pin_len ulMinPinLen
|
||||
#define total_public_memory ulTotalPublicMemory
|
||||
#define free_public_memory ulFreePublicMemory
|
||||
#define total_private_memory ulTotalPrivateMemory
|
||||
#define free_private_memory ulFreePrivateMemory
|
||||
#define utc_time utcTime
|
||||
|
||||
#define ck_session_handle_t CK_SESSION_HANDLE
|
||||
#define ck_user_type_t CK_USER_TYPE
|
||||
#define ck_state_t CK_STATE
|
||||
|
||||
#define ck_session_info _CK_SESSION_INFO
|
||||
#define slot_id slotID
|
||||
#define device_error ulDeviceError
|
||||
|
||||
#define ck_object_handle_t CK_OBJECT_HANDLE
|
||||
#define ck_object_class_t CK_OBJECT_CLASS
|
||||
#define ck_hw_feature_type_t CK_HW_FEATURE_TYPE
|
||||
#define ck_key_type_t CK_KEY_TYPE
|
||||
#define ck_certificate_type_t CK_CERTIFICATE_TYPE
|
||||
#define ck_attribute_type_t CK_ATTRIBUTE_TYPE
|
||||
|
||||
#define ck_attribute _CK_ATTRIBUTE
|
||||
#define value pValue
|
||||
#define value_len ulValueLen
|
||||
|
||||
#define ck_date _CK_DATE
|
||||
|
||||
#define ck_mechanism_type_t CK_MECHANISM_TYPE
|
||||
|
||||
#define ck_mechanism _CK_MECHANISM
|
||||
#define parameter pParameter
|
||||
#define parameter_len ulParameterLen
|
||||
|
||||
#define ck_mechanism_info _CK_MECHANISM_INFO
|
||||
#define min_key_size ulMinKeySize
|
||||
#define max_key_size ulMaxKeySize
|
||||
|
||||
#define ck_rv_t CK_RV
|
||||
#define ck_notify_t CK_NOTIFY
|
||||
|
||||
#define ck_function_list _CK_FUNCTION_LIST
|
||||
|
||||
#define ck_createmutex_t CK_CREATEMUTEX
|
||||
#define ck_destroymutex_t CK_DESTROYMUTEX
|
||||
#define ck_lockmutex_t CK_LOCKMUTEX
|
||||
#define ck_unlockmutex_t CK_UNLOCKMUTEX
|
||||
|
||||
#define ck_c_initialize_args _CK_C_INITIALIZE_ARGS
|
||||
#define create_mutex CreateMutex
|
||||
#define destroy_mutex DestroyMutex
|
||||
#define lock_mutex LockMutex
|
||||
#define unlock_mutex UnlockMutex
|
||||
#define reserved pReserved
|
||||
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
typedef unsigned long ck_flags_t;
|
||||
|
||||
struct ck_version
|
||||
|
@ -211,7 +308,7 @@ typedef unsigned long ck_object_class_t;
|
|||
#define CKO_HW_FEATURE (5)
|
||||
#define CKO_DOMAIN_PARAMETERS (6)
|
||||
#define CKO_MECHANISM (7)
|
||||
#define CKO_VENDOR_DEFINED (1 << 31)
|
||||
#define CKO_VENDOR_DEFINED (unsigned long) (1 << 31))
|
||||
|
||||
|
||||
typedef unsigned long ck_hw_feature_type_t;
|
||||
|
@ -219,7 +316,7 @@ typedef unsigned long ck_hw_feature_type_t;
|
|||
#define CKH_MONOTONIC_COUNTER (1)
|
||||
#define CKH_CLOCK (2)
|
||||
#define CKH_USER_INTERFACE (3)
|
||||
#define CKH_VENDOR_DEFINED (1 << 31)
|
||||
#define CKH_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
typedef unsigned long ck_key_type_t;
|
||||
|
@ -249,7 +346,7 @@ typedef unsigned long ck_key_type_t;
|
|||
#define CKK_AES (0x1f)
|
||||
#define CKK_BLOWFISH (0x20)
|
||||
#define CKK_TWOFISH (0x21)
|
||||
#define CKK_VENDOR_DEFINED (1 << 31)
|
||||
#define CKK_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
typedef unsigned long ck_certificate_type_t;
|
||||
|
@ -257,7 +354,7 @@ typedef unsigned long ck_certificate_type_t;
|
|||
#define CKC_X_509 (0)
|
||||
#define CKC_X_509_ATTR_CERT (1)
|
||||
#define CKC_WTLS (2)
|
||||
#define CKC_VENDOR_DEFINED (1 << 31)
|
||||
#define CKC_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
typedef unsigned long ck_attribute_type_t;
|
||||
|
@ -346,7 +443,7 @@ typedef unsigned long ck_attribute_type_t;
|
|||
#define CKA_WRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x211)
|
||||
#define CKA_UNWRAP_TEMPLATE (CKF_ARRAY_ATTRIBUTE | 0x212)
|
||||
#define CKA_ALLOWED_MECHANISMS (CKF_ARRAY_ATTRIBUTE | 0x600)
|
||||
#define CKA_VENDOR_DEFINED (1 << 31)
|
||||
#define CKA_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
struct ck_attribute
|
||||
|
@ -550,7 +647,7 @@ typedef unsigned long ck_mechanism_type_t;
|
|||
#define CKM_DSA_PARAMETER_GEN (0x2000)
|
||||
#define CKM_DH_PKCS_PARAMETER_GEN (0x2001)
|
||||
#define CKM_X9_42_DH_PARAMETER_GEN (0x2002)
|
||||
#define CKM_VENDOR_DEFINED (1 << 31)
|
||||
#define CKM_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
struct ck_mechanism
|
||||
|
@ -581,14 +678,14 @@ struct ck_mechanism_info
|
|||
#define CKF_WRAP (1 << 17)
|
||||
#define CKF_UNWRAP (1 << 18)
|
||||
#define CKF_DERIVE (1 << 19)
|
||||
#define CKF_EXTENSION (1 << 31)
|
||||
#define CKF_EXTENSION ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
/* Flags for C_WaitForSlotEvent. */
|
||||
#define CKF_DONT_BLOCK (1)
|
||||
|
||||
|
||||
typedef unsigned long int ck_rv_t;
|
||||
typedef unsigned long ck_rv_t;
|
||||
|
||||
|
||||
typedef ck_rv_t (*ck_notify_t) (ck_session_handle_t session,
|
||||
|
@ -597,17 +694,9 @@ typedef ck_rv_t (*ck_notify_t) (ck_session_handle_t session,
|
|||
/* Forward reference. */
|
||||
struct ck_function_list;
|
||||
|
||||
#ifdef CRYPTOKI_COMPAT
|
||||
#define _CK_DECLARE_FUNCTION(name, args) \
|
||||
typedef ck_rv_t (*ck_ ## name ## _t) args; \
|
||||
typedef ck_rv_t (*CK_ ## name) args; \
|
||||
ck_rv_t CK_SPEC name args
|
||||
#else
|
||||
#define _CK_DECLARE_FUNCTION(name, args) \
|
||||
typedef ck_rv_t (*ck_ ## name ## _t) args; \
|
||||
ck_rv_t CK_SPEC name args
|
||||
#endif
|
||||
|
||||
|
||||
_CK_DECLARE_FUNCTION (C_Initialize, (void *init_args));
|
||||
_CK_DECLARE_FUNCTION (C_Finalize, (void *reserved));
|
||||
|
@ -668,11 +757,11 @@ _CK_DECLARE_FUNCTION (C_Logout, (ck_session_handle_t session));
|
|||
|
||||
_CK_DECLARE_FUNCTION (C_CreateObject,
|
||||
(ck_session_handle_t session,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long count, ck_object_handle_t *object));
|
||||
_CK_DECLARE_FUNCTION (C_CopyObject,
|
||||
(ck_session_handle_t session, ck_object_handle_t object,
|
||||
struct ck_attribute *_template, unsigned long count,
|
||||
struct ck_attribute *templ, unsigned long count,
|
||||
ck_object_handle_t *new_object));
|
||||
_CK_DECLARE_FUNCTION (C_DestroyObject,
|
||||
(ck_session_handle_t session,
|
||||
|
@ -684,16 +773,16 @@ _CK_DECLARE_FUNCTION (C_GetObjectSize,
|
|||
_CK_DECLARE_FUNCTION (C_GetAttributeValue,
|
||||
(ck_session_handle_t session,
|
||||
ck_object_handle_t object,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long count));
|
||||
_CK_DECLARE_FUNCTION (C_SetAttributeValue,
|
||||
(ck_session_handle_t session,
|
||||
ck_object_handle_t object,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long count));
|
||||
_CK_DECLARE_FUNCTION (C_FindObjectsInit,
|
||||
(ck_session_handle_t session,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long count));
|
||||
_CK_DECLARE_FUNCTION (C_FindObjects,
|
||||
(ck_session_handle_t session,
|
||||
|
@ -838,7 +927,7 @@ _CK_DECLARE_FUNCTION (C_DecryptVerifyUpdate,
|
|||
_CK_DECLARE_FUNCTION (C_GenerateKey,
|
||||
(ck_session_handle_t session,
|
||||
struct ck_mechanism *mechanism,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long count,
|
||||
ck_object_handle_t *key));
|
||||
_CK_DECLARE_FUNCTION (C_GenerateKeyPair,
|
||||
|
@ -863,14 +952,14 @@ _CK_DECLARE_FUNCTION (C_UnwrapKey,
|
|||
ck_object_handle_t unwrapping_key,
|
||||
unsigned char *wrapped_key,
|
||||
unsigned long wrapped_key_len,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long attribute_count,
|
||||
ck_object_handle_t *key));
|
||||
_CK_DECLARE_FUNCTION (C_DeriveKey,
|
||||
(ck_session_handle_t session,
|
||||
struct ck_mechanism *mechanism,
|
||||
ck_object_handle_t base_key,
|
||||
struct ck_attribute *_template,
|
||||
struct ck_attribute *templ,
|
||||
unsigned long attribute_count,
|
||||
ck_object_handle_t *key));
|
||||
|
||||
|
@ -889,74 +978,74 @@ _CK_DECLARE_FUNCTION (C_CancelFunction, (ck_session_handle_t session));
|
|||
struct ck_function_list
|
||||
{
|
||||
struct ck_version version;
|
||||
ck_C_Initialize_t C_Initialize;
|
||||
ck_C_Finalize_t C_Finalize;
|
||||
ck_C_GetInfo_t C_GetInfo;
|
||||
ck_C_GetFunctionList_t C_GetFunctionList;
|
||||
ck_C_GetSlotList_t C_GetSlotList;
|
||||
ck_C_GetSlotInfo_t C_GetSlotInfo;
|
||||
ck_C_GetTokenInfo_t C_GetTokenInfo;
|
||||
ck_C_GetMechanismList_t C_GetMechanismList;
|
||||
ck_C_GetMechanismInfo_t C_GetMechanismInfo;
|
||||
ck_C_InitToken_t C_InitToken;
|
||||
ck_C_InitPIN_t C_InitPIN;
|
||||
ck_C_SetPIN_t C_SetPIN;
|
||||
ck_C_OpenSession_t C_OpenSession;
|
||||
ck_C_CloseSession_t C_CloseSession;
|
||||
ck_C_CloseAllSessions_t C_CloseAllSessions;
|
||||
ck_C_GetSessionInfo_t C_GetSessionInfo;
|
||||
ck_C_GetOperationState_t C_GetOperationState;
|
||||
ck_C_SetOperationState_t C_SetOperationState;
|
||||
ck_C_Login_t C_Login;
|
||||
ck_C_Logout_t C_Logout;
|
||||
ck_C_CreateObject_t C_CreateObject;
|
||||
ck_C_CopyObject_t C_CopyObject;
|
||||
ck_C_DestroyObject_t C_DestroyObject;
|
||||
ck_C_GetObjectSize_t C_GetObjectSize;
|
||||
ck_C_GetAttributeValue_t C_GetAttributeValue;
|
||||
ck_C_SetAttributeValue_t C_SetAttributeValue;
|
||||
ck_C_FindObjectsInit_t C_FindObjectsInit;
|
||||
ck_C_FindObjects_t C_FindObjects;
|
||||
ck_C_FindObjectsFinal_t C_FindObjectsFinal;
|
||||
ck_C_EncryptInit_t C_EncryptInit;
|
||||
ck_C_Encrypt_t C_Encrypt;
|
||||
ck_C_EncryptUpdate_t C_EncryptUpdate;
|
||||
ck_C_EncryptFinal_t C_EncryptFinal;
|
||||
ck_C_DecryptInit_t C_DecryptInit;
|
||||
ck_C_Decrypt_t C_Decrypt;
|
||||
ck_C_DecryptUpdate_t C_DecryptUpdate;
|
||||
ck_C_DecryptFinal_t C_DecryptFinal;
|
||||
ck_C_DigestInit_t C_DigestInit;
|
||||
ck_C_Digest_t C_Digest;
|
||||
ck_C_DigestUpdate_t C_DigestUpdate;
|
||||
ck_C_DigestKey_t C_DigestKey;
|
||||
ck_C_DigestFinal_t C_DigestFinal;
|
||||
ck_C_SignInit_t C_SignInit;
|
||||
ck_C_Sign_t C_Sign;
|
||||
ck_C_SignUpdate_t C_SignUpdate;
|
||||
ck_C_SignFinal_t C_SignFinal;
|
||||
ck_C_SignRecoverInit_t C_SignRecoverInit;
|
||||
ck_C_SignRecover_t C_SignRecover;
|
||||
ck_C_VerifyInit_t C_VerifyInit;
|
||||
ck_C_Verify_t C_Verify;
|
||||
ck_C_VerifyUpdate_t C_VerifyUpdate;
|
||||
ck_C_VerifyFinal_t C_VerifyFinal;
|
||||
ck_C_VerifyRecoverInit_t C_VerifyRecoverInit;
|
||||
ck_C_VerifyRecover_t C_VerifyRecover;
|
||||
ck_C_DigestEncryptUpdate_t C_DigestEncryptUpdate;
|
||||
ck_C_DecryptDigestUpdate_t C_DecryptDigestUpdate;
|
||||
ck_C_SignEncryptUpdate_t C_SignEncryptUpdate;
|
||||
ck_C_DecryptVerifyUpdate_t C_DecryptVerifyUpdate;
|
||||
ck_C_GenerateKey_t C_GenerateKey;
|
||||
ck_C_GenerateKeyPair_t C_GenerateKeyPair;
|
||||
ck_C_WrapKey_t C_WrapKey;
|
||||
ck_C_UnwrapKey_t C_UnwrapKey;
|
||||
ck_C_DeriveKey_t C_DeriveKey;
|
||||
ck_C_SeedRandom_t C_SeedRandom;
|
||||
ck_C_GenerateRandom_t C_GenerateRandom;
|
||||
ck_C_GetFunctionStatus_t C_GetFunctionStatus;
|
||||
ck_C_CancelFunction_t C_CancelFunction;
|
||||
ck_C_WaitForSlotEvent_t C_WaitForSlotEvent;
|
||||
CK_C_Initialize C_Initialize;
|
||||
CK_C_Finalize C_Finalize;
|
||||
CK_C_GetInfo C_GetInfo;
|
||||
CK_C_GetFunctionList C_GetFunctionList;
|
||||
CK_C_GetSlotList C_GetSlotList;
|
||||
CK_C_GetSlotInfo C_GetSlotInfo;
|
||||
CK_C_GetTokenInfo C_GetTokenInfo;
|
||||
CK_C_GetMechanismList C_GetMechanismList;
|
||||
CK_C_GetMechanismInfo C_GetMechanismInfo;
|
||||
CK_C_InitToken C_InitToken;
|
||||
CK_C_InitPIN C_InitPIN;
|
||||
CK_C_SetPIN C_SetPIN;
|
||||
CK_C_OpenSession C_OpenSession;
|
||||
CK_C_CloseSession C_CloseSession;
|
||||
CK_C_CloseAllSessions C_CloseAllSessions;
|
||||
CK_C_GetSessionInfo C_GetSessionInfo;
|
||||
CK_C_GetOperationState C_GetOperationState;
|
||||
CK_C_SetOperationState C_SetOperationState;
|
||||
CK_C_Login C_Login;
|
||||
CK_C_Logout C_Logout;
|
||||
CK_C_CreateObject C_CreateObject;
|
||||
CK_C_CopyObject C_CopyObject;
|
||||
CK_C_DestroyObject C_DestroyObject;
|
||||
CK_C_GetObjectSize C_GetObjectSize;
|
||||
CK_C_GetAttributeValue C_GetAttributeValue;
|
||||
CK_C_SetAttributeValue C_SetAttributeValue;
|
||||
CK_C_FindObjectsInit C_FindObjectsInit;
|
||||
CK_C_FindObjects C_FindObjects;
|
||||
CK_C_FindObjectsFinal C_FindObjectsFinal;
|
||||
CK_C_EncryptInit C_EncryptInit;
|
||||
CK_C_Encrypt C_Encrypt;
|
||||
CK_C_EncryptUpdate C_EncryptUpdate;
|
||||
CK_C_EncryptFinal C_EncryptFinal;
|
||||
CK_C_DecryptInit C_DecryptInit;
|
||||
CK_C_Decrypt C_Decrypt;
|
||||
CK_C_DecryptUpdate C_DecryptUpdate;
|
||||
CK_C_DecryptFinal C_DecryptFinal;
|
||||
CK_C_DigestInit C_DigestInit;
|
||||
CK_C_Digest C_Digest;
|
||||
CK_C_DigestUpdate C_DigestUpdate;
|
||||
CK_C_DigestKey C_DigestKey;
|
||||
CK_C_DigestFinal C_DigestFinal;
|
||||
CK_C_SignInit C_SignInit;
|
||||
CK_C_Sign C_Sign;
|
||||
CK_C_SignUpdate C_SignUpdate;
|
||||
CK_C_SignFinal C_SignFinal;
|
||||
CK_C_SignRecoverInit C_SignRecoverInit;
|
||||
CK_C_SignRecover C_SignRecover;
|
||||
CK_C_VerifyInit C_VerifyInit;
|
||||
CK_C_Verify C_Verify;
|
||||
CK_C_VerifyUpdate C_VerifyUpdate;
|
||||
CK_C_VerifyFinal C_VerifyFinal;
|
||||
CK_C_VerifyRecoverInit C_VerifyRecoverInit;
|
||||
CK_C_VerifyRecover C_VerifyRecover;
|
||||
CK_C_DigestEncryptUpdate C_DigestEncryptUpdate;
|
||||
CK_C_DecryptDigestUpdate C_DecryptDigestUpdate;
|
||||
CK_C_SignEncryptUpdate C_SignEncryptUpdate;
|
||||
CK_C_DecryptVerifyUpdate C_DecryptVerifyUpdate;
|
||||
CK_C_GenerateKey C_GenerateKey;
|
||||
CK_C_GenerateKeyPair C_GenerateKeyPair;
|
||||
CK_C_WrapKey C_WrapKey;
|
||||
CK_C_UnwrapKey C_UnwrapKey;
|
||||
CK_C_DeriveKey C_DeriveKey;
|
||||
CK_C_SeedRandom C_SeedRandom;
|
||||
CK_C_GenerateRandom C_GenerateRandom;
|
||||
CK_C_GetFunctionStatus C_GetFunctionStatus;
|
||||
CK_C_CancelFunction C_CancelFunction;
|
||||
CK_C_WaitForSlotEvent C_WaitForSlotEvent;
|
||||
};
|
||||
|
||||
|
||||
|
@ -968,10 +1057,10 @@ typedef ck_rv_t (*ck_unlockmutex_t) (void *mutex);
|
|||
|
||||
struct ck_c_initialize_args
|
||||
{
|
||||
ck_createmutex_t CreateMutex;
|
||||
ck_destroymutex_t DestroyMutex;
|
||||
ck_lockmutex_t LockMutex;
|
||||
ck_unlockmutex_t UnlockMutex;
|
||||
ck_createmutex_t create_mutex;
|
||||
ck_destroymutex_t destroy_mutex;
|
||||
ck_lockmutex_t lock_mutex;
|
||||
ck_unlockmutex_t unlock_mutex;
|
||||
ck_flags_t flags;
|
||||
void *reserved;
|
||||
};
|
||||
|
@ -1064,14 +1153,14 @@ struct ck_c_initialize_args
|
|||
#define CKR_CRYPTOKI_ALREADY_INITIALIZED (0x191)
|
||||
#define CKR_MUTEX_BAD (0x1a0)
|
||||
#define CKR_MUTEX_NOT_LOCKED (0x1a1)
|
||||
#define CKR_FUNCTION_REJECTED (0x200)
|
||||
#define CKR_VENDOR_DEFINED (ck_rv_t)(1 << 31)
|
||||
#define CKR_FUNCTION_REJECTED (0x200)
|
||||
#define CKR_VENDOR_DEFINED ((unsigned long) (1 << 31))
|
||||
|
||||
|
||||
|
||||
/* Compatibility layer. */
|
||||
|
||||
#ifdef CRYPTOKI_COMPAT
|
||||
#if CRYPTOKI_COMPAT
|
||||
|
||||
#undef CK_DEFINE_FUNCTION
|
||||
#define CK_DEFINE_FUNCTION(retval, name) retval CK_SPEC name
|
||||
|
@ -1085,7 +1174,6 @@ typedef unsigned char CK_UTF8CHAR;
|
|||
typedef unsigned char CK_BBOOL;
|
||||
typedef unsigned long int CK_ULONG;
|
||||
typedef long int CK_LONG;
|
||||
typedef unsigned long CK_FLAGS;
|
||||
typedef CK_BYTE *CK_BYTE_PTR;
|
||||
typedef CK_CHAR *CK_CHAR_PTR;
|
||||
typedef CK_UTF8CHAR *CK_UTF8CHAR_PTR;
|
||||
|
@ -1109,7 +1197,6 @@ typedef struct ck_version *CK_VERSION_PTR;
|
|||
typedef struct ck_info CK_INFO;
|
||||
typedef struct ck_info *CK_INFO_PTR;
|
||||
|
||||
typedef ck_slot_id_t CK_SLOT_ID;
|
||||
typedef ck_slot_id_t *CK_SLOT_ID_PTR;
|
||||
|
||||
typedef struct ck_slot_info CK_SLOT_INFO;
|
||||
|
@ -1118,37 +1205,21 @@ typedef struct ck_slot_info *CK_SLOT_INFO_PTR;
|
|||
typedef struct ck_token_info CK_TOKEN_INFO;
|
||||
typedef struct ck_token_info *CK_TOKEN_INFO_PTR;
|
||||
|
||||
typedef ck_session_handle_t CK_SESSION_HANDLE;
|
||||
typedef ck_session_handle_t *CK_SESSION_HANDLE_PTR;
|
||||
|
||||
typedef ck_user_type_t CK_USER_TYPE;
|
||||
|
||||
typedef ck_state_t CK_STATE;
|
||||
|
||||
typedef struct ck_session_info CK_SESSION_INFO;
|
||||
typedef struct ck_session_info *CK_SESSION_INFO_PTR;
|
||||
|
||||
typedef ck_object_handle_t CK_OBJECT_HANDLE;
|
||||
typedef ck_object_handle_t *CK_OBJECT_HANDLE_PTR;
|
||||
|
||||
typedef ck_object_class_t CK_OBJECT_CLASS;
|
||||
typedef ck_object_class_t *CK_OBJECT_CLASS_PTR;
|
||||
|
||||
typedef ck_hw_feature_type_t CK_HW_FEATURE_TYPE;
|
||||
|
||||
typedef ck_key_type_t CK_KEY_TYPE;
|
||||
|
||||
typedef ck_certificate_type_t CK_CERTIFICATE_TYPE;
|
||||
|
||||
typedef ck_attribute_type_t CK_ATTRIBUTE_TYPE;
|
||||
|
||||
typedef struct ck_attribute CK_ATTRIBUTE;
|
||||
typedef struct ck_attribute *CK_ATTRIBUTE_PTR;
|
||||
|
||||
typedef struct ck_date CK_DATE;
|
||||
typedef struct ck_date *CK_DATE_PTR;
|
||||
|
||||
typedef ck_mechanism_type_t CK_MECHANISM_TYPE;
|
||||
typedef ck_mechanism_type_t *CK_MECHANISM_TYPE_PTR;
|
||||
|
||||
typedef struct ck_mechanism CK_MECHANISM;
|
||||
|
@ -1157,68 +1228,105 @@ typedef struct ck_mechanism *CK_MECHANISM_PTR;
|
|||
typedef struct ck_mechanism_info CK_MECHANISM_INFO;
|
||||
typedef struct ck_mechanism_info *CK_MECHANISM_INFO_PTR;
|
||||
|
||||
typedef ck_rv_t CK_RV;
|
||||
|
||||
typedef ck_notify_t CK_NOTIFY;
|
||||
|
||||
typedef struct ck_function_list CK_FUNCTION_LIST;
|
||||
typedef struct ck_function_list *CK_FUNCTION_LIST_PTR;
|
||||
typedef struct ck_function_list **CK_FUNCTION_LIST_PTR_PTR;
|
||||
|
||||
typedef ck_createmutex_t CK_CREATEMUTEX;
|
||||
typedef ck_destroymutex_t CK_DESTROYMUTEX;
|
||||
typedef ck_lockmutex_t CK_LOCKMUTEX;
|
||||
typedef ck_unlockmutex_t CK_UNLOCKMUTEX;
|
||||
|
||||
typedef struct ck_c_initialize_args CK_C_INITIALIZE_ARGS;
|
||||
typedef struct ck_c_initialize_args *CK_C_INITIALIZE_ARGS_PTR;
|
||||
|
||||
|
||||
/* FIXME: This is a bit crude. */
|
||||
#define cryptokiVersion cryptoki_version
|
||||
#define manufacturerID manufacturer_id
|
||||
#define libraryDescription library_description
|
||||
#define libraryVersion library_version
|
||||
|
||||
#define ulMinKeySize min_key_size
|
||||
#define ulMaxKeySize max_key_size
|
||||
#define pValue value
|
||||
#define ulValueLen value_len
|
||||
|
||||
#define slotID slot_id
|
||||
#define ulDeviceError device_error
|
||||
|
||||
#define slotDescription slot_description
|
||||
#define hardwareVersion hardware_version
|
||||
#define firmwareVersion firmware_version
|
||||
|
||||
#define serialNumber serial_number
|
||||
#define ulMaxSessionCount max_session_count
|
||||
#define ulSessionCount session_count
|
||||
#define ulMaxRwSessionCount max_rw_session_count
|
||||
#define ulRwSessionCount rw_session_count
|
||||
#define ulMaxPinLen max_pin_len
|
||||
#define ulMinPinLen min_pin_len
|
||||
#define ulTotalPublicMemory total_public_memory
|
||||
#define ulFreePublicMemory free_public_memory
|
||||
#define ulTotalPrivateMemory total_private_memory
|
||||
#define ulFreePrivateMemory free_private_memory
|
||||
#define utcTime utc_time
|
||||
|
||||
#define pReserved reserved
|
||||
|
||||
#define NULL_PTR NULL
|
||||
|
||||
/* Delete the helper macros defined at the top of the file. */
|
||||
#undef ck_flags_t
|
||||
#undef ck_version
|
||||
|
||||
#undef ck_info
|
||||
#undef cryptoki_version
|
||||
#undef manufacturer_id
|
||||
#undef library_description
|
||||
#undef library_version
|
||||
|
||||
#undef ck_notification_t
|
||||
#undef ck_slot_id_t
|
||||
|
||||
#undef ck_slot_info
|
||||
#undef slot_description
|
||||
#undef hardware_version
|
||||
#undef firmware_version
|
||||
|
||||
#undef ck_token_info
|
||||
#undef serial_number
|
||||
#undef max_session_count
|
||||
#undef session_count
|
||||
#undef max_rw_session_count
|
||||
#undef rw_session_count
|
||||
#undef max_pin_len
|
||||
#undef min_pin_len
|
||||
#undef total_public_memory
|
||||
#undef free_public_memory
|
||||
#undef total_private_memory
|
||||
#undef free_private_memory
|
||||
#undef utc_time
|
||||
|
||||
#undef ck_session_handle_t
|
||||
#undef ck_user_type_t
|
||||
#undef ck_state_t
|
||||
|
||||
#undef ck_session_info
|
||||
#undef slot_id
|
||||
#undef device_error
|
||||
|
||||
#undef ck_object_handle_t
|
||||
#undef ck_object_class_t
|
||||
#undef ck_hw_feature_type_t
|
||||
#undef ck_key_type_t
|
||||
#undef ck_certificate_type_t
|
||||
#undef ck_attribute_type_t
|
||||
|
||||
#undef ck_attribute
|
||||
#undef value
|
||||
#undef value_len
|
||||
|
||||
#undef ck_date
|
||||
|
||||
#undef ck_mechanism_type_t
|
||||
|
||||
#undef ck_mechanism
|
||||
#undef parameter
|
||||
#undef parameter_len
|
||||
|
||||
#undef ck_mechanism_info
|
||||
#undef min_key_size
|
||||
#undef max_key_size
|
||||
|
||||
#undef ck_rv_t
|
||||
#undef ck_notify_t
|
||||
|
||||
#undef ck_function_list
|
||||
|
||||
#undef ck_createmutex_t
|
||||
#undef ck_destroymutex_t
|
||||
#undef ck_lockmutex_t
|
||||
#undef ck_unlockmutex_t
|
||||
|
||||
#undef ck_c_initialize_args
|
||||
#undef create_mutex
|
||||
#undef destroy_mutex
|
||||
#undef lock_mutex
|
||||
#undef unlock_mutex
|
||||
#undef reserved
|
||||
|
||||
#endif /* CRYPTOKI_COMPAT */
|
||||
|
||||
|
||||
/* System dependencies. */
|
||||
#ifdef __WIN32
|
||||
#pragma pack(pop, cryptoki)
|
||||
#endif /* !CRYPTOKI_COMPAT */
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif /* PKCS11_H */
|
||||
#endif /* PKCS11_H */
|
Loading…
Reference in New Issue