dynlibs.xml 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153
  1. <?xml version="1.0" encoding="ISO8859-1"?>
  2. <!--
  3. $Id$
  4. This file is part of the FPC documentation.
  5. Copyright (C) 1997, by Michael Van Canneyt
  6. The FPC documentation is free text; you can redistribute it and/or
  7. modify it under the terms of the GNU Library General Public License as
  8. published by the Free Software Foundation; either version 2 of the
  9. License, or (at your option) any later version.
  10. The FPC Documentation is distributed in the hope that it will be useful,
  11. but WITHOUT ANY WARRANTY; without even the implied warranty of
  12. MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
  13. Library General Public License for more details.
  14. You should have received a copy of the GNU Library General Public
  15. License along with the FPC documentation; see the file COPYING.LIB. If not,
  16. write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
  17. Boston, MA 02111-1307, USA.
  18. -->
  19. <fpdoc-descriptions>
  20. <package name="rtl">
  21. <module name="dynlibs">
  22. <short>Cross-platform support for dynamically loadable libraries</short>
  23. <descr>
  24. <p>
  25. The <file>Dynlibs</file> unit provides support for dynamically loading
  26. shared libraries. It is available only on those platforms that support
  27. shared libraries. The functionality available here may only be a part of
  28. the functionality available on each separate platform, in the interest of
  29. portability.
  30. </p>
  31. <p>
  32. On unix platforms, using this unit will cause the program to be linked to
  33. the C library, as most shared libraries are implemented in C and the
  34. dynamical linker too.
  35. </p>
  36. </descr>
  37. <!-- alias type Visibility: default -->
  38. <element name="TLibHandle">
  39. <short>Library handle type</short>
  40. <descr>
  41. <var>TLibHandle</var> should be considered an opaque type. It is defined
  42. differently on various platforms. The definition shown here depends on the
  43. platform for which the documentation was generated.
  44. </descr>
  45. <seealso>
  46. <link id="LoadLibrary"/>
  47. <link id="UnloadLibrary"/>
  48. </seealso>
  49. </element>
  50. <!-- constant Visibility: default -->
  51. <element name="NilHandle">
  52. <short>Correctly typed Nil handle - returned on error by <link id="LoadLibrary"/></short>
  53. </element>
  54. <!-- function Visibility: default -->
  55. <element name="LoadLibrary">
  56. <short>Load a dynamic library and return a handle to it.</short>
  57. <descr>
  58. <p>
  59. <var>LoadLibrary</var> loads a dynamic library in file <var>Name</var>
  60. and returns a handle to it. If the library cannot be loaded,
  61. <link id="NilHandle"/> is returned.
  62. </p>
  63. <p>
  64. No assumptions should be made about the location of the loaded library if a
  65. relative pathname is specified. The behaviour is dependent on the platform.
  66. Therefore it is best to specify an absolute pathname if possible.
  67. </p>
  68. </descr>
  69. <errors>
  70. On error, <link id="NilHandle"/> is returned.
  71. </errors>
  72. <seealso>
  73. <link id="UnloadLibrary"/>
  74. <link id="GetProcedureAddress"/>
  75. </seealso>
  76. </element>
  77. <!-- function Visibility: default -->
  78. <element name="GetProcedureAddress">
  79. <short>Get the address of a procedure or symbol in a dynamic library.</short>
  80. <descr>
  81. <p>
  82. <var>GetProcedureAddress</var> returns a pointer to the location in memory
  83. of the symbol <var>ProcName</var> in the dynamically loaded library
  84. specified by it's handle <var>lib</var>. If the symbol cannot be found or
  85. the handle is invalid, <var>Nil</var> is returned.
  86. </p>
  87. <p>
  88. On Windows, only an exported procedure or
  89. function can be searched this way. On Unix platforms the location of any
  90. exported symbol can be retrieved this way.
  91. </p>
  92. </descr>
  93. <errors>
  94. If the symbol cannot be found, <var>Nil</var> is returned.
  95. </errors>
  96. <seealso>
  97. <link id="LoadLibrary"/>
  98. <link id="UnLoadLibrary"/>
  99. </seealso>
  100. </element>
  101. <!-- function Visibility: default -->
  102. <element name="UnloadLibrary">
  103. <short>Unload a previously loaded library</short>
  104. <descr>
  105. <var>UnloadLibrary</var> unloads a previously loaded library (specified by
  106. the handle <var>lib</var>). The call returns <var>True</var> if succesful,
  107. <var>False</var> otherwisa.
  108. </descr>
  109. <errors>
  110. On error, <var>False</var> is returned.
  111. </errors>
  112. <seealso>
  113. <link id="LoadLibrary"/>
  114. <link id="GetProcedureAddress"/>
  115. </seealso>
  116. </element>
  117. <!-- function Visibility: default -->
  118. <element name="FreeLibrary">
  119. <short>For compatibility with Delphi/Windows: Unload a library</short>
  120. <descr>
  121. <var>FreeLibrary</var> provides the same functionality as <link
  122. id="UnloadLibrary"/>, and is provided for compatibility with Delphi.
  123. </descr>
  124. <seealso>
  125. <link id="UnloadLibrary"/>
  126. </seealso>
  127. </element>
  128. <!-- function Visibility: default -->
  129. <element name="GetProcAddress">
  130. <short>For compatibility with Delphi/Windows: Get the address of a procedure</short>
  131. <descr>
  132. <var>GetProcAddress</var> provides the same functionality as <link
  133. id="GetProcedureAddress"/>, and is provided for compatibility with Delphi.
  134. </descr>
  135. <seealso>
  136. <link id="GetProcedureAddress"/>
  137. </seealso>
  138. </element>
  139. </module> <!-- dynlibs -->
  140. </package>
  141. </fpdoc-descriptions>