#define SHLIB_DYNLOAD
#define INTERNAL_CNAME_PATTERN "%s"
#define INTERNAL_FNAME_PATTERN "%s" /**** check this */
#define VERBDFLT TRUE
LOCAL VOID link_and_load _((char *fname, char *libs, int fort));
LOCAL char *get_caddress _((char *name));
#include
/**** This code ought to cache the addresses found, but I won't bother
until I revise the way dynamic loading works */
LOCAL VOID link_and_load(fname, libs, fort)
char *fname, *libs;
int fort;
{
shl_t handle;
handle = shl_load(fname, BIND_DEFERRED, 0L);
if (handle == NULL) {
sprintf(buf, "can't open %s", fname);
xlfail(buf);
}
}
LOCAL char *get_caddress(name)
char *name;
{
shl_t handle;
char *f;
handle = NULL;
if (shl_findsym(&handle, name, TYPE_PROCEDURE, &f) != 0) {
handle = PROG_HANDLE;
if (shl_findsym(&handle, name, TYPE_PROCEDURE, &f) != 0)
f = NULL;
}
return(f);
}