|  |  |  | Gck Library Reference Manual |  | 
|---|---|---|---|---|
| Top | Description | ||||
struct GckModule; GckModule * gck_module_initialize (const gchar *path,GCancellable *cancellable,GError **error); void gck_module_initialize_async (const gchar *path,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data); GckModule * gck_module_initialize_finish (GAsyncResult *result,GError **error); GckModule * gck_module_new (CK_FUNCTION_LIST_PTR funcs); gboolean gck_module_equal (gconstpointer module1,gconstpointer module2); guint gck_module_hash (gconstpointer module); const gchar * gck_module_get_path (GckModule *self); CK_FUNCTION_LIST_PTR gck_module_get_functions (GckModule *self); GckModuleInfo * gck_module_get_info (GckModule *self); GList * gck_module_get_slots (GckModule *self,gboolean token_present); GckModuleInfo; void gck_module_info_free (GckModuleInfo *module_info);
A GckModule object holds a loaded PKCS#11 module. A PKCS#11 module is a shared library.
You can load and initialize a PKCS#11 module with the gck_module_initialize() call. If you already
have a loaded and initialized module that you'd like to use with the various gck functions, then
you can use gck_module_new().
struct GckModule {
	GObject parent;
};
Holds a loaded and initialized PKCS#11 module.
| GObject  | derived from this. | 
GckModule * gck_module_initialize (const gchar *path,GCancellable *cancellable,GError **error);
Load and initialize a PKCS#11 module represented by a GckModule object.
| 
 | The file system path to the PKCS#11 module to load. | 
| 
 | optional cancellation object. [allow-none] | 
| 
 | A location to store an error resulting from a failed load. | 
| Returns : | The loaded PKCS#11 module or NULL if failed. | 
void gck_module_initialize_async (const gchar *path,GCancellable *cancellable,GAsyncReadyCallback callback,gpointer user_data);
GckModule * gck_module_initialize_finish (GAsyncResult *result,GError **error);
GckModule *         gck_module_new                      (CK_FUNCTION_LIST_PTR funcs);
Create a GckModule representing a PKCS#11 module. It is assumed that this the module is already initialized. In addition it will not be finalized when complete.
| 
 | Initialized PKCS#11 function list pointer | 
| Returns : | The new PKCS#11 module. | 
gboolean gck_module_equal (gconstpointer module1,gconstpointer module2);
Checks equality of two modules. Two GckModule objects can point to the same underlying PKCS#11 module.
| 
 | A pointer to the first GckModule | 
| 
 | A pointer to the second GckModule | 
| Returns : | TRUE if module1 and module2 are equal. FALSE if either is not a GckModule. | 
guint               gck_module_hash                     (gconstpointer module);
Create a hash value for the GckModule.
This function is intended for easily hashing a GckModule to add to a GHashTable or similar data structure.
| 
 | A pointer to a GckModule | 
| Returns : | An integer that can be used as a hash value, or 0 if invalid. | 
const gchar *       gck_module_get_path                 (GckModule *self);
Get the file path of this module. This may not be an absolute path, and
usually reflects the path passed to gck_module_initialize().
| 
 | The module for which to get the path. | 
| Returns : | The path, do not modify or free this value. | 
CK_FUNCTION_LIST_PTR gck_module_get_functions           (GckModule *self);
Get the PKCS#11 function list for the module.
| 
 | The module for which to get the function list. | 
| Returns : | The function list, do not modify this structure. | 
GckModuleInfo *     gck_module_get_info                 (GckModule *self);
Get the info about a PKCS#11 module.
| 
 | The module to get info for. | 
| Returns : | The module info. Release this with gck_module_info_free(). | 
GList * gck_module_get_slots (GckModule *self,gboolean token_present);
Get the GckSlot objects for a given module.
| 
 | The module for which to get the slots. | 
| 
 | Whether to limit only to slots with a token present. | 
| Returns : | The possibly empty list of slots. Release this with gck_list_unref_free(). | 
typedef struct {
	guint8 pkcs11_version_major;
	guint8 pkcs11_version_minor;
	gchar *manufacturer_id;
	gulong flags;
	gchar *library_description;
	guint8 library_version_major;
	guint8 library_version_minor;
} GckModuleInfo;
Holds information about the PKCS#11 module.
This structure corresponds to CK_MODULE_INFO in the PKCS#11 standard. The strings are NULL terminated for easier use.
Use gck_module_info_free() to release this structure when done with it.
| guint8  | The major version of the module. | 
| guint8  | The minor version of the module. | 
| gchar * | The module manufacturer. | 
| gulong  | The module PKCS#11 flags. | 
| gchar * | The module description. | 
| guint8  | The major version of the library. | 
| guint8  | The minor version of the library. | 
void                gck_module_info_free                (GckModuleInfo *module_info);
Free a GckModuleInfo structure.
| 
 | The module info to free, or NULL. |