From b87d443c1d3a7bb1520be3918f2dab6c2f45d4b6 Mon Sep 17 00:00:00 2001 From: Ken Raeburn Date: Tue, 25 Apr 2006 06:27:07 +0000 Subject: Update internal plugin interface to add an errinfo structure to "open" and "get" routines, so that more detailed error information (e.g., from dlerror()) may be returned to the caller. git-svn-id: svn://anonsvn.mit.edu/krb5/trunk@17960 dc483132-0cff-0310-8789-dd5450dbe970 --- src/include/k5-plugin.h | 30 +++++++++++++++++++----------- 1 file changed, 19 insertions(+), 11 deletions(-) (limited to 'src/include') diff --git a/src/include/k5-plugin.h b/src/include/k5-plugin.h index 0e3daa4f52..c7fb1776ca 100644 --- a/src/include/k5-plugin.h +++ b/src/include/k5-plugin.h @@ -60,6 +60,8 @@ # include #endif +#include "k5-err.h" + struct plugin_file_handle; /* opaque */ struct plugin_dir_handle { @@ -69,24 +71,30 @@ struct plugin_dir_handle { #define PLUGIN_DIR_INIT(P) ((P)->files = NULL) #define PLUGIN_DIR_OPEN(P) ((P)->files != NULL) -int32_t KRB5_CALLCONV -krb5int_open_plugin (const char *, struct plugin_file_handle **); +long KRB5_CALLCONV +krb5int_open_plugin (const char *, struct plugin_file_handle **, + struct errinfo *); -int32_t KRB5_CALLCONV -krb5int_get_plugin_data (struct plugin_file_handle *, const char *, void **); +long KRB5_CALLCONV +krb5int_get_plugin_data (struct plugin_file_handle *, const char *, void **, + struct errinfo *); -int32_t KRB5_CALLCONV +long KRB5_CALLCONV krb5int_get_plugin_func (struct plugin_file_handle *, const char *, - void (**)()); + void (**)(), struct errinfo *); void KRB5_CALLCONV krb5int_close_plugin (struct plugin_file_handle *); -int32_t KRB5_CALLCONV krb5int_open_plugin_dir (const char *, struct plugin_dir_handle *); +long KRB5_CALLCONV krb5int_open_plugin_dir (const char *, + struct plugin_dir_handle *, + struct errinfo *); void KRB5_CALLCONV krb5int_close_plugin_dir (struct plugin_dir_handle *); void KRB5_CALLCONV krb5int_free_plugin_dir_data (void **); -int32_t KRB5_CALLCONV krb5int_get_plugin_dir_data (struct plugin_dir_handle *, - const char *, void ***); +long KRB5_CALLCONV krb5int_get_plugin_dir_data (struct plugin_dir_handle *, + const char *, void ***, + struct errinfo *); void KRB5_CALLCONV krb5int_free_plugin_dir_func (void (**)(void)); -int32_t KRB5_CALLCONV krb5int_get_plugin_dir_func (struct plugin_dir_handle *, - const char *, void (***)(void)); +long KRB5_CALLCONV krb5int_get_plugin_dir_func (struct plugin_dir_handle *, + const char *, void (***)(void), + struct errinfo *); -- cgit