OSDN Git Service

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