| 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 | |