These are now processed inside DSO_ctrl() itself.
static int dl_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int dl_init(DSO *dso);
static int dl_finish(DSO *dso);
-#endif
static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg);
+#endif
static DSO_METHOD dso_meth_dl = {
"OpenSSL 'dl' shared library method",
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
- dl_ctrl,
+ NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
return((DSO_FUNC_TYPE)sym);
}
-static int dl_ctrl(DSO *dso, int cmd, long larg, void *parg)
- {
- if(dso == NULL)
- {
- DSOerr(DSO_F_DL_CTRL,ERR_R_PASSED_NULL_PARAMETER);
- return(-1);
- }
- switch(cmd)
- {
- case DSO_CTRL_GET_FLAGS:
- return dso->flags;
- case DSO_CTRL_SET_FLAGS:
- dso->flags = (int)larg;
- return(0);
- case DSO_CTRL_OR_FLAGS:
- dso->flags |= (int)larg;
- return(0);
- default:
- break;
- }
- DSOerr(DSO_F_DL_CTRL,DSO_R_UNKNOWN_COMMAND);
- return(-1);
- }
-
#endif /* DSO_DL */
static int dlfcn_unbind(DSO *dso, char *symname, void *symptr);
static int dlfcn_init(DSO *dso);
static int dlfcn_finish(DSO *dso);
-#endif
static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg);
+#endif
static DSO_METHOD dso_meth_dlfcn = {
"OpenSSL 'dlfcn' shared library method",
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
- dlfcn_ctrl,
+ NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
return(sym);
}
-static long dlfcn_ctrl(DSO *dso, int cmd, long larg, void *parg)
- {
- if(dso == NULL)
- {
- DSOerr(DSO_F_DLFCN_CTRL,ERR_R_PASSED_NULL_PARAMETER);
- return(-1);
- }
- switch(cmd)
- {
- case DSO_CTRL_GET_FLAGS:
- return dso->flags;
- case DSO_CTRL_SET_FLAGS:
- dso->flags = (int)larg;
- return(0);
- case DSO_CTRL_OR_FLAGS:
- dso->flags |= (int)larg;
- return(0);
- default:
- break;
- }
- DSOerr(DSO_F_DLFCN_CTRL,DSO_R_UNKNOWN_COMMAND);
- return(-1);
- }
-
#endif /* DSO_DLFCN */
static int vms_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int vms_init(DSO *dso);
static int vms_finish(DSO *dso);
-#endif
static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg);
+#endif
static DSO_METHOD dso_meth_vms = {
"OpenSSL 'VMS' shared library method",
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
- vms_ctrl,
+ NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
return sym;
}
-static long vms_ctrl(DSO *dso, int cmd, long larg, void *parg)
- {
- if(dso == NULL)
- {
- DSOerr(DSO_F_VMS_CTRL,ERR_R_PASSED_NULL_PARAMETER);
- return(-1);
- }
- switch(cmd)
- {
- case DSO_CTRL_GET_FLAGS:
- return dso->flags;
- case DSO_CTRL_SET_FLAGS:
- dso->flags = (int)larg;
- return(0);
- case DSO_CTRL_OR_FLAGS:
- dso->flags |= (int)larg;
- return(0);
- default:
- break;
- }
- DSOerr(DSO_F_VMS_CTRL,DSO_R_UNKNOWN_COMMAND);
- return(-1);
- }
-
#endif /* VMS */
static int win32_unbind_func(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
static int win32_init(DSO *dso);
static int win32_finish(DSO *dso);
-#endif
static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg);
+#endif
static DSO_METHOD dso_meth_win32 = {
"OpenSSL 'win32' shared library method",
NULL, /* unbind_var */
NULL, /* unbind_func */
#endif
- win32_ctrl,
+ NULL, /* ctrl */
NULL, /* init */
NULL /* finish */
};
return((DSO_FUNC_TYPE)sym);
}
-static long win32_ctrl(DSO *dso, int cmd, long larg, void *parg)
- {
- if(dso == NULL)
- {
- DSOerr(DSO_F_WIN32_CTRL,ERR_R_PASSED_NULL_PARAMETER);
- return(-1);
- }
- switch(cmd)
- {
- case DSO_CTRL_GET_FLAGS:
- return dso->flags;
- case DSO_CTRL_SET_FLAGS:
- dso->flags = (int)larg;
- return(0);
- case DSO_CTRL_OR_FLAGS:
- dso->flags |= (int)larg;
- return(0);
- default:
- break;
- }
- DSOerr(DSO_F_WIN32_CTRL,DSO_R_UNKNOWN_COMMAND);
- return(-1);
- }
-
#endif /* WIN32 */