Sophie

Sophie

distrib > Mageia > 7 > armv7hl > media > core-release > by-pkgid > fb18813323b88f9a6e869238ab603257 > files > 97

ocaml-doc-4.07.1-2.mga7.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<link rel="stylesheet" href="style.css" type="text/css">
<meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link rel="Start" href="index.html">
<link rel="previous" href="Docstrings.html">
<link rel="next" href="Ephemeron.html">
<link rel="Up" href="index.html">
<link title="Index of types" rel=Appendix href="index_types.html">
<link title="Index of exceptions" rel=Appendix href="index_exceptions.html">
<link title="Index of values" rel=Appendix href="index_values.html">
<link title="Index of modules" rel=Appendix href="index_modules.html">
<link title="Index of module types" rel=Appendix href="index_module_types.html">
<link title="Arg" rel="Chapter" href="Arg.html">
<link title="Arg_helper" rel="Chapter" href="Arg_helper.html">
<link title="Array" rel="Chapter" href="Array.html">
<link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html">
<link title="Ast_helper" rel="Chapter" href="Ast_helper.html">
<link title="Ast_invariants" rel="Chapter" href="Ast_invariants.html">
<link title="Ast_iterator" rel="Chapter" href="Ast_iterator.html">
<link title="Ast_mapper" rel="Chapter" href="Ast_mapper.html">
<link title="Asttypes" rel="Chapter" href="Asttypes.html">
<link title="Attr_helper" rel="Chapter" href="Attr_helper.html">
<link title="Bigarray" rel="Chapter" href="Bigarray.html">
<link title="Buffer" rel="Chapter" href="Buffer.html">
<link title="Build_path_prefix_map" rel="Chapter" href="Build_path_prefix_map.html">
<link title="Builtin_attributes" rel="Chapter" href="Builtin_attributes.html">
<link title="Bytes" rel="Chapter" href="Bytes.html">
<link title="BytesLabels" rel="Chapter" href="BytesLabels.html">
<link title="Callback" rel="Chapter" href="Callback.html">
<link title="CamlinternalFormat" rel="Chapter" href="CamlinternalFormat.html">
<link title="CamlinternalFormatBasics" rel="Chapter" href="CamlinternalFormatBasics.html">
<link title="CamlinternalLazy" rel="Chapter" href="CamlinternalLazy.html">
<link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html">
<link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html">
<link title="Ccomp" rel="Chapter" href="Ccomp.html">
<link title="Char" rel="Chapter" href="Char.html">
<link title="Clflags" rel="Chapter" href="Clflags.html">
<link title="Complex" rel="Chapter" href="Complex.html">
<link title="Condition" rel="Chapter" href="Condition.html">
<link title="Config" rel="Chapter" href="Config.html">
<link title="Consistbl" rel="Chapter" href="Consistbl.html">
<link title="Depend" rel="Chapter" href="Depend.html">
<link title="Digest" rel="Chapter" href="Digest.html">
<link title="Docstrings" rel="Chapter" href="Docstrings.html">
<link title="Dynlink" rel="Chapter" href="Dynlink.html">
<link title="Ephemeron" rel="Chapter" href="Ephemeron.html">
<link title="Event" rel="Chapter" href="Event.html">
<link title="Filename" rel="Chapter" href="Filename.html">
<link title="Float" rel="Chapter" href="Float.html">
<link title="Format" rel="Chapter" href="Format.html">
<link title="Gc" rel="Chapter" href="Gc.html">
<link title="Genlex" rel="Chapter" href="Genlex.html">
<link title="Graphics" rel="Chapter" href="Graphics.html">
<link title="GraphicsX11" rel="Chapter" href="GraphicsX11.html">
<link title="Hashtbl" rel="Chapter" href="Hashtbl.html">
<link title="Identifiable" rel="Chapter" href="Identifiable.html">
<link title="Int32" rel="Chapter" href="Int32.html">
<link title="Int64" rel="Chapter" href="Int64.html">
<link title="Lazy" rel="Chapter" href="Lazy.html">
<link title="Lexer" rel="Chapter" href="Lexer.html">
<link title="Lexing" rel="Chapter" href="Lexing.html">
<link title="List" rel="Chapter" href="List.html">
<link title="ListLabels" rel="Chapter" href="ListLabels.html">
<link title="Location" rel="Chapter" href="Location.html">
<link title="Longident" rel="Chapter" href="Longident.html">
<link title="Map" rel="Chapter" href="Map.html">
<link title="Marshal" rel="Chapter" href="Marshal.html">
<link title="Misc" rel="Chapter" href="Misc.html">
<link title="MoreLabels" rel="Chapter" href="MoreLabels.html">
<link title="Mutex" rel="Chapter" href="Mutex.html">
<link title="Nativeint" rel="Chapter" href="Nativeint.html">
<link title="Numbers" rel="Chapter" href="Numbers.html">
<link title="Obj" rel="Chapter" href="Obj.html">
<link title="Oo" rel="Chapter" href="Oo.html">
<link title="Parse" rel="Chapter" href="Parse.html">
<link title="Parser" rel="Chapter" href="Parser.html">
<link title="Parsetree" rel="Chapter" href="Parsetree.html">
<link title="Parsing" rel="Chapter" href="Parsing.html">
<link title="Pervasives" rel="Chapter" href="Pervasives.html">
<link title="Pparse" rel="Chapter" href="Pparse.html">
<link title="Pprintast" rel="Chapter" href="Pprintast.html">
<link title="Printast" rel="Chapter" href="Printast.html">
<link title="Printexc" rel="Chapter" href="Printexc.html">
<link title="Printf" rel="Chapter" href="Printf.html">
<link title="Profile" rel="Chapter" href="Profile.html">
<link title="Queue" rel="Chapter" href="Queue.html">
<link title="Random" rel="Chapter" href="Random.html">
<link title="Scanf" rel="Chapter" href="Scanf.html">
<link title="Seq" rel="Chapter" href="Seq.html">
<link title="Set" rel="Chapter" href="Set.html">
<link title="Simplif" rel="Chapter" href="Simplif.html">
<link title="Sort" rel="Chapter" href="Sort.html">
<link title="Spacetime" rel="Chapter" href="Spacetime.html">
<link title="Stack" rel="Chapter" href="Stack.html">
<link title="StdLabels" rel="Chapter" href="StdLabels.html">
<link title="Str" rel="Chapter" href="Str.html">
<link title="Stream" rel="Chapter" href="Stream.html">
<link title="String" rel="Chapter" href="String.html">
<link title="StringLabels" rel="Chapter" href="StringLabels.html">
<link title="Strongly_connected_components" rel="Chapter" href="Strongly_connected_components.html">
<link title="Syntaxerr" rel="Chapter" href="Syntaxerr.html">
<link title="Sys" rel="Chapter" href="Sys.html">
<link title="Targetint" rel="Chapter" href="Targetint.html">
<link title="Tbl" rel="Chapter" href="Tbl.html">
<link title="Terminfo" rel="Chapter" href="Terminfo.html">
<link title="Thread" rel="Chapter" href="Thread.html">
<link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html">
<link title="Typemod" rel="Chapter" href="Typemod.html">
<link title="Uchar" rel="Chapter" href="Uchar.html">
<link title="Unix" rel="Chapter" href="Unix.html">
<link title="UnixLabels" rel="Chapter" href="UnixLabels.html">
<link title="Warnings" rel="Chapter" href="Warnings.html">
<link title="Weak" rel="Chapter" href="Weak.html"><link title="Dynamic loading of compiled files" rel="Section" href="#1_Dynamicloadingofcompiledfiles">
<link title="Access control" rel="Section" href="#1_Accesscontrol">
<link title="Deprecated, low-level API for access control" rel="Section" href="#1_DeprecatedlowlevelAPIforaccesscontrol">
<link title="Deprecated, initialization" rel="Section" href="#1_Deprecatedinitialization">
<link title="Error reporting" rel="Section" href="#1_Errorreporting">
<title>Dynlink</title>
</head>
<body>
<div class="navbar"><a class="pre" href="Docstrings.html" title="Docstrings">Previous</a>
&nbsp;<a class="up" href="index.html" title="Index">Up</a>
&nbsp;<a class="post" href="Ephemeron.html" title="Ephemeron">Next</a>
</div>
<h1>Module <a href="type_Dynlink.html">Dynlink</a></h1>

<pre><span id="MODULEDynlink"><span class="keyword">module</span> Dynlink</span>: <code class="code"><span class="keyword">sig</span></code> <a href="Dynlink.html">..</a> <code class="code"><span class="keyword">end</span></code></pre><div class="info module top">
<div class="info-desc">
<p>Dynamic loading of object files.</p>
</div>
</div>
<hr width="100%">

<pre><span id="VALis_native"><span class="keyword">val</span> is_native</span> : <code class="type">bool</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code"><span class="keyword">true</span></code> if the program is native,
    <code class="code"><span class="keyword">false</span></code> if the program is bytecode.</p>
</div>
</div>
<h2 id="1_Dynamicloadingofcompiledfiles">Dynamic loading of compiled files</h2>
<pre><span id="VALloadfile"><span class="keyword">val</span> loadfile</span> : <code class="type">string -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>In bytecode: load the given bytecode object file (<code class="code">.cmo</code> file) or
    bytecode library file (<code class="code">.cma</code> file), and link it with the running
    program. In native code: load the given OCaml plugin file (usually
    <code class="code">.cmxs</code>), and link it with the running
    program.
    All toplevel expressions in the loaded compilation units
    are evaluated. No facilities are provided to
    access value names defined by the unit. Therefore, the unit
    must register itself its entry points with the main program,
    e.g. by modifying tables of functions.</p>
</div>
</div>

<pre><span id="VALloadfile_private"><span class="keyword">val</span> loadfile_private</span> : <code class="type">string -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Same as <code class="code">loadfile</code>, except that the compilation units just loaded
    are hidden (cannot be referenced) from other modules dynamically
    loaded afterwards.</p>
</div>
</div>

<pre><span id="VALadapt_filename"><span class="keyword">val</span> adapt_filename</span> : <code class="type">string -> string</code></pre><div class="info ">
<div class="info-desc">
<p>In bytecode, the identity function. In native code, replace the last
    extension with <code class="code">.cmxs</code>.</p>
</div>
</div>
<h2 id="1_Accesscontrol">Access control</h2>
<pre><span id="VALallow_only"><span class="keyword">val</span> allow_only</span> : <code class="type">string list -> unit</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">allow_only&nbsp;units</code> restricts the compilation units that
    dynamically-linked units can reference: it forbids all references
    to units other than those named in the list <code class="code">units</code>. References
    to any other compilation unit will cause a <code class="code"><span class="constructor">Unavailable_unit</span></code>
    error during <code class="code">loadfile</code> or <code class="code">loadfile_private</code>.</p>

<p>Initially (or after calling <code class="code">default_available_units</code>) all
    compilation units composing the program currently running are
    available for reference from dynamically-linked units.
    <code class="code">allow_only</code> can be used to restrict access to a subset of these
    units, e.g. to the units that compose the API for
    dynamically-linked code, and prevent access to all other units,
    e.g. private, internal modules of the running program. If
    <code class="code">allow_only</code> is called several times, access will be restricted to
    the intersection of the given lists (i.e. a call to <code class="code">allow_only</code>
    can never increase the set of available units).</p>
</div>
</div>

<pre><span id="VALprohibit"><span class="keyword">val</span> prohibit</span> : <code class="type">string list -> unit</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">prohibit&nbsp;units</code> prohibits dynamically-linked units from referencing
    the units named in list <code class="code">units</code>.  This can be used to prevent
    access to selected units, e.g. private, internal modules of
    the running program.</p>
</div>
</div>

<pre><span id="VALdefault_available_units"><span class="keyword">val</span> default_available_units</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Reset the set of units that can be referenced from dynamically-linked
    code to its default value, that is, all units composing the currently
    running program.</p>
</div>
</div>

<pre><span id="VALallow_unsafe_modules"><span class="keyword">val</span> allow_unsafe_modules</span> : <code class="type">bool -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Govern whether unsafe object files are allowed to be
    dynamically linked. A compilation unit is 'unsafe' if it contains
    declarations of external functions, which can break type safety.
    By default, dynamic linking of unsafe object files is
    not allowed. In native code, this function does nothing; object files
    with external functions are always allowed to be dynamically linked.</p>
</div>
</div>
<h2 id="1_DeprecatedlowlevelAPIforaccesscontrol">Deprecated, low-level API for access control</h2>
<pre><span id="VALadd_interfaces"><span class="keyword">val</span> add_interfaces</span> : <code class="type">string list -> string list -> unit</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">add_interfaces&nbsp;units&nbsp;path</code> grants dynamically-linked object
    files access to the compilation  units named in list <code class="code">units</code>.
    The interfaces (<code class="code">.cmi</code> files) for these units are searched in
    <code class="code">path</code> (a list of directory names).</p>
</div>
</div>

<pre><span id="VALadd_available_units"><span class="keyword">val</span> add_available_units</span> : <code class="type">(string * <a href="Digest.html#TYPEt">Digest.t</a>) list -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Same as <a href="Dynlink.html#VALadd_interfaces"><code class="code"><span class="constructor">Dynlink</span>.add_interfaces</code></a>, but instead of searching <code class="code">.cmi</code> files
    to find the unit interfaces, uses the interface digests given
    for each unit. This way, the <code class="code">.cmi</code> interface files need not be
    available at run-time. The digests can be extracted from <code class="code">.cmi</code>
    files using the <code class="code">extract_crc</code> program installed in the
    OCaml standard library directory.</p>
</div>
</div>

<pre><span id="VALclear_available_units"><span class="keyword">val</span> clear_available_units</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Empty the list of compilation units accessible to dynamically-linked
    programs.</p>
</div>
</div>
<h2 id="1_Deprecatedinitialization">Deprecated, initialization</h2>
<pre><span id="VALinit"><span class="keyword">val</span> init</span> : <code class="type">unit -> unit</code></pre><div class="info ">
<div class="info-deprecated">
<span class="warning">Deprecated.</span>Initialize the <code class="code"><span class="constructor">Dynlink</span></code> library. This function is called
    automatically when needed.</div>
</div>
<h2 id="1_Errorreporting">Error reporting</h2>
<pre><code><span id="TYPElinking_error"><span class="keyword">type</span> <code class="type"></code>linking_error</span> = </code></pre><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTlinking_error.Undefined_global"><span class="constructor">Undefined_global</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTlinking_error.Unavailable_primitive"><span class="constructor">Unavailable_primitive</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTlinking_error.Uninitialized_global"><span class="constructor">Uninitialized_global</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr></table>



<pre><code><span id="TYPEerror"><span class="keyword">type</span> <code class="type"></code>error</span> = </code></pre><table class="typetable">
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Not_a_bytecode_file"><span class="constructor">Not_a_bytecode_file</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Inconsistent_import"><span class="constructor">Inconsistent_import</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Unavailable_unit"><span class="constructor">Unavailable_unit</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Unsafe_file"><span class="constructor">Unsafe_file</span></span></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Linking_error"><span class="constructor">Linking_error</span></span> <span class="keyword">of</span> <code class="type">string * <a href="Dynlink.html#TYPElinking_error">linking_error</a></code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Corrupted_interface"><span class="constructor">Corrupted_interface</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.File_not_found"><span class="constructor">File_not_found</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Cannot_open_dll"><span class="constructor">Cannot_open_dll</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr>
<tr>
<td align="left" valign="top" >
<code><span class="keyword">|</span></code></td>
<td align="left" valign="top" >
<code><span id="TYPEELTerror.Inconsistent_implementation"><span class="constructor">Inconsistent_implementation</span></span> <span class="keyword">of</span> <code class="type">string</code></code></td>

</tr></table>



<pre><span id="EXCEPTIONError"><span class="keyword">exception</span> Error</span> <span class="keyword">of</span> <code class="type"><a href="Dynlink.html#TYPEerror">error</a></code></pre>
<div class="info ">
<div class="info-desc">
<p>Errors in dynamic linking are reported by raising the <code class="code"><span class="constructor">Error</span></code>
    exception with a description of the error.</p>
</div>
</div>

<pre><span id="VALerror_message"><span class="keyword">val</span> error_message</span> : <code class="type"><a href="Dynlink.html#TYPEerror">error</a> -> string</code></pre><div class="info ">
<div class="info-desc">
<p>Convert an error description to a printable message.</p>
</div>
</div>
</body></html>