|
Packit |
8681c6 |
/*
|
|
Packit |
8681c6 |
* COPYRIGHT (c) International Business Machines Corp. 2015-2017
|
|
Packit |
8681c6 |
*
|
|
Packit |
8681c6 |
* This program is provided under the terms of the Common Public License,
|
|
Packit |
8681c6 |
* version 1.0 (CPL-1.0). Any use, reproduction or distribution for this
|
|
Packit |
8681c6 |
* software constitutes recipient's acceptance of CPL-1.0 terms which can be
|
|
Packit |
8681c6 |
* found in the file LICENSE file or at
|
|
Packit |
8681c6 |
* https://opensource.org/licenses/cpl1.0.php
|
|
Packit |
8681c6 |
*/
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifndef _TRACE_H
|
|
Packit |
8681c6 |
#define _TRACE_H
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#include "defs.h"
|
|
Packit |
8681c6 |
#include "host_defs.h"
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* pkcs11 error messages */
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
enum errmsg {
|
|
Packit |
8681c6 |
ERR_HOST_MEMORY = 0,
|
|
Packit |
8681c6 |
ERR_SLOT_ID_INVALID,
|
|
Packit |
8681c6 |
ERR_GENERAL_ERROR,
|
|
Packit |
8681c6 |
ERR_FUNCTION_FAILED,
|
|
Packit |
8681c6 |
ERR_ARGUMENTS_BAD,
|
|
Packit |
8681c6 |
ERR_NO_EVENT,
|
|
Packit |
8681c6 |
ERR_ATTRIBUTE_READ_ONLY,
|
|
Packit |
8681c6 |
ERR_ATTRIBUTE_SENSITIVE,
|
|
Packit |
8681c6 |
ERR_ATTRIBUTE_TYPE_INVALID,
|
|
Packit |
8681c6 |
ERR_ATTRIBUTE_VALUE_INVALID,
|
|
Packit |
8681c6 |
ERR_DATA_INVALID,
|
|
Packit |
8681c6 |
ERR_DATA_LEN_RANGE,
|
|
Packit |
8681c6 |
ERR_DEVICE_ERROR,
|
|
Packit |
8681c6 |
ERR_DEVICE_MEMORY,
|
|
Packit |
8681c6 |
ERR_DEVICE_REMOVED,
|
|
Packit |
8681c6 |
ERR_ENCRYPTED_DATA_INVALID,
|
|
Packit |
8681c6 |
ERR_ENCRYPTED_DATA_LEN_RANGE,
|
|
Packit |
8681c6 |
ERR_FUNCTION_CANCELED,
|
|
Packit |
8681c6 |
ERR_FUNCTION_NOT_PARALLEL,
|
|
Packit |
8681c6 |
ERR_FUNCTION_NOT_SUPPORTED,
|
|
Packit |
8681c6 |
ERR_KEY_CHANGED,
|
|
Packit |
8681c6 |
ERR_KEY_FUNCTION_NOT_PERMITTED,
|
|
Packit |
8681c6 |
ERR_KEY_HANDLE_INVALID,
|
|
Packit |
8681c6 |
ERR_KEY_INDIGESTIBLE,
|
|
Packit |
8681c6 |
ERR_KEY_NEEDED,
|
|
Packit |
8681c6 |
ERR_KEY_NOT_NEEDED,
|
|
Packit |
8681c6 |
ERR_KEY_NOT_WRAPPABLE,
|
|
Packit |
8681c6 |
ERR_KEY_SIZE_RANGE,
|
|
Packit |
8681c6 |
ERR_KEY_TYPE_INCONSISTENT,
|
|
Packit |
8681c6 |
ERR_KEY_UNEXTRACTABLE,
|
|
Packit |
8681c6 |
ERR_MECHANISM_INVALID,
|
|
Packit |
8681c6 |
ERR_MECHANISM_PARAM_INVALID,
|
|
Packit |
8681c6 |
ERR_OBJECT_HANDLE_INVALID,
|
|
Packit |
8681c6 |
ERR_OPERATION_ACTIVE,
|
|
Packit |
8681c6 |
ERR_OPERATION_NOT_INITIALIZED,
|
|
Packit |
8681c6 |
ERR_PIN_INCORRECT,
|
|
Packit |
8681c6 |
ERR_PIN_INVALID,
|
|
Packit |
8681c6 |
ERR_PIN_LEN_RANGE,
|
|
Packit |
8681c6 |
ERR_PIN_EXPIRED,
|
|
Packit |
8681c6 |
ERR_PIN_LOCKED,
|
|
Packit |
8681c6 |
ERR_SESSION_CLOSED,
|
|
Packit |
8681c6 |
ERR_SESSION_COUNT,
|
|
Packit |
8681c6 |
ERR_SESSION_HANDLE_INVALID,
|
|
Packit |
8681c6 |
ERR_SESSION_PARALLEL_NOT_SUPPORTED,
|
|
Packit |
8681c6 |
ERR_SESSION_READ_ONLY,
|
|
Packit |
8681c6 |
ERR_SESSION_EXISTS,
|
|
Packit |
8681c6 |
ERR_SESSION_READ_ONLY_EXISTS,
|
|
Packit |
8681c6 |
ERR_SESSION_READ_WRITE_SO_EXISTS,
|
|
Packit |
8681c6 |
ERR_SIGNATURE_INVALID,
|
|
Packit |
8681c6 |
ERR_SIGNATURE_LEN_RANGE,
|
|
Packit |
8681c6 |
ERR_TEMPLATE_INCOMPLETE,
|
|
Packit |
8681c6 |
ERR_TEMPLATE_INCONSISTENT,
|
|
Packit |
8681c6 |
ERR_TOKEN_NOT_PRESENT,
|
|
Packit |
8681c6 |
ERR_TOKEN_NOT_RECOGNIZED,
|
|
Packit |
8681c6 |
ERR_TOKEN_WRITE_PROTECTED,
|
|
Packit |
8681c6 |
ERR_UNWRAPPING_KEY_HANDLE_INVALID,
|
|
Packit |
8681c6 |
ERR_UNWRAPPING_KEY_SIZE_RANGE,
|
|
Packit |
8681c6 |
ERR_UNWRAPPING_KEY_TYPE_INCONSISTENT,
|
|
Packit |
8681c6 |
ERR_USER_ALREADY_LOGGED_IN,
|
|
Packit |
8681c6 |
ERR_USER_NOT_LOGGED_IN,
|
|
Packit |
8681c6 |
ERR_USER_PIN_NOT_INITIALIZED,
|
|
Packit |
8681c6 |
ERR_USER_TYPE_INVALID,
|
|
Packit |
8681c6 |
ERR_USER_ANOTHER_ALREADY_LOGGED_IN,
|
|
Packit |
8681c6 |
ERR_USER_TOO_MANY_TYPES,
|
|
Packit |
8681c6 |
ERR_WRAPPED_KEY_INVALID,
|
|
Packit |
8681c6 |
ERR_WRAPPED_KEY_LEN_RANGE,
|
|
Packit |
8681c6 |
ERR_WRAPPING_KEY_HANDLE_INVALID,
|
|
Packit |
8681c6 |
ERR_WRAPPING_KEY_SIZE_RANGE,
|
|
Packit |
8681c6 |
ERR_WRAPPING_KEY_TYPE_INCONSISTENT,
|
|
Packit |
8681c6 |
ERR_RANDOM_SEED_NOT_SUPPORTED,
|
|
Packit |
8681c6 |
ERR_DOMAIN_PARAMS_INVALID,
|
|
Packit |
8681c6 |
ERR_BUFFER_TOO_SMALL,
|
|
Packit |
8681c6 |
ERR_SAVED_STATE_INVALID,
|
|
Packit |
8681c6 |
ERR_INFORMATION_SENSITIVE,
|
|
Packit |
8681c6 |
ERR_STATE_UNSAVEABLE,
|
|
Packit |
8681c6 |
ERR_CRYPTOKI_NOT_INITIALIZED,
|
|
Packit |
8681c6 |
ERR_CRYPTOKI_ALREADY_INITIALIZED,
|
|
Packit |
8681c6 |
ERR_MUTEX_BAD,
|
|
Packit |
8681c6 |
ERR_MUTEX_NOT_LOCKED,
|
|
Packit |
8681c6 |
ERR_MAX,
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* Log levels */
|
|
Packit |
8681c6 |
typedef enum {
|
|
Packit |
8681c6 |
TRACE_LEVEL_NONE = 0,
|
|
Packit |
8681c6 |
TRACE_LEVEL_ERROR,
|
|
Packit |
8681c6 |
TRACE_LEVEL_WARNING,
|
|
Packit |
8681c6 |
TRACE_LEVEL_INFO,
|
|
Packit |
8681c6 |
TRACE_LEVEL_DEVEL,
|
|
Packit |
8681c6 |
TRACE_LEVEL_DEBUG
|
|
Packit |
8681c6 |
} trace_level_t;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
/* Encapsulate all trace variables */
|
|
Packit |
8681c6 |
struct trace_handle_t {
|
|
Packit |
8681c6 |
int fd; /* file descriptor for filename */
|
|
Packit |
8681c6 |
trace_level_t level; /* trace level */
|
|
Packit |
8681c6 |
};
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
extern struct trace_handle_t trace;
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
void set_trace(struct trace_handle_t t);
|
|
Packit |
8681c6 |
CK_RV trace_initialize();
|
|
Packit |
8681c6 |
void trace_finalize();
|
|
Packit |
8681c6 |
void ock_traceit(trace_level_t level, const char *file, int line,
|
|
Packit |
8681c6 |
const char *stdll_name, const char *fmt, ...)
|
|
Packit |
8681c6 |
__attribute__ ((format(printf, 5, 6)));
|
|
Packit |
8681c6 |
const char *ock_err(int num);
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define TRACE_ERROR(...) \
|
|
Packit |
8681c6 |
ock_traceit(TRACE_LEVEL_ERROR, __FILE__, __LINE__, STDLL_NAME, __VA_ARGS__)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define TRACE_WARNING(...) \
|
|
Packit |
8681c6 |
ock_traceit(TRACE_LEVEL_WARNING, __FILE__, __LINE__, STDLL_NAME, \
|
|
Packit |
8681c6 |
__VA_ARGS__)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define TRACE_INFO(...) \
|
|
Packit |
8681c6 |
ock_traceit(TRACE_LEVEL_INFO, __FILE__, __LINE__, STDLL_NAME, __VA_ARGS__)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#define TRACE_DEVEL(...) \
|
|
Packit |
8681c6 |
ock_traceit(TRACE_LEVEL_DEVEL, __FILE__, __LINE__, STDLL_NAME, __VA_ARGS__)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#ifdef DEBUG
|
|
Packit |
8681c6 |
#define TRACE_DEBUG(...) \
|
|
Packit |
8681c6 |
ock_traceit(TRACE_LEVEL_DEBUG, __FILE__, __LINE__, STDLL_NAME, __VA_ARGS__)
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
void dump_shm(LW_SHM_TYPE *, const char *);
|
|
Packit |
8681c6 |
#define DUMP_SHM(x,y) dump_shm(x,y)
|
|
Packit |
8681c6 |
#else
|
|
Packit |
8681c6 |
#define TRACE_DEBUG(...)
|
|
Packit |
8681c6 |
#define DUMP_SHM(x,y)
|
|
Packit |
8681c6 |
#endif
|
|
Packit |
8681c6 |
|
|
Packit |
8681c6 |
#endif
|