Latest update
This commit is contained in:
+17
-34
@@ -11,6 +11,7 @@
|
||||
#ifndef HEADER_ENGINE_INT_H
|
||||
# define HEADER_ENGINE_INT_H
|
||||
|
||||
# include <openssl/trace.h>
|
||||
# include "internal/cryptlib.h"
|
||||
# include "internal/engine.h"
|
||||
# include "internal/thread_once.h"
|
||||
@@ -19,27 +20,20 @@
|
||||
extern CRYPTO_RWLOCK *global_engine_lock;
|
||||
|
||||
/*
|
||||
* If we compile with this symbol defined, then both reference counts in the
|
||||
* ENGINE structure will be monitored with a line of output on stderr for
|
||||
* each change. This prints the engine's pointer address (truncated to
|
||||
* unsigned int), "struct" or "funct" to indicate the reference type, the
|
||||
* before and after reference count, and the file:line-number pair. The
|
||||
* "engine_ref_debug" statements must come *after* the change.
|
||||
* This prints the engine's pointer address (truncated to unsigned int),
|
||||
* "struct" or "funct" to indicate the reference type, the before and after
|
||||
* reference count, and the file:line-number pair. The "engine_ref_debug"
|
||||
* statements must come *after* the change.
|
||||
*/
|
||||
# ifdef ENGINE_REF_COUNT_DEBUG
|
||||
|
||||
# define engine_ref_debug(e, isfunct, diff) \
|
||||
fprintf(stderr, "engine: %08x %s from %d to %d (%s:%d)\n", \
|
||||
(unsigned int)(e), (isfunct ? "funct" : "struct"), \
|
||||
((isfunct) ? ((e)->funct_ref - (diff)) : ((e)->struct_ref - (diff))), \
|
||||
((isfunct) ? (e)->funct_ref : (e)->struct_ref), \
|
||||
(OPENSSL_FILE), (OPENSSL_LINE))
|
||||
|
||||
# else
|
||||
|
||||
# define engine_ref_debug(e, isfunct, diff)
|
||||
|
||||
# endif
|
||||
# define engine_ref_debug(e, isfunct, diff) \
|
||||
OSSL_TRACE6(ENGINE_REF_COUNT, \
|
||||
"engine: %p %s from %d to %d (%s:%d)\n", \
|
||||
(void *)(e), (isfunct ? "funct" : "struct"), \
|
||||
((isfunct) \
|
||||
? ((e)->funct_ref - (diff)) \
|
||||
: ((e)->struct_ref - (diff))), \
|
||||
((isfunct) ? (e)->funct_ref : (e)->struct_ref), \
|
||||
(OPENSSL_FILE), (OPENSSL_LINE))
|
||||
|
||||
/*
|
||||
* Any code that will need cleanup operations should use these functions to
|
||||
@@ -58,14 +52,6 @@ void engine_cleanup_add_last(ENGINE_CLEANUP_CB *cb);
|
||||
/* We need stacks of ENGINEs for use in eng_table.c */
|
||||
DEFINE_STACK_OF(ENGINE)
|
||||
|
||||
/*
|
||||
* If this symbol is defined then engine_table_select(), the function that is
|
||||
* used by RSA, DSA (etc) code to select registered ENGINEs, cache defaults
|
||||
* and functional references (etc), will display debugging summaries to
|
||||
* stderr.
|
||||
*/
|
||||
/* #define ENGINE_TABLE_DEBUG */
|
||||
|
||||
/*
|
||||
* This represents an implementation table. Dependent code should instantiate
|
||||
* it as a (ENGINE_TABLE *) pointer value set initially to NULL.
|
||||
@@ -76,13 +62,10 @@ int engine_table_register(ENGINE_TABLE **table, ENGINE_CLEANUP_CB *cleanup,
|
||||
int setdefault);
|
||||
void engine_table_unregister(ENGINE_TABLE **table, ENGINE *e);
|
||||
void engine_table_cleanup(ENGINE_TABLE **table);
|
||||
# ifndef ENGINE_TABLE_DEBUG
|
||||
ENGINE *engine_table_select(ENGINE_TABLE **table, int nid);
|
||||
# else
|
||||
ENGINE *engine_table_select_tmp(ENGINE_TABLE **table, int nid, const char *f,
|
||||
ENGINE *engine_table_select_int(ENGINE_TABLE **table, int nid, const char *f,
|
||||
int l);
|
||||
# define engine_table_select(t,n) engine_table_select_tmp(t,n,OPENSSL_FILE,OPENSSL_LINE)
|
||||
# endif
|
||||
# define engine_table_select(t,n) \
|
||||
engine_table_select_int(t,n,OPENSSL_FILE,OPENSSL_LINE)
|
||||
typedef void (engine_table_doall_cb) (int nid, STACK_OF(ENGINE) *sk,
|
||||
ENGINE *def, void *arg);
|
||||
void engine_table_doall(ENGINE_TABLE *table, engine_table_doall_cb *cb,
|
||||
|
||||
Reference in New Issue
Block a user