]> git.imager.perl.org - imager.git/blob - dynaload.h
update Changes
[imager.git] / dynaload.h
1 #ifndef _DYNALOAD_H_
2 #define _DYNALOAD_H_
3
4 #include "log.h"
5
6 #include "EXTERN.h"
7 #include "perl.h"
8 #include "ppport.h"
9
10 #include "ext.h"
11
12 typedef struct DSO_handle_tag DSO_handle;
13
14 typedef struct {
15   HV* hv;
16   char *key;
17   void *store;
18 } UTIL_args;
19
20 #if 0
21 int getobj(void *hv_t,char *key,char *type,void **store);
22 int getint(void *hv_t,char *key,int *store);
23 int getdouble(void *hv_t,char *key,double *store);
24 int getvoid(void *hv_t,char *key,void **store);
25 #endif
26
27 void *DSO_open(char* file,char** evalstring);
28 func_ptr *DSO_funclist(DSO_handle *handle);
29 int DSO_close(void *);
30 void 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 */
36 int 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