Lines Matching defs:DSO

80  * DSO object (using DSO_set_name_converter()). This callback could even
82 * behaviour for one or two possible DSO methods. However, the following flag
83 * can be set in a DSO to prevent *any* native name-translation at all - eg.
112 typedef struct dso_st DSO;
116 * callbacks) that transform filenames. They are passed a DSO structure
117 * pointer (or NULL if they are to be used independantly of a DSO object) and
122 typedef char *(*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *);
125 * callbacks) that merge two file specifications. They are passed a DSO
126 * structure pointer (or NULL if they are to be used independantly of a DSO
132 * fashion that is sensible for the DSO method in question. The only rule
138 typedef char *(*DSO_MERGER_FUNC)(DSO *, const char *, const char *);
147 int (*dso_load) (DSO *dso);
149 int (*dso_unload) (DSO *dso);
151 void *(*dso_bind_var) (DSO *dso, const char *symname);
159 DSO_FUNC_TYPE (*dso_bind_func) (DSO *dso, const char *symname);
163 int (*dso_unbind_var) (DSO *dso, char *symname, void *symptr);
165 int (*dso_unbind_func) (DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
171 long (*dso_ctrl) (DSO *dso, int cmd, long larg, void *parg);
183 int (*init) (DSO *dso);
184 int (*finish) (DSO *dso);
224 * used for this DSO.
229 * the DSO was actually loaded. It is NULL iff the DSO is not currently
234 * used to indicate (a) whether this DSO structure corresponds to a
241 DSO *DSO_new(void);
242 DSO *DSO_new_method(DSO_METHOD *method);
243 int DSO_free(DSO *dso);
244 int DSO_flags(DSO *dso);
245 int DSO_up_ref(DSO *dso);
246 long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg);
249 * This function sets the DSO's name_converter callback. If it is non-NULL,
254 int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb,
258 * used for a DSO. NB: set will fail if the DSO is already loaded.
260 const char *DSO_get_filename(DSO *dso);
261 int DSO_set_filename(DSO *dso, const char *filename);
263 * This function will invoke the DSO's name_converter callback to translate a
265 * converter. If "filename" is NULL, the "filename" in the DSO itself will be
272 char *DSO_convert_filename(DSO *dso, const char *filename);
274 * This function will invoke the DSO's merger callback to merge two file
279 char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2);
281 * If the DSO is currently loaded, this returns the filename that it was
283 * to whether the DSO is currently loaded. NB: This will not necessarily
289 const char *DSO_get_loaded_filename(DSO *dso);
293 DSO_METHOD *DSO_get_method(DSO *dso);
294 DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth);
300 * constructed DSO after its init() function but before the load operation.
303 DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags);
306 void *DSO_bind_var(DSO *dso, const char *symname);
309 DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname);
319 * This method is defined for all platforms - if a platform has no DSO
345 * This function writes null-terminated pathname of DSO module containing
376 /* Error codes for the DSO functions. */