* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the
- * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
- * Boston, MA 02111-1307, USA.
+ * License along with this library; if not, see <http://www.gnu.org/licenses/>.
*/
/*
#include <sys/types.h>
#include <sys/stat.h>
#include <fcntl.h>
-#ifdef HAVE_UNISTD_H
+#ifdef G_OS_UNIX
#include <unistd.h>
#endif
#ifdef G_OS_WIN32
* These functions provide a portable way to dynamically load object files
* (commonly known as 'plug-ins'). The current implementation supports all
* systems that provide an implementation of dlopen() (e.g. Linux/Sun), as
- * well as HP-UX via its shl_load() mechanism, and Windows platforms via DLLs.
+ * well as Windows platforms via DLLs.
*
* A program which wants to use these functions must be linked to the
* libraries output by the command
* <literal>g_quark_from_static_string ("my-module-stuff")</literal>,
* it must ensure that it is never unloaded, by calling g_module_make_resident().
*
- * <example>
- * <title>Calling a function defined in a <structname>GModule</structname></title>
- * <programlisting>
+ * Example: Calling a function defined in a GModule
+ * |[<!-- language="C" -->
* /* the function signature for 'say_hello' */
* typedef void (* SayHelloFunc) (const char *message);
*
* if (!module)
* {
* g_set_error (error, FOO_ERROR, FOO_ERROR_BLAH,
- * "%s", g_module_error ());
+ * "%s", g_module_error ());
* return FALSE;
* }
*
- * if (!g_module_symbol (module, "say_hello", (gpointer *)&say_hello))
+ * if (!g_module_symbol (module, "say_hello", (gpointer *)&say_hello))
* {
* g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
- * "%s: %s", filename, g_module_error ());
+ * "%s: %s", filename, g_module_error ());
* if (!g_module_close (module))
- * g_warning ("%s: %s", filename, g_module_error ());
+ * g_warning ("%s: %s", filename, g_module_error ());
* return FALSE;
* }
*
* g_set_error (error, SAY_ERROR, SAY_ERROR_OPEN,
* "symbol say_hello is NULL");
* if (!g_module_close (module))
- * g_warning ("%s: %s", filename, g_module_error ());
+ * g_warning ("%s: %s", filename, g_module_error ());
* return FALSE;
* }
*
* say_hello ("Hello world!");
*
* if (!g_module_close (module))
- * g_warning ("%s: %s", filename, g_module_error ());
+ * g_warning ("%s: %s", filename, g_module_error ());
* return TRUE;
* }
- * </programlisting>
- * </example>
+ * ]|
*/
/**
* @module: the #GModule corresponding to the module which has just been loaded
*
* Specifies the type of the module initialization function.
- * <indexterm zone="g-module-check-init"><primary>g_module_check_init</primary></indexterm>
* If a module contains a function named g_module_check_init() it is called
* automatically when the module is loaded. It is passed the #GModule structure
* and should return %NULL on success or a string describing the initialization
* GModuleUnload:
* @module: the #GModule about to be unloaded
*
- * <indexterm zone="g-module-unload"><primary>g_module_unload</primary></indexterm>
* Specifies the type of the module function called when it is unloaded.
* If a module contains a function named g_module_unload() it is called
* automatically when the module is unloaded.
* G_MODULE_SUFFIX:
*
* Expands to the proper shared library suffix for the current platform
- * without the leading dot. For the most Unices and Linux this is "so",
- * for some HP-UX versions this is "sl" and for Windows this is "dll".
+ * without the leading dot. For most Unices and Linux this is "so", and
+ * for Windows this is "dll".
*/
/**
/* We maintain a list of modules, so we can reference count them.
* That's needed because some platforms don't support references counts on
- * modules e.g. the shl_* implementation of HP-UX
- * (http://www.stat.umn.edu/~luke/xls/projects/dlbasics/dlbasics.html).
- * Also, the module for the program itself is kept seperatedly for
+ * modules. Also, the module for the program itself is kept seperately for
* faster access and because it has special semantics.
*/
#define SUPPORT_OR_RETURN(rv) { g_module_set_error (NULL); }
#if (G_MODULE_IMPL == G_MODULE_IMPL_DL)
#include "gmodule-dl.c"
-#elif (G_MODULE_IMPL == G_MODULE_IMPL_DLD)
-#include "gmodule-dld.c"
#elif (G_MODULE_IMPL == G_MODULE_IMPL_WIN32)
#include "gmodule-win32.c"
#elif (G_MODULE_IMPL == G_MODULE_IMPL_DYLD)