1 /* modpriv.h: Stuff needed by both modules.c and modcall.c, but should not be
2 * accessed from anywhere else.
5 #include <freeradius-devel/radiusd.h>
6 #include <freeradius-devel/modules.h>
8 #ifndef WITHOUT_LIBLTDL
11 typedef void *lt_dlhandle;
13 lt_dlhandle lt_dlopenext(const char *name);
14 void *lt_dlsym(lt_dlhandle handle, const char *symbol);
16 #define LTDL_SET_PRELOADED_SYMBOLS(_x)
17 #define lt_dlinit(_x) (0)
18 #define lt_dlclose(_x)
20 #define lt_dlerror(foo) "Internal error"
21 #define lt_dlsetsearchpath(_x)
25 * Keep track of which modules we've loaded.
27 typedef struct module_entry_t {
28 char name[MAX_STRING_LEN];
29 const module_t *module;
34 * Per-instance data structure, to correlate the modules
35 * with the instance names (may NOT be the module names!),
36 * and the per-instance data structures.
38 typedef struct module_instance_t {
39 char name[MAX_STRING_LEN];
40 module_entry_t *entry;
43 pthread_mutex_t *mutex;
45 void *old_insthandle[16];
48 module_instance_t *find_module_instance(CONF_SECTION *, const char *instname);