Home | History | Annotate | Download | only in dso

Lines Matching refs:dso

0 /* dso.h -*- mode:C; c-file-style: "eay" -*- */
77 * behaviour can be overriden by setting the name_converter callback in the DSO
80 * one or two possible DSO methods. However, the following flag can be set in a
81 * DSO to prevent *any* native name-translation at all - eg. if the caller has
108 typedef struct dso_st DSO;
111 * callbacks) that transform filenames. They are passed a DSO structure pointer
112 * (or NULL if they are to be used independantly of a DSO object) and a
116 typedef char* (*DSO_NAME_CONVERTER_FUNC)(DSO *, const char *);
119 * DSO structure pointer (or NULL if they are to be used independantly of
120 * a DSO object) and two file specifications to merge. They should
126 * sensible for the DSO method in question. The only rule that really
132 typedef char* (*DSO_MERGER_FUNC)(DSO *, const char *, const char *);
140 int (*dso_load)(DSO *dso);
142 int (*dso_unload)(DSO *dso);
144 void *(*dso_bind_var)(DSO *dso, const char *symname);
151 DSO_FUNC_TYPE (*dso_bind_func)(DSO *dso, const char *symname);
156 int (*dso_unbind_var)(DSO *dso, char *symname, void *symptr);
158 int (*dso_unbind_func)(DSO *dso, char *symname, DSO_FUNC_TYPE symptr);
162 long (*dso_ctrl)(DSO *dso, int cmd, long larg, void *parg);
171 int (*init)(DSO *dso);
172 int (*finish)(DSO *dso);
206 * filename used for this DSO. */
209 * the DSO was actually loaded. It is NULL iff the DSO is not currently
214 * variable can be used to indicate (a) whether this DSO structure
221 DSO * DSO_new(void);
222 DSO * DSO_new_method(DSO_METHOD *method);
223 int DSO_free(DSO *dso);
224 int DSO_flags(DSO *dso);
225 int DSO_up_ref(DSO *dso);
226 long DSO_ctrl(DSO *dso, int cmd, long larg, void *parg);
228 /* This function sets the DSO's name_converter callback. If it is non-NULL,
232 int DSO_set_name_converter(DSO *dso, DSO_NAME_CONVERTER_FUNC cb,
235 * used for a DSO. NB: set will fail if the DSO is already loaded. */
236 const char *DSO_get_filename(DSO *dso);
237 int DSO_set_filename(DSO *dso, const char *filename);
238 /* This function will invoke the DSO's name_converter callback to translate a
240 * converter. If "filename" is NULL, the "filename" in the DSO itself will be
246 char *DSO_convert_filename(DSO *dso, const char *filename);
247 /* This function will invoke the DSO's merger callback to merge two file
251 char *DSO_merge(DSO *dso, const char *filespec1, const char *filespec2);
252 /* If the DSO is currently loaded, this returns the filename that it was loaded
254 * whether the DSO is currently loaded. NB: This will not necessarily return
255 * the same value as DSO_convert_filename(dso, dso->filename), because the
259 const char *DSO_get_loaded_filename(DSO *dso);
263 DSO_METHOD *DSO_get_method(DSO *dso);
264 DSO_METHOD *DSO_set_method(DSO *dso, DSO_METHOD *meth);
269 * in the constructed DSO after its init() function but before the
270 * load operation. If 'dso' is non-NULL, 'flags' is ignored. */
271 DSO *DSO_load(DSO *dso, const char *filename, DSO_METHOD *meth, int flags);
274 void *DSO_bind_var(DSO *dso, const char *symname);
277 DSO_FUNC_TYPE DSO_bind_func(DSO *dso, const char *symname);
285 * DSO support then this will be the only method! */
304 /* This function writes null-terminated pathname of DSO module
334 /* Error codes for the DSO functions. */