most numeric parameters to the XS implementation now throw an exception if supplied...
[imager.git] / dynaload.h
CommitLineData
02d1d628
AMH
1#ifndef _DYNALOAD_H_
2#define _DYNALOAD_H_
3
4#include "log.h"
5
02d1d628
AMH
6#include "EXTERN.h"
7#include "perl.h"
8#include "ppport.h"
9
10#include "ext.h"
11
d8e0c3ba 12typedef struct DSO_handle_tag DSO_handle;
02d1d628
AMH
13
14typedef struct {
15 HV* hv;
16 char *key;
17 void *store;
18} UTIL_args;
19
b33c08f8 20#if 0
02d1d628
AMH
21int getobj(void *hv_t,char *key,char *type,void **store);
22int getint(void *hv_t,char *key,int *store);
23int getdouble(void *hv_t,char *key,double *store);
24int getvoid(void *hv_t,char *key,void **store);
b33c08f8 25#endif
02d1d628
AMH
26
27void *DSO_open(char* file,char** evalstring);
d8e0c3ba 28func_ptr *DSO_funclist(DSO_handle *handle);
02d1d628
AMH
29int DSO_close(void *);
30void DSO_call(DSO_handle *handle,int func_index,HV* hv);
31
32#ifdef __EMX__ /* OS/2 */
33# ifndef RTLD_LAZY
34# define RTLD_LAZY 0
35# endif /* RTLD_LAZY */
36int dlclose(minthandle_t);
37#endif /* __EMX__ */
38
39#ifdef DLSYMUN
40
41#define I_EVALSTR "_evalstr"
42#define I_SYMBOL_TABLE "_symbol_table"
43#define I_UTIL_TABLE "_util_table"
44#define I_FUNCTION_LIST "_function_list"
45#define I_INSTALL_TABLES "_install_tables"
46
47#else
48
49#define I_EVALSTR "evalstr"
50#define I_SYMBOL_TABLE "symbol_table"
51#define I_UTIL_TABLE "util_table"
52#define I_FUNCTION_LIST "function_list"
53#define I_INSTALL_TABLES "install_tables"
54
55#endif
56
57#endif /* _DYNALOAD_H_ */
58