OSDN Git Service

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