function returns @code{NULL}.
@example
- lt_dlhandle handle = 0;
+lt_dlhandle handle = 0;
- while ((handle = lt_dlhandle_next (handle)))
- @{
- @dots{}
- @}
+while ((handle = lt_dlhandle_next (handle)))
+ @{
+ @dots{}
+ @}
@end example
@end deftypefun
For example, to correctly remove some associated data:
@example
- lt_ptr stale = lt_dlcaller_set_data (key, handle, 0);
- if (stale != NULL)
- @{
- free (stale);
- @}
- else
- @{
- char *error_msg = lt_dlerror ();
+lt_ptr stale = lt_dlcaller_set_data (key, handle, 0);
+if (stale != NULL)
+ @{
+ free (stale);
+ @}
+else
+ @{
+ char *error_msg = lt_dlerror ();
- if (error_msg != NULL)
- @{
- my_error_handler (error_msg);
- return STATUS_FAILED;
- @}
+ if (error_msg != NULL)
+ @{
+ my_error_handler (error_msg);
+ return STATUS_FAILED;
@}
+ @}
@end example
@end deftypefun
validator callback function:
@example
- /* @r{Register for a} caller_id @r{to identify ourselves to} libltdl. */
- caller_id = lt_dlcaller_register ("example", iface_validator_callback);
+/* @r{Register for a} caller_id @r{to identify ourselves to} libltdl. */
+caller_id = lt_dlcaller_register ("example", iface_validator_callback);
@dots{}
- /* @r{Iterate over the modules related to my} caller_id. */
- @{
- lt_dlhandle handle = lt_dlhandle_first (caller_id);
+/* @r{Iterate over the modules related to my} caller_id. */
+@{
+ lt_dlhandle handle = lt_dlhandle_first (caller_id);
- while ((handle = lt_dlhandle_next (handle)))
- @{
- @dots{}
- @}
- @}
+ while ((handle = lt_dlhandle_next (handle)))
+ @{
+ @dots{}
+ @}
+@}
@end example
@end deftypefun
work. Returns 0 for success.
@example
-@{
- /* Make myloader be the last one. */
- if (lt_dlloader_add (NULL, myloader) != 0)
- perror (lt_dlerror ());
-@}
+/* Make myloader be the last one. */
+if (lt_dlloader_add (NULL, myloader) != 0)
+ perror (lt_dlerror ());
@end example
@end deftypefun
be obtained from @code{lt_dlerror}.
@example
-@{
- /* Remove myloader. */
- if (lt_dlloader_remove ("myloader") != 0)
- perror (lt_dlerror ());
-@}
+/* Remove myloader. */
+if (lt_dlloader_remove ("myloader") != 0)
+ perror (lt_dlerror ());
@end example
@end deftypefun
@code{lt_dlloader_add}.
@example
-@{
- /* Make myloader be the first one. */
- if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0)
- return ERROR;
-@}
+/* Make myloader be the first one. */
+if (lt_dlloader_add (lt_dlloader_next (NULL), myloader) != 0)
+ return ERROR;
@end example
@end deftypefun
@code{LoadLibrary} for example}, @dfn{dld} and @dfn{dlpreload}.
@example
-@{
- /* Add a user loader as the next module loader to be tried if
- the standard dlopen loader were to fail when lt_dlopening. */
- if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0)
- return ERROR;
-@}
+/* Add a user loader as the next module loader to be tried if
+ the standard dlopen loader were to fail when lt_dlopening. */
+if (lt_dlloader_add (lt_dlloader_find ("dlopen"), myloader) != 0)
+ return ERROR;
@end example
@end deftypefun
@itemize @bullet
@item
SGI's IRIX Manual Pages, which can be found at
-@url{http://techpubs.sgi.com/cgi-bin/infosrch.cgi?cmd=browse&db=man}.
+@url{http://techpubs.sgi.com/cgi-bin/@/infosrch.cgi?cmd=browse&db=man}.
@item
Sun's free service area
@item
Compaq's Tru64 UNIX online documentation is at
-(@url{http://tru64unix.compaq.com/faqs/publications/pub_page/doc_list.html})
+(@url{http://tru64unix.compaq.com/@/faqs/publications/pub_page/doc_list.html})
with C++ documentation at
-(@url{http://tru64unix.compaq.com/cplus/docs/index.htm}).
+(@url{http://tru64unix.compaq.com/@/cplus/docs/index.htm}).
@item
Hewlett-Packard has online documentation at