Don't bother exposing sc_pkcs11_module_t and scdl_context_t

to public headers, use void instead.


git-svn-id: https://www.opensc-project.org/svnp/opensc/trunk@1424 c6295689-39f2-0310-b995-f0e70906c6a9
This commit is contained in:
aet 2003-09-06 16:18:15 +00:00
parent 4f580598b0
commit ba1a685c8e
7 changed files with 29 additions and 27 deletions

View File

@ -18,14 +18,15 @@
struct sc_pkcs11_module {
unsigned int _magic;
scdl_context_t *handle;
void *handle;
};
typedef struct sc_pkcs11_module sc_pkcs11_module_t;
/*
* Load a module - this will load the shared object, call
* C_Initialize, and get the list of function pointers
*/
sc_pkcs11_module_t *
void *
C_LoadModule(const char *mspec, CK_FUNCTION_LIST_PTR_PTR funcs)
{
sc_pkcs11_module_t *mod;
@ -48,9 +49,9 @@ C_LoadModule(const char *mspec, CK_FUNCTION_LIST_PTR_PTR funcs)
goto failed;
rv = c_get_function_list(funcs);
if (rv == CKR_OK)
return mod;
return (void *) mod;
failed: C_UnloadModule(mod);
failed: C_UnloadModule((void *) mod);
return NULL;
}
@ -60,8 +61,10 @@ failed: C_UnloadModule(mod);
* and calling C_Finalize
*/
CK_RV
C_UnloadModule(sc_pkcs11_module_t *mod)
C_UnloadModule(void *module)
{
sc_pkcs11_module_t *mod = (sc_pkcs11_module_t *) module;
if (!mod || mod->_magic != MAGIC)
return CKR_ARGUMENTS_BAD;

View File

@ -38,7 +38,7 @@ CK_FUNCTION_LIST_PTR pkcs11_spy = NULL;
/* Real Module Function List */
CK_FUNCTION_LIST_PTR po = NULL;
/* Dynamic Module Handle */
static sc_pkcs11_module_t *modhandle = NULL;
static void *modhandle = NULL;
/* Spy module output */
FILE *spy_output = NULL;

View File

@ -49,11 +49,8 @@ extern "C" {
#define PKCS11_DEFAULT_MODULE_NAME "opensc-pkcs11.so";
#endif
typedef struct sc_pkcs11_module sc_pkcs11_module_t;
extern sc_pkcs11_module_t *C_LoadModule(const char *name,
CK_FUNCTION_LIST_PTR_PTR);
extern CK_RV C_UnloadModule(sc_pkcs11_module_t *);
extern void *C_LoadModule(const char *name, CK_FUNCTION_LIST_PTR_PTR);
extern CK_RV C_UnloadModule(void *module);
#ifdef __cplusplus
}

View File

@ -18,6 +18,7 @@
#ifdef __APPLE__
#include <Carbon/Carbon.h>
#endif
#include "scdl.h"
#define SCDL_MAGIC 0xbeefd00d
@ -207,7 +208,7 @@ mac_get_address(scdl_context_t *mod, const char *symbol)
}
#endif
scdl_context_t *
void *
scdl_open(const char *name)
{
scdl_context_t *mod;
@ -237,12 +238,13 @@ scdl_open(const char *name)
free(mod);
return NULL;
}
return mod;
return (void *) mod;
}
int
scdl_close(scdl_context_t *mod)
scdl_close(void *module)
{
scdl_context_t *mod = (scdl_context_t *) module;
int rv;
if (!mod || mod->magic != SCDL_MAGIC)
@ -269,8 +271,10 @@ scdl_close(scdl_context_t *mod)
}
void *
scdl_get_address(scdl_context_t *mod, const char *symbol)
scdl_get_address(void *module, const char *symbol)
{
scdl_context_t *mod = (scdl_context_t *) module;
if (!mod || mod->magic != SCDL_MAGIC)
return NULL;
#if defined(_WIN32)

View File

@ -17,11 +17,9 @@
extern "C" {
#endif
typedef void scdl_context_t;
extern scdl_context_t *scdl_open(const char *name);
extern int scdl_close(scdl_context_t *mod);
extern void *scdl_get_address(scdl_context_t *mod, const char *symbol);
extern void *scdl_open(const char *name);
extern int scdl_close(void *module);
extern void *scdl_get_address(void *module, const char *symbol);
#ifdef __cplusplus
}

View File

@ -67,7 +67,7 @@
* but is not anymore. The typical ``watch me walk over the edge
* of that cliff there'' thing.
*/
static void * the_handler = NULL;
static void *handle = NULL;
/*
* Create a new context
@ -105,12 +105,12 @@ PKCS11_CTX_load(PKCS11_CTX *ctx, const char *name)
PKCS11err(PKCS11_F_PKCS11_CTX_LOAD, PKCS11_MODULE_LOADED_ERROR);
return -1;
}
the_handler=C_LoadModule(name, &priv->method );
if (!the_handler) {
handle=C_LoadModule(name, &priv->method );
if (!handle) {
PKCS11err(PKCS11_F_PKCS11_CTX_LOAD, PKCS11_LOAD_MODULE_ERROR);
return -1;
}
/*
#if 0
priv->method = PKCS11_NEW(PKCS11_method);
base = (caddr_t) (priv->method);
for (sym = pkcs11_symbols; sym->name; sym++) {
@ -120,7 +120,7 @@ PKCS11_CTX_load(PKCS11_CTX *ctx, const char *name)
return -1;
}
}
*/
#endif
/* Tell the PKCS11 to initialize itself */
rv = priv->method->C_Initialize(NULL);
@ -152,7 +152,7 @@ PKCS11_CTX_unload(PKCS11_CTX *ctx)
priv->method->C_Finalize(NULL);
/* Unload the module */
C_UnloadModule(the_handler);
C_UnloadModule(handle);
}
/*

View File

@ -120,7 +120,7 @@ static CK_BYTE opt_object_id[100], new_object_id[100];
static int opt_object_id_len = 0, new_object_id_len = 0;
static char * opt_object_label = NULL;
static sc_pkcs11_module_t *module = NULL;
static void *module = NULL;
static CK_FUNCTION_LIST_PTR p11 = NULL;
static CK_SLOT_ID_PTR p11_slots = NULL;
static CK_ULONG p11_num_slots = 0;