# SOME DESCRIPTIVE TITLE
# Copyright (C) YEAR Free Software Foundation, Inc.
# This file is distributed under the same license as the PACKAGE package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
#
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"POT-Creation-Date: 2012-05-01 04:39+0900\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
"Language: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=CHARSET\n"
"Content-Transfer-Encoding: 8bit\n"

#. type: TH
#: build/C/man3/getrpcent.3:4
#, no-wrap
msgid "GETRPCENT"
msgstr ""

#. type: TH
#: build/C/man3/getrpcent.3:4
#, no-wrap
msgid "2008-08-19"
msgstr ""

#. type: TH
#: build/C/man3/getrpcent.3:4 build/C/man3/getrpcent_r.3:24 build/C/man3/getrpcport.3:4 build/C/man3/key_setsecret.3:5 build/C/man3/rpc.3:7 build/C/man5/rpc.5:4 build/C/man3/rtime.3:8 build/C/man3/xdr.3:7
#, no-wrap
msgid "Linux Programmer's Manual"
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:5 build/C/man3/getrpcent_r.3:25 build/C/man3/getrpcport.3:5 build/C/man3/key_setsecret.3:6 build/C/man3/rpc.3:8 build/C/man5/rpc.5:5 build/C/man3/rtime.3:9 build/C/man3/xdr.3:8
#, no-wrap
msgid "NAME"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:8
msgid ""
"getrpcent, getrpcbyname, getrpcbynumber, setrpcent, endrpcent - get RPC "
"entry"
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:8 build/C/man3/getrpcent_r.3:28 build/C/man3/getrpcport.3:7 build/C/man3/key_setsecret.3:9 build/C/man5/rpc.5:7 build/C/man3/rtime.3:11
#, no-wrap
msgid "SYNOPSIS"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:11 build/C/man3/getrpcent_r.3:31
#, no-wrap
msgid "B<#include E<lt>netdb.hE<gt>>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:13
#, no-wrap
msgid "B<struct rpcent *getrpcent(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:15
#, no-wrap
msgid "B<struct rpcent *getrpcbyname(char *>I<name>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:17
#, no-wrap
msgid "B<struct rpcent *getrpcbynumber(int >I<number>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:19
#, no-wrap
msgid "B<void setrpcent(int >I<stayopen>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:21
#, no-wrap
msgid "B<void endrpcent(void);>\n"
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:22 build/C/man3/getrpcent_r.3:57 build/C/man3/getrpcport.3:12 build/C/man3/key_setsecret.3:23 build/C/man5/rpc.5:9 build/C/man3/rtime.3:18
#, no-wrap
msgid "DESCRIPTION"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:31
msgid ""
"B<getrpcent>(), B<getrpcbyname>(), and B<getrpcbynumber>()  each return a "
"pointer to an object with the following structure containing the broken-out "
"fields of an entry in the RPC program number data base."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:39
#, no-wrap
msgid ""
"struct rpcent {\n"
"    char  *r_name;     /* name of server for this RPC program */\n"
"    char **r_aliases;  /* alias list */\n"
"    long   r_number;   /* RPC program number */\n"
"};\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:43
msgid "The members of this structure are:"
msgstr ""

#. type: TP
#: build/C/man3/getrpcent.3:44
#, no-wrap
msgid "I<r_name>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:47
msgid "The name of the server for this RPC program."
msgstr ""

#. type: TP
#: build/C/man3/getrpcent.3:47
#, no-wrap
msgid "I<r_aliases>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:50
msgid "A NULL-terminated list of alternate names for the RPC program."
msgstr ""

#. type: TP
#: build/C/man3/getrpcent.3:50
#, no-wrap
msgid "I<r_number>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:53
msgid "The RPC program number for this service."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:58
msgid ""
"B<getrpcent>()  reads the next entry from the database.  A connection is "
"opened to the database if necessary."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:67
msgid ""
"B<setrpcent>()  function opens a connection to the database, and sets the "
"next entry to the first entry.  If I<stayopen> is nonzero, then the "
"connection to the database will not be closed between calls to one of the "
"B<getrpc*>()  functions."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:71
msgid "The B<endrpcent>()  function closes the connection to the database."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:78
msgid ""
"B<getrpcbyname>()  and B<getrpcbynumber>()  sequentially search from the "
"beginning of the file until a matching RPC program name or program number is "
"found, or until end-of-file is encountered."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:78 build/C/man3/getrpcent_r.3:105 build/C/man3/key_setsecret.3:55 build/C/man3/rtime.3:32
#, no-wrap
msgid "RETURN VALUE"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:88
msgid ""
"On success, B<getrpcent>(), B<getrpcbyname>(), and B<getrpcbynumber>()  "
"return a pointer to a statically allocated I<rpcent> structure.  A NULL "
"pointer is returned on EOF or error."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:88 build/C/man5/rpc.5:71
#, no-wrap
msgid "FILES"
msgstr ""

#. type: TP
#: build/C/man3/getrpcent.3:89 build/C/man5/rpc.5:72
#, no-wrap
msgid "I</etc/rpc>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:92
msgid "RPC program number database."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:92 build/C/man3/getrpcent_r.3:128 build/C/man3/getrpcport.3:32
#, no-wrap
msgid "CONFORMING TO"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:95 build/C/man3/getrpcport.3:35
msgid "Not in POSIX.1-2001.  Present on the BSDs, Solaris, and many other systems."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:95 build/C/man3/rtime.3:71
#, no-wrap
msgid "BUGS"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:100
msgid ""
"All information is contained in a static area so it must be copied if it is "
"to be saved."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:100 build/C/man3/getrpcent_r.3:132 build/C/man3/key_setsecret.3:64 build/C/man3/rpc.3:1098 build/C/man5/rpc.5:75 build/C/man3/rtime.3:120 build/C/man3/xdr.3:538
#, no-wrap
msgid "SEE ALSO"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:105
msgid "B<getrpcent_r>(3), B<rpc>(5), B<rpcinfo>(8), B<ypserv>(8)"
msgstr ""

#. type: SH
#: build/C/man3/getrpcent.3:105 build/C/man3/getrpcent_r.3:135 build/C/man3/getrpcport.3:35 build/C/man3/key_setsecret.3:66 build/C/man3/rpc.3:1115 build/C/man5/rpc.5:77 build/C/man3/rtime.3:125 build/C/man3/xdr.3:551
#, no-wrap
msgid "COLOPHON"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent.3:112 build/C/man3/getrpcent_r.3:142 build/C/man3/getrpcport.3:42 build/C/man3/key_setsecret.3:73 build/C/man3/rpc.3:1122 build/C/man5/rpc.5:84 build/C/man3/rtime.3:132 build/C/man3/xdr.3:558
msgid ""
"This page is part of release 3.40 of the Linux I<man-pages> project.  A "
"description of the project, and information about reporting bugs, can be "
"found at http://www.kernel.org/doc/man-pages/."
msgstr ""

#. type: TH
#: build/C/man3/getrpcent_r.3:24
#, no-wrap
msgid "GETRPCENT_R"
msgstr ""

#. type: TH
#: build/C/man3/getrpcent_r.3:24
#, no-wrap
msgid "2010-09-10"
msgstr ""

#. type: TH
#: build/C/man3/getrpcent_r.3:24 build/C/man3/rtime.3:8
#, no-wrap
msgid "GNU"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:28
msgid "getrpcent_r, getrpcbyname_r, getrpcbynumber_r - get RPC entry (reentrant)"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:34
#, no-wrap
msgid ""
"B<int getrpcent_r(struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
"B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:38
#, no-wrap
msgid ""
"B<int getrpcbyname_r(const char *>I<name>B<,>\n"
"B<                struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
"B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:42
#, no-wrap
msgid ""
"B<int getrpcbynumber_r(int >I<number>B<,>\n"
"B<                struct rpcent *>I<result_buf>B<, char *>I<buf>B<,>\n"
"B<                size_t >I<buflen>B<, struct rpcent **>I<result>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:47
msgid "Feature Test Macro Requirements for glibc (see B<feature_test_macros>(7)):"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:53
msgid "B<getrpcent_r>(), B<getrpcbyname_r>(), B<getrpcbynumber_r>():"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:55
msgid "_BSD_SOURCE || _SVID_SOURCE"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:74
msgid ""
"The B<getrpcent_r>(), B<getrpcbyname_r>(), and B<getrpcbynumber_r>()  "
"functions are the reentrant equivalents of, respectively, B<getrpcent>(3), "
"B<getrpcbyname>(3), and B<getrpcbynumber>(3).  They differ in the way that "
"the I<rpcent> structure is returned, and in the function calling signature "
"and return value.  This manual page describes just the differences from the "
"nonreentrant functions."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:80
msgid ""
"Instead of returning a pointer to a statically allocated I<rpcent> structure "
"as the function result, these functions copy the structure into the location "
"pointed to by I<result_buf>."
msgstr ""

#.  I can find no information on the required/recommended buffer size;
#.  the nonreentrant functions use a 1024 byte buffer -- mtk.
#. type: Plain text
#: build/C/man3/getrpcent_r.3:97
msgid ""
"The I<buf> array is used to store the string fields pointed to by the "
"returned I<rpcent> structure.  (The nonreentrant functions allocate these "
"strings in static storage.)  The size of this array is specified in "
"I<buflen>.  If I<buf> is too small, the call fails with the error B<ERANGE>, "
"and the caller must try again with a larger buffer.  (A buffer of length "
"1024 bytes should be sufficient for most applications.)"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:105
msgid ""
"If the function call successfully obtains an RPC record, then I<*result> is "
"set pointing to I<result_buf>; otherwise, I<*result> is set to NULL."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:108
msgid ""
"On success, these functions return 0.  On error, they return one of the "
"positive error numbers listed in ERRORS."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:116
msgid ""
"On error, record not found (B<getrpcbyname_r>(), B<getrpcbynumber_r>()), or "
"end of input (B<getrpcent_r>())  I<result> is set to NULL."
msgstr ""

#. type: SH
#: build/C/man3/getrpcent_r.3:116 build/C/man3/rtime.3:38
#, no-wrap
msgid "ERRORS"
msgstr ""

#. type: TP
#: build/C/man3/getrpcent_r.3:117
#, no-wrap
msgid "B<ENOENT>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:121
msgid "(B<getrpcent_r>())  No more records in database."
msgstr ""

#. type: TP
#: build/C/man3/getrpcent_r.3:121
#, no-wrap
msgid "B<ERANGE>"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:128
msgid ""
"I<buf> is too small.  Try again with a larger buffer (and increased "
"I<buflen>)."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:132
msgid ""
"These functions are GNU extensions.  Functions with similar names exist on "
"some other systems, though typically with different calling signatures."
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcent_r.3:135
msgid "B<getrpcent>(3), B<rpc>(5)"
msgstr ""

#. type: TH
#: build/C/man3/getrpcport.3:4
#, no-wrap
msgid "GETRPCPORT"
msgstr ""

#. type: TH
#: build/C/man3/getrpcport.3:4
#, no-wrap
msgid "2007-12-23"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcport.3:7
msgid "getrpcport - get RPC port number"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcport.3:11
#, no-wrap
msgid ""
"B<int getrpcport(char *>I<host>B<, int >I<prognum>B<, int >I<versnum>B<, int "
">I<proto>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/getrpcport.3:32
msgid ""
"B<getrpcport>()  returns the port number for version I<versnum> of the RPC "
"program I<prognum> running on I<host> and using protocol I<proto>.  It "
"returns 0 if it cannot contact the portmapper, or if I<prognum> is not "
"registered.  If I<prognum> is registered but not with version I<versnum>, it "
"will still return a port number (for some version of the program)  "
"indicating that the program is indeed registered.  The version mismatch will "
"be detected upon the first call to the service."
msgstr ""

#. type: TH
#: build/C/man3/key_setsecret.3:5
#, no-wrap
msgid "KEY_SETSECRET"
msgstr ""

#. type: TH
#: build/C/man3/key_setsecret.3:5
#, no-wrap
msgid "2002-07-18"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:9
msgid ""
"key_decryptsession, key_encryptsession, key_setsecret, key_gendes, "
"key_secretkey_is_set - interfaces to rpc keyserver daemon"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:11
msgid "B<#include E<lt>rpc/rpc.hE<gt>>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:14
msgid ""
"B<int key_decryptsession(const char *>I<remotename>B<,> B<des_block "
"*>I<deskey>B<);>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:17
msgid ""
"B<int key_encryptsession(const char *>I<remotename>B<,> B<des_block "
"*>I<deskey>B<);>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:19
msgid "B<int key_gendes(des_block *>I<deskey>B<);>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:21
msgid "B<int key_setsecret(const char *>I<key>B<);>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:23
msgid "B<int key_secretkey_is_set(void);>"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:28
msgid ""
"The functions here are used within the RPC's secure authentication mechanism "
"(AUTH_DES).  There should be no need for user programs to use this "
"functions."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:35
msgid ""
"The function B<key_decryptsession>()  uses the (remote) server netname and "
"takes the DES key for decrypting.  It uses the public key of the server and "
"the secret key associated with the effective UID of the calling process."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:42
msgid ""
"The function B<key_encryptsession>()  is the inverse of "
"B<key_decryptsession>().  It encrypts the DES keys with the public key of "
"the server and the secret key associated with the effective UID of the "
"calling process."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:46
msgid ""
"The function B<key_gendes>()  is used to ask the keyserver for a secure "
"conversation key."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:50
msgid ""
"The function B<key_setsecret>()  is used to set the key for the effective "
"UID of the calling process."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:55
msgid ""
"The function B<key_secretkey_is_set>()  can be used to determine whether a "
"key has been set for the effective UID of the calling process."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:57
msgid "These functions return 1 on success and 0 on failure."
msgstr ""

#. type: SH
#: build/C/man3/key_setsecret.3:57 build/C/man3/rtime.3:53
#, no-wrap
msgid "NOTES"
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:62
msgid ""
"Note that we talk about two types of encryption here.  One is asymmetric "
"using a public and secret key.  The other is symmetric, the 64-bit DES."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:64
msgid "These routines were part of the Linux/Doors-project, abandoned by now."
msgstr ""

#. type: Plain text
#: build/C/man3/key_setsecret.3:66
msgid "B<crypt>(3)"
msgstr ""

#. type: TH
#: build/C/man3/rpc.3:7 build/C/man5/rpc.5:4
#, no-wrap
msgid "RPC"
msgstr ""

#. type: TH
#: build/C/man3/rpc.3:7
#, no-wrap
msgid "2008-07-17"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:10
msgid "rpc - library routines for remote procedure calls"
msgstr ""

#. type: SH
#: build/C/man3/rpc.3:10 build/C/man3/xdr.3:10
#, no-wrap
msgid "SYNOPSIS AND DESCRIPTION"
msgstr ""

#.  .LP
#.  We don't have an rpc_secure.3 page at the moment -- MTK, 19 Sep 05
#.  Routines that are used for Secure RPC (DES authentication) are described in
#.  .BR rpc_secure (3).
#.  Secure RPC can be used only if DES encryption is available.
#. type: Plain text
#: build/C/man3/rpc.3:22
msgid ""
"These routines allow C programs to make procedure calls on other machines "
"across the network.  First, the client calls a procedure to send a data "
"packet to the server.  Upon receipt of the packet, the server calls a "
"dispatch routine to perform the requested service, and then sends back a "
"reply.  Finally, the procedure call returns to the client."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:25
msgid ""
"To take use of these routines, include the header file "
"I<E<lt>rpc/rpc.hE<gt>>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:27
msgid "The prototypes below make use of the following types:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:31 build/C/man3/xdr.3:24
#, no-wrap
msgid "typedef int I<bool_t>;\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:33 build/C/man3/xdr.3:26
#, no-wrap
msgid "typedef bool_t (*I<xdrproc_t>) (XDR *, void *,...);\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:36
#, no-wrap
msgid ""
"typedef bool_t (*I<resultproc_t>) (caddr_t resp,\n"
"                                struct sockaddr_in *raddr);\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:46
msgid ""
"See the header files for the declarations of the I<AUTH>, I<CLIENT>, "
"I<SVCXPRT>, and I<XDR> types."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:49
#, no-wrap
msgid "B<void auth_destroy(AUTH *>I<auth>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:58
msgid ""
"A macro that destroys the authentication information associated with "
"I<auth>.  Destruction usually involves deallocation of private data "
"structures.  The use of I<auth> is undefined after calling "
"B<auth_destroy>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:61
#, no-wrap
msgid "B<AUTH *authnone_create(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:67
msgid ""
"Create and return an RPC authentication handle that passes nonusable "
"authentication information with each remote procedure call.  This is the "
"default authentication used by RPC."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:71
#, no-wrap
msgid ""
"B<AUTH *authunix_create(char *>I<host>B<, int >I<uid>B<, int >I<gid>B<,>\n"
"B<                      int >I<len>B<, int *>I<aup_gids>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:87
msgid ""
"Create and return an RPC authentication handle that contains authentication "
"information.  The parameter I<host> is the name of the machine on which the "
"information was created; I<uid> is the user's user ID; I<gid> is the user's "
"current group ID; I<len> and I<aup_gids> refer to a counted array of groups "
"to which the user belongs.  It is easy to impersonate a user."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:90
#, no-wrap
msgid "B<AUTH *authunix_create_default(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:95
msgid "Calls B<authunix_create>()  with the appropriate parameters."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:101
#, no-wrap
msgid ""
"B<int callrpc(char *>I<host>B<, unsigned long >I<prognum>B<,>\n"
"B<            unsigned long >I<versnum>B<, unsigned long >I<procnum>B<,>\n"
"B<            xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
"B<            xdrproc_t >I<outproc>B<, char *>I<out>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:125
msgid ""
"Call the remote procedure associated with I<prognum>, I<versnum>, and "
"I<procnum> on the machine, I<host>.  The parameter I<in> is the address of "
"the procedure's argument(s), and I<out> is the address of where to place the "
"result(s); I<inproc> is used to encode the procedure's parameters, and "
"I<outproc> is used to decode the procedure's results.  This routine returns "
"zero if it succeeds, or the value of B<enum clnt_stat> cast to an integer if "
"it fails.  The routine B<clnt_perrno>()  is handy for translating failure "
"statuses into messages."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:131
msgid ""
"Warning: calling remote procedures with this routine uses UDP/IP as a "
"transport; see B<clntudp_create>()  for restrictions.  You do not have "
"control of timeouts or authentication using this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:138
#, no-wrap
msgid ""
"B<enum clnt_stat clnt_broadcast(unsigned long >I<prognum>B<,>\n"
"B<                     unsigned long >I<versnum>B<, unsigned long "
">I<procnum>B<,>\n"
"B<                     xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
"B<                     xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
"B<                     resultproc_t >I<eachresult>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:147
msgid ""
"Like B<callrpc>(), except the call message is broadcast to all locally "
"connected broadcast nets.  Each time it receives a response, this routine "
"calls B<eachresult>(), whose form is:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:151
#, no-wrap
msgid "B<eachresult(char *>I<out>B<, struct sockaddr_in *>I<addr>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:168
msgid ""
"where I<out> is the same as I<out> passed to B<clnt_broadcast>(), except "
"that the remote procedure's output is decoded there; I<addr> points to the "
"address of the machine that sent the results.  If B<eachresult>()  returns "
"zero, B<clnt_broadcast>()  waits for more replies; otherwise it returns with "
"appropriate status."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:172
msgid ""
"Warning: broadcast sockets are limited in size to the maximum transfer unit "
"of the data link.  For ethernet, this value is 1500 bytes."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:178
#, no-wrap
msgid ""
"B<enum clnt_stat clnt_call(CLIENT *>I<clnt>B<, unsigned long "
">I<procnum>B<,>\n"
"B<                    xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
"B<                    xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
"B<                    struct timeval >I<tout>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:197
msgid ""
"A macro that calls the remote procedure I<procnum> associated with the "
"client handle, I<clnt>, which is obtained with an RPC client creation "
"routine such as B<clnt_create>().  The parameter I<in> is the address of the "
"procedure's argument(s), and I<out> is the address of where to place the "
"result(s); I<inproc> is used to encode the procedure's parameters, and "
"I<outproc> is used to decode the procedure's results; I<tout> is the time "
"allowed for results to come back."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:200
#, no-wrap
msgid "B<clnt_destroy(CLIENT *>I<clnt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:213
msgid ""
"A macro that destroys the client's RPC handle.  Destruction usually involves "
"deallocation of private data structures, including I<clnt> itself.  Use of "
"I<clnt> is undefined after calling B<clnt_destroy>().  If the RPC library "
"opened the associated socket, it will close it also.  Otherwise, the socket "
"remains open."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:217
#, no-wrap
msgid ""
"B<CLIENT *clnt_create(char *>I<host>B<, unsigned long >I<prog>B<,>\n"
"B<                    unsigned long >I<vers>B<, char *>I<proto>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:228
msgid ""
"Generic client creation routine.  I<host> identifies the name of the remote "
"host where the server is located.  I<proto> indicates which kind of "
"transport protocol to use.  The currently supported values for this field "
"are \\(lqudp\\(rq and \\(lqtcp\\(rq.  Default timeouts are set, but can be "
"modified using B<clnt_control>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:233
msgid ""
"Warning: Using UDP has its shortcomings.  Since UDP-based RPC messages can "
"only hold up to 8 Kbytes of encoded data, this transport cannot be used for "
"procedures that take large arguments or return huge results."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:236
#, no-wrap
msgid "B<bool_t clnt_control(CLIENT *>I<cl>B<, int >I<req>B<, char *>I<info>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:247
msgid ""
"A macro used to change or retrieve various information about a client "
"object.  I<req> indicates the type of operation, and I<info> is a pointer to "
"the information.  For both UDP and TCP, the supported values of I<req> and "
"their argument types and what they do are:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:252
#, no-wrap
msgid ""
"B<CLSET_TIMEOUT>  I<struct timeval> // set total timeout\n"
"B<CLGET_TIMEOUT>  I<struct timeval> // get total timeout\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:260
msgid ""
"Note: if you set the timeout using B<clnt_control>(), the timeout parameter "
"passed to B<clnt_call>()  will be ignored in all future calls."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:264
#, no-wrap
msgid "B<CLGET_SERVER_ADDR>  I<struct sockaddr_in > // get server's address\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:268
msgid "The following operations are valid for UDP only:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:273
#, no-wrap
msgid ""
"B<CLSET_RETRY_TIMEOUT>  I<struct timeval> // set the retry timeout\n"
"B<CLGET_RETRY_TIMEOUT>  I<struct timeval> // get the retry timeout\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:279
msgid ""
"The retry timeout is the time that \"UDP RPC\" waits for the server to reply "
"before retransmitting the request."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:282
#, no-wrap
msgid ""
"B<clnt_freeres(CLIENT * >I<clnt>B<, xdrproc_t >I<outproc>B<, char "
"*>I<out>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:293
msgid ""
"A macro that frees any data allocated by the RPC/XDR system when it decoded "
"the results of an RPC call.  The parameter I<out> is the address of the "
"results, and I<outproc> is the XDR routine describing the results.  This "
"routine returns one if the results were successfully freed, and zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:296
#, no-wrap
msgid "B<void clnt_geterr(CLIENT *>I<clnt>B<, struct rpc_err *>I<errp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:301
msgid ""
"A macro that copies the error structure out of the client handle to the "
"structure at address I<errp>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:304
#, no-wrap
msgid "B<void clnt_pcreateerror(char *>I<s>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:318
msgid ""
"Print a message to standard error indicating why a client RPC handle could "
"not be created.  The message is prepended with string I<s> and a colon.  "
"Used when a B<clnt_create>(), B<clntraw_create>(), B<clnttcp_create>(), or "
"B<clntudp_create>()  call fails."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:321
#, no-wrap
msgid "B<void clnt_perrno(enum clnt_stat >I<stat>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:328
msgid ""
"Print a message to standard error corresponding to the condition indicated "
"by I<stat>.  Used after B<callrpc>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:331
#, no-wrap
msgid "B<clnt_perror(CLIENT *>I<clnt>B<, char *>I<s>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:341
msgid ""
"Print a message to standard error indicating why an RPC call failed; I<clnt> "
"is the handle used to do the call.  The message is prepended with string "
"I<s> and a colon.  Used after B<clnt_call>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:344
#, no-wrap
msgid "B<char *clnt_spcreateerror(char *>I<s>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:349
msgid ""
"Like B<clnt_pcreateerror>(), except that it returns a string instead of "
"printing to the standard error."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:351 build/C/man3/rpc.3:391
msgid "Bugs: returns pointer to static data that is overwritten on each call."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:354
#, no-wrap
msgid "B<char *clnt_sperrno(enum clnt_stat >I<stat>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:361
msgid ""
"Take the same arguments as B<clnt_perrno>(), but instead of sending a "
"message to the standard error indicating why an RPC call failed, return a "
"pointer to a string which contains the message.  The string ends with a "
"NEWLINE."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:379
msgid ""
"B<clnt_sperrno>()  is used instead of B<clnt_perrno>()  if the program does "
"not have a standard error (as a program running as a server quite likely "
"does not), or if the programmer does not want the message to be output with "
"B<printf>(3), or if a message format different than that supported by "
"B<clnt_perrno>()  is to be used.  Note: unlike B<clnt_sperror>()  and "
"B<clnt_spcreaterror>(), B<clnt_sperrno>()  returns pointer to static data, "
"but the result will not get overwritten on each call."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:382
#, no-wrap
msgid "B<char *clnt_sperror(CLIENT *>I<rpch>B<, char *>I<s>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:389
msgid ""
"Like B<clnt_perror>(), except that (like B<clnt_sperrno>())  it returns a "
"string instead of printing to standard error."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:395
#, no-wrap
msgid ""
"B<CLIENT *clntraw_create(unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:408
msgid ""
"This routine creates a toy RPC client for the remote program I<prognum>, "
"version I<versnum>.  The transport used to pass messages to the service is "
"actually a buffer within the process's address space, so the corresponding "
"RPC server should live in the same address space; see B<svcraw_create>().  "
"This allows simulation of RPC and acquisition of RPC overheads, such as "
"round trip times, without any kernel interference.  This routine returns "
"NULL if it fails."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:414
#, no-wrap
msgid ""
"B<CLIENT *clnttcp_create(struct sockaddr_in *>I<addr>B<,>\n"
"B<                unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                int *>I<sockp>B<, unsigned int >I<sendsz>B<, unsigned int "
">I<recvsz>B<);>\n"
msgstr ""

#. The following inline font conversion is necessary for the hyphen indicator
#. type: Plain text
#: build/C/man3/rpc.3:444
msgid ""
"This routine creates an RPC client for the remote program I<prognum>, "
"version I<versnum>; the client uses TCP/IP as a transport.  The remote "
"program is located at Internet address I<*addr>.  If I<addr-E<gt>sin_port> "
"is zero, then it is set to the actual port that the remote program is "
"listening on (the remote B<portmap> service is consulted for this "
"information).  The parameter I<sockp> is a socket; if it is B<RPC_ANYSOCK>, "
"then this routine opens a new one and sets I<sockp>.  Since TCP-based RPC "
"uses buffered I/O, the user may specify the size of the send and receive "
"buffers with the parameters I<sendsz> and I<recvsz>; values of zero choose "
"suitable defaults.  This routine returns NULL if it fails."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:449
#, no-wrap
msgid ""
"B<CLIENT *clntudp_create(struct sockaddr_in *>I<addr>B<,>\n"
"B<                unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                struct timeval >I<wait>B<, int *>I<sockp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:475
msgid ""
"This routine creates an RPC client for the remote program I<prognum>, "
"version I<versnum>; the client uses use UDP/IP as a transport.  The remote "
"program is located at Internet address I<addr>.  If I<addr-E<gt>sin_port> is "
"zero, then it is set to actual port that the remote program is listening on "
"(the remote B<portmap> service is consulted for this information).  The "
"parameter I<sockp> is a socket; if it is B<RPC_ANYSOCK>, then this routine "
"opens a new one and sets I<sockp>.  The UDP transport resends the call "
"message in intervals of I<wait> time until a response is received or until "
"the call times out.  The total time for the call to time out is specified by "
"B<clnt_call>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:479
msgid ""
"Warning: since UDP-based RPC messages can only hold up to 8 Kbytes of "
"encoded data, this transport cannot be used for procedures that take large "
"arguments or return huge results."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:485
#, no-wrap
msgid ""
"B<CLIENT *clntudp_bufcreate(struct sockaddr_in *>I<addr>B<,>\n"
"B<            unsigned long >I<prognum>B<, unsigned long >I<versnum>B<,>\n"
"B<            struct timeval >I<wait>B<, int *>I<sockp>B<,>\n"
"B<            unsigned int >I<sendsize>B<, unsigned int >I<recosize>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:511
msgid ""
"This routine creates an RPC client for the remote program I<prognum>, on "
"I<versnum>; the client uses use UDP/IP as a transport.  The remote program "
"is located at Internet address I<addr>.  If I<addr-E<gt>sin_port> is zero, "
"then it is set to actual port that the remote program is listening on (the "
"remote B<portmap> service is consulted for this information).  The parameter "
"I<sockp> is a socket; if it is B<RPC_ANYSOCK>, then this routine opens a new "
"one and sets I<sockp>.  The UDP transport resends the call message in "
"intervals of I<wait> time until a response is received or until the call "
"times out.  The total time for the call to time out is specified by "
"B<clnt_call>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:514 build/C/man3/rpc.3:991
msgid ""
"This allows the user to specify the maximum packet size for sending and "
"receiving UDP-based RPC messages."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:517
#, no-wrap
msgid "B<void get_myaddress(struct sockaddr_in *>I<addr>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:525
msgid ""
"Stuff the machine's IP address into I<*addr>, without consulting the library "
"routines that deal with I</etc/hosts>.  The port number is always set to "
"B<htons(PMAPPORT)>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:528
#, no-wrap
msgid "B<struct pmaplist *pmap_getmaps(struct sockaddr_in *>I<addr>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:539
msgid ""
"A user interface to the B<portmap> service, which returns a list of the "
"current RPC program-to-port mappings on the host located at IP address "
"I<*addr>.  This routine can return NULL.  The command I<rpcinfo\\ -p> uses "
"this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:544
#, no-wrap
msgid ""
"B<unsigned short pmap_getport(struct sockaddr_in *>I<addr>B<,>\n"
"B<                    unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                    unsigned int >I<protocol>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:568
msgid ""
"A user interface to the B<portmap> service, which returns the port number on "
"which waits a service that supports program number I<prognum>, version "
"I<versnum>, and speaks the transport protocol associated with I<protocol>.  "
"The value of I<protocol> is most likely B<IPPROTO_UDP> or B<IPPROTO_TCP>.  A "
"return value of zero means that the mapping does not exist or that the RPC "
"system failed to contact the remote B<portmap> service.  In the latter case, "
"the global variable I<rpc_createerr> contains the RPC status."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:576
#, no-wrap
msgid ""
"B<enum clnt_stat pmap_rmtcall(struct sockaddr_in *>I<addr>B<,>\n"
"B<                    unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                    unsigned long >I<procnum>B<,>\n"
"B<                    xdrproc_t >I<inproc>B<, char *>I<in>B<,>\n"
"B<                    xdrproc_t >I<outproc>B<, char *>I<out>B<,>\n"
"B<                    struct timeval >I<tout>B<, unsigned long "
"*>I<portp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:596
msgid ""
"A user interface to the B<portmap> service, which instructs B<portmap> on "
"the host at IP address I<*addr> to make an RPC call on your behalf to a "
"procedure on that host.  The parameter I<*portp> will be modified to the "
"program's port number if the procedure succeeds.  The definitions of other "
"parameters are discussed in B<callrpc>()  and B<clnt_call>().  This "
"procedure should be used for a \\(lqping\\(rq and nothing else.  See also "
"B<clnt_broadcast>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:600
#, no-wrap
msgid ""
"B<bool_t pmap_set(unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                unsigned int >I<protocol>B<, unsigned short "
">I<port>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:620
msgid ""
"A user interface to the B<portmap> service, which establishes a mapping "
"between the triple [I<prognum>,I<versnum>,I<protocol>] and I<port> on the "
"machine's B<portmap> service.  The value of I<protocol> is most likely "
"B<IPPROTO_UDP> or B<IPPROTO_TCP>.  This routine returns one if it succeeds, "
"zero otherwise.  Automatically done by B<svc_register>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:623
#, no-wrap
msgid ""
"B<bool_t pmap_unset(unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:635
msgid ""
"A user interface to the B<portmap> service, which destroys all mapping "
"between the triple [I<prognum>,I<versnum>,I<*>] and B<ports> on the "
"machine's B<portmap> service.  This routine returns one if it succeeds, zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:640
#, no-wrap
msgid ""
"B<int registerrpc(unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<,>\n"
"B<                unsigned long >I<procnum>B<, char *(*>I<procname>B<)(char "
"*),>\n"
"B<                xdrproc_t >I<inproc>B<, xdrproc_t >I<outproc>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:660
msgid ""
"Register procedure I<procname> with the RPC service package.  If a request "
"arrives for program I<prognum>, version I<versnum>, and procedure "
"I<procnum>, I<procname> is called with a pointer to its parameter(s); "
"I<progname> should return a pointer to its static result(s); I<inproc> is "
"used to decode the parameters while I<outproc> is used to encode the "
"results.  This routine returns zero if the registration succeeded, -1 "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:665
msgid ""
"Warning: remote procedures registered in this form are accessed using the "
"UDP/IP transport; see B<svcudp_create>()  for restrictions."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:668
#, no-wrap
msgid "B<struct rpc_createerr >I<rpc_createerr>B<;>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:675
msgid ""
"A global variable whose value is set by any RPC client creation routine that "
"does not succeed.  Use the routine B<clnt_pcreateerror>()  to print the "
"reason why."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:678
#, no-wrap
msgid "B<void svc_destroy(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:689
msgid ""
"A macro that destroys the RPC service transport handle, I<xprt>.  "
"Destruction usually involves deallocation of private data structures, "
"including I<xprt> itself.  Use of I<xprt> is undefined after calling this "
"routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:692
#, no-wrap
msgid "B<fd_set >I<svc_fdset>B<;>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:706
msgid ""
"A global variable reflecting the RPC service side's read file descriptor bit "
"mask; it is suitable as a parameter to the B<select>(2)  system call.  This "
"is only of interest if a service implementor does not call B<svc_run>(), but "
"rather does his own asynchronous event processing.  This variable is "
"read-only (do not pass its address to B<select>(2)!), yet it may change "
"after calls to B<svc_getreqset>()  or any creation routines."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:709
#, no-wrap
msgid "B<int >I<svc_fds>B<;>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:716
msgid ""
"Similar to B<svc_fdset>, but limited to 32 descriptors.  This interface is "
"obsoleted by B<svc_fdset>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:719
#, no-wrap
msgid ""
"B<svc_freeargs(SVCXPRT *>I<xprt>B<, xdrproc_t >I<inproc>B<, char "
"*>I<in>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:726
msgid ""
"A macro that frees any data allocated by the RPC/XDR system when it decoded "
"the arguments to a service procedure using B<svc_getargs>().  This routine "
"returns 1 if the results were successfully freed, and zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:729
#, no-wrap
msgid ""
"B<svc_getargs(SVCXPRT *>I<xprt>B<, xdrproc_t >I<inproc>B<, char "
"*>I<in>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:740
msgid ""
"A macro that decodes the arguments of an RPC request associated with the RPC "
"service transport handle, I<xprt>.  The parameter I<in> is the address where "
"the arguments will be placed; I<inproc> is the XDR routine used to decode "
"the arguments.  This routine returns one if decoding succeeds, and zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:743
#, no-wrap
msgid "B<struct sockaddr_in *svc_getcaller(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:748
msgid ""
"The approved way of getting the network address of the caller of a procedure "
"associated with the RPC service transport handle, I<xprt>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:751
#, no-wrap
msgid "B<void svc_getreqset(fd_set *>I<rdfds>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:765
msgid ""
"This routine is only of interest if a service implementor does not call "
"B<svc_run>(), but instead implements custom asynchronous event processing.  "
"It is called when the B<select>(2)  system call has determined that an RPC "
"request has arrived on some RPC socket(s); I<rdfds> is the resultant read "
"file descriptor bit mask.  The routine returns when all sockets associated "
"with the value of I<rdfds> have been serviced."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:768
#, no-wrap
msgid "B<void svc_getreq(int >I<rdfds>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:775
msgid ""
"Similar to B<svc_getreqset>(), but limited to 32 descriptors.  This "
"interface is obsoleted by B<svc_getreqset>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:781
#, no-wrap
msgid ""
"B<bool_t svc_register(SVCXPRT *>I<xprt>B<, unsigned long >I<prognum>B<,>\n"
"B<                    unsigned long >I<versnum>B<,>\n"
"B<                    void (*>I<dispatch>B<)(svc_req *, SVCXPRT *),>\n"
"B<                    unsigned long >I<protocol>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:811
msgid ""
"Associates I<prognum> and I<versnum> with the service dispatch procedure, "
"I<dispatch>.  If I<protocol> is zero, the service is not registered with the "
"B<portmap> service.  If I<protocol> is nonzero, then a mapping of the triple "
"[I<prognum>,I<versnum>,I<protocol>] to I<xprt-E<gt>xp_port> is established "
"with the local B<portmap> service (generally I<protocol> is zero, "
"B<IPPROTO_UDP> or B<IPPROTO_TCP>).  The procedure I<dispatch> has the "
"following form:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:815
#, no-wrap
msgid "dispatch(struct svc_req *request, SVCXPRT *xprt);\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:821
msgid ""
"The B<svc_register>()  routine returns one if it succeeds, and zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:824
#, no-wrap
msgid "B<void svc_run(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:834
msgid ""
"This routine never returns.  It waits for RPC requests to arrive, and calls "
"the appropriate service procedure using B<svc_getreq>()  when one arrives.  "
"This procedure is usually waiting for a B<select>(2)  system call to return."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:838
#, no-wrap
msgid ""
"B<bool_t svc_sendreply(SVCXPRT *>I<xprt>B<, xdrproc_t >I<outproc>B<, char "
"*>I<out>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:850
msgid ""
"Called by an RPC service's dispatch routine to send the results of a remote "
"procedure call.  The parameter I<xprt> is the request's associated transport "
"handle; I<outproc> is the XDR routine which is used to encode the results; "
"and I<out> is the address of the results.  This routine returns one if it "
"succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:853
#, no-wrap
msgid ""
"B<void svc_unregister(unsigned long >I<prognum>B<, unsigned long "
">I<versnum>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:860
msgid ""
"Remove all mapping of the double [I<prognum>,I<versnum>] to dispatch "
"routines, and of the triple [I<prognum>,I<versnum>,I<*>] to port number."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:863
#, no-wrap
msgid "B<void svcerr_auth(SVCXPRT *>I<xprt>B<, enum auth_stat >I<why>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:867
msgid ""
"Called by a service dispatch routine that refuses to perform a remote "
"procedure call due to an authentication error."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:870
#, no-wrap
msgid "B<void svcerr_decode(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:876
msgid ""
"Called by a service dispatch routine that cannot successfully decode its "
"parameters.  See also B<svc_getargs>()."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:879
#, no-wrap
msgid "B<void svcerr_noproc(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:883
msgid ""
"Called by a service dispatch routine that does not implement the procedure "
"number that the caller requests."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:886
#, no-wrap
msgid "B<void svcerr_noprog(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:890
msgid ""
"Called when the desired program is not registered with the RPC package.  "
"Service implementors usually do not need this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:893
#, no-wrap
msgid "B<void svcerr_progvers(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:898
msgid ""
"Called when the desired version of a program is not registered with the RPC "
"package.  Service implementors usually do not need this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:901
#, no-wrap
msgid "B<void svcerr_systemerr(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:907
msgid ""
"Called by a service dispatch routine when it detects a system error not "
"covered by any particular protocol.  For example, if a service can no longer "
"allocate storage, it may call this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:910
#, no-wrap
msgid "B<void svcerr_weakauth(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:916
msgid ""
"Called by a service dispatch routine that refuses to perform a remote "
"procedure call due to insufficient authentication parameters.  The routine "
"calls B<svcerr_auth(xprt, AUTH_TOOWEAK)>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:920
#, no-wrap
msgid ""
"B<SVCXPRT *svcfd_create(int >I<fd>B<, unsigned int >I<sendsize>B<,>\n"
"B<                      unsigned int >I<recvsize>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:930
msgid ""
"Create a service on top of any open descriptor.  Typically, this descriptor "
"is a connected socket for a stream protocol such as TCP.  I<sendsize> and "
"I<recvsize> indicate sizes for the send and receive buffers.  If they are "
"zero, a reasonable default is chosen."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:933
#, no-wrap
msgid "B<SVCXPRT *svcraw_create(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:943
msgid ""
"This routine creates a toy RPC service transport, to which it returns a "
"pointer.  The transport is really a buffer within the process's address "
"space, so the corresponding RPC client should live in the same address "
"space; see B<clntraw_create>().  This routine allows simulation of RPC and "
"acquisition of RPC overheads (such as round trip times), without any kernel "
"interference.  This routine returns NULL if it fails."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:947
#, no-wrap
msgid ""
"B<SVCXPRT *svctcp_create(int >I<sock>B<, unsigned int "
">I<send_buf_size>B<,>\n"
"B<                       unsigned int >I<recv_buf_size>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:967
msgid ""
"This routine creates a TCP/IP-based RPC service transport, to which it "
"returns a pointer.  The transport is associated with the socket I<sock>, "
"which may be B<RPC_ANYSOCK>, in which case a new socket is created.  If the "
"socket is not bound to a local TCP port, then this routine binds it to an "
"arbitrary port.  Upon completion, I<xprt-E<gt>xp_sock> is the transport's "
"socket descriptor, and I<xprt-E<gt>xp_port> is the transport's port number.  "
"This routine returns NULL if it fails.  Since TCP-based RPC uses buffered "
"I/O, users may specify the size of buffers; values of zero choose suitable "
"defaults."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:971
#, no-wrap
msgid ""
"B<SVCXPRT *svcudp_bufcreate(int >I<sock>B<, unsigned int >I<sendsize>B<,>\n"
"B<                          unsigned int >I<recosize>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:988
msgid ""
"This routine creates a UDP/IP-based RPC service transport, to which it "
"returns a pointer.  The transport is associated with the socket I<sock>, "
"which may be B<RPC_ANYSOCK>, in which case a new socket is created.  If the "
"socket is not bound to a local UDP port, then this routine binds it to an "
"arbitrary port.  Upon completion, I<xprt-E<gt>xp_sock> is the transport's "
"socket descriptor, and I<xprt-E<gt>xp_port> is the transport's port number.  "
"This routine returns NULL if it fails."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:994
#, no-wrap
msgid "B<SVCXPRT *svcudp_create(int >I<sock>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:999
msgid ""
"This call is equivalent to I<svcudp_bufcreate(sock,SZ,SZ)> for some default "
"size I<SZ>."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1002
#, no-wrap
msgid ""
"B<bool_t xdr_accepted_reply(XDR *>I<xdrs>B<, struct accepted_reply "
"*>I<ar>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1007
msgid ""
"Used for encoding RPC reply messages.  This routine is useful for users who "
"wish to generate RPC-style messages without using the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1010
#, no-wrap
msgid ""
"B<bool_t xdr_authunix_parms(XDR *>I<xdrs>B<, struct authunix_parms "
"*>I<aupp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1016
msgid ""
"Used for describing UNIX credentials.  This routine is useful for users who "
"wish to generate these credentials without using the RPC authentication "
"package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1019
#, no-wrap
msgid "B<void xdr_callhdr(XDR *>I<xdrs>B<, struct rpc_msg *>I<chdr>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1024
msgid ""
"Used for describing RPC call header messages.  This routine is useful for "
"users who wish to generate RPC-style messages without using the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1027
#, no-wrap
msgid "B<bool_t xdr_callmsg(XDR *>I<xdrs>B<, struct rpc_msg *>I<cmsg>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1032
msgid ""
"Used for describing RPC call messages.  This routine is useful for users who "
"wish to generate RPC-style messages without using the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1035
#, no-wrap
msgid "B<bool_t xdr_opaque_auth(XDR *>I<xdrs>B<, struct opaque_auth *>I<ap>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1040
msgid ""
"Used for describing RPC authentication information messages.  This routine "
"is useful for users who wish to generate RPC-style messages without using "
"the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1043
#, no-wrap
msgid "B<bool_t xdr_pmap(XDR *>I<xdrs>B<, struct pmap *>I<regs>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1052
msgid ""
"Used for describing parameters to various B<portmap> procedures, "
"externally.  This routine is useful for users who wish to generate these "
"parameters without using the B<pmap> interface."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1055
#, no-wrap
msgid "B<bool_t xdr_pmaplist(XDR *>I<xdrs>B<, struct pmaplist **>I<rp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1062
msgid ""
"Used for describing a list of port mappings, externally.  This routine is "
"useful for users who wish to generate these parameters without using the "
"B<pmap> interface."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1065
#, no-wrap
msgid ""
"B<bool_t xdr_rejected_reply(XDR *>I<xdrs>B<, struct rejected_reply "
"*>I<rr>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1070
msgid ""
"Used for describing RPC reply messages.  This routine is useful for users "
"who wish to generate RPC-style messages without using the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1073
#, no-wrap
msgid "B<bool_t xdr_replymsg(XDR *>I<xdrs>B<, struct rpc_msg *>I<rmsg>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1078
msgid ""
"Used for describing RPC reply messages.  This routine is useful for users "
"who wish to generate RPC style messages without using the RPC package."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1081
#, no-wrap
msgid "B<void xprt_register(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1088
msgid ""
"After RPC service transport handles are created, they should register "
"themselves with the RPC service package.  This routine modifies the global "
"variable I<svc_fds>.  Service implementors usually do not need this routine."
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1091
#, no-wrap
msgid "B<void xprt_unregister(SVCXPRT *>I<xprt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1098
msgid ""
"Before an RPC service transport handle is destroyed, it should unregister "
"itself with the RPC service package.  This routine modifies the global "
"variable I<svc_fds>.  Service implementors usually do not need this routine."
msgstr ""

#.  We don't have an rpc_secure.3 page in the set at the moment -- MTK, 19 Sep 05
#.  .BR rpc_secure (3),
#. type: Plain text
#: build/C/man3/rpc.3:1102
msgid "B<xdr>(3)"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1104 build/C/man3/xdr.3:542
msgid "The following manuals:"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1106
msgid "Remote Procedure Calls: Protocol Specification"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1108
msgid "Remote Procedure Call Programming Guide"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1110
msgid "rpcgen Programming Guide"
msgstr ""

#. type: Plain text
#: build/C/man3/rpc.3:1115
msgid ""
"I<RPC: Remote Procedure Call Protocol Specification>, RFC\\ 1050, Sun "
"Microsystems, Inc., USC-ISI."
msgstr ""

#. type: TH
#: build/C/man5/rpc.5:4
#, no-wrap
msgid "1985-09-26"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:7
msgid "rpc - RPC program number data base"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:9
msgid "B</etc/rpc>"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:15
msgid ""
"The I<rpc> file contains user readable names that can be used in place of "
"RPC program numbers.  Each line has the following information:"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:17
msgid "name of server for the RPC program"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:21
msgid "RPC program number"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:25
msgid "aliases"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:31
msgid ""
"Items are separated by any number of blanks and/or tab characters.  A "
"\\(aq#\\(aq indicates the beginning of a comment; characters from the "
"\\(aq#\\(aq to the end of the line are not interpreted by routines which "
"search the file."
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:34
msgid ""
"Here is an example of the I</etc/rpc> file from the Sun RPC Source "
"distribution."
msgstr ""

#. type: ta
#: build/C/man5/rpc.5:35
#, no-wrap
msgid "1.5i +0.5i +1.0i +1.0i"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:69
#, no-wrap
msgid ""
"#\n"
"# rpc 88/08/01 4.0 RPCSRC; from 1.12   88/02/07 SMI\n"
"#\n"
"portmapper\t\t100000\tportmap sunrpc\n"
"rstatd\t\t100001\trstat rstat_svc rup perfmeter\n"
"rusersd\t\t100002\trusers\n"
"nfs\t\t100003\tnfsprog\n"
"ypserv\t\t100004\typprog\n"
"mountd\t\t100005\tmount showmount\n"
"ypbind\t\t100007\n"
"walld\t\t100008\trwall shutdown\n"
"yppasswdd\t\t100009\typpasswd\n"
"etherstatd\t\t100010\tetherstat\n"
"rquotad\t\t100011\trquotaprog quota rquota\n"
"sprayd\t\t100012\tspray\n"
"3270_mapper\t\t100013\n"
"rje_mapper\t\t100014\n"
"selection_svc\t\t100015\tselnsvc\n"
"database_svc\t\t100016\n"
"rexd\t\t100017\trex\n"
"alis\t\t100018\n"
"sched\t\t100019\n"
"llockmgr\t\t100020\n"
"nlockmgr\t\t100021\n"
"x25.inr\t\t100022\n"
"statmon\t\t100023\n"
"status\t\t100024\n"
"bootparam\t\t100026\n"
"ypupdated\t\t100028\typupdate\n"
"keyserv\t\t100029\tkeyserver\n"
"tfsd\t\t100037\n"
"nsed\t\t100038\n"
"nsemntd\t\t100039\n"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:75
msgid "RPC program number data base"
msgstr ""

#. type: Plain text
#: build/C/man5/rpc.5:77
msgid "B<getrpcent>(3)"
msgstr ""

#. type: TH
#: build/C/man3/rtime.3:8
#, no-wrap
msgid "RTIME"
msgstr ""

#. type: TH
#: build/C/man3/rtime.3:8
#, no-wrap
msgid "2010-02-25"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:11
msgid "rtime - get time from a remote machine"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:14
#, no-wrap
msgid "B<#include E<lt>rpc/des_crypt.hE<gt>>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:17
#, no-wrap
msgid ""
"B<int rtime(struct sockaddr_in *>I<addrp>B<, struct rpc_timeval "
"*>I<timep>B<,>\n"
"B<          struct rpc_timeval *>I<timeout>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:21
msgid ""
"This function uses the Time Server Protocol as described in RFC\\ 868 to "
"obtain the time from a remote machine."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:27
msgid ""
"The Time Server Protocol gives the time in seconds since 00:00:00 UTC, 1 Jan "
"1900, and this function subtracts the appropriate constant in order to "
"convert the result to seconds since the Epoch, 1970-01-01 00:00:00 +0000 "
"(UTC)."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:32
msgid ""
"When I<timeout> is non-NULL, the udp/time socket (port 37) is used.  "
"Otherwise, the tcp/time socket (port 37) is used."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:38
msgid ""
"On success, 0 is returned, and the obtained 32-bit time value is stored in "
"I<timep-E<gt>tv_sec>.  In case of error -1 is returned, and I<errno> is set "
"appropriately."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:47
msgid ""
"All errors for underlying functions (B<sendto>(2), B<poll>(2), "
"B<recvfrom>(2), B<connect>(2), B<read>(2))  can occur.  Moreover:"
msgstr ""

#. type: TP
#: build/C/man3/rtime.3:47
#, no-wrap
msgid "B<EIO>"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:50
msgid "The number of returned bytes is not 4."
msgstr ""

#. type: TP
#: build/C/man3/rtime.3:50
#, no-wrap
msgid "B<ETIMEDOUT>"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:53
msgid "The waiting time as defined in timeout has expired."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:55
msgid "Only IPv4 is supported."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:62
msgid ""
"Some I<in.timed> versions only support TCP.  Try the example program with "
"I<use_tcp> set to 1."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:64
msgid "Libc5 uses the prototype"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:66
msgid "int rtime(struct sockaddr_in *, struct timeval *, struct timeval *);"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:71
msgid "and requires I<E<lt>sys/time.hE<gt>> instead of I<E<lt>rpc/auth_des.hE<gt>>."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:74
msgid ""
"B<rtime>()  in glibc 2.2.5 and earlier does not work properly on 64-bit "
"machines."
msgstr ""

#. type: SH
#: build/C/man3/rtime.3:74
#, no-wrap
msgid "EXAMPLE"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:80
msgid ""
"This example requires that port 37 is up and open.  You may check that the "
"time entry within I</etc/inetd.conf> is not commented out."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:84
msgid ""
"The program connects to a computer called \"linux\".  Using \"localhost\" "
"does not work.  The result is the localtime of the computer \"linux\"."
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:93
#, no-wrap
msgid ""
"#include E<lt>stdio.hE<gt>\n"
"#include E<lt>stdlib.hE<gt>\n"
"#include E<lt>errno.hE<gt>\n"
"#include E<lt>string.hE<gt>\n"
"#include E<lt>time.hE<gt>\n"
"#include E<lt>rpc/auth_des.hE<gt>\n"
"#include E<lt>netdb.hE<gt>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:96
#, no-wrap
msgid ""
"int use_tcp = 0;\n"
"char *servername = \"linux\";\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:105
#, no-wrap
msgid ""
"int\n"
"main(void)\n"
"{\n"
"    struct sockaddr_in name;\n"
"    struct rpc_timeval time1 = {0,0};\n"
"    struct rpc_timeval timeout = {1,0};\n"
"    struct hostent *hent;\n"
"    int ret;\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:110
#, no-wrap
msgid ""
"    memset((char *) &name, 0, sizeof(name));\n"
"    sethostent(1);\n"
"    hent = gethostbyname(servername);\n"
"    memcpy((char *) &name.sin_addr, hent-E<gt>h_addr, hent-E<gt>h_length);\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:116
#, no-wrap
msgid ""
"    ret = rtime(&name, &time1, use_tcp ? NULL : &timeout);\n"
"    if (ret E<lt> 0)\n"
"        perror(\"rtime error\");\n"
"    else\n"
"        printf(\"%s\\en\", ctime((time_t *) &time1.tv_sec));\n"
msgstr ""

#. type: Plain text
#: build/C/man3/rtime.3:119
#, no-wrap
msgid ""
"    exit(EXIT_SUCCESS);\n"
"}\n"
msgstr ""

#.  .BR netdate (1),
#.  .BR rdate (1),
#. type: Plain text
#: build/C/man3/rtime.3:125
msgid "B<ntpdate>(1), B<inetd>(8)"
msgstr ""

#. type: TH
#: build/C/man3/xdr.3:7
#, no-wrap
msgid "XDR"
msgstr ""

#. type: TH
#: build/C/man3/xdr.3:7
#, no-wrap
msgid "2007-12-30"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:10
msgid "xdr - library routines for external data representation"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:16
msgid ""
"These routines allow C programmers to describe arbitrary data structures in "
"a machine-independent fashion.  Data for remote procedure calls are "
"transmitted using these routines."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:20
msgid ""
"The prototypes below are declared in I<E<lt>rpc/xdr.hE<gt>> and make use of "
"the following types:"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:33
msgid "For the declaration of the I<XDR> type, see I<E<lt>rpc/xdr.hE<gt>>."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:38
#, no-wrap
msgid ""
"B<bool_t xdr_array(XDR *>I<xdrs>B<, char **>I<arrp>B<, unsigned int "
"*>I<sizep>B<,>\n"
"B<                 unsigned int >I<maxsize>B<, unsigned int >I<elsize>B<,>\n"
"B<                 xdrproc_t >I<elproc>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:59
msgid ""
"A filter primitive that translates between variable-length arrays and their "
"corresponding external representations.  The argument I<arrp> is the address "
"of the pointer to the array, while I<sizep> is the address of the element "
"count of the array; this element count cannot exceed I<maxsize>.  The "
"argument I<elsize> is the I<sizeof> each of the array's elements, and "
"I<elproc> is an XDR filter that translates between the array elements' C "
"form, and their external representation.  This routine returns one if it "
"succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:62
#, no-wrap
msgid "B<bool_t xdr_bool(XDR *>I<xdrs>B<, bool_t *>I<bp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:70
msgid ""
"A filter primitive that translates between booleans (C integers)  and their "
"external representations.  When encoding data, this filter produces values "
"of either one or zero.  This routine returns one if it succeeds, zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:74
#, no-wrap
msgid ""
"B<bool_t xdr_bytes(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
"*>I<sizep>B<,>\n"
"B<                 unsigned int >I<maxsize>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:87
msgid ""
"A filter primitive that translates between counted byte strings and their "
"external representations.  The argument I<sp> is the address of the string "
"pointer.  The length of the string is located at address I<sizep>; strings "
"cannot be longer than I<maxsize>.  This routine returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:90
#, no-wrap
msgid "B<bool_t xdr_char(XDR *>I<xdrs>B<, char *>I<cp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:102
msgid ""
"A filter primitive that translates between C characters and their external "
"representations.  This routine returns one if it succeeds, zero otherwise.  "
"Note: encoded characters are not packed, and occupy 4 bytes each.  For "
"arrays of characters, it is worthwhile to consider B<xdr_bytes>(), "
"B<xdr_opaque>()  or B<xdr_string>()."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:105
#, no-wrap
msgid "B<void xdr_destroy(XDR *>I<xdrs>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:116
msgid ""
"A macro that invokes the destroy routine associated with the XDR stream, "
"I<xdrs>.  Destruction usually involves freeing private data structures "
"associated with the stream.  Using I<xdrs> after invoking B<xdr_destroy>()  "
"is undefined."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:119
#, no-wrap
msgid "B<bool_t xdr_double(XDR *>I<xdrs>B<, double *>I<dp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:125
msgid ""
"A filter primitive that translates between C I<double> precision numbers and "
"their external representations.  This routine returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:128
#, no-wrap
msgid "B<bool_t xdr_enum(XDR *>I<xdrs>B<, enum_t *>I<ep>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:134
msgid ""
"A filter primitive that translates between C I<enum>s (actually integers) "
"and their external representations.  This routine returns one if it "
"succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:137
#, no-wrap
msgid "B<bool_t xdr_float(XDR *>I<xdrs>B<, float *>I<fp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:143
msgid ""
"A filter primitive that translates between C I<float>s and their external "
"representations.  This routine returns one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:146
#, no-wrap
msgid "B<void xdr_free(xdrproc_t >I<proc>B<, char *>I<objp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:156
msgid ""
"Generic freeing routine.  The first argument is the XDR routine for the "
"object being freed.  The second argument is a pointer to the object itself.  "
"Note: the pointer passed to this routine is I<not> freed, but what it points "
"to I<is> freed (recursively)."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:159
#, no-wrap
msgid "B<unsigned int xdr_getpos(XDR *>I<xdrs>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:169
msgid ""
"A macro that invokes the get-position routine associated with the XDR "
"stream, I<xdrs>.  The routine returns an unsigned integer, which indicates "
"the position of the XDR byte stream.  A desirable feature of XDR streams is "
"that simple arithmetic works with this number, although the XDR stream "
"instances need not guarantee this."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:172
#, no-wrap
msgid "B<long *xdr_inline(XDR *>I<xdrs>B<, int >I<len>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:182
msgid ""
"A macro that invokes the inline routine associated with the XDR stream, "
"I<xdrs>.  The routine returns a pointer to a contiguous piece of the "
"stream's buffer; I<len> is the byte length of the desired buffer.  Note: "
"pointer is cast to I<long *>."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:189
msgid ""
"Warning: B<xdr_inline>()  may return NULL (0)  if it cannot allocate a "
"contiguous piece of a buffer.  Therefore the behavior may vary among stream "
"instances; it exists for the sake of efficiency."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:192
#, no-wrap
msgid "B<bool_t xdr_int(XDR *>I<xdrs>B<, int *>I<ip>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:197
msgid ""
"A filter primitive that translates between C integers and their external "
"representations.  This routine returns one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:200
#, no-wrap
msgid "B<bool_t xdr_long(XDR *>I<xdrs>B<, long *>I<lp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:206
msgid ""
"A filter primitive that translates between C I<long> integers and their "
"external representations.  This routine returns one if it succeeds, zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:210
#, no-wrap
msgid ""
"B<void xdrmem_create(XDR *>I<xdrs>B<, char *>I<addr>B<, unsigned int "
">I<size>B<,>\n"
"B<                   enum xdr_op >I<op>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:227
msgid ""
"This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
"stream's data is written to, or read from, a chunk of memory at location "
"I<addr> whose length is no more than I<size> bytes long.  The I<op> "
"determines the direction of the XDR stream (either B<XDR_ENCODE>, "
"B<XDR_DECODE>, or B<XDR_FREE>)."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:230
#, no-wrap
msgid ""
"B<bool_t xdr_opaque(XDR *>I<xdrs>B<, char *>I<cp>B<, unsigned int "
">I<cnt>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:240
msgid ""
"A filter primitive that translates between fixed size opaque data and its "
"external representation.  The argument I<cp> is the address of the opaque "
"object, and I<cnt> is its size in bytes.  This routine returns one if it "
"succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:244
#, no-wrap
msgid ""
"B<bool_t xdr_pointer(XDR *>I<xdrs>B<, char **>I<objpp>B<,>\n"
"B<                   unsigned int >I<objsize>B<, xdrproc_t >I<xdrobj>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:256
msgid ""
"Like B<xdr_reference>()  except that it serializes NULL pointers, whereas "
"B<xdr_reference>()  does not.  Thus, B<xdr_pointer>()  can represent "
"recursive data structures, such as binary trees or linked lists."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:262
#, no-wrap
msgid ""
"B<void xdrrec_create(XDR *>I<xdrs>B<, unsigned int >I<sendsize>B<,>\n"
"B<                   unsigned int >I<recvsize>B<, char *>I<handle>B<,>\n"
"B<                   int (*>I<readit>B<) (char *, char *, int),>\n"
"B<                   int (*>I<writeit>B<) (char *, char *, int));>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:289
msgid ""
"This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
"stream's data is written to a buffer of size I<sendsize>; a value of zero "
"indicates the system should use a suitable default.  The stream's data is "
"read from a buffer of size I<recvsize>; it too can be set to a suitable "
"default by passing a zero value.  When a stream's output buffer is full, "
"I<writeit> is called.  Similarly, when a stream's input buffer is empty, "
"I<readit> is called.  The behavior of these two routines is similar to the "
"system calls B<read>(2)  and B<write>(2), except that I<handle> is passed to "
"the former routines as the first argument.  Note: the XDR stream's I<op> "
"field must be set by the caller."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:293
msgid ""
"Warning: this XDR stream implements an intermediate record stream.  "
"Therefore there are additional bytes in the stream to provide record "
"boundary information."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:296
#, no-wrap
msgid "B<bool_t xdrrec_endofrecord(XDR *>I<xdrs>B<, int >I<sendnow>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:305
msgid ""
"This routine can be invoked only on streams created by B<xdrrec_create>().  "
"The data in the output buffer is marked as a completed record, and the "
"output buffer is optionally written out if I<sendnow> is nonzero.  This "
"routine returns one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:308
#, no-wrap
msgid "B<bool_t xdrrec_eof(XDR *>I<xdrs>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:315
msgid ""
"This routine can be invoked only on streams created by B<xdrrec_create>().  "
"After consuming the rest of the current record in the stream, this routine "
"returns one if the stream has no more input, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:318
#, no-wrap
msgid "B<bool_t xdrrec_skiprecord(XDR *>I<xdrs>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:326
msgid ""
"This routine can be invoked only on streams created by B<xdrrec_create>().  "
"It tells the XDR implementation that the rest of the current record in the "
"stream's input buffer should be discarded.  This routine returns one if it "
"succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:330
#, no-wrap
msgid ""
"B<bool_t xdr_reference(XDR *>I<xdrs>B<, char **>I<pp>B<, unsigned int "
">I<size>B<,>\n"
"B<                     xdrproc_t >I<proc>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:346
msgid ""
"A primitive that provides pointer chasing within structures.  The argument "
"I<pp> is the address of the pointer; I<size> is the I<sizeof> the structure "
"that I<*pp> points to; and I<proc> is an XDR procedure that filters the "
"structure between its C form and its external representation.  This routine "
"returns one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:351
msgid ""
"Warning: this routine does not understand NULL pointers.  Use "
"B<xdr_pointer>()  instead."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:354
#, no-wrap
msgid "B<xdr_setpos(XDR *>I<xdrs>B<, unsigned int >I<pos>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:365
msgid ""
"A macro that invokes the set position routine associated with the XDR stream "
"I<xdrs>.  The argument I<pos> is a position value obtained from "
"B<xdr_getpos>().  This routine returns one if the XDR stream could be "
"repositioned, and zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:369
msgid ""
"Warning: it is difficult to reposition some types of XDR streams, so this "
"routine may fail with one type of stream and succeed with another."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:372
#, no-wrap
msgid "B<bool_t xdr_short(XDR *>I<xdrs>B<, short *>I<sp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:378
msgid ""
"A filter primitive that translates between C I<short> integers and their "
"external representations.  This routine returns one if it succeeds, zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:381
#, no-wrap
msgid ""
"B<void xdrstdio_create(XDR *>I<xdrs>B<, FILE *>I<file>B<, enum xdr_op "
">I<op>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:396
msgid ""
"This routine initializes the XDR stream object pointed to by I<xdrs>.  The "
"XDR stream data is written to, or read from, the I<stdio> stream I<file>.  "
"The argument I<op> determines the direction of the XDR stream (either "
"B<XDR_ENCODE>, B<XDR_DECODE>, or B<XDR_FREE>)."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:403
msgid ""
"Warning: the destroy routine associated with such XDR streams calls "
"B<fflush>(3)  on the I<file> stream, but never B<fclose>(3)."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:406
#, no-wrap
msgid ""
"B<bool_t xdr_string(XDR *>I<xdrs>B<, char **>I<sp>B<, unsigned int "
">I<maxsize>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:416
msgid ""
"A filter primitive that translates between C strings and their corresponding "
"external representations.  Strings cannot be longer than I<maxsize>.  Note: "
"I<sp> is the address of the string's pointer.  This routine returns one if "
"it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:419
#, no-wrap
msgid "B<bool_t xdr_u_char(XDR *>I<xdrs>B<, unsigned char *>I<ucp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:425
msgid ""
"A filter primitive that translates between I<unsigned> C characters and "
"their external representations.  This routine returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:428
#, no-wrap
msgid "B<bool_t xdr_u_int(XDR *>I<xdrs>B<, unsigned *>I<up>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:434
msgid ""
"A filter primitive that translates between C I<unsigned> integers and their "
"external representations.  This routine returns one if it succeeds, zero "
"otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:437
#, no-wrap
msgid "B<bool_t xdr_u_long(XDR *>I<xdrs>B<, unsigned long *>I<ulp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:443
msgid ""
"A filter primitive that translates between C I<unsigned long> integers and "
"their external representations.  This routine returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:446
#, no-wrap
msgid "B<bool_t xdr_u_short(XDR *>I<xdrs>B<, unsigned short *>I<usp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:452
msgid ""
"A filter primitive that translates between C I<unsigned short> integers and "
"their external representations.  This routine returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:457
#, no-wrap
msgid ""
"B<bool_t xdr_union(XDR *>I<xdrs>B<, int *>I<dscmp>B<, char *>I<unp>B<,>\n"
"B<                 struct xdr_discrim *>I<choices>B<,>\n"
"B<                 xdrproc_t >I<defaultarm>B<);     /* may equal NULL */>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:491
msgid ""
"A filter primitive that translates between a discriminated C I<union> and "
"its corresponding external representation.  It first translates the "
"discriminant of the union located at I<dscmp>.  This discriminant is always "
"an I<enum_t>.  Next the union located at I<unp> is translated.  The argument "
"I<choices> is a pointer to an array of B<xdr_discrim>()  structures.  Each "
"structure contains an ordered pair of [I<value>,I<proc>].  If the union's "
"discriminant is equal to the associated I<value>, then the I<proc> is called "
"to translate the union.  The end of the B<xdr_discrim>()  structure array is "
"denoted by a routine of value NULL.  If the discriminant is not found in the "
"I<choices> array, then the I<defaultarm> procedure is called (if it is not "
"NULL).  Returns one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:495
#, no-wrap
msgid ""
"B<bool_t xdr_vector(XDR *>I<xdrs>B<, char *>I<arrp>B<, unsigned int "
">I<size>B<,>\n"
"B<                  unsigned int >I<elsize>B<, xdrproc_t >I<elproc>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:514
msgid ""
"A filter primitive that translates between fixed-length arrays and their "
"corresponding external representations.  The argument I<arrp> is the address "
"of the pointer to the array, while I<size> is the element count of the "
"array.  The argument I<elsize> is the I<sizeof> each of the array's "
"elements, and I<elproc> is an XDR filter that translates between the array "
"elements' C form, and their external representation.  This routine returns "
"one if it succeeds, zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:517
#, no-wrap
msgid "B<bool_t xdr_void(void);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:522
msgid ""
"This routine always returns one.  It may be passed to RPC routines that "
"require a function argument, where nothing is to be done."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:525
#, no-wrap
msgid "B<bool_t xdr_wrapstring(XDR *>I<xdrs>B<, char **>I<sp>B<);>\n"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:538
msgid ""
"A primitive that calls B<xdr_string(xdrs, sp,MAXUN.UNSIGNED );> where "
"B<MAXUN.UNSIGNED> is the maximum value of an unsigned integer.  "
"B<xdr_wrapstring>()  is handy because the RPC package passes a maximum of "
"two XDR routines as arguments, and B<xdr_string>(), one of the most "
"frequently used primitives, requires three.  Returns one if it succeeds, "
"zero otherwise."
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:540
msgid "B<rpc>(3)"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:544
msgid "eXternal Data Representation Standard: Protocol Specification"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:546
msgid "eXternal Data Representation: Sun Technical Notes"
msgstr ""

#. type: Plain text
#: build/C/man3/xdr.3:550
msgid ""
"I<XDR: External Data Representation Standard>, RFC\\ 1014, Sun Microsystems, "
"Inc., USC-ISI."
msgstr ""
