File: Rpc_portmapper.html

package info (click to toggle)
ocamlnet 4.1.9-8
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 54,040 kB
  • sloc: ml: 151,939; ansic: 11,071; sh: 2,003; makefile: 1,310
file content (455 lines) | stat: -rw-r--r-- 31,166 bytes parent folder | download | duplicates (4)
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
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
<!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="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 extensions" rel=Appendix href="index_extensions.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="Uq_tcl" rel="Chapter" href="Uq_tcl.html">
<link title="Equeue" rel="Chapter" href="Equeue.html">
<link title="Unixqueue" rel="Chapter" href="Unixqueue.html">
<link title="Unixqueue_pollset" rel="Chapter" href="Unixqueue_pollset.html">
<link title="Unixqueue_select" rel="Chapter" href="Unixqueue_select.html">
<link title="Uq_resolver" rel="Chapter" href="Uq_resolver.html">
<link title="Uq_engines" rel="Chapter" href="Uq_engines.html">
<link title="Uq_multiplex" rel="Chapter" href="Uq_multiplex.html">
<link title="Uq_transfer" rel="Chapter" href="Uq_transfer.html">
<link title="Uq_socks5" rel="Chapter" href="Uq_socks5.html">
<link title="Uq_io" rel="Chapter" href="Uq_io.html">
<link title="Uq_lwt" rel="Chapter" href="Uq_lwt.html">
<link title="Uq_libevent" rel="Chapter" href="Uq_libevent.html">
<link title="Uq_mt" rel="Chapter" href="Uq_mt.html">
<link title="Uq_client" rel="Chapter" href="Uq_client.html">
<link title="Uq_server" rel="Chapter" href="Uq_server.html">
<link title="Uq_datagram" rel="Chapter" href="Uq_datagram.html">
<link title="Uq_engines_compat" rel="Chapter" href="Uq_engines_compat.html">
<link title="Equeue_intro" rel="Chapter" href="Equeue_intro.html">
<link title="Equeue_howto" rel="Chapter" href="Equeue_howto.html">
<link title="Netcamlbox" rel="Chapter" href="Netcamlbox.html">
<link title="Netcgi_apache" rel="Chapter" href="Netcgi_apache.html">
<link title="Netcgi_modtpl" rel="Chapter" href="Netcgi_modtpl.html">
<link title="Netcgi_plex" rel="Chapter" href="Netcgi_plex.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="Nethttp_client_conncache" rel="Chapter" href="Nethttp_client_conncache.html">
<link title="Nethttp_client" rel="Chapter" href="Nethttp_client.html">
<link title="Nettelnet_client" rel="Chapter" href="Nettelnet_client.html">
<link title="Netftp_data_endpoint" rel="Chapter" href="Netftp_data_endpoint.html">
<link title="Netftp_client" rel="Chapter" href="Netftp_client.html">
<link title="Nethttp_fs" rel="Chapter" href="Nethttp_fs.html">
<link title="Netftp_fs" rel="Chapter" href="Netftp_fs.html">
<link title="Netsmtp" rel="Chapter" href="Netsmtp.html">
<link title="Netpop" rel="Chapter" href="Netpop.html">
<link title="Netldap" rel="Chapter" href="Netldap.html">
<link title="Netclient_tut" rel="Chapter" href="Netclient_tut.html">
<link title="Netgss_bindings" rel="Chapter" href="Netgss_bindings.html">
<link title="Netgss" rel="Chapter" href="Netgss.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_util" rel="Chapter" href="Nethttpd_util.html">
<link title="Nethttpd_intro" rel="Chapter" href="Nethttpd_intro.html">
<link title="Netmcore" rel="Chapter" href="Netmcore.html">
<link title="Netmcore_camlbox" rel="Chapter" href="Netmcore_camlbox.html">
<link title="Netmcore_mempool" rel="Chapter" href="Netmcore_mempool.html">
<link title="Netmcore_heap" rel="Chapter" href="Netmcore_heap.html">
<link title="Netmcore_ref" rel="Chapter" href="Netmcore_ref.html">
<link title="Netmcore_array" rel="Chapter" href="Netmcore_array.html">
<link title="Netmcore_sem" rel="Chapter" href="Netmcore_sem.html">
<link title="Netmcore_mutex" rel="Chapter" href="Netmcore_mutex.html">
<link title="Netmcore_condition" rel="Chapter" href="Netmcore_condition.html">
<link title="Netmcore_queue" rel="Chapter" href="Netmcore_queue.html">
<link title="Netmcore_buffer" rel="Chapter" href="Netmcore_buffer.html">
<link title="Netmcore_matrix" rel="Chapter" href="Netmcore_matrix.html">
<link title="Netmcore_hashtbl" rel="Chapter" href="Netmcore_hashtbl.html">
<link title="Netmcore_process" rel="Chapter" href="Netmcore_process.html">
<link title="Netmcore_tut" rel="Chapter" href="Netmcore_tut.html">
<link title="Netmcore_basics" rel="Chapter" href="Netmcore_basics.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_semaphore" rel="Chapter" href="Netplex_semaphore.html">
<link title="Netplex_sharedvar" rel="Chapter" href="Netplex_sharedvar.html">
<link title="Netplex_mutex" rel="Chapter" href="Netplex_mutex.html">
<link title="Netplex_encap" rel="Chapter" href="Netplex_encap.html">
<link title="Netplex_mbox" rel="Chapter" href="Netplex_mbox.html">
<link title="Netplex_internal" rel="Chapter" href="Netplex_internal.html">
<link title="Netplex_intro" rel="Chapter" href="Netplex_intro.html">
<link title="Netplex_advanced" rel="Chapter" href="Netplex_advanced.html">
<link title="Netplex_admin" rel="Chapter" href="Netplex_admin.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="Netstring_pcre" rel="Chapter" href="Netstring_pcre.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="Netmime_string" rel="Chapter" href="Netmime_string.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="Netmime_header" rel="Chapter" href="Netmime_header.html">
<link title="Netmime_channels" rel="Chapter" href="Netmime_channels.html">
<link title="Neturl_ldap" rel="Chapter" href="Neturl_ldap.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="Netmappings" rel="Chapter" href="Netmappings.html">
<link title="Netaux" rel="Chapter" href="Netaux.html">
<link title="Nethttp" rel="Chapter" href="Nethttp.html">
<link title="Netpagebuffer" rel="Chapter" href="Netpagebuffer.html">
<link title="Netfs" rel="Chapter" href="Netfs.html">
<link title="Netglob" rel="Chapter" href="Netglob.html">
<link title="Netauth" rel="Chapter" href="Netauth.html">
<link title="Netsockaddr" rel="Chapter" href="Netsockaddr.html">
<link title="Netnumber" rel="Chapter" href="Netnumber.html">
<link title="Netxdr_mstring" rel="Chapter" href="Netxdr_mstring.html">
<link title="Netxdr" rel="Chapter" href="Netxdr.html">
<link title="Netcompression" rel="Chapter" href="Netcompression.html">
<link title="Netunichar" rel="Chapter" href="Netunichar.html">
<link title="Netasn1" rel="Chapter" href="Netasn1.html">
<link title="Netasn1_encode" rel="Chapter" href="Netasn1_encode.html">
<link title="Netoid" rel="Chapter" href="Netoid.html">
<link title="Netstring_tstring" rel="Chapter" href="Netstring_tstring.html">
<link title="Netdn" rel="Chapter" href="Netdn.html">
<link title="Netx509" rel="Chapter" href="Netx509.html">
<link title="Netascii_armor" rel="Chapter" href="Netascii_armor.html">
<link title="Nettls_support" rel="Chapter" href="Nettls_support.html">
<link title="Netmech_scram" rel="Chapter" href="Netmech_scram.html">
<link title="Netmech_scram_gssapi" rel="Chapter" href="Netmech_scram_gssapi.html">
<link title="Netmech_scram_sasl" rel="Chapter" href="Netmech_scram_sasl.html">
<link title="Netmech_scram_http" rel="Chapter" href="Netmech_scram_http.html">
<link title="Netgssapi_support" rel="Chapter" href="Netgssapi_support.html">
<link title="Netgssapi_auth" rel="Chapter" href="Netgssapi_auth.html">
<link title="Netchannels_crypto" rel="Chapter" href="Netchannels_crypto.html">
<link title="Netx509_pubkey" rel="Chapter" href="Netx509_pubkey.html">
<link title="Netx509_pubkey_crypto" rel="Chapter" href="Netx509_pubkey_crypto.html">
<link title="Netsaslprep" rel="Chapter" href="Netsaslprep.html">
<link title="Netmech_plain_sasl" rel="Chapter" href="Netmech_plain_sasl.html">
<link title="Netmech_crammd5_sasl" rel="Chapter" href="Netmech_crammd5_sasl.html">
<link title="Netmech_digest_sasl" rel="Chapter" href="Netmech_digest_sasl.html">
<link title="Netmech_digest_http" rel="Chapter" href="Netmech_digest_http.html">
<link title="Netmech_krb5_sasl" rel="Chapter" href="Netmech_krb5_sasl.html">
<link title="Netmech_gs2_sasl" rel="Chapter" href="Netmech_gs2_sasl.html">
<link title="Netmech_spnego_http" rel="Chapter" href="Netmech_spnego_http.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="Netsys_posix" rel="Chapter" href="Netsys_posix.html">
<link title="Netsys_pollset" rel="Chapter" href="Netsys_pollset.html">
<link title="Netlog" rel="Chapter" href="Netlog.html">
<link title="Netexn" rel="Chapter" href="Netexn.html">
<link title="Netsys_win32" rel="Chapter" href="Netsys_win32.html">
<link title="Netsys_pollset_posix" rel="Chapter" href="Netsys_pollset_posix.html">
<link title="Netsys_pollset_win32" rel="Chapter" href="Netsys_pollset_win32.html">
<link title="Netsys_pollset_generic" rel="Chapter" href="Netsys_pollset_generic.html">
<link title="Netsys_signal" rel="Chapter" href="Netsys_signal.html">
<link title="Netsys_oothr" rel="Chapter" href="Netsys_oothr.html">
<link title="Netsys_xdr" rel="Chapter" href="Netsys_xdr.html">
<link title="Netsys_rng" rel="Chapter" href="Netsys_rng.html">
<link title="Netsys_crypto_types" rel="Chapter" href="Netsys_crypto_types.html">
<link title="Netsys_types" rel="Chapter" href="Netsys_types.html">
<link title="Netsys_mem" rel="Chapter" href="Netsys_mem.html">
<link title="Netsys_tmp" rel="Chapter" href="Netsys_tmp.html">
<link title="Netsys_sem" rel="Chapter" href="Netsys_sem.html">
<link title="Netsys_pmanage" rel="Chapter" href="Netsys_pmanage.html">
<link title="Netsys_crypto" rel="Chapter" href="Netsys_crypto.html">
<link title="Netsys_tls" rel="Chapter" href="Netsys_tls.html">
<link title="Netsys_ciphers" rel="Chapter" href="Netsys_ciphers.html">
<link title="Netsys_digests" rel="Chapter" href="Netsys_digests.html">
<link title="Netsys_crypto_modes" rel="Chapter" href="Netsys_crypto_modes.html">
<link title="Netsys_gssapi" rel="Chapter" href="Netsys_gssapi.html">
<link title="Netsys_sasl_types" rel="Chapter" href="Netsys_sasl_types.html">
<link title="Netsys_sasl" rel="Chapter" href="Netsys_sasl.html">
<link title="Netsys_polypipe" rel="Chapter" href="Netsys_polypipe.html">
<link title="Netsys_polysocket" rel="Chapter" href="Netsys_polysocket.html">
<link title="Netsys_global" rel="Chapter" href="Netsys_global.html">
<link title="Nettls_gnutls_bindings" rel="Chapter" href="Nettls_gnutls_bindings.html">
<link title="Nettls_nettle_bindings" rel="Chapter" href="Nettls_nettle_bindings.html">
<link title="Nettls_gnutls" rel="Chapter" href="Nettls_gnutls.html">
<link title="Netunidata" rel="Chapter" href="Netunidata.html">
<link title="Netgzip" rel="Chapter" href="Netgzip.html">
<link title="Rpc_auth_local" rel="Chapter" href="Rpc_auth_local.html">
<link title="Rpc_xti_client" rel="Chapter" href="Rpc_xti_client.html">
<link title="Rpc" rel="Chapter" href="Rpc.html">
<link title="Rpc_program" rel="Chapter" href="Rpc_program.html">
<link title="Rpc_util" rel="Chapter" href="Rpc_util.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_auth_gssapi" rel="Chapter" href="Rpc_auth_gssapi.html">
<link title="Rpc_proxy" rel="Chapter" href="Rpc_proxy.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_intro_gss" rel="Chapter" href="Rpc_intro_gss.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_fs" rel="Chapter" href="Shell_fs.html">
<link title="Shell_intro" rel="Chapter" href="Shell_intro.html">
<link title="Intro" rel="Chapter" href="Intro.html">
<link title="Platform" rel="Chapter" href="Platform.html">
<link title="Foreword" rel="Chapter" href="Foreword.html">
<link title="Ipv6" rel="Chapter" href="Ipv6.html">
<link title="Regexp" rel="Chapter" href="Regexp.html">
<link title="Tls" rel="Chapter" href="Tls.html">
<link title="Crypto" rel="Chapter" href="Crypto.html">
<link title="Authentication" rel="Chapter" href="Authentication.html">
<link title="Credentials" rel="Chapter" href="Credentials.html">
<link title="Gssapi" rel="Chapter" href="Gssapi.html">
<link title="Ocamlnet4" rel="Chapter" href="Ocamlnet4.html">
<link title="Get" rel="Chapter" href="Get.html"><title>Ocamlnet 4 Reference Manual : Rpc_portmapper</title>
</head>
<body>
<div class="navbar"><a class="pre" href="Rpc_portmapper_clnt.html" title="Rpc_portmapper_clnt">Previous</a>
&nbsp;<a class="up" href="index.html" title="Index">Up</a>
&nbsp;<a class="post" href="Rpc_server.html" title="Rpc_server">Next</a>
</div>
<h1>Module <a href="type_Rpc_portmapper.html">Rpc_portmapper</a></h1>

<pre><span id="MODULERpc_portmapper"><span class="keyword">module</span> Rpc_portmapper</span>: <code class="code">sig</code> <a href="Rpc_portmapper.html">..</a> <code class="code">end</code></pre><div class="info module top">
<div class="info-desc">
<p>Portmapper/RPCBIND interface</p>
</div>
</div>
<hr width="100%">
<p>RPC programs are usually registered with a daemon that is known under
    two names: Portmapper or RPCBIND. The name Portmapper normally refers
    to version 2 of the registry, whereas RPCBIND refers to versions 3 and
    4. Version 2 is limited to IPv4 whereas the newer versions also support
    IPv6 and Unix Domain sockets.</p>

<p>Recent Linux and BSD distributions deploy a version of RPCBIND that
    is a port of Sun's original RPCBIND software. Older distributions only
    support Portmapper.</p>

<p>Most of the following calls invoke Portmapper procedures only. The
    calls with the suffix <code class="code">_rpcbind</code> first invoked RPCBIND procedures,
    and if there is no support for RPCBIND, these calls fall back to
    Portmapper (and limited functionality).</p>

<pre><span id="TYPEt"><span class="keyword">type</span> <code class="type"></code>t</span> </pre>
<div class="info ">
<div class="info-desc">
<p>represents a client for the Portmapper/RPCBIND daemon</p>
</div>
</div>


<pre><span id="VALcreate"><span class="keyword">val</span> create</span> : <code class="type">?esys:<a href="Unixqueue.event_system-c.html">Unixqueue.event_system</a> -> <a href="Rpc_client.html#TYPEconnector">Rpc_client.connector</a> -> <a href="Rpc_portmapper.html#TYPEt">t</a></code></pre><div class="info ">
<div class="info-desc">
<p>Connects to the Portmapper/RPCBIND service listening on the given
      connector.</p>
</div>
</div>

<pre><span id="VALcreate_inet"><span class="keyword">val</span> create_inet</span> : <code class="type">?esys:<a href="Unixqueue.event_system-c.html">Unixqueue.event_system</a> -> string -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> <a href="Rpc_portmapper.html#TYPEt">t</a></code></pre><div class="info ">
<div class="info-desc">
<p>Connects to a Portmapper/RPCBIND 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.</p>
</div>
</div>

<pre><span id="VALcreate_local"><span class="keyword">val</span> create_local</span> : <code class="type">?esys:<a href="Unixqueue.event_system-c.html">Unixqueue.event_system</a> -> unit -> <a href="Rpc_portmapper.html#TYPEt">t</a></code></pre><div class="info ">
<div class="info-desc">
<p>Connects to the local Portmapper/RPCBIND daemon. Such a client must
      only be used for setting and unsetting entries.</p>
</div>
</div>

<pre><span id="VALshut_down"><span class="keyword">val</span> shut_down</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>Shuts down the connection</p>
</div>
</div>

<pre><span id="VALnull"><span class="keyword">val</span> null</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> unit</code></pre><div class="info ">
<div class="info-desc">
<p>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.</p>
</div>
</div>

<pre><span id="VALnull'async"><span class="keyword">val</span> null'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> ((unit -> unit) -> unit) -> unit</code></pre>
<pre><span id="VALset"><span class="keyword">val</span> set</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> bool</code></pre><div class="info ">
<div class="info-desc">
<p><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.</p>
</div>
</div>

<pre><span id="VALset'async"><span class="keyword">val</span> set'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> ((unit -> bool) -> unit) -> unit</code></pre>
<pre><span id="VALset_rpcbind"><span class="keyword">val</span> set_rpcbind</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> string -> string -> string -> bool</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">set_rpcbind pm_client program_nr version_nr netid uaddr owner</code>:</p>

<p>Sets an RPCBIND mapping, and if RPCBIND is not supported, the
      corresponding Portmapper mapping so far possible (when netid is
      "tcp" or "udp").</p>

<p>The triple <code class="code">(program_nr, version_nr, netid)</code> is mapped to
      <code class="code">(uaddr,owner)</code>. Netids can be:</p>
<ul>
<li>"tcp" (only IPv4)</li>
<li>"tcp6"</li>
<li>"udp" (only IPv4)</li>
<li>"udp6"</li>
<li>"local"</li>
</ul>
<p>For uaddr see RFC 5665 and <a href="Rpc.html#VALcreate_inet_uaddr"><code class="code">Rpc.create_inet_uaddr</code></a>, 
      <a href="Rpc.html#VALparse_inet_uaddr"><code class="code">Rpc.parse_inet_uaddr</code></a>.</p>
</div>
</div>

<pre><span id="VALset_rpcbind'async"><span class="keyword">val</span> set_rpcbind'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       string -> string -> string -> ((unit -> bool) -> unit) -> unit</code></pre>
<pre><span id="VALunset"><span class="keyword">val</span> unset</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> bool</code></pre><div class="info ">
<div class="info-desc">
<p><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.</p>
</div>
</div>

<pre><span id="VALunset'async"><span class="keyword">val</span> unset'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int -> ((unit -> bool) -> unit) -> unit</code></pre>
<pre><span id="VALunset_rpcbind"><span class="keyword">val</span> unset_rpcbind</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> string -> string -> string -> bool</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">set_rpcbind pm_client program_nr version_nr netid uaddr owner</code>.</p>

<p>Unsets an RPCBIND mapping, and if RPCBIND is not supported, the
      corresponding Portmapper mapping so far possible (when netid is
      "tcp" or "udp").</p>

<p>Note that it is unspecified what to do with <code class="code">uaddr</code> and <code class="code">owner</code>.
      These arguments appear in the formal specification but are not
      described in the RFC. It is probably best to pass empty strings.</p>

<p>You can call this function with <code class="code">netid=""</code> to remove all entries
      for the pair <code class="code">(program_nr,version_nr)</code>.</p>
</div>
</div>

<pre><span id="VALunset_rpcbind'async"><span class="keyword">val</span> unset_rpcbind'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       string -> string -> string -> ((unit -> bool) -> unit) -> unit</code></pre>
<pre><span id="VALgetport"><span class="keyword">val</span> getport</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> int</code></pre><div class="info ">
<div class="info-desc">
<p><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.</p>
</div>
</div>

<pre><span id="VALgetport'async"><span class="keyword">val</span> getport'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> -> ((unit -> int) -> unit) -> unit</code></pre>
<pre><span id="VALgetaddr_rpcbind"><span class="keyword">val</span> getaddr_rpcbind</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -> string -> string -> string option</code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">getaddr_rpcbind pm_client program_nr version_nr netid caller_uaddr</code>:</p>

<p>Gets the uaddr for the triple <code class="code">(program_nr,version_nr,netid)</code> (or ""
      if not found). You can pass <code class="code">netid=""</code> to get the uaddr for the
      netid of the transport on which RPCBIND is invoked (e.g. if you call
      RPCBIND on TCP/IPv6 you get the uaddr for netid="tcp6").</p>

<p>Experimentation shows that the RPCBIND daemon on Linux does not
      correctly respond when netid is not the empty string. Because of this
      it is recommended to set netid always to the empty string.</p>

<p>You can pass the uaddr of the caller as <code class="code">caller_uaddr</code> to get a more
      precise response. Normally set <code class="code">caller_uaddr=""</code>, though.</p>

<p>Falls back to Portmapper version 2 if RPCBIND isn't available. In
      this case you cannot retrieve IPv6 entries even if you contact
      Portmapper via IPv6.</p>
</div>
</div>

<pre><span id="VALgetaddr_rpcbind'async"><span class="keyword">val</span> getaddr_rpcbind'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> -><br>       string -> string -> ((unit -> string option) -> unit) -> unit</code></pre>
<pre><span id="VALdump"><span class="keyword">val</span> dump</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       (<a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> * <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> * <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> * int) list</code></pre><div class="info ">
<div class="info-desc">
<p>returns the list of known mappings. The quadrupels have the meaning
 <code class="code">(program_nr, version_nr, protocol, port)</code></p>
</div>
</div>

<pre><span id="VALdump'async"><span class="keyword">val</span> dump'async</span> : <code class="type"><a href="Rpc_portmapper.html#TYPEt">t</a> -><br>       ((unit -> (<a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> * <a href="Netnumber.html#TYPEuint4">Netnumber.uint4</a> * <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a> * int) list) -><br>        unit) -><br>       unit</code></pre>
<pre><span id="VALport_of_program"><span class="keyword">val</span> port_of_program</span> : <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 ">
<div class="info-desc">
<p><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.</p>
</div>
</div>

<pre><span id="VALsockaddr_of_program_rpcbind"><span class="keyword">val</span> sockaddr_of_program_rpcbind</span> : <code class="type"><a href="Rpc_program.html#TYPEt">Rpc_program.t</a> -> string -> string -> Unix.sockaddr * <a href="Rpc.html#TYPEprotocol">Rpc.protocol</a></code></pre><div class="info ">
<div class="info-desc">
<p><code class="code">sockaddr_of_program program host netid</code>: gets the sockaddr
      for this program.</p>

<p>Falls back to portmapper version 2 if rpcbind isn't available.</p>
</div>
</div>
</body></html>