Sophie

Sophie

distrib > Mandriva > 2008.1 > x86_64 > by-pkgid > 535a7a10fe62254ee9ca7e6375f081a9 > files > 433

ocaml-ocamlnet-2.2.7-4mdv2008.1.x86_64.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">
<link rel="Start" href="index.html">
<link rel="previous" href="Rpc_portmapper_clnt.html">
<link rel="next" href="Rpc_server.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 class attributes" rel=Appendix href="index_attributes.html">
<link title="Index of class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.html">
<link title="Index of class types" rel=Appendix href="index_class_types.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="Uq_gtk" rel="Chapter" href="Uq_gtk.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Unixqueue_mt" rel="Chapter" href="Unixqueue_mt.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Uq_ssl" rel="Chapter" href="Uq_ssl.html">
<link title="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Netcgi_common" rel="Chapter" href="Netcgi_common.html">
<link title="Netcgi" rel="Chapter" href="Netcgi.html">
<link title="Netcgi_ajp" rel="Chapter" href="Netcgi_ajp.html">
<link title="Netcgi_scgi" rel="Chapter" href="Netcgi_scgi.html">
<link title="Netcgi_cgi" rel="Chapter" href="Netcgi_cgi.html">
<link title="Netcgi_fcgi" rel="Chapter" href="Netcgi_fcgi.html">
<link title="Netcgi_dbi" rel="Chapter" href="Netcgi_dbi.html">
<link title="Netcgi1_compat" rel="Chapter" href="Netcgi1_compat.html">
<link title="Netcgi_test" rel="Chapter" href="Netcgi_test.html">
<link title="Netcgi_porting" rel="Chapter" href="Netcgi_porting.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.html">
<link title="Http_client" rel="Chapter" href="Http_client.html">
<link title="Telnet_client" rel="Chapter" href="Telnet_client.html">
<link title="Ftp_data_endpoint" rel="Chapter" href="Ftp_data_endpoint.html">
<link title="Ftp_client" rel="Chapter" href="Ftp_client.html">
<link title="Nethttpd_types" rel="Chapter" href="Nethttpd_types.html">
<link title="Nethttpd_kernel" rel="Chapter" href="Nethttpd_kernel.html">
<link title="Nethttpd_reactor" rel="Chapter" href="Nethttpd_reactor.html">
<link title="Nethttpd_engine" rel="Chapter" href="Nethttpd_engine.html">
<link title="Nethttpd_services" rel="Chapter" href="Nethttpd_services.html">
<link title="Nethttpd_plex" rel="Chapter" href="Nethttpd_plex.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netplex_types" rel="Chapter" href="Netplex_types.html">
<link title="Netplex_mp" rel="Chapter" href="Netplex_mp.html">
<link title="Netplex_mt" rel="Chapter" href="Netplex_mt.html">
<link title="Netplex_log" rel="Chapter" href="Netplex_log.html">
<link title="Netplex_controller" rel="Chapter" href="Netplex_controller.html">
<link title="Netplex_container" rel="Chapter" href="Netplex_container.html">
<link title="Netplex_sockserv" rel="Chapter" href="Netplex_sockserv.html">
<link title="Netplex_workload" rel="Chapter" href="Netplex_workload.html">
<link title="Netplex_main" rel="Chapter" href="Netplex_main.html">
<link title="Netplex_config" rel="Chapter" href="Netplex_config.html">
<link title="Netplex_kit" rel="Chapter" href="Netplex_kit.html">
<link title="Rpc_netplex" rel="Chapter" href="Rpc_netplex.html">
<link title="Netplex_cenv" rel="Chapter" href="Netplex_cenv.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netshm" rel="Chapter" href="Netshm.html">
<link title="Netshm_data" rel="Chapter" href="Netshm_data.html">
<link title="Netshm_hashtbl" rel="Chapter" href="Netshm_hashtbl.html">
<link title="Netshm_array" rel="Chapter" href="Netshm_array.html">
<link title="Netshm_intro" rel="Chapter" href="Netshm_intro.html">
<link title="Netconversion" rel="Chapter" href="Netconversion.html">
<link title="Netchannels" rel="Chapter" href="Netchannels.html">
<link title="Netstream" rel="Chapter" href="Netstream.html">
<link title="Mimestring" rel="Chapter" href="Mimestring.html">
<link title="Netmime" rel="Chapter" href="Netmime.html">
<link title="Netsendmail" rel="Chapter" href="Netsendmail.html">
<link title="Neturl" rel="Chapter" href="Neturl.html">
<link title="Netaddress" rel="Chapter" href="Netaddress.html">
<link title="Netbuffer" rel="Chapter" href="Netbuffer.html">
<link title="Netdate" rel="Chapter" href="Netdate.html">
<link title="Netencoding" rel="Chapter" href="Netencoding.html">
<link title="Netulex" rel="Chapter" href="Netulex.html">
<link title="Netaccel" rel="Chapter" href="Netaccel.html">
<link title="Netaccel_link" rel="Chapter" href="Netaccel_link.html">
<link title="Nethtml" rel="Chapter" href="Nethtml.html">
<link title="Netstring_str" rel="Chapter" href="Netstring_str.html">
<link title="Netstring_pcre" rel="Chapter" href="Netstring_pcre.html">
<link title="Netstring_mt" rel="Chapter" href="Netstring_mt.html">
<link title="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netchannels_tut" rel="Chapter" href="Netchannels_tut.html">
<link title="Netmime_tut" rel="Chapter" href="Netmime_tut.html">
<link title="Netsendmail_tut" rel="Chapter" href="Netsendmail_tut.html">
<link title="Netulex_tut" rel="Chapter" href="Netulex_tut.html">
<link title="Neturl_tut" rel="Chapter" href="Neturl_tut.html">
<link title="Netsys" rel="Chapter" href="Netsys.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Rpc_auth_dh" rel="Chapter" href="Rpc_auth_dh.html">
<link title="Rpc_key_service" rel="Chapter" href="Rpc_key_service.html">
<link title="Rpc_time" rel="Chapter" href="Rpc_time.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rtypes" rel="Chapter" href="Rtypes.html">
<link title="Xdr" rel="Chapter" href="Xdr.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_portmapper_aux" rel="Chapter" href="Rpc_portmapper_aux.html">
<link title="Rpc_packer" rel="Chapter" href="Rpc_packer.html">
<link title="Rpc_transport" rel="Chapter" href="Rpc_transport.html">
<link title="Rpc_client" rel="Chapter" href="Rpc_client.html">
<link title="Rpc_simple_client" rel="Chapter" href="Rpc_simple_client.html">
<link title="Rpc_portmapper_clnt" rel="Chapter" href="Rpc_portmapper_clnt.html">
<link title="Rpc_portmapper" rel="Chapter" href="Rpc_portmapper.html">
<link title="Rpc_server" rel="Chapter" href="Rpc_server.html">
<link title="Rpc_auth_sys" rel="Chapter" href="Rpc_auth_sys.html">
<link title="Rpc_intro" rel="Chapter" href="Rpc_intro.html">
<link title="Rpc_mapping_ref" rel="Chapter" href="Rpc_mapping_ref.html">
<link title="Rpc_ssl" rel="Chapter" href="Rpc_ssl.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Shell_sys" rel="Chapter" href="Shell_sys.html">
<link title="Shell" rel="Chapter" href="Shell.html">
<link title="Shell_uq" rel="Chapter" href="Shell_uq.html">
<link title="Shell_mt" rel="Chapter" href="Shell_mt.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html"><title>Ocamlnet 2 Reference Manual : Rpc_portmapper</title>
</head>
<body>
<div class="navbar"><a href="Rpc_portmapper_clnt.html">Previous</a>
&nbsp;<a href="index.html">Up</a>
&nbsp;<a href="Rpc_server.html">Next</a>
</div>
<center><h1>Module <a href="type_Rpc_portmapper.html">Rpc_portmapper</a></h1></center>
<br>
<pre><span class="keyword">module</span> Rpc_portmapper: <code class="code">sig</code> <a href="Rpc_portmapper.html">..</a> <code class="code">end</code></pre>Portmapper version 2<br>
<hr width="100%">
<br>
Call the portmapper version 2. Note that version 2 is an older version
 (version 3 and 4 are called 'rpcbind'), but it is normally available.
<p>

 The task of the portmapper is to map program numbers to port numbers.
 A RPC service that should be available in the whole network should:<ul>
<li>on startup: call the <code class="code">set</code> procedure to establish a mapping of the
   own program number to the port that has been allocated previously</li>
<li>on shutdown: call the <code class="code">unset</code> procedure to remove the mapping
   (this is NEVER done automatically!)</li>
</ul>

 To call an RPC service which is only known by its program number one should
 contact the portmapper using <code class="code">getport</code> to find out the port where the
 service is actually listening.<br>
<pre><span class="keyword">type</span> <a name="TYPEt"></a><code class="type"></code>t </pre>
<div class="info">
represents a client for the portmapper<br>
</div>

<pre><span class="keyword">val</span> <a name="VALcreate"></a>create : <code class="type"><a href="Rpc_client.html#TYPEconnector">Rpc_client.connector</a> -> <a href="Rpc_portmapper.html#TYPEt">t</a></code></pre><div class="info">
Connects to the portmapper service listening on the given connector.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALcreate_inet"></a>create_inet : <code class="type">string -> <a href="Rpc_portmapper.html#TYPEt">t</a></code></pre><div class="info">
Connects to a portmapper listening on an Internet port. The argument
 is the hostname where the portmapper is running or its internet
 address. This function connects always to the port 111 on the given
 host; this is the standard for portmapper daemons.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALshut_down"></a>shut_down : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> unit</code></pre><div class="info">
Shuts down the connection to the portmapper.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALnull"></a>null : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> unit</code></pre><div class="info">
Calls the 'NULL' procedure of the portmapper. This procedure has no
 effect. You can use 'null' to determine whether a procedure call is
 possible or not.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALset"></a>set : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> bool</code></pre><div class="info">
<code class="code">set pm_client program_nr version_nr protocol port_nr</code>:
 Extends the mapping managed by the portmapper: The triple
 <code class="code">(program_nr, version_nr, protocol)</code> is mapped to the given
 <code class="code">port_nr</code>.
 It is not allowed to overwrite an existing mapping.
 The procedure returns <code class="code">true</code> if the mapping has been extended
 and <code class="code">false</code> otherwise.
 Note that it usually only possible to <code class="code">set</code> a mapping on the local
 host.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALunset"></a>unset : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> bool</code></pre><div class="info">
<code class="code">unset pm_client program_nr version_nr protocol port_nr</code>:
 removes the mapping.
 The procedure returns <code class="code">true</code> if the mapping has been removed
 and <code class="code">false</code> otherwise.
 Note that it usually only possible to <code class="code">unset</code> a mapping on the local
 host.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALgetport"></a>getport : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int</code></pre><div class="info">
<code class="code">getport pm_client program_nr version_nr protocol</code>:
 finds out the port where the given service runs. Returns 0 if the
 service is not registered.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALdump"></a>dump : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> (<a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> * <a href="Rtypes.html#TYPEuint4">Rtypes.uint4</a> * <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> * int) list</code></pre><div class="info">
returns the list of known mappings. The quadrupels have the meaning
 <code class="code">(program_nr, version_nr, protocol, port)</code><br>
</div>
<pre><span class="keyword">val</span> <a name="VALcallit"></a>callit : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Rpc_program.html#TYPEt">Rpc_program.t</a> -> string -> <a href="Xdr.html#TYPExdr_value">Xdr.xdr_value</a> -> int * <a href="Xdr.html#TYPExdr_value">Xdr.xdr_value</a></code></pre><div class="info">
<code class="code">callit pm_client program_spec proc_name argument</code>:
 This is an alternate way of calling a remote procedure. Instead
 of directly invoking the procedure, the portmapper does it for you.
<p>

 You must pass a program specification, the procedure name and the
 argument to <code class="code">callit</code>. On return, you get the port of the service
 and the result of the procedure invocation.
<p>

 Note that there are several disadvantages:<ul>
<li>Error conditions cannot be transmitted back from the portmapper.
   <code class="code">callit</code> gets a timeout in this case.</li>
<li>The portmapper uses always UDP. This means that the length of
   the messages that are exchanged is limited to a total of 8000 bytes.</li>
</ul>

 It is NOT recommended to use <code class="code">callit</code> for indirecting calls.
 The <code class="code">callit</code> interface was designed for broadcasts and should only
 be used for this purpose.
 <b>This</b> implementation of a <code class="code">callit</code> client cannot be used for
 broadcasts, however.<br>
</div>
<pre><span class="keyword">val</span> <a name="VALport_of_program"></a>port_of_program : <code class="type"><a href="Rpc_program.html#TYPEt">Rpc_program.t</a> -> string -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int</code></pre><div class="info">
<code class="code">port_of_program program host protocol</code>:
 queries the portmapper running on <code class="code">host</code> for the <code class="code">program</code> registered
 for <code class="code">protocol</code>.
 Returns the port number or fails if the number is not known.<br>
</div>
</body></html>