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