OSDN Git Service

(split) LDP: Update POT and ja.po to LDP v3.54
[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-09-28 04: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:76
164 msgid ""
165 "The B<setrpcent>()  function opens a connection to the database, and sets "
166 "the next entry to the first entry.  If I<stayopen> is nonzero, then the "
167 "connection to the database will not be closed between calls to one of the "
168 "B<getrpc*>()  functions."
169 msgstr ""
170
171 #. type: Plain text
172 #: build/C/man3/getrpcent.3:80
173 msgid "The B<endrpcent>()  function closes the connection to the database."
174 msgstr ""
175
176 #. type: Plain text
177 #: build/C/man3/getrpcent.3:88
178 msgid ""
179 "The B<getrpcbyname>()  and B<getrpcbynumber>()  functions sequentially "
180 "search from the beginning of the file until a matching RPC program name or "
181 "program number is found, or until end-of-file is encountered."
182 msgstr ""
183
184 #. type: SH
185 #: build/C/man3/getrpcent.3:88 build/C/man3/getrpcent_r.3:107 build/C/man3/key_setsecret.3:59 build/C/man3/rtime.3:36
186 #, no-wrap
187 msgid "RETURN VALUE"
188 msgstr ""
189
190 #. type: Plain text
191 #: build/C/man3/getrpcent.3:98
192 msgid ""
193 "On success, B<getrpcent>(), B<getrpcbyname>(), and B<getrpcbynumber>()  "
194 "return a pointer to a statically allocated I<rpcent> structure.  A NULL "
195 "pointer is returned on EOF or error."
196 msgstr ""
197
198 #. type: SH
199 #: build/C/man3/getrpcent.3:98 build/C/man5/rpc.5:76
200 #, no-wrap
201 msgid "FILES"
202 msgstr ""
203
204 #. type: TP
205 #: build/C/man3/getrpcent.3:99 build/C/man5/rpc.5:77
206 #, no-wrap
207 msgid "I</etc/rpc>"
208 msgstr ""
209
210 #. type: Plain text
211 #: build/C/man3/getrpcent.3:102
212 msgid "RPC program number database."
213 msgstr ""
214
215 #. type: SH
216 #: build/C/man3/getrpcent.3:102 build/C/man3/getrpcent_r.3:130 build/C/man3/getrpcport.3:36
217 #, no-wrap
218 msgid "CONFORMING TO"
219 msgstr ""
220
221 #. type: Plain text
222 #: build/C/man3/getrpcent.3:105 build/C/man3/getrpcport.3:39
223 msgid "Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems."
224 msgstr ""
225
226 #. type: SH
227 #: build/C/man3/getrpcent.3:105 build/C/man3/rtime.3:75
228 #, no-wrap
229 msgid "BUGS"
230 msgstr ""
231
232 #. type: Plain text
233 #: build/C/man3/getrpcent.3:110
234 msgid ""
235 "All information is contained in a static area so it must be copied if it is "
236 "to be saved."
237 msgstr ""
238
239 #. type: SH
240 #: build/C/man3/getrpcent.3:110 build/C/man3/getrpcent_r.3:134 build/C/man3/key_setsecret.3:68 build/C/man3/rpc.3:1103 build/C/man5/rpc.5:80 build/C/man3/rtime.3: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:115
247 msgid "B<getrpcent_r>(3), B<rpc>(5), B<rpcinfo>(8), B<ypserv>(8)"
248 msgstr ""
249
250 #. type: SH
251 #: build/C/man3/getrpcent.3:115 build/C/man3/getrpcent_r.3:137 build/C/man3/getrpcport.3:39 build/C/man3/key_setsecret.3:70 build/C/man3/rpc.3:1121 build/C/man5/rpc.5:82 build/C/man3/rtime.3: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:122 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:1128 build/C/man5/rpc.5:89 build/C/man3/rtime.3:138 build/C/man3/xdr.3:562
258 msgid ""
259 "This page is part of release 3.54 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 "B<typedef int >I<bool_t>B<;>\n"
641 msgstr ""
642
643 #. type: Plain text
644 #: build/C/man3/rpc.3:37
645 #, no-wrap
646 msgid "B<typedef bool_t (*>I<xdrproc_t>B<) (XDR *, void *, ...);>\n"
647 msgstr ""
648
649 #. type: Plain text
650 #: build/C/man3/rpc.3:40
651 #, no-wrap
652 msgid ""
653 "B<typedef bool_t (*>I<resultproc_t>B<) (caddr_t >I<resp>B<,>\n"
654 "B<                                struct sockaddr_in *>I<raddr>B<);>\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 "hold only 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 hold only 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 of interest only 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 of interest only 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:1004
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:1007
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:1012
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:1015
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:1021
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:1024
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:1029
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:1032
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:1037
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:1040
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:1045
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:1048
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:1057
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:1060
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:1067
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:1070
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:1075
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:1078
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:1083
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:1086
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:1093
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:1096
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:1103
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:1107
1864 msgid "B<xdr>(3)"
1865 msgstr ""
1866
1867 #. type: Plain text
1868 #: build/C/man3/rpc.3:1109 build/C/man3/xdr.3:546
1869 msgid "The following manuals:"
1870 msgstr ""
1871
1872 #. type: Plain text
1873 #: build/C/man3/rpc.3:1111
1874 msgid "Remote Procedure Calls: Protocol Specification"
1875 msgstr ""
1876
1877 #. type: Plain text
1878 #: build/C/man3/rpc.3:1113
1879 msgid "Remote Procedure Call Programming Guide"
1880 msgstr ""
1881
1882 #. type: Plain text
1883 #: build/C/man3/rpc.3:1115
1884 msgid "rpcgen Programming Guide"
1885 msgstr ""
1886
1887 #. type: Plain text
1888 #: build/C/man3/rpc.3:1121
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: Plain text
1949 #: build/C/man5/rpc.5:73
1950 #, no-wrap
1951 msgid ""
1952 "CW<#\n"
1953 "# rpc 88/08/01 4.0 RPCSRC; from 1.12   88/02/07 SMI\n"
1954 "#\n"
1955 "portmapper      100000  portmap sunrpc\n"
1956 "rstatd          100001  rstat rstat_svc rup perfmeter\n"
1957 "rusersd         100002  rusers\n"
1958 "nfs             100003  nfsprog\n"
1959 "ypserv          100004  ypprog\n"
1960 "mountd          100005  mount showmount\n"
1961 "ypbind          100007\n"
1962 "walld           100008  rwall shutdown\n"
1963 "yppasswdd       100009  yppasswd\n"
1964 "etherstatd      100010  etherstat\n"
1965 "rquotad         100011  rquotaprog quota rquota\n"
1966 "sprayd          100012  spray\n"
1967 "3270_mapper     100013\n"
1968 "rje_mapper      100014\n"
1969 "selection_svc   100015  selnsvc\n"
1970 "database_svc    100016\n"
1971 "rexd            100017  rex\n"
1972 "alis            100018\n"
1973 "sched           100019\n"
1974 "llockmgr        100020\n"
1975 "nlockmgr        100021\n"
1976 "x25.inr         100022\n"
1977 "statmon         100023\n"
1978 "status          100024\n"
1979 "bootparam       100026\n"
1980 "ypupdated       100028  ypupdate\n"
1981 "keyserv         100029  keyserver\n"
1982 "tfsd            100037\n"
1983 "nsed            100038\n"
1984 "nsemntd         100039>\n"
1985 msgstr ""
1986
1987 #. type: Plain text
1988 #: build/C/man5/rpc.5:80
1989 msgid "RPC program number data base"
1990 msgstr ""
1991
1992 #. type: Plain text
1993 #: build/C/man5/rpc.5:82
1994 msgid "B<getrpcent>(3)"
1995 msgstr ""
1996
1997 #. type: TH
1998 #: build/C/man3/rtime.3:12
1999 #, no-wrap
2000 msgid "RTIME"
2001 msgstr ""
2002
2003 #. type: TH
2004 #: build/C/man3/rtime.3:12
2005 #, no-wrap
2006 msgid "2012-08-03"
2007 msgstr ""
2008
2009 #. type: Plain text
2010 #: build/C/man3/rtime.3:15
2011 msgid "rtime - get time from a remote machine"
2012 msgstr ""
2013
2014 #. type: Plain text
2015 #: build/C/man3/rtime.3:18
2016 #, no-wrap
2017 msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
2018 msgstr ""
2019
2020 #. type: Plain text
2021 #: build/C/man3/rtime.3:21
2022 #, no-wrap
2023 msgid ""
2024 "B<int rtime(struct sockaddr_in *>I<addrp>B<, struct rpc_timeval "
2025 "*>I<timep>B<,>\n"
2026 "B<          struct rpc_timeval *>I<timeout>B<);>\n"
2027 msgstr ""
2028
2029 #. type: Plain text
2030 #: build/C/man3/rtime.3:25
2031 msgid ""
2032 "This function uses the Time Server Protocol as described in RFC\\ 868 to "
2033 "obtain the time from a remote machine."
2034 msgstr ""
2035
2036 #. type: Plain text
2037 #: build/C/man3/rtime.3:31
2038 msgid ""
2039 "The Time Server Protocol gives the time in seconds since 00:00:00 UTC, 1 Jan "
2040 "1900, and this function subtracts the appropriate constant in order to "
2041 "convert the result to seconds since the Epoch, 1970-01-01 00:00:00 +0000 "
2042 "(UTC)."
2043 msgstr ""
2044
2045 #. type: Plain text
2046 #: build/C/man3/rtime.3:36
2047 msgid ""
2048 "When I<timeout> is non-NULL, the udp/time socket (port 37) is used.  "
2049 "Otherwise, the tcp/time socket (port 37) is used."
2050 msgstr ""
2051
2052 #. type: Plain text
2053 #: build/C/man3/rtime.3:42
2054 msgid ""
2055 "On success, 0 is returned, and the obtained 32-bit time value is stored in "
2056 "I<timep-E<gt>tv_sec>.  In case of error -1 is returned, and I<errno> is set "
2057 "appropriately."
2058 msgstr ""
2059
2060 #. type: Plain text
2061 #: build/C/man3/rtime.3:51
2062 msgid ""
2063 "All errors for underlying functions (B<sendto>(2), B<poll>(2), "
2064 "B<recvfrom>(2), B<connect>(2), B<read>(2))  can occur.  Moreover:"
2065 msgstr ""
2066
2067 #. type: TP
2068 #: build/C/man3/rtime.3:51
2069 #, no-wrap
2070 msgid "B<EIO>"
2071 msgstr ""
2072
2073 #. type: Plain text
2074 #: build/C/man3/rtime.3:54
2075 msgid "The number of returned bytes is not 4."
2076 msgstr ""
2077
2078 #. type: TP
2079 #: build/C/man3/rtime.3:54
2080 #, no-wrap
2081 msgid "B<ETIMEDOUT>"
2082 msgstr ""
2083
2084 #. type: Plain text
2085 #: build/C/man3/rtime.3:57
2086 msgid "The waiting time as defined in timeout has expired."
2087 msgstr ""
2088
2089 #. type: Plain text
2090 #: build/C/man3/rtime.3:59
2091 msgid "Only IPv4 is supported."
2092 msgstr ""
2093
2094 #. type: Plain text
2095 #: build/C/man3/rtime.3:66
2096 msgid ""
2097 "Some I<in.timed> versions support only TCP.  Try the example program with "
2098 "I<use_tcp> set to 1."
2099 msgstr ""
2100
2101 #. type: Plain text
2102 #: build/C/man3/rtime.3:68
2103 msgid "Libc5 uses the prototype"
2104 msgstr ""
2105
2106 #. type: Plain text
2107 #: build/C/man3/rtime.3:70
2108 msgid "int rtime(struct sockaddr_in *, struct timeval *, struct timeval *);"
2109 msgstr ""
2110
2111 #. type: Plain text
2112 #: build/C/man3/rtime.3:75
2113 msgid "and requires I<E<lt>sys/time.hE<gt>> instead of I<E<lt>rpc/auth_des.hE<gt>>."
2114 msgstr ""
2115
2116 #. type: Plain text
2117 #: build/C/man3/rtime.3:78
2118 msgid ""
2119 "B<rtime>()  in glibc 2.2.5 and earlier does not work properly on 64-bit "
2120 "machines."
2121 msgstr ""
2122
2123 #. type: SH
2124 #: build/C/man3/rtime.3:78
2125 #, no-wrap
2126 msgid "EXAMPLE"
2127 msgstr ""
2128
2129 #. type: Plain text
2130 #: build/C/man3/rtime.3:84
2131 msgid ""
2132 "This example requires that port 37 is up and open.  You may check that the "
2133 "time entry within I</etc/inetd.conf> is not commented out."
2134 msgstr ""
2135
2136 #. type: Plain text
2137 #: build/C/man3/rtime.3:88
2138 msgid ""
2139 "The program connects to a computer called \"linux\".  Using \"localhost\" "
2140 "does not work.  The result is the localtime of the computer \"linux\"."
2141 msgstr ""
2142
2143 #. type: Plain text
2144 #: build/C/man3/rtime.3:97
2145 #, no-wrap
2146 msgid ""
2147 "#include E<lt>stdio.hE<gt>\n"
2148 "#include E<lt>stdlib.hE<gt>\n"
2149 "#include E<lt>errno.hE<gt>\n"
2150 "#include E<lt>string.hE<gt>\n"
2151 "#include E<lt>time.hE<gt>\n"
2152 "#include E<lt>rpc/auth_des.hE<gt>\n"
2153 "#include E<lt>netdb.hE<gt>\n"
2154 msgstr ""
2155
2156 #. type: Plain text
2157 #: build/C/man3/rtime.3:100
2158 #, no-wrap
2159 msgid ""
2160 "int use_tcp = 0;\n"
2161 "char *servername = \"linux\";\n"
2162 msgstr ""
2163
2164 #. type: Plain text
2165 #: build/C/man3/rtime.3:109
2166 #, no-wrap
2167 msgid ""
2168 "int\n"
2169 "main(void)\n"
2170 "{\n"
2171 "    struct sockaddr_in name;\n"
2172 "    struct rpc_timeval time1 = {0,0};\n"
2173 "    struct rpc_timeval timeout = {1,0};\n"
2174 "    struct hostent *hent;\n"
2175 "    int ret;\n"
2176 msgstr ""
2177
2178 #. type: Plain text
2179 #: build/C/man3/rtime.3:114
2180 #, no-wrap
2181 msgid ""
2182 "    memset(&name, 0, sizeof(name));\n"
2183 "    sethostent(1);\n"
2184 "    hent = gethostbyname(servername);\n"
2185 "    memcpy(&name.sin_addr, hent-E<gt>h_addr, hent-E<gt>h_length);\n"
2186 msgstr ""
2187
2188 #. type: Plain text
2189 #: build/C/man3/rtime.3:122
2190 #, no-wrap
2191 msgid ""
2192 "    ret = rtime(&name, &time1, use_tcp ? NULL : &timeout);\n"
2193 "    if (ret E<lt> 0)\n"
2194 "        perror(\"rtime error\");\n"
2195 "    else {\n"
2196 "\ttime_t t = time1.tv_sec;\n"
2197 "        printf(\"%s\\en\", ctime(&t));\n"
2198 "    }\n"
2199 msgstr ""
2200
2201 #. type: Plain text
2202 #: build/C/man3/rtime.3:125
2203 #, no-wrap
2204 msgid ""
2205 "    exit(EXIT_SUCCESS);\n"
2206 "}\n"
2207 msgstr ""
2208
2209 #.  .BR netdate (1),
2210 #.  .BR rdate (1),
2211 #. type: Plain text
2212 #: build/C/man3/rtime.3:131
2213 msgid "B<ntpdate>(1), B<inetd>(8)"
2214 msgstr ""
2215
2216 #. type: TH
2217 #: build/C/man3/xdr.3:11
2218 #, no-wrap
2219 msgid "XDR"
2220 msgstr ""
2221
2222 #. type: TH
2223 #: build/C/man3/xdr.3:11
2224 #, no-wrap
2225 msgid "2007-12-30"
2226 msgstr ""
2227
2228 #. type: Plain text
2229 #: build/C/man3/xdr.3:14
2230 msgid "xdr - library routines for external data representation"
2231 msgstr ""
2232
2233 #. type: Plain text
2234 #: build/C/man3/xdr.3:20
2235 msgid ""
2236 "These routines allow C programmers to describe arbitrary data structures in "
2237 "a machine-independent fashion.  Data for remote procedure calls are "
2238 "transmitted using these routines."
2239 msgstr ""
2240
2241 #. type: Plain text
2242 #: build/C/man3/xdr.3:24
2243 msgid ""
2244 "The prototypes below are declared in I<E<lt>rpc/xdr.hE<gt>> and make use of "
2245 "the following types:"
2246 msgstr ""
2247
2248 #. type: Plain text
2249 #: build/C/man3/xdr.3:30
2250 #, no-wrap
2251 msgid "B<typedef bool_t (*>I<xdrproc_ti>B<) (XDR *, void *,...);>\n"
2252 msgstr ""
2253
2254 #. type: Plain text
2255 #: build/C/man3/xdr.3:37
2256 msgid "For the declaration of the I<XDR> type, see I<E<lt>rpc/xdr.hE<gt>>."
2257 msgstr ""
2258
2259 #. type: Plain text
2260 #: build/C/man3/xdr.3:42
2261 #, no-wrap
2262 msgid ""
2263 "B<bool_t xdr_array(XDR *>I<xdrs>B<, char **>I<arrp>B<, unsigned int "
2264 "*>I<sizep>B<,>\n"
2265 "B<                 unsigned int >I<maxsize>B<, unsigned int >I<elsize>B<,>\n"
2266 "B<                 xdrproc_t >I<elproc>B<);>\n"
2267 msgstr ""
2268
2269 #. type: Plain text
2270 #: build/C/man3/xdr.3:63
2271 msgid ""
2272 "A filter primitive that translates between variable-length arrays and their "
2273 "corresponding external representations.  The argument I<arrp> is the address "
2274 "of the pointer to the array, while I<sizep> is the address of the element "
2275 "count of the array; this element count cannot exceed I<maxsize>.  The "
2276 "argument I<elsize> is the I<sizeof> each of the array's elements, and "
2277 "I<elproc> is an XDR filter that translates between the array elements' C "
2278 "form, and their external representation.  This routine returns one if it "
2279 "succeeds, zero otherwise."
2280 msgstr ""
2281
2282 #. type: Plain text
2283 #: build/C/man3/xdr.3:66
2284 #, no-wrap
2285 msgid "B<bool_t xdr_bool(XDR *>I<xdrs>B<, bool_t *>I<bp>B<);>\n"
2286 msgstr ""
2287
2288 #. type: Plain text
2289 #: build/C/man3/xdr.3:74
2290 msgid ""
2291 "A filter primitive that translates between booleans (C integers)  and their "
2292 "external representations.  When encoding data, this filter produces values "
2293 "of either one or zero.  This routine returns one if it succeeds, zero "
2294 "otherwise."
2295 msgstr ""
2296
2297 #. type: Plain text
2298 #: build/C/man3/xdr.3:78
2299 #, no-wrap
2300 msgid ""
2301 "B<bool_t xdr_bytes(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
2302 "*>I<sizep>B<,>\n"
2303 "B<                 unsigned int >I<maxsize>B<);>\n"
2304 msgstr ""
2305
2306 #. type: Plain text
2307 #: build/C/man3/xdr.3:91
2308 msgid ""
2309 "A filter primitive that translates between counted byte strings and their "
2310 "external representations.  The argument I<sp> is the address of the string "
2311 "pointer.  The length of the string is located at address I<sizep>; strings "
2312 "cannot be longer than I<maxsize>.  This routine returns one if it succeeds, "
2313 "zero otherwise."
2314 msgstr ""
2315
2316 #. type: Plain text
2317 #: build/C/man3/xdr.3:94
2318 #, no-wrap
2319 msgid "B<bool_t xdr_char(XDR *>I<xdrs>B<, char *>I<cp>B<);>\n"
2320 msgstr ""
2321
2322 #. type: Plain text
2323 #: build/C/man3/xdr.3:106
2324 msgid ""
2325 "A filter primitive that translates between C characters and their external "
2326 "representations.  This routine returns one if it succeeds, zero otherwise.  "
2327 "Note: encoded characters are not packed, and occupy 4 bytes each.  For "
2328 "arrays of characters, it is worthwhile to consider B<xdr_bytes>(), "
2329 "B<xdr_opaque>()  or B<xdr_string>()."
2330 msgstr ""
2331
2332 #. type: Plain text
2333 #: build/C/man3/xdr.3:109
2334 #, no-wrap
2335 msgid "B<void xdr_destroy(XDR *>I<xdrs>B<);>\n"
2336 msgstr ""
2337
2338 #. type: Plain text
2339 #: build/C/man3/xdr.3:120
2340 msgid ""
2341 "A macro that invokes the destroy routine associated with the XDR stream, "
2342 "I<xdrs>.  Destruction usually involves freeing private data structures "
2343 "associated with the stream.  Using I<xdrs> after invoking B<xdr_destroy>()  "
2344 "is undefined."
2345 msgstr ""
2346
2347 #. type: Plain text
2348 #: build/C/man3/xdr.3:123
2349 #, no-wrap
2350 msgid "B<bool_t xdr_double(XDR *>I<xdrs>B<, double *>I<dp>B<);>\n"
2351 msgstr ""
2352
2353 #. type: Plain text
2354 #: build/C/man3/xdr.3:129
2355 msgid ""
2356 "A filter primitive that translates between C I<double> precision numbers and "
2357 "their external representations.  This routine returns one if it succeeds, "
2358 "zero otherwise."
2359 msgstr ""
2360
2361 #. type: Plain text
2362 #: build/C/man3/xdr.3:132
2363 #, no-wrap
2364 msgid "B<bool_t xdr_enum(XDR *>I<xdrs>B<, enum_t *>I<ep>B<);>\n"
2365 msgstr ""
2366
2367 #. type: Plain text
2368 #: build/C/man3/xdr.3:138
2369 msgid ""
2370 "A filter primitive that translates between C I<enum>s (actually integers) "
2371 "and their external representations.  This routine returns one if it "
2372 "succeeds, zero otherwise."
2373 msgstr ""
2374
2375 #. type: Plain text
2376 #: build/C/man3/xdr.3:141
2377 #, no-wrap
2378 msgid "B<bool_t xdr_float(XDR *>I<xdrs>B<, float *>I<fp>B<);>\n"
2379 msgstr ""
2380
2381 #. type: Plain text
2382 #: build/C/man3/xdr.3:147
2383 msgid ""
2384 "A filter primitive that translates between C I<float>s and their external "
2385 "representations.  This routine returns one if it succeeds, zero otherwise."
2386 msgstr ""
2387
2388 #. type: Plain text
2389 #: build/C/man3/xdr.3:150
2390 #, no-wrap
2391 msgid "B<void xdr_free(xdrproc_t >I<proc>B<, char *>I<objp>B<);>\n"
2392 msgstr ""
2393
2394 #. type: Plain text
2395 #: build/C/man3/xdr.3:160
2396 msgid ""
2397 "Generic freeing routine.  The first argument is the XDR routine for the "
2398 "object being freed.  The second argument is a pointer to the object itself.  "
2399 "Note: the pointer passed to this routine is I<not> freed, but what it points "
2400 "to I<is> freed (recursively)."
2401 msgstr ""
2402
2403 #. type: Plain text
2404 #: build/C/man3/xdr.3:163
2405 #, no-wrap
2406 msgid "B<unsigned int xdr_getpos(XDR *>I<xdrs>B<);>\n"
2407 msgstr ""
2408
2409 #. type: Plain text
2410 #: build/C/man3/xdr.3:173
2411 msgid ""
2412 "A macro that invokes the get-position routine associated with the XDR "
2413 "stream, I<xdrs>.  The routine returns an unsigned integer, which indicates "
2414 "the position of the XDR byte stream.  A desirable feature of XDR streams is "
2415 "that simple arithmetic works with this number, although the XDR stream "
2416 "instances need not guarantee this."
2417 msgstr ""
2418
2419 #. type: Plain text
2420 #: build/C/man3/xdr.3:176
2421 #, no-wrap
2422 msgid "B<long *xdr_inline(XDR *>I<xdrs>B<, int >I<len>B<);>\n"
2423 msgstr ""
2424
2425 #. type: Plain text
2426 #: build/C/man3/xdr.3:186
2427 msgid ""
2428 "A macro that invokes the inline routine associated with the XDR stream, "
2429 "I<xdrs>.  The routine returns a pointer to a contiguous piece of the "
2430 "stream's buffer; I<len> is the byte length of the desired buffer.  Note: "
2431 "pointer is cast to I<long\\ *>."
2432 msgstr ""
2433
2434 #. type: Plain text
2435 #: build/C/man3/xdr.3:193
2436 msgid ""
2437 "Warning: B<xdr_inline>()  may return NULL (0)  if it cannot allocate a "
2438 "contiguous piece of a buffer.  Therefore the behavior may vary among stream "
2439 "instances; it exists for the sake of efficiency."
2440 msgstr ""
2441
2442 #. type: Plain text
2443 #: build/C/man3/xdr.3:196
2444 #, no-wrap
2445 msgid "B<bool_t xdr_int(XDR *>I<xdrs>B<, int *>I<ip>B<);>\n"
2446 msgstr ""
2447
2448 #. type: Plain text
2449 #: build/C/man3/xdr.3:201
2450 msgid ""
2451 "A filter primitive that translates between C integers and their external "
2452 "representations.  This routine returns one if it succeeds, zero otherwise."
2453 msgstr ""
2454
2455 #. type: Plain text
2456 #: build/C/man3/xdr.3:204
2457 #, no-wrap
2458 msgid "B<bool_t xdr_long(XDR *>I<xdrs>B<, long *>I<lp>B<);>\n"
2459 msgstr ""
2460
2461 #. type: Plain text
2462 #: build/C/man3/xdr.3:210
2463 msgid ""
2464 "A filter primitive that translates between C I<long> integers and their "
2465 "external representations.  This routine returns one if it succeeds, zero "
2466 "otherwise."
2467 msgstr ""
2468
2469 #. type: Plain text
2470 #: build/C/man3/xdr.3:214
2471 #, no-wrap
2472 msgid ""
2473 "B<void xdrmem_create(XDR *>I<xdrs>B<, char *>I<addr>B<, unsigned int "
2474 ">I<size>B<,>\n"
2475 "B<                   enum xdr_op >I<op>B<);>\n"
2476 msgstr ""
2477
2478 #. type: Plain text
2479 #: build/C/man3/xdr.3:231
2480 msgid ""
2481 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2482 "stream's data is written to, or read from, a chunk of memory at location "
2483 "I<addr> whose length is no more than I<size> bytes long.  The I<op> "
2484 "determines the direction of the XDR stream (either B<XDR_ENCODE>, "
2485 "B<XDR_DECODE>, or B<XDR_FREE>)."
2486 msgstr ""
2487
2488 #. type: Plain text
2489 #: build/C/man3/xdr.3:234
2490 #, no-wrap
2491 msgid ""
2492 "B<bool_t xdr_opaque(XDR *>I<xdrs>B<, char *>I<cp>B<, unsigned int "
2493 ">I<cnt>B<);>\n"
2494 msgstr ""
2495
2496 #. type: Plain text
2497 #: build/C/man3/xdr.3:244
2498 msgid ""
2499 "A filter primitive that translates between fixed size opaque data and its "
2500 "external representation.  The argument I<cp> is the address of the opaque "
2501 "object, and I<cnt> is its size in bytes.  This routine returns one if it "
2502 "succeeds, zero otherwise."
2503 msgstr ""
2504
2505 #. type: Plain text
2506 #: build/C/man3/xdr.3:248
2507 #, no-wrap
2508 msgid ""
2509 "B<bool_t xdr_pointer(XDR *>I<xdrs>B<, char **>I<objpp>B<,>\n"
2510 "B<                   unsigned int >I<objsize>B<, xdrproc_t >I<xdrobj>B<);>\n"
2511 msgstr ""
2512
2513 #. type: Plain text
2514 #: build/C/man3/xdr.3:260
2515 msgid ""
2516 "Like B<xdr_reference>()  except that it serializes NULL pointers, whereas "
2517 "B<xdr_reference>()  does not.  Thus, B<xdr_pointer>()  can represent "
2518 "recursive data structures, such as binary trees or linked lists."
2519 msgstr ""
2520
2521 #. type: Plain text
2522 #: build/C/man3/xdr.3:266
2523 #, no-wrap
2524 msgid ""
2525 "B<void xdrrec_create(XDR *>I<xdrs>B<, unsigned int >I<sendsize>B<,>\n"
2526 "B<                   unsigned int >I<recvsize>B<, char *>I<handle>B<,>\n"
2527 "B<                   int (*>I<readit>B<) (char *, char *, int),>\n"
2528 "B<                   int (*>I<writeit>B<) (char *, char *, int));>\n"
2529 msgstr ""
2530
2531 #. type: Plain text
2532 #: build/C/man3/xdr.3:293
2533 msgid ""
2534 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2535 "stream's data is written to a buffer of size I<sendsize>; a value of zero "
2536 "indicates the system should use a suitable default.  The stream's data is "
2537 "read from a buffer of size I<recvsize>; it too can be set to a suitable "
2538 "default by passing a zero value.  When a stream's output buffer is full, "
2539 "I<writeit> is called.  Similarly, when a stream's input buffer is empty, "
2540 "I<readit> is called.  The behavior of these two routines is similar to the "
2541 "system calls B<read>(2)  and B<write>(2), except that I<handle> is passed to "
2542 "the former routines as the first argument.  Note: the XDR stream's I<op> "
2543 "field must be set by the caller."
2544 msgstr ""
2545
2546 #. type: Plain text
2547 #: build/C/man3/xdr.3:297
2548 msgid ""
2549 "Warning: this XDR stream implements an intermediate record stream.  "
2550 "Therefore there are additional bytes in the stream to provide record "
2551 "boundary information."
2552 msgstr ""
2553
2554 #. type: Plain text
2555 #: build/C/man3/xdr.3:300
2556 #, no-wrap
2557 msgid "B<bool_t xdrrec_endofrecord(XDR *>I<xdrs>B<, int >I<sendnow>B<);>\n"
2558 msgstr ""
2559
2560 #. type: Plain text
2561 #: build/C/man3/xdr.3:309
2562 msgid ""
2563 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2564 "The data in the output buffer is marked as a completed record, and the "
2565 "output buffer is optionally written out if I<sendnow> is nonzero.  This "
2566 "routine returns one if it succeeds, zero otherwise."
2567 msgstr ""
2568
2569 #. type: Plain text
2570 #: build/C/man3/xdr.3:312
2571 #, no-wrap
2572 msgid "B<bool_t xdrrec_eof(XDR *>I<xdrs>B<);>\n"
2573 msgstr ""
2574
2575 #. type: Plain text
2576 #: build/C/man3/xdr.3:319
2577 msgid ""
2578 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2579 "After consuming the rest of the current record in the stream, this routine "
2580 "returns one if the stream has no more input, zero otherwise."
2581 msgstr ""
2582
2583 #. type: Plain text
2584 #: build/C/man3/xdr.3:322
2585 #, no-wrap
2586 msgid "B<bool_t xdrrec_skiprecord(XDR *>I<xdrs>B<);>\n"
2587 msgstr ""
2588
2589 #. type: Plain text
2590 #: build/C/man3/xdr.3:330
2591 msgid ""
2592 "This routine can be invoked only on streams created by B<xdrrec_create>().  "
2593 "It tells the XDR implementation that the rest of the current record in the "
2594 "stream's input buffer should be discarded.  This routine returns one if it "
2595 "succeeds, zero otherwise."
2596 msgstr ""
2597
2598 #. type: Plain text
2599 #: build/C/man3/xdr.3:334
2600 #, no-wrap
2601 msgid ""
2602 "B<bool_t xdr_reference(XDR *>I<xdrs>B<, char **>I<pp>B<, unsigned int "
2603 ">I<size>B<,>\n"
2604 "B<                     xdrproc_t >I<proc>B<);>\n"
2605 msgstr ""
2606
2607 #. type: Plain text
2608 #: build/C/man3/xdr.3:350
2609 msgid ""
2610 "A primitive that provides pointer chasing within structures.  The argument "
2611 "I<pp> is the address of the pointer; I<size> is the I<sizeof> the structure "
2612 "that I<*pp> points to; and I<proc> is an XDR procedure that filters the "
2613 "structure between its C form and its external representation.  This routine "
2614 "returns one if it succeeds, zero otherwise."
2615 msgstr ""
2616
2617 #. type: Plain text
2618 #: build/C/man3/xdr.3:355
2619 msgid ""
2620 "Warning: this routine does not understand NULL pointers.  Use "
2621 "B<xdr_pointer>()  instead."
2622 msgstr ""
2623
2624 #. type: Plain text
2625 #: build/C/man3/xdr.3:358
2626 #, no-wrap
2627 msgid "B<xdr_setpos(XDR *>I<xdrs>B<, unsigned int >I<pos>B<);>\n"
2628 msgstr ""
2629
2630 #. type: Plain text
2631 #: build/C/man3/xdr.3:369
2632 msgid ""
2633 "A macro that invokes the set position routine associated with the XDR stream "
2634 "I<xdrs>.  The argument I<pos> is a position value obtained from "
2635 "B<xdr_getpos>().  This routine returns one if the XDR stream could be "
2636 "repositioned, and zero otherwise."
2637 msgstr ""
2638
2639 #. type: Plain text
2640 #: build/C/man3/xdr.3:373
2641 msgid ""
2642 "Warning: it is difficult to reposition some types of XDR streams, so this "
2643 "routine may fail with one type of stream and succeed with another."
2644 msgstr ""
2645
2646 #. type: Plain text
2647 #: build/C/man3/xdr.3:376
2648 #, no-wrap
2649 msgid "B<bool_t xdr_short(XDR *>I<xdrs>B<, short *>I<sp>B<);>\n"
2650 msgstr ""
2651
2652 #. type: Plain text
2653 #: build/C/man3/xdr.3:382
2654 msgid ""
2655 "A filter primitive that translates between C I<short> integers and their "
2656 "external representations.  This routine returns one if it succeeds, zero "
2657 "otherwise."
2658 msgstr ""
2659
2660 #. type: Plain text
2661 #: build/C/man3/xdr.3:385
2662 #, no-wrap
2663 msgid ""
2664 "B<void xdrstdio_create(XDR *>I<xdrs>B<, FILE *>I<file>B<, enum xdr_op "
2665 ">I<op>B<);>\n"
2666 msgstr ""
2667
2668 #. type: Plain text
2669 #: build/C/man3/xdr.3:400
2670 msgid ""
2671 "This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
2672 "XDR stream data is written to, or read from, the I<stdio> stream I<file>.  "
2673 "The argument I<op> determines the direction of the XDR stream (either "
2674 "B<XDR_ENCODE>, B<XDR_DECODE>, or B<XDR_FREE>)."
2675 msgstr ""
2676
2677 #. type: Plain text
2678 #: build/C/man3/xdr.3:407
2679 msgid ""
2680 "Warning: the destroy routine associated with such XDR streams calls "
2681 "B<fflush>(3)  on the I<file> stream, but never B<fclose>(3)."
2682 msgstr ""
2683
2684 #. type: Plain text
2685 #: build/C/man3/xdr.3:410
2686 #, no-wrap
2687 msgid ""
2688 "B<bool_t xdr_string(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
2689 ">I<maxsize>B<);>\n"
2690 msgstr ""
2691
2692 #. type: Plain text
2693 #: build/C/man3/xdr.3:420
2694 msgid ""
2695 "A filter primitive that translates between C strings and their corresponding "
2696 "external representations.  Strings cannot be longer than I<maxsize>.  Note: "
2697 "I<sp> is the address of the string's pointer.  This routine returns one if "
2698 "it succeeds, zero otherwise."
2699 msgstr ""
2700
2701 #. type: Plain text
2702 #: build/C/man3/xdr.3:423
2703 #, no-wrap
2704 msgid "B<bool_t xdr_u_char(XDR *>I<xdrs>B<, unsigned char *>I<ucp>B<);>\n"
2705 msgstr ""
2706
2707 #. type: Plain text
2708 #: build/C/man3/xdr.3:429
2709 msgid ""
2710 "A filter primitive that translates between I<unsigned> C characters and "
2711 "their external representations.  This routine returns one if it succeeds, "
2712 "zero otherwise."
2713 msgstr ""
2714
2715 #. type: Plain text
2716 #: build/C/man3/xdr.3:432
2717 #, no-wrap
2718 msgid "B<bool_t xdr_u_int(XDR *>I<xdrs>B<, unsigned *>I<up>B<);>\n"
2719 msgstr ""
2720
2721 #. type: Plain text
2722 #: build/C/man3/xdr.3:438
2723 msgid ""
2724 "A filter primitive that translates between C I<unsigned> integers and their "
2725 "external representations.  This routine returns one if it succeeds, zero "
2726 "otherwise."
2727 msgstr ""
2728
2729 #. type: Plain text
2730 #: build/C/man3/xdr.3:441
2731 #, no-wrap
2732 msgid "B<bool_t xdr_u_long(XDR *>I<xdrs>B<, unsigned long *>I<ulp>B<);>\n"
2733 msgstr ""
2734
2735 #. type: Plain text
2736 #: build/C/man3/xdr.3:447
2737 msgid ""
2738 "A filter primitive that translates between C I<unsigned long> integers and "
2739 "their external representations.  This routine returns one if it succeeds, "
2740 "zero otherwise."
2741 msgstr ""
2742
2743 #. type: Plain text
2744 #: build/C/man3/xdr.3:450
2745 #, no-wrap
2746 msgid "B<bool_t xdr_u_short(XDR *>I<xdrs>B<, unsigned short *>I<usp>B<);>\n"
2747 msgstr ""
2748
2749 #. type: Plain text
2750 #: build/C/man3/xdr.3:456
2751 msgid ""
2752 "A filter primitive that translates between C I<unsigned short> integers and "
2753 "their external representations.  This routine returns one if it succeeds, "
2754 "zero otherwise."
2755 msgstr ""
2756
2757 #. type: Plain text
2758 #: build/C/man3/xdr.3:461
2759 #, no-wrap
2760 msgid ""
2761 "B<bool_t xdr_union(XDR *>I<xdrs>B<, int *>I<dscmp>B<, char *>I<unp>B<,>\n"
2762 "B<                 struct xdr_discrim *>I<choices>B<,>\n"
2763 "B<                 xdrproc_t >I<defaultarm>B<);     /* may equal NULL */>\n"
2764 msgstr ""
2765
2766 #. type: Plain text
2767 #: build/C/man3/xdr.3:495
2768 msgid ""
2769 "A filter primitive that translates between a discriminated C I<union> and "
2770 "its corresponding external representation.  It first translates the "
2771 "discriminant of the union located at I<dscmp>.  This discriminant is always "
2772 "an I<enum_t>.  Next the union located at I<unp> is translated.  The argument "
2773 "I<choices> is a pointer to an array of B<xdr_discrim>()  structures.  Each "
2774 "structure contains an ordered pair of [I<value>,I<proc>].  If the union's "
2775 "discriminant is equal to the associated I<value>, then the I<proc> is called "
2776 "to translate the union.  The end of the B<xdr_discrim>()  structure array is "
2777 "denoted by a routine of value NULL.  If the discriminant is not found in the "
2778 "I<choices> array, then the I<defaultarm> procedure is called (if it is not "
2779 "NULL).  Returns one if it succeeds, zero otherwise."
2780 msgstr ""
2781
2782 #. type: Plain text
2783 #: build/C/man3/xdr.3:499
2784 #, no-wrap
2785 msgid ""
2786 "B<bool_t xdr_vector(XDR *>I<xdrs>B<, char *>I<arrp>B<, unsigned int "
2787 ">I<size>B<,>\n"
2788 "B<                  unsigned int >I<elsize>B<, xdrproc_t >I<elproc>B<);>\n"
2789 msgstr ""
2790
2791 #. type: Plain text
2792 #: build/C/man3/xdr.3:518
2793 msgid ""
2794 "A filter primitive that translates between fixed-length arrays and their "
2795 "corresponding external representations.  The argument I<arrp> is the address "
2796 "of the pointer to the array, while I<size> is the element count of the "
2797 "array.  The argument I<elsize> is the I<sizeof> each of the array's "
2798 "elements, and I<elproc> is an XDR filter that translates between the array "
2799 "elements' C form, and their external representation.  This routine returns "
2800 "one if it succeeds, zero otherwise."
2801 msgstr ""
2802
2803 #. type: Plain text
2804 #: build/C/man3/xdr.3:521
2805 #, no-wrap
2806 msgid "B<bool_t xdr_void(void);>\n"
2807 msgstr ""
2808
2809 #. type: Plain text
2810 #: build/C/man3/xdr.3:526
2811 msgid ""
2812 "This routine always returns one.  It may be passed to RPC routines that "
2813 "require a function argument, where nothing is to be done."
2814 msgstr ""
2815
2816 #. type: Plain text
2817 #: build/C/man3/xdr.3:529
2818 #, no-wrap
2819 msgid "B<bool_t xdr_wrapstring(XDR *>I<xdrs>B<, char **>I<sp>B<);>\n"
2820 msgstr ""
2821
2822 #. type: Plain text
2823 #: build/C/man3/xdr.3:542
2824 msgid ""
2825 "A primitive that calls B<xdr_string(xdrs, sp,MAXUN.UNSIGNED );> where "
2826 "B<MAXUN.UNSIGNED> is the maximum value of an unsigned integer.  "
2827 "B<xdr_wrapstring>()  is handy because the RPC package passes a maximum of "
2828 "two XDR routines as arguments, and B<xdr_string>(), one of the most "
2829 "frequently used primitives, requires three.  Returns one if it succeeds, "
2830 "zero otherwise."
2831 msgstr ""
2832
2833 #. type: Plain text
2834 #: build/C/man3/xdr.3:544
2835 msgid "B<rpc>(3)"
2836 msgstr ""
2837
2838 #. type: Plain text
2839 #: build/C/man3/xdr.3:548
2840 msgid "eXternal Data Representation Standard: Protocol Specification"
2841 msgstr ""
2842
2843 #. type: Plain text
2844 #: build/C/man3/xdr.3:550
2845 msgid "eXternal Data Representation: Sun Technical Notes"
2846 msgstr ""
2847
2848 #. type: Plain text
2849 #: build/C/man3/xdr.3:554
2850 msgid ""
2851 "I<XDR: External Data Representation Standard>, RFC\\ 1014, Sun Microsystems, "
2852 "Inc., USC-ISI."
2853 msgstr ""