OSDN Git Service

LDP: Update POT and ja.po to LDP v3.79
[linuxjm/LDP_man-pages.git] / po4a / rpc / po / rpc.pot
1 # SOME DESCRIPTIVE TITLE
2 # Copyright (C) YEAR Free Software Foundation, Inc.
3 # This file is distributed under the same license as the PACKAGE package.
4 # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
5 #
6 #, fuzzy
7 msgid ""
8 msgstr ""
9 "Project-Id-Version: PACKAGE VERSION\n"
10 "POT-Creation-Date: 2015-02-04 23:33+0900\n"
11 "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
12 "Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
13 "Language-Team: LANGUAGE <LL@li.org>\n"
14 "Language: \n"
15 "MIME-Version: 1.0\n"
16 "Content-Type: text/plain; charset=UTF-8\n"
17 "Content-Transfer-Encoding: 8bit\n"
18
19 #. type: TH
20 #: build/C/man3/getrpcent.3:8
21 #, no-wrap
22 msgid "GETRPCENT"
23 msgstr ""
24
25 #. type: TH
26 #: build/C/man3/getrpcent.3:8 build/C/man3/getrpcport.3:8 build/C/man3/key_setsecret.3:9 build/C/man3/rtime.3:12
27 #, no-wrap
28 msgid "2014-05-28"
29 msgstr ""
30
31 #. type: TH
32 #: build/C/man3/getrpcent.3:8 build/C/man3/getrpcent_r.3:26 build/C/man3/getrpcport.3:8 build/C/man3/key_setsecret.3:9 build/C/man3/rpc.3:11 build/C/man5/rpc.5:8 build/C/man3/rtime.3:12 build/C/man3/xdr.3:11
33 #, no-wrap
34 msgid "Linux Programmer's Manual"
35 msgstr ""
36
37 #. type: SH
38 #: build/C/man3/getrpcent.3:9 build/C/man3/getrpcent_r.3:27 build/C/man3/getrpcport.3:9 build/C/man3/key_setsecret.3:10 build/C/man3/rpc.3:12 build/C/man5/rpc.5:9 build/C/man3/rtime.3:13 build/C/man3/xdr.3:12
39 #, no-wrap
40 msgid "NAME"
41 msgstr ""
42
43 #. type: Plain text
44 #: build/C/man3/getrpcent.3:12
45 msgid ""
46 "getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent - get RPC "
47 "entry"
48 msgstr ""
49
50 #. type: SH
51 #: build/C/man3/getrpcent.3:12 build/C/man3/getrpcent_r.3:30 build/C/man3/getrpcport.3:11 build/C/man3/key_setsecret.3:13 build/C/man5/rpc.5:11 build/C/man3/rtime.3:15
52 #, no-wrap
53 msgid "SYNOPSIS"
54 msgstr ""
55
56 #. type: Plain text
57 #: build/C/man3/getrpcent.3:15 build/C/man3/getrpcent_r.3:33
58 #, no-wrap
59 msgid "B<#include E<lt>netdb.hE<gt>>\n"
60 msgstr ""
61
62 #. type: Plain text
63 #: build/C/man3/getrpcent.3:17
64 #, no-wrap
65 msgid "B<struct rpcent *getrpcent(void);>\n"
66 msgstr ""
67
68 #. type: Plain text
69 #: build/C/man3/getrpcent.3:19
70 #, no-wrap
71 msgid "B<struct rpcent *getrpcbyname(const char *>I<name>B<);>\n"
72 msgstr ""
73
74 #. type: Plain text
75 #: build/C/man3/getrpcent.3:21
76 #, no-wrap
77 msgid "B<struct rpcent *getrpcbynumber(int >I<number>B<);>\n"
78 msgstr ""
79
80 #. type: Plain text
81 #: build/C/man3/getrpcent.3:23
82 #, no-wrap
83 msgid "B<void setrpcent(int >I<stayopen>B<);>\n"
84 msgstr ""
85
86 #. type: Plain text
87 #: build/C/man3/getrpcent.3:25
88 #, no-wrap
89 msgid "B<void endrpcent(void);>\n"
90 msgstr ""
91
92 #. type: SH
93 #: build/C/man3/getrpcent.3:26 build/C/man3/getrpcent_r.3:59 build/C/man3/getrpcport.3:18 build/C/man3/key_setsecret.3:27 build/C/man5/rpc.5:13 build/C/man3/rtime.3:22
94 #, no-wrap
95 msgid "DESCRIPTION"
96 msgstr ""
97
98 #. type: Plain text
99 #: build/C/man3/getrpcent.3:36
100 msgid ""
101 "The B<getrpcent>(), B<getrpcbyname>(), and B<getrpcbynumber>()  functions "
102 "each return a pointer to an object with the following structure containing "
103 "the broken-out fields of an entry in the RPC program number data base."
104 msgstr ""
105
106 #. type: Plain text
107 #: build/C/man3/getrpcent.3:44
108 #, no-wrap
109 msgid ""
110 "struct rpcent {\n"
111 "    char  *r_name;     /* name of server for this RPC program */\n"
112 "    char **r_aliases;  /* alias list */\n"
113 "    long   r_number;   /* RPC program number */\n"
114 "};\n"
115 msgstr ""
116
117 #. type: Plain text
118 #: build/C/man3/getrpcent.3:48
119 msgid "The members of this structure are:"
120 msgstr ""
121
122 #. type: TP
123 #: build/C/man3/getrpcent.3:49
124 #, no-wrap
125 msgid "I<r_name>"
126 msgstr ""
127
128 #. type: Plain text
129 #: build/C/man3/getrpcent.3:52
130 msgid "The name of the server for this RPC program."
131 msgstr ""
132
133 #. type: TP
134 #: build/C/man3/getrpcent.3:52
135 #, no-wrap
136 msgid "I<r_aliases>"
137 msgstr ""
138
139 #. type: Plain text
140 #: build/C/man3/getrpcent.3:55
141 msgid "A NULL-terminated list of alternate names for the RPC program."
142 msgstr ""
143
144 #. type: TP
145 #: build/C/man3/getrpcent.3:55
146 #, no-wrap
147 msgid "I<r_number>"
148 msgstr ""
149
150 #. type: Plain text
151 #: build/C/man3/getrpcent.3:58
152 msgid "The RPC program number for this service."
153 msgstr ""
154
155 #. type: Plain text
156 #: build/C/man3/getrpcent.3:64
157 msgid ""
158 "The B<getrpcent>()  function reads the next entry from the database.  A "
159 "connection is opened to the database if necessary."
160 msgstr ""
161
162 #. type: Plain text
163 #: build/C/man3/getrpcent.3:76
164 msgid ""
165 "The B<setrpcent>()  function opens a connection to the database, and sets "
166 "the next entry to the first entry.  If I<stayopen> is nonzero, then the "
167 "connection to the database will not be closed between calls to one of the "
168 "B<getrpc*>()  functions."
169 msgstr ""
170
171 #. type: Plain text
172 #: build/C/man3/getrpcent.3:80
173 msgid "The B<endrpcent>()  function closes the connection to the database."
174 msgstr ""
175
176 #. type: Plain text
177 #: build/C/man3/getrpcent.3:88
178 msgid ""
179 "The B<getrpcbyname>()  and B<getrpcbynumber>()  functions sequentially "
180 "search from the beginning of the file until a matching RPC program name or "
181 "program number is found, or until end-of-file is encountered."
182 msgstr ""
183
184 #. type: SH
185 #: build/C/man3/getrpcent.3:88 build/C/man3/getrpcent_r.3:107 build/C/man3/key_setsecret.3:59 build/C/man3/rtime.3:36
186 #, no-wrap
187 msgid "RETURN VALUE"
188 msgstr ""
189
190 #. type: Plain text
191 #: build/C/man3/getrpcent.3:98
192 msgid ""
193 "On success, B<getrpcent>(), B<getrpcbyname>(), and B<getrpcbynumber>()  "
194 "return a pointer to a statically allocated I<rpcent> structure.  NULL is "
195 "returned on EOF or error."
196 msgstr ""
197
198 #. type: SH
199 #: build/C/man3/getrpcent.3:98 build/C/man5/rpc.5:76
200 #, no-wrap
201 msgid "FILES"
202 msgstr ""
203
204 #. type: TP
205 #: build/C/man3/getrpcent.3:99 build/C/man5/rpc.5:77
206 #, no-wrap
207 msgid "I</etc/rpc>"
208 msgstr ""
209
210 #. type: Plain text
211 #: build/C/man3/getrpcent.3:102
212 msgid "RPC program number database."
213 msgstr ""
214
215 #. type: SH
216 #: build/C/man3/getrpcent.3:102 build/C/man3/getrpcent_r.3:130 build/C/man3/getrpcport.3:38
217 #, no-wrap
218 msgid "CONFORMING TO"
219 msgstr ""
220
221 #. type: Plain text
222 #: build/C/man3/getrpcent.3:105 build/C/man3/getrpcport.3:41
223 msgid "Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems."
224 msgstr ""
225
226 #. type: SH
227 #: build/C/man3/getrpcent.3:105 build/C/man3/rtime.3:82
228 #, no-wrap
229 msgid "BUGS"
230 msgstr ""
231
232 #. type: Plain text
233 #: build/C/man3/getrpcent.3:110
234 msgid ""
235 "All information is contained in a static area so it must be copied if it is "
236 "to be saved."
237 msgstr ""
238
239 #. type: SH
240 #: build/C/man3/getrpcent.3:110 build/C/man3/getrpcent_r.3:134 build/C/man3/key_setsecret.3:68 build/C/man3/rpc.3:1103 build/C/man5/rpc.5:80 build/C/man3/rtime.3:133 build/C/man3/xdr.3:542
241 #, no-wrap
242 msgid "SEE ALSO"
243 msgstr ""
244
245 #. type: Plain text
246 #: build/C/man3/getrpcent.3:115
247 msgid "B<getrpcent_r>(3), B<rpc>(5), B<rpcinfo>(8), B<ypserv>(8)"
248 msgstr ""
249
250 #. type: SH
251 #: build/C/man3/getrpcent.3:115 build/C/man3/getrpcent_r.3:137 build/C/man3/getrpcport.3:41 build/C/man3/key_setsecret.3:70 build/C/man3/rpc.3:1121 build/C/man5/rpc.5:82 build/C/man3/rtime.3:138 build/C/man3/xdr.3:555
252 #, no-wrap
253 msgid "COLOPHON"
254 msgstr ""
255
256 #. type: Plain text
257 #: build/C/man3/getrpcent.3:123 build/C/man3/getrpcent_r.3:145 build/C/man3/getrpcport.3:49 build/C/man3/key_setsecret.3:78 build/C/man3/rpc.3:1129 build/C/man5/rpc.5:90 build/C/man3/rtime.3:146 build/C/man3/xdr.3:563
258 msgid ""
259 "This page is part of release 3.79 of the Linux I<man-pages> project.  A "
260 "description of the project, information about reporting bugs, and the latest "
261 "version of this page, can be found at "
262 "\\%http://www.kernel.org/doc/man-pages/."
263 msgstr ""
264
265 #. type: TH
266 #: build/C/man3/getrpcent_r.3:26
267 #, no-wrap
268 msgid "GETRPCENT_R"
269 msgstr ""
270
271 #. type: TH
272 #: build/C/man3/getrpcent_r.3:26
273 #, no-wrap
274 msgid "2010-09-10"
275 msgstr ""
276
277 #. type: TH
278 #: build/C/man3/getrpcent_r.3:26 build/C/man3/rtime.3:12
279 #, no-wrap
280 msgid "GNU"
281 msgstr ""
282
283 #. type: Plain text
284 #: build/C/man3/getrpcent_r.3:30
285 msgid "getrpcent_r, getrpcbyname_r, getrpcbynumber_r - get RPC entry (reentrant)"
286 msgstr ""
287
288 #. type: Plain text
289 #: build/C/man3/getrpcent_r.3:36
290 #, no-wrap
291 msgid ""
292 "B<int getrpcent_r(struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
293 "B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
294 msgstr ""
295
296 #. type: Plain text
297 #: build/C/man3/getrpcent_r.3:40
298 #, no-wrap
299 msgid ""
300 "B<int getrpcbyname_r(const char *>I<name>B<,>\n"
301 "B<                struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
302 "B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
303 msgstr ""
304
305 #. type: Plain text
306 #: build/C/man3/getrpcent_r.3:44
307 #, no-wrap
308 msgid ""
309 "B<int getrpcbynumber_r(int >I<number>B<,>\n"
310 "B<                struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
311 "B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
312 msgstr ""
313
314 #. type: Plain text
315 #: build/C/man3/getrpcent_r.3:49
316 msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
317 msgstr ""
318
319 #. type: Plain text
320 #: build/C/man3/getrpcent_r.3:55
321 msgid "B<getrpcent_r>(), B<getrpcbyname_r>(), B<getrpcbynumber_r>():"
322 msgstr ""
323
324 #. type: Plain text
325 #: build/C/man3/getrpcent_r.3:57
326 msgid "_BSD_SOURCE || _SVID_SOURCE"
327 msgstr ""
328
329 #. type: Plain text
330 #: build/C/man3/getrpcent_r.3:76
331 msgid ""
332 "The B<getrpcent_r>(), B<getrpcbyname_r>(), and B<getrpcbynumber_r>()  "
333 "functions are the reentrant equivalents of, respectively, B<getrpcent>(3), "
334 "B<getrpcbyname>(3), and B<getrpcbynumber>(3).  They differ in the way that "
335 "the I<rpcent> structure is returned, and in the function calling signature "
336 "and return value.  This manual page describes just the differences from the "
337 "nonreentrant functions."
338 msgstr ""
339
340 #. type: Plain text
341 #: build/C/man3/getrpcent_r.3:82
342 msgid ""
343 "Instead of returning a pointer to a statically allocated I<rpcent> structure "
344 "as the function result, these functions copy the structure into the location "
345 "pointed to by I<result_buf>."
346 msgstr ""
347
348 #.  I can find no information on the required/recommended buffer size;
349 #.  the nonreentrant functions use a 1024 byte buffer -- mtk.
350 #. type: Plain text
351 #: build/C/man3/getrpcent_r.3:99
352 msgid ""
353 "The I<buf> array is used to store the string fields pointed to by the "
354 "returned I<rpcent> structure.  (The nonreentrant functions allocate these "
355 "strings in static storage.)  The size of this array is specified in "
356 "I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, "
357 "and the caller must try again with a larger buffer.  (A buffer of length "
358 "1024 bytes should be sufficient for most applications.)"
359 msgstr ""
360
361 #. type: Plain text
362 #: build/C/man3/getrpcent_r.3:107
363 msgid ""
364 "If the function call successfully obtains an RPC record, then I<*result> is "
365 "set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
366 msgstr ""
367
368 #. type: Plain text
369 #: build/C/man3/getrpcent_r.3:110
370 msgid ""
371 "On success, these functions return 0.  On error, they return one of the "
372 "positive error numbers listed in ERRORS."
373 msgstr ""
374
375 #. type: Plain text
376 #: build/C/man3/getrpcent_r.3:118
377 msgid ""
378 "On error, record not found (B<getrpcbyname_r>(), B<getrpcbynumber_r>()), or "
379 "end of input (B<getrpcent_r>())  I<result> is set to NULL."
380 msgstr ""
381
382 #. type: SH
383 #: build/C/man3/getrpcent_r.3:118 build/C/man3/rtime.3:42
384 #, no-wrap
385 msgid "ERRORS"
386 msgstr ""
387
388 #. type: TP
389 #: build/C/man3/getrpcent_r.3:119
390 #, no-wrap
391 msgid "B<ENOENT>"
392 msgstr ""
393
394 #. type: Plain text
395 #: build/C/man3/getrpcent_r.3:123
396 msgid "(B<getrpcent_r>())  No more records in database."
397 msgstr ""
398
399 #. type: TP
400 #: build/C/man3/getrpcent_r.3:123
401 #, no-wrap
402 msgid "B<ERANGE>"
403 msgstr ""
404
405 #. type: Plain text
406 #: build/C/man3/getrpcent_r.3:130
407 msgid ""
408 "I<buf> is too small.  Try again with a larger buffer (and increased "
409 "I<buflen>)."
410 msgstr ""
411
412 #. type: Plain text
413 #: build/C/man3/getrpcent_r.3:134
414 msgid ""
415 "These functions are GNU extensions.  Functions with similar names exist on "
416 "some other systems, though typically with different calling signatures."
417 msgstr ""
418
419 #. type: Plain text
420 #: build/C/man3/getrpcent_r.3:137
421 msgid "B<getrpcent>(3), B<rpc>(5)"
422 msgstr ""
423
424 #. type: TH
425 #: build/C/man3/getrpcport.3:8
426 #, no-wrap
427 msgid "GETRPCPORT"
428 msgstr ""
429
430 #. type: Plain text
431 #: build/C/man3/getrpcport.3:11
432 msgid "getrpcport - get RPC port number"
433 msgstr ""
434
435 #. type: Plain text
436 #: build/C/man3/getrpcport.3:14
437 #, no-wrap
438 msgid "B<#include E<lt>rpc/rpc.hE<gt>>\n"
439 msgstr ""
440
441 #. type: Plain text
442 #: build/C/man3/getrpcport.3:17
443 #, no-wrap
444 msgid ""
445 "B<int getrpcport(const char *>I<host>B<, unsigned long >I<prognum>B<, "
446 "unsigned long >I<versnum>B<, unsigned >I<proto>B<);>\n"
447 msgstr ""
448
449 #. type: Plain text
450 #: build/C/man3/getrpcport.3:38
451 msgid ""
452 "B<getrpcport>()  returns the port number for version I<versnum> of the RPC "
453 "program I<prognum> running on I<host> and using protocol I<proto>.  It "
454 "returns 0 if it cannot contact the portmapper, or if I<prognum> is not "
455 "registered.  If I<prognum> is registered but not with version I<versnum>, it "
456 "will still return a port number (for some version of the program)  "
457 "indicating that the program is indeed registered.  The version mismatch will "
458 "be detected upon the first call to the service."
459 msgstr ""
460
461 #. type: TH
462 #: build/C/man3/key_setsecret.3:9
463 #, no-wrap
464 msgid "KEY_SETSECRET"
465 msgstr ""
466
467 #. type: Plain text
468 #: build/C/man3/key_setsecret.3:13
469 msgid ""
470 "key_decryptsession, key_encryptsession, key_setsecret, key_gendes, "
471 "key_secretkey_is_set - interfaces to rpc keyserver daemon"
472 msgstr ""
473
474 #. type: Plain text
475 #: build/C/man3/key_setsecret.3:15
476 msgid "B<#include E<lt>rpc/rpc.hE<gt>>"
477 msgstr ""
478
479 #. type: Plain text
480 #: build/C/man3/key_setsecret.3:18
481 msgid ""
482 "B<int key_decryptsession(char *>I<remotename>B<,> B<des_block "
483 "*>I<deskey>B<);>"
484 msgstr ""
485
486 #. type: Plain text
487 #: build/C/man3/key_setsecret.3:21
488 msgid ""
489 "B<int key_encryptsession(char *>I<remotename>B<,> B<des_block "
490 "*>I<deskey>B<);>"
491 msgstr ""
492
493 #. type: Plain text
494 #: build/C/man3/key_setsecret.3:23
495 msgid "B<int key_gendes(des_block *>I<deskey>B<);>"
496 msgstr ""
497
498 #. type: Plain text
499 #: build/C/man3/key_setsecret.3:25
500 msgid "B<int key_setsecret(char *>I<key>B<);>"
501 msgstr ""
502
503 #. type: Plain text
504 #: build/C/man3/key_setsecret.3:27
505 msgid "B<int key_secretkey_is_set(void);>"
506 msgstr ""
507
508 #. type: Plain text
509 #: build/C/man3/key_setsecret.3:32
510 msgid ""
511 "The functions here are used within the RPC's secure authentication mechanism "
512 "(AUTH_DES).  There should be no need for user programs to use this "
513 "functions."
514 msgstr ""
515
516 #. type: Plain text
517 #: build/C/man3/key_setsecret.3:39
518 msgid ""
519 "The function B<key_decryptsession>()  uses the (remote) server netname and "
520 "takes the DES key for decrypting.  It uses the public key of the server and "
521 "the secret key associated with the effective UID of the calling process."
522 msgstr ""
523
524 #. type: Plain text
525 #: build/C/man3/key_setsecret.3:46
526 msgid ""
527 "The function B<key_encryptsession>()  is the inverse of "
528 "B<key_decryptsession>().  It encrypts the DES keys with the public key of "
529 "the server and the secret key associated with the effective UID of the "
530 "calling process."
531 msgstr ""
532
533 #. type: Plain text
534 #: build/C/man3/key_setsecret.3:50
535 msgid ""
536 "The function B<key_gendes>()  is used to ask the keyserver for a secure "
537 "conversation key."
538 msgstr ""
539
540 #. type: Plain text
541 #: build/C/man3/key_setsecret.3:54
542 msgid ""
543 "The function B<key_setsecret>()  is used to set the key for the effective "
544 "UID of the calling process."
545 msgstr ""
546
547 #. type: Plain text
548 #: build/C/man3/key_setsecret.3:59
549 msgid ""
550 "The function B<key_secretkey_is_set>()  can be used to determine whether a "
551 "key has been set for the effective UID of the calling process."
552 msgstr ""
553
554 #. type: Plain text
555 #: build/C/man3/key_setsecret.3:61
556 msgid "These functions return 1 on success and 0 on failure."
557 msgstr ""
558
559 #. type: SH
560 #: build/C/man3/key_setsecret.3:61 build/C/man3/rtime.3:62
561 #, no-wrap
562 msgid "NOTES"
563 msgstr ""
564
565 #. type: Plain text
566 #: build/C/man3/key_setsecret.3:66
567 msgid ""
568 "Note that we talk about two types of encryption here.  One is asymmetric "
569 "using a public and secret key.  The other is symmetric, the 64-bit DES."
570 msgstr ""
571
572 #. type: Plain text
573 #: build/C/man3/key_setsecret.3:68
574 msgid "These routines were part of the Linux/Doors-project, abandoned by now."
575 msgstr ""
576
577 #. type: Plain text
578 #: build/C/man3/key_setsecret.3:70
579 msgid "B<crypt>(3)"
580 msgstr ""
581
582 #. type: TH
583 #: build/C/man3/rpc.3:11 build/C/man5/rpc.5:8
584 #, no-wrap
585 msgid "RPC"
586 msgstr ""
587
588 #. type: TH
589 #: build/C/man3/rpc.3:11
590 #, no-wrap
591 msgid "2013-09-26"
592 msgstr ""
593
594 #. type: Plain text
595 #: build/C/man3/rpc.3:14
596 msgid "rpc - library routines for remote procedure calls"
597 msgstr ""
598
599 #. type: SH
600 #: build/C/man3/rpc.3:14 build/C/man3/xdr.3:14
601 #, no-wrap
602 msgid "SYNOPSIS AND DESCRIPTION"
603 msgstr ""
604
605 #.  .LP
606 #.  We don't have an rpc_secure.3 page at the moment -- MTK, 19 Sep 05
607 #.  Routines that are used for Secure RPC (DES authentication) are described in
608 #.  .BR rpc_secure (3).
609 #.  Secure RPC can be used only if DES encryption is available.
610 #. type: Plain text
611 #: build/C/man3/rpc.3:26
612 msgid ""
613 "These routines allow C programs to make procedure calls on other machines "
614 "across the network.  First, the client calls a procedure to send a data "
615 "packet to the server.  Upon receipt of the packet, the server calls a "
616 "dispatch routine to perform the requested service, and then sends back a "
617 "reply.  Finally, the procedure call returns to the client."
618 msgstr ""
619
620 #. type: Plain text
621 #: build/C/man3/rpc.3:29
622 msgid ""
623 "To take use of these routines, include the header file "
624 "I<E<lt>rpc/rpc.hE<gt>>."
625 msgstr ""
626
627 #. type: Plain text
628 #: build/C/man3/rpc.3:31
629 msgid "The prototypes below make use of the following types:"
630 msgstr ""
631
632 #. type: Plain text
633 #: build/C/man3/rpc.3:35 build/C/man3/xdr.3:28
634 #, no-wrap
635 msgid "B<typedef int >I<bool_t>B<;>\n"
636 msgstr ""
637
638 #. type: Plain text
639 #: build/C/man3/rpc.3:37
640 #, no-wrap
641 msgid "B<typedef bool_t (*>I<xdrproc_t>B<) (XDR *, void *, ...);>\n"
642 msgstr ""
643
644 #. type: Plain text
645 #: build/C/man3/rpc.3:40
646 #, no-wrap
647 msgid ""
648 "B<typedef bool_t (*>I<resultproc_t>B<) (caddr_t >I<resp>B<,>\n"
649 "B<                                struct sockaddr_in *>I<raddr>B<);>\n"
650 msgstr ""
651
652 #. type: Plain text
653 #: build/C/man3/rpc.3:50
654 msgid ""
655 "See the header files for the declarations of the I<AUTH>, I<CLIENT>, "
656 "I<SVCXPRT>, and I<XDR> types."
657 msgstr ""
658
659 #. type: Plain text
660 #: build/C/man3/rpc.3:53
661 #, no-wrap
662 msgid "B<void auth_destroy(AUTH *>I<auth>B<);>\n"
663 msgstr ""
664
665 #. type: Plain text
666 #: build/C/man3/rpc.3:62
667 msgid ""
668 "A macro that destroys the authentication information associated with "
669 "I<auth>.  Destruction usually involves deallocation of private data "
670 "structures.  The use of I<auth> is undefined after calling "
671 "B<auth_destroy>()."
672 msgstr ""
673
674 #. type: Plain text
675 #: build/C/man3/rpc.3:65
676 #, no-wrap
677 msgid "B<AUTH *authnone_create(void);>\n"
678 msgstr ""
679
680 #. type: Plain text
681 #: build/C/man3/rpc.3:71
682 msgid ""
683 "Create and return an RPC authentication handle that passes nonusable "
684 "authentication information with each remote procedure call.  This is the "
685 "default authentication used by RPC."
686 msgstr ""
687
688 #. type: Plain text
689 #: build/C/man3/rpc.3:75
690 #, no-wrap
691 msgid ""
692 "B<AUTH *authunix_create(char *>I<host>B<, int >I<uid>B<, int >I<gid>B<,>\n"
693 "B<                      int >I<len>B<, int *>I<aup_gids>B<);>\n"
694 msgstr ""
695
696 #. type: Plain text
697 #: build/C/man3/rpc.3:91
698 msgid ""
699 "Create and return an RPC authentication handle that contains authentication "
700 "information.  The parameter I<host> is the name of the machine on which the "
701 "information was created; I<uid> is the user's user ID; I<gid> is the user's "
702 "current group ID; I<len> and I<aup_gids> refer to a counted array of groups "
703 "to which the user belongs.  It is easy to impersonate a user."
704 msgstr ""
705
706 #. type: Plain text
707 #: build/C/man3/rpc.3:94
708 #, no-wrap
709 msgid "B<AUTH *authunix_create_default(void);>\n"
710 msgstr ""
711
712 #. type: Plain text
713 #: build/C/man3/rpc.3:99
714 msgid "Calls B<authunix_create>()  with the appropriate parameters."
715 msgstr ""
716
717 #. type: Plain text
718 #: build/C/man3/rpc.3:105
719 #, no-wrap
720 msgid ""
721 "B<int callrpc(char *>I<host>B<, unsigned long >I<prognum>B<,>\n"
722 "B<            unsigned long >I<versnum>B<, unsigned long >I<procnum>B<,>\n"
723 "B<            xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
724 "B<            xdrproc_t >I<outproc>B<, char *>I<out>B<);>\n"
725 msgstr ""
726
727 #. type: Plain text
728 #: build/C/man3/rpc.3:129
729 msgid ""
730 "Call the remote procedure associated with I<prognum>, I<versnum>, and "
731 "I<procnum> on the machine, I<host>.  The parameter I<in> is the address of "
732 "the procedure's argument(s), and I<out> is the address of where to place the "
733 "result(s); I<inproc> is used to encode the procedure's parameters, and "
734 "I<outproc> is used to decode the procedure's results.  This routine returns "
735 "zero if it succeeds, or the value of B<enum clnt_stat> cast to an integer if "
736 "it fails.  The routine B<clnt_perrno>()  is handy for translating failure "
737 "statuses into messages."
738 msgstr ""
739
740 #. type: Plain text
741 #: build/C/man3/rpc.3:135
742 msgid ""
743 "Warning: calling remote procedures with this routine uses UDP/IP as a "
744 "transport; see B<clntudp_create>()  for restrictions.  You do not have "
745 "control of timeouts or authentication using this routine."
746 msgstr ""
747
748 #. type: Plain text
749 #: build/C/man3/rpc.3:142
750 #, no-wrap
751 msgid ""
752 "B<enum clnt_stat clnt_broadcast(unsigned long >I<prognum>B<,>\n"
753 "B<                     unsigned long >I<versnum>B<, unsigned long "
754 ">I<procnum>B<,>\n"
755 "B<                     xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
756 "B<                     xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
757 "B<                     resultproc_t >I<eachresult>B<);>\n"
758 msgstr ""
759
760 #. type: Plain text
761 #: build/C/man3/rpc.3:151
762 msgid ""
763 "Like B<callrpc>(), except the call message is broadcast to all locally "
764 "connected broadcast nets.  Each time it receives a response, this routine "
765 "calls B<eachresult>(), whose form is:"
766 msgstr ""
767
768 #. type: Plain text
769 #: build/C/man3/rpc.3:155
770 #, no-wrap
771 msgid "B<eachresult(char *>I<out>B<, struct sockaddr_in *>I<addr>B<);>\n"
772 msgstr ""
773
774 #. type: Plain text
775 #: build/C/man3/rpc.3:172
776 msgid ""
777 "where I<out> is the same as I<out> passed to B<clnt_broadcast>(), except "
778 "that the remote procedure's output is decoded there; I<addr> points to the "
779 "address of the machine that sent the results.  If B<eachresult>()  returns "
780 "zero, B<clnt_broadcast>()  waits for more replies; otherwise it returns with "
781 "appropriate status."
782 msgstr ""
783
784 #. type: Plain text
785 #: build/C/man3/rpc.3:176
786 msgid ""
787 "Warning: broadcast sockets are limited in size to the maximum transfer unit "
788 "of the data link.  For ethernet, this value is 1500 bytes."
789 msgstr ""
790
791 #. type: Plain text
792 #: build/C/man3/rpc.3:182
793 #, no-wrap
794 msgid ""
795 "B<enum clnt_stat clnt_call(CLIENT *>I<clnt>B<, unsigned long "
796 ">I<procnum>B<,>\n"
797 "B<                    xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
798 "B<                    xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
799 "B<                    struct timeval >I<tout>B<);>\n"
800 msgstr ""
801
802 #. type: Plain text
803 #: build/C/man3/rpc.3:201
804 msgid ""
805 "A macro that calls the remote procedure I<procnum> associated with the "
806 "client handle, I<clnt>, which is obtained with an RPC client creation "
807 "routine such as B<clnt_create>().  The parameter I<in> is the address of the "
808 "procedure's argument(s), and I<out> is the address of where to place the "
809 "result(s); I<inproc> is used to encode the procedure's parameters, and "
810 "I<outproc> is used to decode the procedure's results; I<tout> is the time "
811 "allowed for results to come back."
812 msgstr ""
813
814 #. type: Plain text
815 #: build/C/man3/rpc.3:204
816 #, no-wrap
817 msgid "B<clnt_destroy(CLIENT *>I<clnt>B<);>\n"
818 msgstr ""
819
820 #. type: Plain text
821 #: build/C/man3/rpc.3:217
822 msgid ""
823 "A macro that destroys the client's RPC handle.  Destruction usually involves "
824 "deallocation of private data structures, including I<clnt> itself.  Use of "
825 "I<clnt> is undefined after calling B<clnt_destroy>().  If the RPC library "
826 "opened the associated socket, it will close it also.  Otherwise, the socket "
827 "remains open."
828 msgstr ""
829
830 #. type: Plain text
831 #: build/C/man3/rpc.3:221
832 #, no-wrap
833 msgid ""
834 "B<CLIENT *clnt_create(char *>I<host>B<, unsigned long >I<prog>B<,>\n"
835 "B<                    unsigned long >I<vers>B<, char *>I<proto>B<);>\n"
836 msgstr ""
837
838 #. type: Plain text
839 #: build/C/man3/rpc.3:232
840 msgid ""
841 "Generic client creation routine.  I<host> identifies the name of the remote "
842 "host where the server is located.  I<proto> indicates which kind of "
843 "transport protocol to use.  The currently supported values for this field "
844 "are \\(lqudp\\(rq and \\(lqtcp\\(rq.  Default timeouts are set, but can be "
845 "modified using B<clnt_control>()."
846 msgstr ""
847
848 #. type: Plain text
849 #: build/C/man3/rpc.3:237
850 msgid ""
851 "Warning: Using UDP has its shortcomings.  Since UDP-based RPC messages can "
852 "hold only up to 8 Kbytes of encoded data, this transport cannot be used for "
853 "procedures that take large arguments or return huge results."
854 msgstr ""
855
856 #. type: Plain text
857 #: build/C/man3/rpc.3:240
858 #, no-wrap
859 msgid "B<bool_t clnt_control(CLIENT *>I<cl>B<, int >I<req>B<, char *>I<info>B<);>\n"
860 msgstr ""
861
862 #. type: Plain text
863 #: build/C/man3/rpc.3:251
864 msgid ""
865 "A macro used to change or retrieve various information about a client "
866 "object.  I<req> indicates the type of operation, and I<info> is a pointer to "
867 "the information.  For both UDP and TCP, the supported values of I<req> and "
868 "their argument types and what they do are:"
869 msgstr ""
870
871 #. type: Plain text
872 #: build/C/man3/rpc.3:256
873 #, no-wrap
874 msgid ""
875 "B<CLSET_TIMEOUT>  I<struct timeval> // set total timeout\n"
876 "B<CLGET_TIMEOUT>  I<struct timeval> // get total timeout\n"
877 msgstr ""
878
879 #. type: Plain text
880 #: build/C/man3/rpc.3:264
881 msgid ""
882 "Note: if you set the timeout using B<clnt_control>(), the timeout parameter "
883 "passed to B<clnt_call>()  will be ignored in all future calls."
884 msgstr ""
885
886 #. type: Plain text
887 #: build/C/man3/rpc.3:268
888 #, no-wrap
889 msgid "B<CLGET_SERVER_ADDR>  I<struct sockaddr_in > // get server's address\n"
890 msgstr ""
891
892 #. type: Plain text
893 #: build/C/man3/rpc.3:272
894 msgid "The following operations are valid for UDP only:"
895 msgstr ""
896
897 #. type: Plain text
898 #: build/C/man3/rpc.3:277
899 #, no-wrap
900 msgid ""
901 "B<CLSET_RETRY_TIMEOUT>  I<struct timeval> // set the retry timeout\n"
902 "B<CLGET_RETRY_TIMEOUT>  I<struct timeval> // get the retry timeout\n"
903 msgstr ""
904
905 #. type: Plain text
906 #: build/C/man3/rpc.3:283
907 msgid ""
908 "The retry timeout is the time that \"UDP RPC\" waits for the server to reply "
909 "before retransmitting the request."
910 msgstr ""
911
912 #. type: Plain text
913 #: build/C/man3/rpc.3:286
914 #, no-wrap
915 msgid ""
916 "B<clnt_freeres(CLIENT * >I<clnt>B<, xdrproc_t >I<outproc>B<, char "
917 "*>I<out>B<);>\n"
918 msgstr ""
919
920 #. type: Plain text
921 #: build/C/man3/rpc.3:297
922 msgid ""
923 "A macro that frees any data allocated by the RPC/XDR system when it decoded "
924 "the results of an RPC call.  The parameter I<out> is the address of the "
925 "results, and I<outproc> is the XDR routine describing the results.  This "
926 "routine returns one if the results were successfully freed, and zero "
927 "otherwise."
928 msgstr ""
929
930 #. type: Plain text
931 #: build/C/man3/rpc.3:300
932 #, no-wrap
933 msgid "B<void clnt_geterr(CLIENT *>I<clnt>B<, struct rpc_err *>I<errp>B<);>\n"
934 msgstr ""
935
936 #. type: Plain text
937 #: build/C/man3/rpc.3:305
938 msgid ""
939 "A macro that copies the error structure out of the client handle to the "
940 "structure at address I<errp>."
941 msgstr ""
942
943 #. type: Plain text
944 #: build/C/man3/rpc.3:308
945 #, no-wrap
946 msgid "B<void clnt_pcreateerror(char *>I<s>B<);>\n"
947 msgstr ""
948
949 #. type: Plain text
950 #: build/C/man3/rpc.3:322
951 msgid ""
952 "Print a message to standard error indicating why a client RPC handle could "
953 "not be created.  The message is prepended with string I<s> and a colon.  "
954 "Used when a B<clnt_create>(), B<clntraw_create>(), B<clnttcp_create>(), or "
955 "B<clntudp_create>()  call fails."
956 msgstr ""
957
958 #. type: Plain text
959 #: build/C/man3/rpc.3:325
960 #, no-wrap
961 msgid "B<void clnt_perrno(enum clnt_stat >I<stat>B<);>\n"
962 msgstr ""
963
964 #. type: Plain text
965 #: build/C/man3/rpc.3:332
966 msgid ""
967 "Print a message to standard error corresponding to the condition indicated "
968 "by I<stat>.  Used after B<callrpc>()."
969 msgstr ""
970
971 #. type: Plain text
972 #: build/C/man3/rpc.3:335
973 #, no-wrap
974 msgid "B<clnt_perror(CLIENT *>I<clnt>B<, char *>I<s>B<);>\n"
975 msgstr ""
976
977 #. type: Plain text
978 #: build/C/man3/rpc.3:345
979 msgid ""
980 "Print a message to standard error indicating why an RPC call failed; I<clnt> "
981 "is the handle used to do the call.  The message is prepended with string "
982 "I<s> and a colon.  Used after B<clnt_call>()."
983 msgstr ""
984
985 #. type: Plain text
986 #: build/C/man3/rpc.3:348
987 #, no-wrap
988 msgid "B<char *clnt_spcreateerror(char *>I<s>B<);>\n"
989 msgstr ""
990
991 #. type: Plain text
992 #: build/C/man3/rpc.3:353
993 msgid ""
994 "Like B<clnt_pcreateerror>(), except that it returns a string instead of "
995 "printing to the standard error."
996 msgstr ""
997
998 #. type: Plain text
999 #: build/C/man3/rpc.3:355 build/C/man3/rpc.3:395
1000 msgid "Bugs: returns pointer to static data that is overwritten on each call."
1001 msgstr ""
1002
1003 #. type: Plain text
1004 #: build/C/man3/rpc.3:358
1005 #, no-wrap
1006 msgid "B<char *clnt_sperrno(enum clnt_stat >I<stat>B<);>\n"
1007 msgstr ""
1008
1009 #. type: Plain text
1010 #: build/C/man3/rpc.3:365
1011 msgid ""
1012 "Take the same arguments as B<clnt_perrno>(), but instead of sending a "
1013 "message to the standard error indicating why an RPC call failed, return a "
1014 "pointer to a string which contains the message.  The string ends with a "
1015 "NEWLINE."
1016 msgstr ""
1017
1018 #. type: Plain text
1019 #: build/C/man3/rpc.3:383
1020 msgid ""
1021 "B<clnt_sperrno>()  is used instead of B<clnt_perrno>()  if the program does "
1022 "not have a standard error (as a program running as a server quite likely "
1023 "does not), or if the programmer does not want the message to be output with "
1024 "B<printf>(3), or if a message format different than that supported by "
1025 "B<clnt_perrno>()  is to be used.  Note: unlike B<clnt_sperror>()  and "
1026 "B<clnt_spcreaterror>(), B<clnt_sperrno>()  returns pointer to static data, "
1027 "but the result will not get overwritten on each call."
1028 msgstr ""
1029
1030 #. type: Plain text
1031 #: build/C/man3/rpc.3:386
1032 #, no-wrap
1033 msgid "B<char *clnt_sperror(CLIENT *>I<rpch>B<, char *>I<s>B<);>\n"
1034 msgstr ""
1035
1036 #. type: Plain text
1037 #: build/C/man3/rpc.3:393
1038 msgid ""
1039 "Like B<clnt_perror>(), except that (like B<clnt_sperrno>())  it returns a "
1040 "string instead of printing to standard error."
1041 msgstr ""
1042
1043 #. type: Plain text
1044 #: build/C/man3/rpc.3:399
1045 #, no-wrap
1046 msgid ""
1047 "B<CLIENT *clntraw_create(unsigned long >I<prognum>B<, unsigned long "
1048 ">I<versnum>B<);>\n"
1049 msgstr ""
1050
1051 #. type: Plain text
1052 #: build/C/man3/rpc.3:412
1053 msgid ""
1054 "This routine creates a toy RPC client for the remote program I<prognum>, "
1055 "version I<versnum>.  The transport used to pass messages to the service is "
1056 "actually a buffer within the process's address space, so the corresponding "
1057 "RPC server should live in the same address space; see B<svcraw_create>().  "
1058 "This allows simulation of RPC and acquisition of RPC overheads, such as "
1059 "round trip times, without any kernel interference.  This routine returns "
1060 "NULL if it fails."
1061 msgstr ""
1062
1063 #. type: Plain text
1064 #: build/C/man3/rpc.3:418
1065 #, no-wrap
1066 msgid ""
1067 "B<CLIENT *clnttcp_create(struct sockaddr_in *>I<addr>B<,>\n"
1068 "B<                unsigned long >I<prognum>B<, unsigned long "
1069 ">I<versnum>B<,>\n"
1070 "B<                int *>I<sockp>B<, unsigned int >I<sendsz>B<, unsigned int "
1071 ">I<recvsz>B<);>\n"
1072 msgstr ""
1073
1074 #. The following inline font conversion is necessary for the hyphen indicator
1075 #. type: Plain text
1076 #: build/C/man3/rpc.3:448
1077 msgid ""
1078 "This routine creates an RPC client for the remote program I<prognum>, "
1079 "version I<versnum>; the client uses TCP/IP as a transport.  The remote "
1080 "program is located at Internet address I<*addr>.  If I<addr-E<gt>sin_port> "
1081 "is zero, then it is set to the actual port that the remote program is "
1082 "listening on (the remote B<portmap> service is consulted for this "
1083 "information).  The parameter I<sockp> is a socket; if it is B<RPC_ANYSOCK>, "
1084 "then this routine opens a new one and sets I<sockp>.  Since TCP-based RPC "
1085 "uses buffered I/O, the user may specify the size of the send and receive "
1086 "buffers with the parameters I<sendsz> and I<recvsz>; values of zero choose "
1087 "suitable defaults.  This routine returns NULL if it fails."
1088 msgstr ""
1089
1090 #. type: Plain text
1091 #: build/C/man3/rpc.3:453
1092 #, no-wrap
1093 msgid ""
1094 "B<CLIENT *clntudp_create(struct sockaddr_in *>I<addr>B<,>\n"
1095 "B<                unsigned long >I<prognum>B<, unsigned long "
1096 ">I<versnum>B<,>\n"
1097 "B<                struct timeval >I<wait>B<, int *>I<sockp>B<);>\n"
1098 msgstr ""
1099
1100 #. type: Plain text
1101 #: build/C/man3/rpc.3:479
1102 msgid ""
1103 "This routine creates an RPC client for the remote program I<prognum>, "
1104 "version I<versnum>; the client uses use UDP/IP as a transport.  The remote "
1105 "program is located at Internet address I<addr>.  If I<addr-E<gt>sin_port> is "
1106 "zero, then it is set to actual port that the remote program is listening on "
1107 "(the remote B<portmap> service is consulted for this information).  The "
1108 "parameter I<sockp> is a socket; if it is B<RPC_ANYSOCK>, then this routine "
1109 "opens a new one and sets I<sockp>.  The UDP transport resends the call "
1110 "message in intervals of I<wait> time until a response is received or until "
1111 "the call times out.  The total time for the call to time out is specified by "
1112 "B<clnt_call>()."
1113 msgstr ""
1114
1115 #. type: Plain text
1116 #: build/C/man3/rpc.3:483
1117 msgid ""
1118 "Warning: since UDP-based RPC messages can hold only up to 8 Kbytes of "
1119 "encoded data, this transport cannot be used for procedures that take large "
1120 "arguments or return huge results."
1121 msgstr ""
1122
1123 #. type: Plain text
1124 #: build/C/man3/rpc.3:489
1125 #, no-wrap
1126 msgid ""
1127 "B<CLIENT *clntudp_bufcreate(struct sockaddr_in *>I<addr>B<,>\n"
1128 "B<            unsigned long >I<prognum>B<, unsigned long >I<versnum>B<,>\n"
1129 "B<            struct timeval >I<wait>B<, int *>I<sockp>B<,>\n"
1130 "B<            unsigned int >I<sendsize>B<, unsigned int >I<recosize>B<);>\n"
1131 msgstr ""
1132
1133 #. type: Plain text
1134 #: build/C/man3/rpc.3:515
1135 msgid ""
1136 "This routine creates an RPC client for the remote program I<prognum>, on "
1137 "I<versnum>; the client uses use UDP/IP as a transport.  The remote program "
1138 "is located at Internet address I<addr>.  If I<addr-E<gt>sin_port> is zero, "
1139 "then it is set to actual port that the remote program is listening on (the "
1140 "remote B<portmap> service is consulted for this information).  The parameter "
1141 "I<sockp> is a socket; if it is B<RPC_ANYSOCK>, then this routine opens a new "
1142 "one and sets I<sockp>.  The UDP transport resends the call message in "
1143 "intervals of I<wait> time until a response is received or until the call "
1144 "times out.  The total time for the call to time out is specified by "
1145 "B<clnt_call>()."
1146 msgstr ""
1147
1148 #. type: Plain text
1149 #: build/C/man3/rpc.3:518 build/C/man3/rpc.3:995
1150 msgid ""
1151 "This allows the user to specify the maximum packet size for sending and "
1152 "receiving UDP-based RPC messages."
1153 msgstr ""
1154
1155 #. type: Plain text
1156 #: build/C/man3/rpc.3:521
1157 #, no-wrap
1158 msgid "B<void get_myaddress(struct sockaddr_in *>I<addr>B<);>\n"
1159 msgstr ""
1160
1161 #. type: Plain text
1162 #: build/C/man3/rpc.3:529
1163 msgid ""
1164 "Stuff the machine's IP address into I<*addr>, without consulting the library "
1165 "routines that deal with I</etc/hosts>.  The port number is always set to "
1166 "B<htons(PMAPPORT)>."
1167 msgstr ""
1168
1169 #. type: Plain text
1170 #: build/C/man3/rpc.3:532
1171 #, no-wrap
1172 msgid "B<struct pmaplist *pmap_getmaps(struct sockaddr_in *>I<addr>B<);>\n"
1173 msgstr ""
1174
1175 #. type: Plain text
1176 #: build/C/man3/rpc.3:543
1177 msgid ""
1178 "A user interface to the B<portmap> service, which returns a list of the "
1179 "current RPC program-to-port mappings on the host located at IP address "
1180 "I<*addr>.  This routine can return NULL.  The command I<rpcinfo\\ -p> uses "
1181 "this routine."
1182 msgstr ""
1183
1184 #. type: Plain text
1185 #: build/C/man3/rpc.3:548
1186 #, no-wrap
1187 msgid ""
1188 "B<unsigned short pmap_getport(struct sockaddr_in *>I<addr>B<,>\n"
1189 "B<                    unsigned long >I<prognum>B<, unsigned long "
1190 ">I<versnum>B<,>\n"
1191 "B<                    unsigned int >I<protocol>B<);>\n"
1192 msgstr ""
1193
1194 #. type: Plain text
1195 #: build/C/man3/rpc.3:572
1196 msgid ""
1197 "A user interface to the B<portmap> service, which returns the port number on "
1198 "which waits a service that supports program number I<prognum>, version "
1199 "I<versnum>, and speaks the transport protocol associated with I<protocol>.  "
1200 "The value of I<protocol> is most likely B<IPPROTO_UDP> or B<IPPROTO_TCP>.  A "
1201 "return value of zero means that the mapping does not exist or that the RPC "
1202 "system failed to contact the remote B<portmap> service.  In the latter case, "
1203 "the global variable I<rpc_createerr> contains the RPC status."
1204 msgstr ""
1205
1206 #. type: Plain text
1207 #: build/C/man3/rpc.3:580
1208 #, no-wrap
1209 msgid ""
1210 "B<enum clnt_stat pmap_rmtcall(struct sockaddr_in *>I<addr>B<,>\n"
1211 "B<                    unsigned long >I<prognum>B<, unsigned long "
1212 ">I<versnum>B<,>\n"
1213 "B<                    unsigned long >I<procnum>B<,>\n"
1214 "B<                    xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
1215 "B<                    xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
1216 "B<                    struct timeval >I<tout>B<, unsigned long "
1217 "*>I<portp>B<);>\n"
1218 msgstr ""
1219
1220 #. type: Plain text
1221 #: build/C/man3/rpc.3:600
1222 msgid ""
1223 "A user interface to the B<portmap> service, which instructs B<portmap> on "
1224 "the host at IP address I<*addr> to make an RPC call on your behalf to a "
1225 "procedure on that host.  The parameter I<*portp> will be modified to the "
1226 "program's port number if the procedure succeeds.  The definitions of other "
1227 "parameters are discussed in B<callrpc>()  and B<clnt_call>().  This "
1228 "procedure should be used for a \\(lqping\\(rq and nothing else.  See also "
1229 "B<clnt_broadcast>()."
1230 msgstr ""
1231
1232 #. type: Plain text
1233 #: build/C/man3/rpc.3:604
1234 #, no-wrap
1235 msgid ""
1236 "B<bool_t pmap_set(unsigned long >I<prognum>B<, unsigned long "
1237 ">I<versnum>B<,>\n"
1238 "B<                unsigned int >I<protocol>B<, unsigned short "
1239 ">I<port>B<);>\n"
1240 msgstr ""
1241
1242 #. type: Plain text
1243 #: build/C/man3/rpc.3:624
1244 msgid ""
1245 "A user interface to the B<portmap> service, which establishes a mapping "
1246 "between the triple [I<prognum>,I<versnum>,I<protocol>] and I<port> on the "
1247 "machine's B<portmap> service.  The value of I<protocol> is most likely "
1248 "B<IPPROTO_UDP> or B<IPPROTO_TCP>.  This routine returns one if it succeeds, "
1249 "zero otherwise.  Automatically done by B<svc_register>()."
1250 msgstr ""
1251
1252 #. type: Plain text
1253 #: build/C/man3/rpc.3:627
1254 #, no-wrap
1255 msgid ""
1256 "B<bool_t pmap_unset(unsigned long >I<prognum>B<, unsigned long "
1257 ">I<versnum>B<);>\n"
1258 msgstr ""
1259
1260 #. type: Plain text
1261 #: build/C/man3/rpc.3:639
1262 msgid ""
1263 "A user interface to the B<portmap> service, which destroys all mapping "
1264 "between the triple [I<prognum>,I<versnum>,I<*>] and B<ports> on the "
1265 "machine's B<portmap> service.  This routine returns one if it succeeds, zero "
1266 "otherwise."
1267 msgstr ""
1268
1269 #. type: Plain text
1270 #: build/C/man3/rpc.3:644
1271 #, no-wrap
1272 msgid ""
1273 "B<int registerrpc(unsigned long >I<prognum>B<, unsigned long "
1274 ">I<versnum>B<,>\n"
1275 "B<                unsigned long >I<procnum>B<, char *(*>I<procname>B<)(char "
1276 "*),>\n"
1277 "B<                xdrproc_t >I<inproc>B<, xdrproc_t >I<outproc>B<);>\n"
1278 msgstr ""
1279
1280 #. type: Plain text
1281 #: build/C/man3/rpc.3:664
1282 msgid ""
1283 "Register procedure I<procname> with the RPC service package.  If a request "
1284 "arrives for program I<prognum>, version I<versnum>, and procedure "
1285 "I<procnum>, I<procname> is called with a pointer to its parameter(s); "
1286 "I<progname> should return a pointer to its static result(s); I<inproc> is "
1287 "used to decode the parameters while I<outproc> is used to encode the "
1288 "results.  This routine returns zero if the registration succeeded, -1 "
1289 "otherwise."
1290 msgstr ""
1291
1292 #. type: Plain text
1293 #: build/C/man3/rpc.3:669
1294 msgid ""
1295 "Warning: remote procedures registered in this form are accessed using the "
1296 "UDP/IP transport; see B<svcudp_create>()  for restrictions."
1297 msgstr ""
1298
1299 #. type: Plain text
1300 #: build/C/man3/rpc.3:672
1301 #, no-wrap
1302 msgid "B<struct rpc_createerr >I<rpc_createerr>B<;>\n"
1303 msgstr ""
1304
1305 #. type: Plain text
1306 #: build/C/man3/rpc.3:679
1307 msgid ""
1308 "A global variable whose value is set by any RPC client creation routine that "
1309 "does not succeed.  Use the routine B<clnt_pcreateerror>()  to print the "
1310 "reason why."
1311 msgstr ""
1312
1313 #. type: Plain text
1314 #: build/C/man3/rpc.3:682
1315 #, no-wrap
1316 msgid "B<void svc_destroy(SVCXPRT *>I<xprt>B<);>\n"
1317 msgstr ""
1318
1319 #. type: Plain text
1320 #: build/C/man3/rpc.3:693
1321 msgid ""
1322 "A macro that destroys the RPC service transport handle, I<xprt>.  "
1323 "Destruction usually involves deallocation of private data structures, "
1324 "including I<xprt> itself.  Use of I<xprt> is undefined after calling this "
1325 "routine."
1326 msgstr ""
1327
1328 #. type: Plain text
1329 #: build/C/man3/rpc.3:696
1330 #, no-wrap
1331 msgid "B<fd_set >I<svc_fdset>B<;>\n"
1332 msgstr ""
1333
1334 #. type: Plain text
1335 #: build/C/man3/rpc.3:710
1336 msgid ""
1337 "A global variable reflecting the RPC service side's read file descriptor bit "
1338 "mask; it is suitable as a parameter to the B<select>(2)  system call.  This "
1339 "is of interest only if a service implementor does their own asynchronous "
1340 "event processing, instead of calling B<svc_run>().  This variable is "
1341 "read-only (do not pass its address to B<select>(2)!), yet it may change "
1342 "after calls to B<svc_getreqset>()  or any creation routines."
1343 msgstr ""
1344
1345 #. type: Plain text
1346 #: build/C/man3/rpc.3:713
1347 #, no-wrap
1348 msgid "B<int >I<svc_fds>B<;>\n"
1349 msgstr ""
1350
1351 #. type: Plain text
1352 #: build/C/man3/rpc.3:720
1353 msgid ""
1354 "Similar to B<svc_fdset>, but limited to 32 descriptors.  This interface is "
1355 "obsoleted by B<svc_fdset>."
1356 msgstr ""
1357
1358 #. type: Plain text
1359 #: build/C/man3/rpc.3:723
1360 #, no-wrap
1361 msgid ""
1362 "B<svc_freeargs(SVCXPRT *>I<xprt>B<, xdrproc_t >I<inproc>B<, char "
1363 "*>I<in>B<);>\n"
1364 msgstr ""
1365
1366 #. type: Plain text
1367 #: build/C/man3/rpc.3:730
1368 msgid ""
1369 "A macro that frees any data allocated by the RPC/XDR system when it decoded "
1370 "the arguments to a service procedure using B<svc_getargs>().  This routine "
1371 "returns 1 if the results were successfully freed, and zero otherwise."
1372 msgstr ""
1373
1374 #. type: Plain text
1375 #: build/C/man3/rpc.3:733
1376 #, no-wrap
1377 msgid ""
1378 "B<svc_getargs(SVCXPRT *>I<xprt>B<, xdrproc_t >I<inproc>B<, char "
1379 "*>I<in>B<);>\n"
1380 msgstr ""
1381
1382 #. type: Plain text
1383 #: build/C/man3/rpc.3:744
1384 msgid ""
1385 "A macro that decodes the arguments of an RPC request associated with the RPC "
1386 "service transport handle, I<xprt>.  The parameter I<in> is the address where "
1387 "the arguments will be placed; I<inproc> is the XDR routine used to decode "
1388 "the arguments.  This routine returns one if decoding succeeds, and zero "
1389 "otherwise."
1390 msgstr ""
1391
1392 #. type: Plain text
1393 #: build/C/man3/rpc.3:747
1394 #, no-wrap
1395 msgid "B<struct sockaddr_in *svc_getcaller(SVCXPRT *>I<xprt>B<);>\n"
1396 msgstr ""
1397
1398 #. type: Plain text
1399 #: build/C/man3/rpc.3:752
1400 msgid ""
1401 "The approved way of getting the network address of the caller of a procedure "
1402 "associated with the RPC service transport handle, I<xprt>."
1403 msgstr ""
1404
1405 #. type: Plain text
1406 #: build/C/man3/rpc.3:755
1407 #, no-wrap
1408 msgid "B<void svc_getreqset(fd_set *>I<rdfds>B<);>\n"
1409 msgstr ""
1410
1411 #. type: Plain text
1412 #: build/C/man3/rpc.3:769
1413 msgid ""
1414 "This routine is of interest only if a service implementor does not call "
1415 "B<svc_run>(), but instead implements custom asynchronous event processing.  "
1416 "It is called when the B<select>(2)  system call has determined that an RPC "
1417 "request has arrived on some RPC socket(s); I<rdfds> is the resultant read "
1418 "file descriptor bit mask.  The routine returns when all sockets associated "
1419 "with the value of I<rdfds> have been serviced."
1420 msgstr ""
1421
1422 #. type: Plain text
1423 #: build/C/man3/rpc.3:772
1424 #, no-wrap
1425 msgid "B<void svc_getreq(int >I<rdfds>B<);>\n"
1426 msgstr ""
1427
1428 #. type: Plain text
1429 #: build/C/man3/rpc.3:779
1430 msgid ""
1431 "Similar to B<svc_getreqset>(), but limited to 32 descriptors.  This "
1432 "interface is obsoleted by B<svc_getreqset>()."
1433 msgstr ""
1434
1435 #. type: Plain text
1436 #: build/C/man3/rpc.3:785
1437 #, no-wrap
1438 msgid ""
1439 "B<bool_t svc_register(SVCXPRT *>I<xprt>B<, unsigned long >I<prognum>B<,>\n"
1440 "B<                    unsigned long >I<versnum>B<,>\n"
1441 "B<                    void (*>I<dispatch>B<)(svc_req *, SVCXPRT *),>\n"
1442 "B<                    unsigned long >I<protocol>B<);>\n"
1443 msgstr ""
1444
1445 #. type: Plain text
1446 #: build/C/man3/rpc.3:815
1447 msgid ""
1448 "Associates I<prognum> and I<versnum> with the service dispatch procedure, "
1449 "I<dispatch>.  If I<protocol> is zero, the service is not registered with the "
1450 "B<portmap> service.  If I<protocol> is nonzero, then a mapping of the triple "
1451 "[I<prognum>,I<versnum>,I<protocol>] to I<xprt-E<gt>xp_port> is established "
1452 "with the local B<portmap> service (generally I<protocol> is zero, "
1453 "B<IPPROTO_UDP> or B<IPPROTO_TCP>).  The procedure I<dispatch> has the "
1454 "following form:"
1455 msgstr ""
1456
1457 #. type: Plain text
1458 #: build/C/man3/rpc.3:819
1459 #, no-wrap
1460 msgid "dispatch(struct svc_req *request, SVCXPRT *xprt);\n"
1461 msgstr ""
1462
1463 #. type: Plain text
1464 #: build/C/man3/rpc.3:825
1465 msgid ""
1466 "The B<svc_register>()  routine returns one if it succeeds, and zero "
1467 "otherwise."
1468 msgstr ""
1469
1470 #. type: Plain text
1471 #: build/C/man3/rpc.3:828
1472 #, no-wrap
1473 msgid "B<void svc_run(void);>\n"
1474 msgstr ""
1475
1476 #. type: Plain text
1477 #: build/C/man3/rpc.3:838
1478 msgid ""
1479 "This routine never returns.  It waits for RPC requests to arrive, and calls "
1480 "the appropriate service procedure using B<svc_getreq>()  when one arrives.  "
1481 "This procedure is usually waiting for a B<select>(2)  system call to return."
1482 msgstr ""
1483
1484 #. type: Plain text
1485 #: build/C/man3/rpc.3:842
1486 #, no-wrap
1487 msgid ""
1488 "B<bool_t svc_sendreply(SVCXPRT *>I<xprt>B<, xdrproc_t >I<outproc>B<, char "
1489 "*>I<out>B<);>\n"
1490 msgstr ""
1491
1492 #. type: Plain text
1493 #: build/C/man3/rpc.3:854
1494 msgid ""
1495 "Called by an RPC service's dispatch routine to send the results of a remote "
1496 "procedure call.  The parameter I<xprt> is the request's associated transport "
1497 "handle; I<outproc> is the XDR routine which is used to encode the results; "
1498 "and I<out> is the address of the results.  This routine returns one if it "
1499 "succeeds, zero otherwise."
1500 msgstr ""
1501
1502 #. type: Plain text
1503 #: build/C/man3/rpc.3:857
1504 #, no-wrap
1505 msgid ""
1506 "B<void svc_unregister(unsigned long >I<prognum>B<, unsigned long "
1507 ">I<versnum>B<);>\n"
1508 msgstr ""
1509
1510 #. type: Plain text
1511 #: build/C/man3/rpc.3:864
1512 msgid ""
1513 "Remove all mapping of the double [I<prognum>,I<versnum>] to dispatch "
1514 "routines, and of the triple [I<prognum>,I<versnum>,I<*>] to port number."
1515 msgstr ""
1516
1517 #. type: Plain text
1518 #: build/C/man3/rpc.3:867
1519 #, no-wrap
1520 msgid "B<void svcerr_auth(SVCXPRT *>I<xprt>B<, enum auth_stat >I<why>B<);>\n"
1521 msgstr ""
1522
1523 #. type: Plain text
1524 #: build/C/man3/rpc.3:871
1525 msgid ""
1526 "Called by a service dispatch routine that refuses to perform a remote "
1527 "procedure call due to an authentication error."
1528 msgstr ""
1529
1530 #. type: Plain text
1531 #: build/C/man3/rpc.3:874
1532 #, no-wrap
1533 msgid "B<void svcerr_decode(SVCXPRT *>I<xprt>B<);>\n"
1534 msgstr ""
1535
1536 #. type: Plain text
1537 #: build/C/man3/rpc.3:880
1538 msgid ""
1539 "Called by a service dispatch routine that cannot successfully decode its "
1540 "parameters.  See also B<svc_getargs>()."
1541 msgstr ""
1542
1543 #. type: Plain text
1544 #: build/C/man3/rpc.3:883
1545 #, no-wrap
1546 msgid "B<void svcerr_noproc(SVCXPRT *>I<xprt>B<);>\n"
1547 msgstr ""
1548
1549 #. type: Plain text
1550 #: build/C/man3/rpc.3:887
1551 msgid ""
1552 "Called by a service dispatch routine that does not implement the procedure "
1553 "number that the caller requests."
1554 msgstr ""
1555
1556 #. type: Plain text
1557 #: build/C/man3/rpc.3:890
1558 #, no-wrap
1559 msgid "B<void svcerr_noprog(SVCXPRT *>I<xprt>B<);>\n"
1560 msgstr ""
1561
1562 #. type: Plain text
1563 #: build/C/man3/rpc.3:894
1564 msgid ""
1565 "Called when the desired program is not registered with the RPC package.  "
1566 "Service implementors usually do not need this routine."
1567 msgstr ""
1568
1569 #. type: Plain text
1570 #: build/C/man3/rpc.3:897
1571 #, no-wrap
1572 msgid "B<void svcerr_progvers(SVCXPRT *>I<xprt>B<);>\n"
1573 msgstr ""
1574
1575 #. type: Plain text
1576 #: build/C/man3/rpc.3:902
1577 msgid ""
1578 "Called when the desired version of a program is not registered with the RPC "
1579 "package.  Service implementors usually do not need this routine."
1580 msgstr ""
1581
1582 #. type: Plain text
1583 #: build/C/man3/rpc.3:905
1584 #, no-wrap
1585 msgid "B<void svcerr_systemerr(SVCXPRT *>I<xprt>B<);>\n"
1586 msgstr ""
1587
1588 #. type: Plain text
1589 #: build/C/man3/rpc.3:911
1590 msgid ""
1591 "Called by a service dispatch routine when it detects a system error not "
1592 "covered by any particular protocol.  For example, if a service can no longer "
1593 "allocate storage, it may call this routine."
1594 msgstr ""
1595
1596 #. type: Plain text
1597 #: build/C/man3/rpc.3:914
1598 #, no-wrap
1599 msgid "B<void svcerr_weakauth(SVCXPRT *>I<xprt>B<);>\n"
1600 msgstr ""
1601
1602 #. type: Plain text
1603 #: build/C/man3/rpc.3:920
1604 msgid ""
1605 "Called by a service dispatch routine that refuses to perform a remote "
1606 "procedure call due to insufficient authentication parameters.  The routine "
1607 "calls B<svcerr_auth(xprt, AUTH_TOOWEAK)>."
1608 msgstr ""
1609
1610 #. type: Plain text
1611 #: build/C/man3/rpc.3:924
1612 #, no-wrap
1613 msgid ""
1614 "B<SVCXPRT *svcfd_create(int >I<fd>B<, unsigned int >I<sendsize>B<,>\n"
1615 "B<                      unsigned int >I<recvsize>B<);>\n"
1616 msgstr ""
1617
1618 #. type: Plain text
1619 #: build/C/man3/rpc.3:934
1620 msgid ""
1621 "Create a service on top of any open descriptor.  Typically, this descriptor "
1622 "is a connected socket for a stream protocol such as TCP.  I<sendsize> and "
1623 "I<recvsize> indicate sizes for the send and receive buffers.  If they are "
1624 "zero, a reasonable default is chosen."
1625 msgstr ""
1626
1627 #. type: Plain text
1628 #: build/C/man3/rpc.3:937
1629 #, no-wrap
1630 msgid "B<SVCXPRT *svcraw_create(void);>\n"
1631 msgstr ""
1632
1633 #. type: Plain text
1634 #: build/C/man3/rpc.3:947
1635 msgid ""
1636 "This routine creates a toy RPC service transport, to which it returns a "
1637 "pointer.  The transport is really a buffer within the process's address "
1638 "space, so the corresponding RPC client should live in the same address "
1639 "space; see B<clntraw_create>().  This routine allows simulation of RPC and "
1640 "acquisition of RPC overheads (such as round trip times), without any kernel "
1641 "interference.  This routine returns NULL if it fails."
1642 msgstr ""
1643
1644 #. type: Plain text
1645 #: build/C/man3/rpc.3:951
1646 #, no-wrap
1647 msgid ""
1648 "B<SVCXPRT *svctcp_create(int >I<sock>B<, unsigned int "
1649 ">I<send_buf_size>B<,>\n"
1650 "B<                       unsigned int >I<recv_buf_size>B<);>\n"
1651 msgstr ""
1652
1653 #. type: Plain text
1654 #: build/C/man3/rpc.3:971
1655 msgid ""
1656 "This routine creates a TCP/IP-based RPC service transport, to which it "
1657 "returns a pointer.  The transport is associated with the socket I<sock>, "
1658 "which may be B<RPC_ANYSOCK>, in which case a new socket is created.  If the "
1659 "socket is not bound to a local TCP port, then this routine binds it to an "
1660 "arbitrary port.  Upon completion, I<xprt-E<gt>xp_sock> is the transport's "
1661 "socket descriptor, and I<xprt-E<gt>xp_port> is the transport's port number.  "
1662 "This routine returns NULL if it fails.  Since TCP-based RPC uses buffered "
1663 "I/O, users may specify the size of buffers; values of zero choose suitable "
1664 "defaults."
1665 msgstr ""
1666
1667 #. type: Plain text
1668 #: build/C/man3/rpc.3:975
1669 #, no-wrap
1670 msgid ""
1671 "B<SVCXPRT *svcudp_bufcreate(int >I<sock>B<, unsigned int >I<sendsize>B<,>\n"
1672 "B<                          unsigned int >I<recosize>B<);>\n"
1673 msgstr ""
1674
1675 #. type: Plain text
1676 #: build/C/man3/rpc.3:992
1677 msgid ""
1678 "This routine creates a UDP/IP-based RPC service transport, to which it "
1679 "returns a pointer.  The transport is associated with the socket I<sock>, "
1680 "which may be B<RPC_ANYSOCK>, in which case a new socket is created.  If the "
1681 "socket is not bound to a local UDP port, then this routine binds it to an "
1682 "arbitrary port.  Upon completion, I<xprt-E<gt>xp_sock> is the transport's "
1683 "socket descriptor, and I<xprt-E<gt>xp_port> is the transport's port number.  "
1684 "This routine returns NULL if it fails."
1685 msgstr ""
1686
1687 #. type: Plain text
1688 #: build/C/man3/rpc.3:998
1689 #, no-wrap
1690 msgid "B<SVCXPRT *svcudp_create(int >I<sock>B<);>\n"
1691 msgstr ""
1692
1693 #. type: Plain text
1694 #: build/C/man3/rpc.3:1004
1695 msgid ""
1696 "This call is equivalent to I<svcudp_bufcreate(sock,SZ,SZ)> for some default "
1697 "size I<SZ>."
1698 msgstr ""
1699
1700 #. type: Plain text
1701 #: build/C/man3/rpc.3:1007
1702 #, no-wrap
1703 msgid ""
1704 "B<bool_t xdr_accepted_reply(XDR *>I<xdrs>B<, struct accepted_reply "
1705 "*>I<ar>B<);>\n"
1706 msgstr ""
1707
1708 #. type: Plain text
1709 #: build/C/man3/rpc.3:1012
1710 msgid ""
1711 "Used for encoding RPC reply messages.  This routine is useful for users who "
1712 "wish to generate RPC-style messages without using the RPC package."
1713 msgstr ""
1714
1715 #. type: Plain text
1716 #: build/C/man3/rpc.3:1015
1717 #, no-wrap
1718 msgid ""
1719 "B<bool_t xdr_authunix_parms(XDR *>I<xdrs>B<, struct authunix_parms "
1720 "*>I<aupp>B<);>\n"
1721 msgstr ""
1722
1723 #. type: Plain text
1724 #: build/C/man3/rpc.3:1021
1725 msgid ""
1726 "Used for describing UNIX credentials.  This routine is useful for users who "
1727 "wish to generate these credentials without using the RPC authentication "
1728 "package."
1729 msgstr ""
1730
1731 #. type: Plain text
1732 #: build/C/man3/rpc.3:1024
1733 #, no-wrap
1734 msgid "B<void xdr_callhdr(XDR *>I<xdrs>B<, struct rpc_msg *>I<chdr>B<);>\n"
1735 msgstr ""
1736
1737 #. type: Plain text
1738 #: build/C/man3/rpc.3:1029
1739 msgid ""
1740 "Used for describing RPC call header messages.  This routine is useful for "
1741 "users who wish to generate RPC-style messages without using the RPC package."
1742 msgstr ""
1743
1744 #. type: Plain text
1745 #: build/C/man3/rpc.3:1032
1746 #, no-wrap
1747 msgid "B<bool_t xdr_callmsg(XDR *>I<xdrs>B<, struct rpc_msg *>I<cmsg>B<);>\n"
1748 msgstr ""
1749
1750 #. type: Plain text
1751 #: build/C/man3/rpc.3:1037
1752 msgid ""
1753 "Used for describing RPC call messages.  This routine is useful for users who "
1754 "wish to generate RPC-style messages without using the RPC package."
1755 msgstr ""
1756
1757 #. type: Plain text
1758 #: build/C/man3/rpc.3:1040
1759 #, no-wrap
1760 msgid "B<bool_t xdr_opaque_auth(XDR *>I<xdrs>B<, struct opaque_auth *>I<ap>B<);>\n"
1761 msgstr ""
1762
1763 #. type: Plain text
1764 #: build/C/man3/rpc.3:1045
1765 msgid ""
1766 "Used for describing RPC authentication information messages.  This routine "
1767 "is useful for users who wish to generate RPC-style messages without using "
1768 "the RPC package."
1769 msgstr ""
1770
1771 #. type: Plain text
1772 #: build/C/man3/rpc.3:1048
1773 #, no-wrap
1774 msgid "B<bool_t xdr_pmap(XDR *>I<xdrs>B<, struct pmap *>I<regs>B<);>\n"
1775 msgstr ""
1776
1777 #. type: Plain text
1778 #: build/C/man3/rpc.3:1057
1779 msgid ""
1780 "Used for describing parameters to various B<portmap> procedures, "
1781 "externally.  This routine is useful for users who wish to generate these "
1782 "parameters without using the B<pmap> interface."
1783 msgstr ""
1784
1785 #. type: Plain text
1786 #: build/C/man3/rpc.3:1060
1787 #, no-wrap
1788 msgid "B<bool_t xdr_pmaplist(XDR *>I<xdrs>B<, struct pmaplist **>I<rp>B<);>\n"
1789 msgstr ""
1790
1791 #. type: Plain text
1792 #: build/C/man3/rpc.3:1067
1793 msgid ""
1794 "Used for describing a list of port mappings, externally.  This routine is "
1795 "useful for users who wish to generate these parameters without using the "
1796 "B<pmap> interface."
1797 msgstr ""
1798
1799 #. type: Plain text
1800 #: build/C/man3/rpc.3:1070
1801 #, no-wrap
1802 msgid ""
1803 "B<bool_t xdr_rejected_reply(XDR *>I<xdrs>B<, struct rejected_reply "
1804 "*>I<rr>B<);>\n"
1805 msgstr ""
1806
1807 #. type: Plain text
1808 #: build/C/man3/rpc.3:1075
1809 msgid ""
1810 "Used for describing RPC reply messages.  This routine is useful for users "
1811 "who wish to generate RPC-style messages without using the RPC package."
1812 msgstr ""
1813
1814 #. type: Plain text
1815 #: build/C/man3/rpc.3:1078
1816 #, no-wrap
1817 msgid "B<bool_t xdr_replymsg(XDR *>I<xdrs>B<, struct rpc_msg *>I<rmsg>B<);>\n"
1818 msgstr ""
1819
1820 #. type: Plain text
1821 #: build/C/man3/rpc.3:1083
1822 msgid ""
1823 "Used for describing RPC reply messages.  This routine is useful for users "
1824 "who wish to generate RPC style messages without using the RPC package."
1825 msgstr ""
1826
1827 #. type: Plain text
1828 #: build/C/man3/rpc.3:1086
1829 #, no-wrap
1830 msgid "B<void xprt_register(SVCXPRT *>I<xprt>B<);>\n"
1831 msgstr ""
1832
1833 #. type: Plain text
1834 #: build/C/man3/rpc.3:1093
1835 msgid ""
1836 "After RPC service transport handles are created, they should register "
1837 "themselves with the RPC service package.  This routine modifies the global "
1838 "variable I<svc_fds>.  Service implementors usually do not need this routine."
1839 msgstr ""
1840
1841 #. type: Plain text
1842 #: build/C/man3/rpc.3:1096
1843 #, no-wrap
1844 msgid "B<void xprt_unregister(SVCXPRT *>I<xprt>B<);>\n"
1845 msgstr ""
1846
1847 #. type: Plain text
1848 #: build/C/man3/rpc.3:1103
1849 msgid ""
1850 "Before an RPC service transport handle is destroyed, it should unregister "
1851 "itself with the RPC service package.  This routine modifies the global "
1852 "variable I<svc_fds>.  Service implementors usually do not need this routine."
1853 msgstr ""
1854
1855 #.  We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
1856 #.  .BR rpc_secure (3),
1857 #. type: Plain text
1858 #: build/C/man3/rpc.3:1107
1859 msgid "B<xdr>(3)"
1860 msgstr ""
1861
1862 #. type: Plain text
1863 #: build/C/man3/rpc.3:1109 build/C/man3/xdr.3:546
1864 msgid "The following manuals:"
1865 msgstr ""
1866
1867 #. type: Plain text
1868 #: build/C/man3/rpc.3:1111
1869 msgid "Remote Procedure Calls: Protocol Specification"
1870 msgstr ""
1871
1872 #. type: Plain text
1873 #: build/C/man3/rpc.3:1113
1874 msgid "Remote Procedure Call Programming Guide"
1875 msgstr ""
1876
1877 #. type: Plain text
1878 #: build/C/man3/rpc.3:1115
1879 msgid "rpcgen Programming Guide"
1880 msgstr ""
1881
1882 #. type: Plain text
1883 #: build/C/man3/rpc.3:1121
1884 msgid ""
1885 "I<RPC: Remote Procedure Call Protocol Specification>, RFC\\ 1050, Sun "
1886 "Microsystems, Inc., USC-ISI."
1887 msgstr ""
1888
1889 #. type: TH
1890 #: build/C/man5/rpc.5:8
1891 #, no-wrap
1892 msgid "1985-09-26"
1893 msgstr ""
1894
1895 #. type: Plain text
1896 #: build/C/man5/rpc.5:11
1897 msgid "rpc - RPC program number data base"
1898 msgstr ""
1899
1900 #. type: Plain text
1901 #: build/C/man5/rpc.5:13
1902 msgid "B</etc/rpc>"
1903 msgstr ""
1904
1905 #. type: Plain text
1906 #: build/C/man5/rpc.5:19
1907 msgid ""
1908 "The I<rpc> file contains user readable names that can be used in place of "
1909 "RPC program numbers.  Each line has the following information:"
1910 msgstr ""
1911
1912 #. type: Plain text
1913 #: build/C/man5/rpc.5:21
1914 msgid "name of server for the RPC program"
1915 msgstr ""
1916
1917 #. type: Plain text
1918 #: build/C/man5/rpc.5:25
1919 msgid "RPC program number"
1920 msgstr ""
1921
1922 #. type: Plain text
1923 #: build/C/man5/rpc.5:29
1924 msgid "aliases"
1925 msgstr ""
1926
1927 #. type: Plain text
1928 #: build/C/man5/rpc.5:35
1929 msgid ""
1930 "Items are separated by any number of blanks and/or tab characters.  A "
1931 "\\(aq#\\(aq indicates the beginning of a comment; characters from the "
1932 "\\(aq#\\(aq to the end of the line are not interpreted by routines which "
1933 "search the file."
1934 msgstr ""
1935
1936 #. type: Plain text
1937 #: build/C/man5/rpc.5:38
1938 msgid ""
1939 "Here is an example of the I</etc/rpc> file from the Sun RPC Source "
1940 "distribution."
1941 msgstr ""
1942
1943 #. type: Plain text
1944 #: build/C/man5/rpc.5:73
1945 #, no-wrap
1946 msgid ""
1947 "CW<#\n"
1948 "# rpc 88/08/01 4.0 RPCSRC; from 1.12   88/02/07 SMI\n"
1949 "#\n"
1950 "portmapper      100000  portmap sunrpc\n"
1951 "rstatd          100001  rstat rstat_svc rup perfmeter\n"
1952 "rusersd         100002  rusers\n"
1953 "nfs             100003  nfsprog\n"
1954 "ypserv          100004  ypprog\n"
1955 "mountd          100005  mount showmount\n"
1956 "ypbind          100007\n"
1957 "walld           100008  rwall shutdown\n"
1958 "yppasswdd       100009  yppasswd\n"
1959 "etherstatd      100010  etherstat\n"
1960 "rquotad         100011  rquotaprog quota rquota\n"
1961 "sprayd          100012  spray\n"
1962 "3270_mapper     100013\n"
1963 "rje_mapper      100014\n"
1964 "selection_svc   100015  selnsvc\n"
1965 "database_svc    100016\n"
1966 "rexd            100017  rex\n"
1967 "alis            100018\n"
1968 "sched           100019\n"
1969 "llockmgr        100020\n"
1970 "nlockmgr        100021\n"
1971 "x25.inr         100022\n"
1972 "statmon         100023\n"
1973 "status          100024\n"
1974 "bootparam       100026\n"
1975 "ypupdated       100028  ypupdate\n"
1976 "keyserv         100029  keyserver\n"
1977 "tfsd            100037\n"
1978 "nsed            100038\n"
1979 "nsemntd         100039>\n"
1980 msgstr ""
1981
1982 #. type: Plain text
1983 #: build/C/man5/rpc.5:80
1984 msgid "RPC program number data base"
1985 msgstr ""
1986
1987 #. type: Plain text
1988 #: build/C/man5/rpc.5:82
1989 msgid "B<getrpcent>(3)"
1990 msgstr ""
1991
1992 #. type: TH
1993 #: build/C/man3/rtime.3:12
1994 #, no-wrap
1995 msgid "RTIME"
1996 msgstr ""
1997
1998 #. type: Plain text
1999 #: build/C/man3/rtime.3:15
2000 msgid "rtime - get time from a remote machine"
2001 msgstr ""
2002
2003 #. type: Plain text
2004 #: build/C/man3/rtime.3:18
2005 #, no-wrap
2006 msgid "B<#include E<lt>rpc/auth_des.hE<gt>>\n"
2007 msgstr ""
2008
2009 #. type: Plain text
2010 #: build/C/man3/rtime.3:21
2011 #, no-wrap
2012 msgid ""
2013 "B<int rtime(struct sockaddr_in *>I<addrp>B<, struct rpc_timeval "
2014 "*>I<timep>B<,>\n"
2015 "B<          struct rpc_timeval *>I<timeout>B<);>\n"
2016 msgstr ""
2017
2018 #. type: Plain text
2019 #: build/C/man3/rtime.3:25
2020 msgid ""
2021 "This function uses the Time Server Protocol as described in RFC\\ 868 to "
2022 "obtain the time from a remote machine."
2023 msgstr ""
2024
2025 #. type: Plain text
2026 #: build/C/man3/rtime.3:31
2027 msgid ""
2028 "The Time Server Protocol gives the time in seconds since 00:00:00 UTC, 1 Jan "
2029 "1900, and this function subtracts the appropriate constant in order to "
2030 "convert the result to seconds since the Epoch, 1970-01-01 00:00:00 +0000 "
2031 "(UTC)."
2032 msgstr ""
2033
2034 #. type: Plain text
2035 #: build/C/man3/rtime.3:36
2036 msgid ""
2037 "When I<timeout> is non-NULL, the udp/time socket (port 37) is used.  "
2038 "Otherwise, the tcp/time socket (port 37) is used."
2039 msgstr ""
2040
2041 #. type: Plain text
2042 #: build/C/man3/rtime.3:42
2043 msgid ""
2044 "On success, 0 is returned, and the obtained 32-bit time value is stored in "
2045 "I<timep-E<gt>tv_sec>.  In case of error -1 is returned, and I<errno> is set "
2046 "appropriately."
2047 msgstr ""
2048
2049 #. type: Plain text
2050 #: build/C/man3/rtime.3:51
2051 msgid ""
2052 "All errors for underlying functions (B<sendto>(2), B<poll>(2), "
2053 "B<recvfrom>(2), B<connect>(2), B<read>(2))  can occur.  Moreover:"
2054 msgstr ""
2055
2056 #. type: TP
2057 #: build/C/man3/rtime.3:51
2058 #, no-wrap
2059 msgid "B<EIO>"
2060 msgstr ""
2061
2062 #. type: Plain text
2063 #: build/C/man3/rtime.3:54
2064 msgid "The number of returned bytes is not 4."
2065 msgstr ""
2066
2067 #. type: TP
2068 #: build/C/man3/rtime.3:54
2069 #, no-wrap
2070 msgid "B<ETIMEDOUT>"
2071 msgstr ""
2072
2073 #. type: Plain text
2074 #: build/C/man3/rtime.3:57
2075 msgid "The waiting time as defined in timeout has expired."
2076 msgstr ""
2077
2078 #. type: SH
2079 #: build/C/man3/rtime.3:57
2080 #, no-wrap
2081 msgid "ATTRIBUTES"
2082 msgstr ""
2083
2084 #. type: SS
2085 #: build/C/man3/rtime.3:58
2086 #, no-wrap
2087 msgid "Multithreading (see pthreads(7))"
2088 msgstr ""
2089
2090 #. type: Plain text
2091 #: build/C/man3/rtime.3:62
2092 msgid "The B<rtime>()  function is thread-safe."
2093 msgstr ""
2094
2095 #. type: Plain text
2096 #: build/C/man3/rtime.3:64
2097 msgid "Only IPv4 is supported."
2098 msgstr ""
2099
2100 #. type: Plain text
2101 #: build/C/man3/rtime.3:71
2102 msgid ""
2103 "Some I<in.timed> versions support only TCP.  Try the example program with "
2104 "I<use_tcp> set to 1."
2105 msgstr ""
2106
2107 #. type: Plain text
2108 #: build/C/man3/rtime.3:73
2109 msgid "Libc5 uses the prototype"
2110 msgstr ""
2111
2112 #. type: Plain text
2113 #: build/C/man3/rtime.3:76
2114 #, no-wrap
2115 msgid "    int rtime(struct sockaddr_in *, struct timeval *, struct timeval *);\n"
2116 msgstr ""
2117
2118 #. type: Plain text
2119 #: build/C/man3/rtime.3:82
2120 msgid "and requires I<E<lt>sys/time.hE<gt>> instead of I<E<lt>rpc/auth_des.hE<gt>>."
2121 msgstr ""
2122
2123 #. type: Plain text
2124 #: build/C/man3/rtime.3:85
2125 msgid ""
2126 "B<rtime>()  in glibc 2.2.5 and earlier does not work properly on 64-bit "
2127 "machines."
2128 msgstr ""
2129
2130 #. type: SH
2131 #: build/C/man3/rtime.3:85
2132 #, no-wrap
2133 msgid "EXAMPLE"
2134 msgstr ""
2135
2136 #. type: Plain text
2137 #: build/C/man3/rtime.3:91
2138 msgid ""
2139 "This example requires that port 37 is up and open.  You may check that the "
2140 "time entry within I</etc/inetd.conf> is not commented out."
2141 msgstr ""
2142
2143 #. type: Plain text
2144 #: build/C/man3/rtime.3:95
2145 msgid ""
2146 "The program connects to a computer called \"linux\".  Using \"localhost\" "
2147 "does not work.  The result is the localtime of the computer \"linux\"."
2148 msgstr ""
2149
2150 #. type: Plain text
2151 #: build/C/man3/rtime.3:104
2152 #, no-wrap
2153 msgid ""
2154 "#include E<lt>stdio.hE<gt>\n"
2155 "#include E<lt>stdlib.hE<gt>\n"
2156 "#include E<lt>errno.hE<gt>\n"
2157 "#include E<lt>string.hE<gt>\n"
2158 "#include E<lt>time.hE<gt>\n"
2159 "#include E<lt>rpc/auth_des.hE<gt>\n"
2160 "#include E<lt>netdb.hE<gt>\n"
2161 msgstr ""
2162
2163 #. type: Plain text
2164 #: build/C/man3/rtime.3:107
2165 #, no-wrap
2166 msgid ""
2167 "static int use_tcp = 0;\n"
2168 "static char *servername = \"linux\";\n"
2169 msgstr ""
2170
2171 #. type: Plain text
2172 #: build/C/man3/rtime.3:116
2173 #, no-wrap
2174 msgid ""
2175 "int\n"
2176 "main(void)\n"
2177 "{\n"
2178 "    struct sockaddr_in name;\n"
2179 "    struct rpc_timeval time1 = {0,0};\n"
2180 "    struct rpc_timeval timeout = {1,0};\n"
2181 "    struct hostent *hent;\n"
2182 "    int ret;\n"
2183 msgstr ""
2184
2185 #. type: Plain text
2186 #: build/C/man3/rtime.3:121
2187 #, no-wrap
2188 msgid ""
2189 "    memset(&name, 0, sizeof(name));\n"
2190 "    sethostent(1);\n"
2191 "    hent = gethostbyname(servername);\n"
2192 "    memcpy(&name.sin_addr, hent-E<gt>h_addr, hent-E<gt>h_length);\n"
2193 msgstr ""
2194
2195 #. type: Plain text
2196 #: build/C/man3/rtime.3:129
2197 #, no-wrap
2198 msgid ""
2199 "    ret = rtime(&name, &time1, use_tcp ? NULL : &timeout);\n"
2200 "    if (ret E<lt> 0)\n"
2201 "        perror(\"rtime error\");\n"
2202 "    else {\n"
2203 "        time_t t = time1.tv_sec;\n"
2204 "        printf(\"%s\\en\", ctime(&t));\n"
2205 "    }\n"
2206 msgstr ""
2207
2208 #. type: Plain text
2209 #: build/C/man3/rtime.3:132
2210 #, no-wrap
2211 msgid ""
2212 "    exit(EXIT_SUCCESS);\n"
2213 "}\n"
2214 msgstr ""
2215
2216 #.  .BR netdate (1),
2217 #.  .BR rdate (1),
2218 #. type: Plain text
2219 #: build/C/man3/rtime.3:138
2220 msgid "B<ntpdate>(1), B<inetd>(8)"
2221 msgstr ""
2222
2223 #. type: TH
2224 #: build/C/man3/xdr.3:11
2225 #, no-wrap
2226 msgid "XDR"
2227 msgstr ""
2228
2229 #. type: TH
2230 #: build/C/man3/xdr.3:11
2231 #, no-wrap
2232 msgid "2007-12-30"
2233 msgstr ""
2234
2235 #. type: Plain text
2236 #: build/C/man3/xdr.3:14
2237 msgid "xdr - library routines for external data representation"
2238 msgstr ""
2239
2240 #. type: Plain text
2241 #: build/C/man3/xdr.3:20
2242 msgid ""
2243 "These routines allow C programmers to describe arbitrary data structures in "
2244 "a machine-independent fashion.  Data for remote procedure calls are "
2245 "transmitted using these routines."
2246 msgstr ""
2247
2248 #. type: Plain text
2249 #: build/C/man3/xdr.3:24
2250 msgid ""
2251 "The prototypes below are declared in I<E<lt>rpc/xdr.hE<gt>> and make use of "
2252 "the following types:"
2253 msgstr ""
2254
2255 #. type: Plain text
2256 #: build/C/man3/xdr.3:30
2257 #, no-wrap
2258 msgid "B<typedef bool_t (*>I<xdrproc_t>B<) (XDR *, void *,...);>\n"
2259 msgstr ""
2260
2261 #. type: Plain text
2262 #: build/C/man3/xdr.3:37
2263 msgid "For the declaration of the I<XDR> type, see I<E<lt>rpc/xdr.hE<gt>>."
2264 msgstr ""
2265
2266 #. type: Plain text
2267 #: build/C/man3/xdr.3:42
2268 #, no-wrap
2269 msgid ""
2270 "B<bool_t xdr_array(XDR *>I<xdrs>B<, char **>I<arrp>B<, unsigned int "
2271 "*>I<sizep>B<,>\n"
2272 "B<                 unsigned int >I<maxsize>B<, unsigned int >I<elsize>B<,>\n"
2273 "B<                 xdrproc_t >I<elproc>B<);>\n"
2274 msgstr ""
2275
2276 #. type: Plain text
2277 #: build/C/man3/xdr.3:63
2278 msgid ""
2279 "A filter primitive that translates between variable-length arrays and their "
2280 "corresponding external representations.  The argument I<arrp> is the address "
2281 "of the pointer to the array, while I<sizep> is the address of the element "
2282 "count of the array; this element count cannot exceed I<maxsize>.  The "
2283 "argument I<elsize> is the I<sizeof> each of the array's elements, and "
2284 "I<elproc> is an XDR filter that translates between the array elements' C "
2285 "form, and their external representation.  This routine returns one if it "
2286 "succeeds, zero otherwise."
2287 msgstr ""
2288
2289 #. type: Plain text
2290 #: build/C/man3/xdr.3:66
2291 #, no-wrap
2292 msgid "B<bool_t xdr_bool(XDR *>I<xdrs>B<, bool_t *>I<bp>B<);>\n"
2293 msgstr ""
2294
2295 #. type: Plain text
2296 #: build/C/man3/xdr.3:74
2297 msgid ""
2298 "A filter primitive that translates between booleans (C integers)  and their "
2299 "external representations.  When encoding data, this filter produces values "
2300 "of either one or zero.  This routine returns one if it succeeds, zero "
2301 "otherwise."
2302 msgstr ""
2303
2304 #. type: Plain text
2305 #: build/C/man3/xdr.3:78
2306 #, no-wrap
2307 msgid ""
2308 "B<bool_t xdr_bytes(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
2309 "*>I<sizep>B<,>\n"
2310 "B<                 unsigned int >I<maxsize>B<);>\n"
2311 msgstr ""
2312
2313 #. type: Plain text
2314 #: build/C/man3/xdr.3:91
2315 msgid ""
2316 "A filter primitive that translates between counted byte strings and their "
2317 "external representations.  The argument I<sp> is the address of the string "
2318 "pointer.  The length of the string is located at address I<sizep>; strings "
2319 "cannot be longer than I<maxsize>.  This routine returns one if it succeeds, "
2320 "zero otherwise."
2321 msgstr ""
2322
2323 #. type: Plain text
2324 #: build/C/man3/xdr.3:94
2325 #, no-wrap
2326 msgid "B<bool_t xdr_char(XDR *>I<xdrs>B<, char *>I<cp>B<);>\n"
2327 msgstr ""
2328
2329 #. type: Plain text
2330 #: build/C/man3/xdr.3:106
2331 msgid ""
2332 "A filter primitive that translates between C characters and their external "
2333 "representations.  This routine returns one if it succeeds, zero otherwise.  "
2334 "Note: encoded characters are not packed, and occupy 4 bytes each.  For "
2335 "arrays of characters, it is worthwhile to consider B<xdr_bytes>(), "
2336 "B<xdr_opaque>()  or B<xdr_string>()."
2337 msgstr ""
2338
2339 #. type: Plain text
2340 #: build/C/man3/xdr.3:109
2341 #, no-wrap
2342 msgid "B<void xdr_destroy(XDR *>I<xdrs>B<);>\n"
2343 msgstr ""
2344
2345 #. type: Plain text
2346 #: build/C/man3/xdr.3:120
2347 msgid ""
2348 "A macro that invokes the destroy routine associated with the XDR stream, "
2349 "I<xdrs>.  Destruction usually involves freeing private data structures "
2350 "associated with the stream.  Using I<xdrs> after invoking B<xdr_destroy>()  "
2351 "is undefined."
2352 msgstr ""
2353
2354 #. type: Plain text
2355 #: build/C/man3/xdr.3:123
2356 #, no-wrap
2357 msgid "B<bool_t xdr_double(XDR *>I<xdrs>B<, double *>I<dp>B<);>\n"
2358 msgstr ""
2359
2360 #. type: Plain text
2361 #: build/C/man3/xdr.3:129
2362 msgid ""
2363 "A filter primitive that translates between C I<double> precision numbers and "
2364 "their external representations.  This routine returns one if it succeeds, "
2365 "zero otherwise."
2366 msgstr ""
2367
2368 #. type: Plain text
2369 #: build/C/man3/xdr.3:132
2370 #, no-wrap
2371 msgid "B<bool_t xdr_enum(XDR *>I<xdrs>B<, enum_t *>I<ep>B<);>\n"
2372 msgstr ""
2373
2374 #. type: Plain text
2375 #: build/C/man3/xdr.3:138
2376 msgid ""
2377 "A filter primitive that translates between C I<enum>s (actually integers) "
2378 "and their external representations.  This routine returns one if it "
2379 "succeeds, zero otherwise."
2380 msgstr ""
2381
2382 #. type: Plain text
2383 #: build/C/man3/xdr.3:141
2384 #, no-wrap
2385 msgid "B<bool_t xdr_float(XDR *>I<xdrs>B<, float *>I<fp>B<);>\n"
2386 msgstr ""
2387
2388 #. type: Plain text
2389 #: build/C/man3/xdr.3:147
2390 msgid ""
2391 "A filter primitive that translates between C I<float>s and their external "
2392 "representations.  This routine returns one if it succeeds, zero otherwise."
2393 msgstr ""
2394
2395 #. type: Plain text
2396 #: build/C/man3/xdr.3:150
2397 #, no-wrap
2398 msgid "B<void xdr_free(xdrproc_t >I<proc>B<, char *>I<objp>B<);>\n"
2399 msgstr ""
2400
2401 #. type: Plain text
2402 #: build/C/man3/xdr.3:160
2403 msgid ""
2404 "Generic freeing routine.  The first argument is the XDR routine for the "
2405 "object being freed.  The second argument is a pointer to the object itself.  "
2406 "Note: the pointer passed to this routine is I<not> freed, but what it points "
2407 "to I<is> freed (recursively)."
2408 msgstr ""
2409
2410 #. type: Plain text
2411 #: build/C/man3/xdr.3:163
2412 #, no-wrap
2413 msgid "B<unsigned int xdr_getpos(XDR *>I<xdrs>B<);>\n"
2414 msgstr ""
2415
2416 #. type: Plain text
2417 #: build/C/man3/xdr.3:173
2418 msgid ""
2419 "A macro that invokes the get-position routine associated with the XDR "
2420 "stream, I<xdrs>.  The routine returns an unsigned integer, which indicates "
2421 "the position of the XDR byte stream.  A desirable feature of XDR streams is "
2422 "that simple arithmetic works with this number, although the XDR stream "
2423 "instances need not guarantee this."
2424 msgstr ""
2425
2426 #. type: Plain text
2427 #: build/C/man3/xdr.3:176
2428 #, no-wrap
2429 msgid "B<long *xdr_inline(XDR *>I<xdrs>B<, int >I<len>B<);>\n"
2430 msgstr ""
2431
2432 #. type: Plain text
2433 #: build/C/man3/xdr.3:186
2434 msgid ""
2435 "A macro that invokes the inline routine associated with the XDR stream, "
2436 "I<xdrs>.  The routine returns a pointer to a contiguous piece of the "
2437 "stream's buffer; I<len> is the byte length of the desired buffer.  Note: "
2438 "pointer is cast to I<long\\ *>."
2439 msgstr ""
2440
2441 #. type: Plain text
2442 #: build/C/man3/xdr.3:193
2443 msgid ""
2444 "Warning: B<xdr_inline>()  may return NULL (0)  if it cannot allocate a "
2445 "contiguous piece of a buffer.  Therefore the behavior may vary among stream "
2446 "instances; it exists for the sake of efficiency."
2447 msgstr ""
2448
2449 #. type: Plain text
2450 #: build/C/man3/xdr.3:196
2451 #, no-wrap
2452 msgid "B<bool_t xdr_int(XDR *>I<xdrs>B<, int *>I<ip>B<);>\n"
2453 msgstr ""
2454
2455 #. type: Plain text
2456 #: build/C/man3/xdr.3:201
2457 msgid ""
2458 "A filter primitive that translates between C integers and their external "
2459 "representations.  This routine returns one if it succeeds, zero otherwise."
2460 msgstr ""
2461
2462 #. type: Plain text
2463 #: build/C/man3/xdr.3:204
2464 #, no-wrap
2465 msgid "B<bool_t xdr_long(XDR *>I<xdrs>B<, long *>I<lp>B<);>\n"
2466 msgstr ""
2467
2468 #. type: Plain text
2469 #: build/C/man3/xdr.3:210
2470 msgid ""
2471 "A filter primitive that translates between C I<long> integers and their "
2472 "external representations.  This routine returns one if it succeeds, zero "
2473 "otherwise."
2474 msgstr ""
2475
2476 #. type: Plain text
2477 #: build/C/man3/xdr.3:214
2478 #, no-wrap
2479 msgid ""
2480 "B<void xdrmem_create(XDR *>I<xdrs>B<, char *>I<addr>B<, unsigned int "
2481 ">I<size>B<,>\n"
2482 "B<                   enum xdr_op >I<op>B<);>\n"
2483 msgstr ""
2484
2485 #. type: Plain text
2486 #: build/C/man3/xdr.3:231
2487 msgid ""
2488 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2489 "stream's data is written to, or read from, a chunk of memory at location "
2490 "I<addr> whose length is no more than I<size> bytes long.  The I<op> "
2491 "determines the direction of the XDR stream (either B<XDR_ENCODE>, "
2492 "B<XDR_DECODE>, or B<XDR_FREE>)."
2493 msgstr ""
2494
2495 #. type: Plain text
2496 #: build/C/man3/xdr.3:234
2497 #, no-wrap
2498 msgid ""
2499 "B<bool_t xdr_opaque(XDR *>I<xdrs>B<, char *>I<cp>B<, unsigned int "
2500 ">I<cnt>B<);>\n"
2501 msgstr ""
2502
2503 #. type: Plain text
2504 #: build/C/man3/xdr.3:244
2505 msgid ""
2506 "A filter primitive that translates between fixed size opaque data and its "
2507 "external representation.  The argument I<cp> is the address of the opaque "
2508 "object, and I<cnt> is its size in bytes.  This routine returns one if it "
2509 "succeeds, zero otherwise."
2510 msgstr ""
2511
2512 #. type: Plain text
2513 #: build/C/man3/xdr.3:248
2514 #, no-wrap
2515 msgid ""
2516 "B<bool_t xdr_pointer(XDR *>I<xdrs>B<, char **>I<objpp>B<,>\n"
2517 "B<                   unsigned int >I<objsize>B<, xdrproc_t >I<xdrobj>B<);>\n"
2518 msgstr ""
2519
2520 #. type: Plain text
2521 #: build/C/man3/xdr.3:260
2522 msgid ""
2523 "Like B<xdr_reference>()  except that it serializes null pointers, whereas "
2524 "B<xdr_reference>()  does not.  Thus, B<xdr_pointer>()  can represent "
2525 "recursive data structures, such as binary trees or linked lists."
2526 msgstr ""
2527
2528 #. type: Plain text
2529 #: build/C/man3/xdr.3:266
2530 #, no-wrap
2531 msgid ""
2532 "B<void xdrrec_create(XDR *>I<xdrs>B<, unsigned int >I<sendsize>B<,>\n"
2533 "B<                   unsigned int >I<recvsize>B<, char *>I<handle>B<,>\n"
2534 "B<                   int (*>I<readit>B<) (char *, char *, int),>\n"
2535 "B<                   int (*>I<writeit>B<) (char *, char *, int));>\n"
2536 msgstr ""
2537
2538 #. type: Plain text
2539 #: build/C/man3/xdr.3:293
2540 msgid ""
2541 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2542 "stream's data is written to a buffer of size I<sendsize>; a value of zero "
2543 "indicates the system should use a suitable default.  The stream's data is "
2544 "read from a buffer of size I<recvsize>; it too can be set to a suitable "
2545 "default by passing a zero value.  When a stream's output buffer is full, "
2546 "I<writeit> is called.  Similarly, when a stream's input buffer is empty, "
2547 "I<readit> is called.  The behavior of these two routines is similar to the "
2548 "system calls B<read>(2)  and B<write>(2), except that I<handle> is passed to "
2549 "the former routines as the first argument.  Note: the XDR stream's I<op> "
2550 "field must be set by the caller."
2551 msgstr ""
2552
2553 #. type: Plain text
2554 #: build/C/man3/xdr.3:297
2555 msgid ""
2556 "Warning: this XDR stream implements an intermediate record stream.  "
2557 "Therefore there are additional bytes in the stream to provide record "
2558 "boundary information."
2559 msgstr ""
2560
2561 #. type: Plain text
2562 #: build/C/man3/xdr.3:300
2563 #, no-wrap
2564 msgid "B<bool_t xdrrec_endofrecord(XDR *>I<xdrs>B<, int >I<sendnow>B<);>\n"
2565 msgstr ""
2566
2567 #. type: Plain text
2568 #: build/C/man3/xdr.3:309
2569 msgid ""
2570 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2571 "The data in the output buffer is marked as a completed record, and the "
2572 "output buffer is optionally written out if I<sendnow> is nonzero.  This "
2573 "routine returns one if it succeeds, zero otherwise."
2574 msgstr ""
2575
2576 #. type: Plain text
2577 #: build/C/man3/xdr.3:312
2578 #, no-wrap
2579 msgid "B<bool_t xdrrec_eof(XDR *>I<xdrs>B<);>\n"
2580 msgstr ""
2581
2582 #. type: Plain text
2583 #: build/C/man3/xdr.3:319
2584 msgid ""
2585 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2586 "After consuming the rest of the current record in the stream, this routine "
2587 "returns one if the stream has no more input, zero otherwise."
2588 msgstr ""
2589
2590 #. type: Plain text
2591 #: build/C/man3/xdr.3:322
2592 #, no-wrap
2593 msgid "B<bool_t xdrrec_skiprecord(XDR *>I<xdrs>B<);>\n"
2594 msgstr ""
2595
2596 #. type: Plain text
2597 #: build/C/man3/xdr.3:330
2598 msgid ""
2599 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2600 "It tells the XDR implementation that the rest of the current record in the "
2601 "stream's input buffer should be discarded.  This routine returns one if it "
2602 "succeeds, zero otherwise."
2603 msgstr ""
2604
2605 #. type: Plain text
2606 #: build/C/man3/xdr.3:334
2607 #, no-wrap
2608 msgid ""
2609 "B<bool_t xdr_reference(XDR *>I<xdrs>B<, char **>I<pp>B<, unsigned int "
2610 ">I<size>B<,>\n"
2611 "B<                     xdrproc_t >I<proc>B<);>\n"
2612 msgstr ""
2613
2614 #. type: Plain text
2615 #: build/C/man3/xdr.3:350
2616 msgid ""
2617 "A primitive that provides pointer chasing within structures.  The argument "
2618 "I<pp> is the address of the pointer; I<size> is the I<sizeof> the structure "
2619 "that I<*pp> points to; and I<proc> is an XDR procedure that filters the "
2620 "structure between its C form and its external representation.  This routine "
2621 "returns one if it succeeds, zero otherwise."
2622 msgstr ""
2623
2624 #. type: Plain text
2625 #: build/C/man3/xdr.3:355
2626 msgid ""
2627 "Warning: this routine does not understand null pointers.  Use "
2628 "B<xdr_pointer>()  instead."
2629 msgstr ""
2630
2631 #. type: Plain text
2632 #: build/C/man3/xdr.3:358
2633 #, no-wrap
2634 msgid "B<xdr_setpos(XDR *>I<xdrs>B<, unsigned int >I<pos>B<);>\n"
2635 msgstr ""
2636
2637 #. type: Plain text
2638 #: build/C/man3/xdr.3:369
2639 msgid ""
2640 "A macro that invokes the set position routine associated with the XDR stream "
2641 "I<xdrs>.  The argument I<pos> is a position value obtained from "
2642 "B<xdr_getpos>().  This routine returns one if the XDR stream could be "
2643 "repositioned, and zero otherwise."
2644 msgstr ""
2645
2646 #. type: Plain text
2647 #: build/C/man3/xdr.3:373
2648 msgid ""
2649 "Warning: it is difficult to reposition some types of XDR streams, so this "
2650 "routine may fail with one type of stream and succeed with another."
2651 msgstr ""
2652
2653 #. type: Plain text
2654 #: build/C/man3/xdr.3:376
2655 #, no-wrap
2656 msgid "B<bool_t xdr_short(XDR *>I<xdrs>B<, short *>I<sp>B<);>\n"
2657 msgstr ""
2658
2659 #. type: Plain text
2660 #: build/C/man3/xdr.3:382
2661 msgid ""
2662 "A filter primitive that translates between C I<short> integers and their "
2663 "external representations.  This routine returns one if it succeeds, zero "
2664 "otherwise."
2665 msgstr ""
2666
2667 #. type: Plain text
2668 #: build/C/man3/xdr.3:385
2669 #, no-wrap
2670 msgid ""
2671 "B<void xdrstdio_create(XDR *>I<xdrs>B<, FILE *>I<file>B<, enum xdr_op "
2672 ">I<op>B<);>\n"
2673 msgstr ""
2674
2675 #. type: Plain text
2676 #: build/C/man3/xdr.3:400
2677 msgid ""
2678 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2679 "XDR stream data is written to, or read from, the I<stdio> stream I<file>.  "
2680 "The argument I<op> determines the direction of the XDR stream (either "
2681 "B<XDR_ENCODE>, B<XDR_DECODE>, or B<XDR_FREE>)."
2682 msgstr ""
2683
2684 #. type: Plain text
2685 #: build/C/man3/xdr.3:407
2686 msgid ""
2687 "Warning: the destroy routine associated with such XDR streams calls "
2688 "B<fflush>(3)  on the I<file> stream, but never B<fclose>(3)."
2689 msgstr ""
2690
2691 #. type: Plain text
2692 #: build/C/man3/xdr.3:410
2693 #, no-wrap
2694 msgid ""
2695 "B<bool_t xdr_string(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
2696 ">I<maxsize>B<);>\n"
2697 msgstr ""
2698
2699 #. type: Plain text
2700 #: build/C/man3/xdr.3:420
2701 msgid ""
2702 "A filter primitive that translates between C strings and their corresponding "
2703 "external representations.  Strings cannot be longer than I<maxsize>.  Note: "
2704 "I<sp> is the address of the string's pointer.  This routine returns one if "
2705 "it succeeds, zero otherwise."
2706 msgstr ""
2707
2708 #. type: Plain text
2709 #: build/C/man3/xdr.3:423
2710 #, no-wrap
2711 msgid "B<bool_t xdr_u_char(XDR *>I<xdrs>B<, unsigned char *>I<ucp>B<);>\n"
2712 msgstr ""
2713
2714 #. type: Plain text
2715 #: build/C/man3/xdr.3:429
2716 msgid ""
2717 "A filter primitive that translates between I<unsigned> C characters and "
2718 "their external representations.  This routine returns one if it succeeds, "
2719 "zero otherwise."
2720 msgstr ""
2721
2722 #. type: Plain text
2723 #: build/C/man3/xdr.3:432
2724 #, no-wrap
2725 msgid "B<bool_t xdr_u_int(XDR *>I<xdrs>B<, unsigned *>I<up>B<);>\n"
2726 msgstr ""
2727
2728 #. type: Plain text
2729 #: build/C/man3/xdr.3:438
2730 msgid ""
2731 "A filter primitive that translates between C I<unsigned> integers and their "
2732 "external representations.  This routine returns one if it succeeds, zero "
2733 "otherwise."
2734 msgstr ""
2735
2736 #. type: Plain text
2737 #: build/C/man3/xdr.3:441
2738 #, no-wrap
2739 msgid "B<bool_t xdr_u_long(XDR *>I<xdrs>B<, unsigned long *>I<ulp>B<);>\n"
2740 msgstr ""
2741
2742 #. type: Plain text
2743 #: build/C/man3/xdr.3:447
2744 msgid ""
2745 "A filter primitive that translates between C I<unsigned long> integers and "
2746 "their external representations.  This routine returns one if it succeeds, "
2747 "zero otherwise."
2748 msgstr ""
2749
2750 #. type: Plain text
2751 #: build/C/man3/xdr.3:450
2752 #, no-wrap
2753 msgid "B<bool_t xdr_u_short(XDR *>I<xdrs>B<, unsigned short *>I<usp>B<);>\n"
2754 msgstr ""
2755
2756 #. type: Plain text
2757 #: build/C/man3/xdr.3:456
2758 msgid ""
2759 "A filter primitive that translates between C I<unsigned short> integers and "
2760 "their external representations.  This routine returns one if it succeeds, "
2761 "zero otherwise."
2762 msgstr ""
2763
2764 #. type: Plain text
2765 #: build/C/man3/xdr.3:461
2766 #, no-wrap
2767 msgid ""
2768 "B<bool_t xdr_union(XDR *>I<xdrs>B<, int *>I<dscmp>B<, char *>I<unp>B<,>\n"
2769 "B<                 struct xdr_discrim *>I<choices>B<,>\n"
2770 "B<                 xdrproc_t >I<defaultarm>B<);     /* may equal NULL */>\n"
2771 msgstr ""
2772
2773 #. type: Plain text
2774 #: build/C/man3/xdr.3:495
2775 msgid ""
2776 "A filter primitive that translates between a discriminated C I<union> and "
2777 "its corresponding external representation.  It first translates the "
2778 "discriminant of the union located at I<dscmp>.  This discriminant is always "
2779 "an I<enum_t>.  Next the union located at I<unp> is translated.  The argument "
2780 "I<choices> is a pointer to an array of B<xdr_discrim>()  structures.  Each "
2781 "structure contains an ordered pair of [I<value>,I<proc>].  If the union's "
2782 "discriminant is equal to the associated I<value>, then the I<proc> is called "
2783 "to translate the union.  The end of the B<xdr_discrim>()  structure array is "
2784 "denoted by a routine of value NULL.  If the discriminant is not found in the "
2785 "I<choices> array, then the I<defaultarm> procedure is called (if it is not "
2786 "NULL).  Returns one if it succeeds, zero otherwise."
2787 msgstr ""
2788
2789 #. type: Plain text
2790 #: build/C/man3/xdr.3:499
2791 #, no-wrap
2792 msgid ""
2793 "B<bool_t xdr_vector(XDR *>I<xdrs>B<, char *>I<arrp>B<, unsigned int "
2794 ">I<size>B<,>\n"
2795 "B<                  unsigned int >I<elsize>B<, xdrproc_t >I<elproc>B<);>\n"
2796 msgstr ""
2797
2798 #. type: Plain text
2799 #: build/C/man3/xdr.3:518
2800 msgid ""
2801 "A filter primitive that translates between fixed-length arrays and their "
2802 "corresponding external representations.  The argument I<arrp> is the address "
2803 "of the pointer to the array, while I<size> is the element count of the "
2804 "array.  The argument I<elsize> is the I<sizeof> each of the array's "
2805 "elements, and I<elproc> is an XDR filter that translates between the array "
2806 "elements' C form, and their external representation.  This routine returns "
2807 "one if it succeeds, zero otherwise."
2808 msgstr ""
2809
2810 #. type: Plain text
2811 #: build/C/man3/xdr.3:521
2812 #, no-wrap
2813 msgid "B<bool_t xdr_void(void);>\n"
2814 msgstr ""
2815
2816 #. type: Plain text
2817 #: build/C/man3/xdr.3:526
2818 msgid ""
2819 "This routine always returns one.  It may be passed to RPC routines that "
2820 "require a function argument, where nothing is to be done."
2821 msgstr ""
2822
2823 #. type: Plain text
2824 #: build/C/man3/xdr.3:529
2825 #, no-wrap
2826 msgid "B<bool_t xdr_wrapstring(XDR *>I<xdrs>B<, char **>I<sp>B<);>\n"
2827 msgstr ""
2828
2829 #. type: Plain text
2830 #: build/C/man3/xdr.3:542
2831 msgid ""
2832 "A primitive that calls B<xdr_string(xdrs, sp,MAXUN.UNSIGNED );> where "
2833 "B<MAXUN.UNSIGNED> is the maximum value of an unsigned integer.  "
2834 "B<xdr_wrapstring>()  is handy because the RPC package passes a maximum of "
2835 "two XDR routines as arguments, and B<xdr_string>(), one of the most "
2836 "frequently used primitives, requires three.  Returns one if it succeeds, "
2837 "zero otherwise."
2838 msgstr ""
2839
2840 #. type: Plain text
2841 #: build/C/man3/xdr.3:544
2842 msgid "B<rpc>(3)"
2843 msgstr ""
2844
2845 #. type: Plain text
2846 #: build/C/man3/xdr.3:548
2847 msgid "eXternal Data Representation Standard: Protocol Specification"
2848 msgstr ""
2849
2850 #. type: Plain text
2851 #: build/C/man3/xdr.3:550
2852 msgid "eXternal Data Representation: Sun Technical Notes"
2853 msgstr ""
2854
2855 #. type: Plain text
2856 #: build/C/man3/xdr.3:554
2857 msgid ""
2858 "I<XDR: External Data Representation Standard>, RFC\\ 1014, Sun Microsystems, "
2859 "Inc., USC-ISI."
2860 msgstr ""