66 #ifndef __PKCS11H_BASE_H
67 #define __PKCS11H_BASE_H
76 #if defined(__cplusplus)
87 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_OPENSSL (1<< 0)
89 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_GNUTLS (1<< 1)
91 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_CRYPTOAPI (1<< 2)
96 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_WIN32 (1<< 2)
98 #define PKCS11H_FEATURE_MASK_DEBUG (1<< 3)
100 #define PKCS11H_FEATURE_MASK_THREADING (1<< 4)
102 #define PKCS11H_FEATURE_MASK_TOKEN (1<< 5)
104 #define PKCS11H_FEATURE_MASK_DATA (1<< 6)
106 #define PKCS11H_FEATURE_MASK_CERTIFICATE (1<< 7)
108 #define PKCS11H_FEATURE_MASK_SLOTEVENT (1<< 8)
110 #define PKCS11H_FEATURE_MASK_OPENSSL (1<< 9)
112 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_POLARSSL (1<< 10)
114 #define PKCS11H_FEATURE_MASK_ENGINE_CRYPTO_MBEDTLS (1<< 10)
125 #define PKCS11H_LOG_DEBUG2 5
127 #define PKCS11H_LOG_DEBUG1 4
129 #define PKCS11H_LOG_INFO 3
131 #define PKCS11H_LOG_WARN 2
133 #define PKCS11H_LOG_ERROR 1
135 #define PKCS11H_LOG_QUIET 0
139 #define PKCS11H_PIN_CACHE_INFINITE -1
147 #define PKCS11H_PRIVATEMODE_MASK_AUTO (0)
149 #define PKCS11H_PRIVATEMODE_MASK_SIGN (1<<0)
151 #define PKCS11H_PRIVATEMODE_MASK_RECOVER (1<<1)
153 #define PKCS11H_PRIVATEMODE_MASK_DECRYPT (1<<2)
155 #define PKCS11H_PRIVATEMODE_MASK_UNWRAP (1<<3)
164 #define PKCS11H_SLOTEVENT_METHOD_AUTO 0
166 #define PKCS11H_SLOTEVENT_METHOD_TRIGGER 1
168 #define PKCS11H_SLOTEVENT_METHOD_POLL 2
170 #define PKCS11H_SLOTEVENT_METHOD_FETCH 3
179 #define PKCS11H_PROMPT_MASK_ALLOW_PIN_PROMPT (1<<0)
181 #define PKCS11H_PROMPT_MASK_ALLOW_TOKEN_PROMPT (1<<1)
183 #define PKCS11H_PROMPT_MASK_ALLOW_ALL ( \
184 PKCS11H_PROMPT_MASK_ALLOW_PIN_PROMPT | \
185 PKCS11H_PROMPT_MASK_ALLOW_TOKEN_PROMPT \
195 #define PKCS11H_ENUM_METHOD_CACHE 0
197 #define PKCS11H_ENUM_METHOD_CACHE_EXIST 1
199 #define PKCS11H_ENUM_METHOD_RELOAD 2
217 IN
void *
const global_data,
218 IN
const unsigned flags,
219 IN
const char *
const format,
228 IN
void *
const global_data
240 IN
void *
const global_data,
241 IN
void *
const user_data,
242 IN
const pkcs11h_token_id_t token,
243 IN
const unsigned retry
257 IN
void *
const global_data,
258 IN
void *
const user_data,
259 IN
const pkcs11h_token_id_t token,
260 IN
const unsigned retry,
261 OUT
char *
const pin,
262 IN
const size_t pin_max
274 char model[
sizeof (((CK_TOKEN_INFO *)NULL)->model)+1];
278 char label[
sizeof (((CK_TOKEN_INFO *)NULL)->label)+1];
328 IN
const unsigned flags
352 IN
const PKCS11H_BOOL safe
364 IN
void *
const global_data
381 IN
void *
const global_data
395 IN
void *
const global_data
409 IN
void *
const global_data
420 IN
const PKCS11H_BOOL allow_protected_auth
431 IN
const int pin_cache_period
442 IN
const unsigned max_retries
460 IN
const char *
const reference,
461 IN
const char *
const provider_location,
462 IN
const PKCS11H_BOOL allow_protected_auth,
463 IN
const unsigned mask_private_mode,
464 IN
const unsigned slot_event_method,
465 IN
const unsigned slot_poll_interval,
466 IN
const PKCS11H_BOOL cert_is_private
477 IN
const char *
const reference