ibm-information-center/dist/eclipse/plugins/i5OS.ic.ifs_5.4.0.1/rzaaxxdr.htm

171 lines
12 KiB
HTML
Raw Normal View History

2024-04-02 14:02:31 +00:00
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="en-us" xml:lang="en-us">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="security" content="public" />
<meta name="Robots" content="index,follow" />
<meta http-equiv="PICS-Label" content='(PICS-1.1 "http://www.icra.org/ratingsv02.html" l gen true r (cz 1 lz 1 nz 1 oz 1 vz 1) "http://www.rsac.org/ratingsv01.html" l gen true r (n 0 s 0 v 0 l 0) "http://www.classify.org/safesurf/" l gen true r (SS~~000 1))' />
<meta name="DC.Type" content="reference" />
<meta name="DC.Title" content="eXternal Data Representation (XDR) APIs" />
<meta name="abstract" content="These APIs allow RPC applications to handle arbitrary data structures, regardless of their different hosts' byte orders or structure layout conventions." />
<meta name="description" content="These APIs allow RPC applications to handle arbitrary data structures, regardless of their different hosts' byte orders or structure layout conventions." />
<meta name="DC.Relation" scheme="URI" content="rzaaxtirpc.htm" />
<meta name="DC.Relation" scheme="URI" content="../apifinder/finder.htm" />
<meta name="copyright" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Rights.Owner" content="(C) Copyright IBM Corporation 1999, 2006" />
<meta name="DC.Format" content="XHTML" />
<meta name="DC.Identifier" content="rzaaxxdr" />
<meta name="DC.Language" content="en-us" />
<!-- All rights reserved. Licensed Materials Property of IBM -->
<!-- US Government Users Restricted Rights -->
<!-- Use, duplication or disclosure restricted by -->
<!-- GSA ADP Schedule Contract with IBM Corp. -->
<link rel="stylesheet" type="text/css" href="./ibmdita.css" />
<link rel="stylesheet" type="text/css" href="./ic.css" />
<title>eXternal Data Representation (XDR) APIs</title>
</head>
<body id="rzaaxxdr"><a name="rzaaxxdr"><!-- --></a>
<!-- Java sync-link --><script language="Javascript" src="../rzahg/synch.js" type="text/javascript"></script>
<h1 class="topictitle1">eXternal Data Representation (XDR) APIs</h1>
<div><p>These APIs allow RPC applications to handle arbitrary
data structures, regardless of their different hosts' byte orders or structure
layout conventions.</p>
<div class="tablenoborder"><table cellpadding="4" cellspacing="0" summary="" width="100%" frame="border" border="1" rules="all"><thead align="left"><tr><th align="left" valign="bottom" width="33.33333333333333%" id="d0e21">API</th>
<th align="left" valign="bottom" width="66.66666666666666%" id="d0e23">Description</th>
</tr>
</thead>
<tbody><tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_array()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between variable-length arrays and their corresponding external representations.
This function is called to encode or decode each element of the array</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_bool() </span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between Booleans (C integers) and their external representations. When encoding
data, this filter produces values of either 1 or 0. </td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_bytes()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between counted byte arrays and their external representations. This function
treats a subset of generic arrays in which the size of array elements is known
to be 1 and the external description of each element is built-in. The length
of the byte sequence is explicitly located in an unsigned integer. The byte
sequence is not ended by a null character. The external representation of
the bytes is the same as their internal representation.</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_char()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language characters and their external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_double()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language double-precision numbers and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_double_char()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language 2-byte characters and their external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_enum()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language enumeration (enum) and its external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_free()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">Recursively frees the object pointed
to by the pointer passed in</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_float()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language floating-point numbers (normalized single floating-point
numbers) and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_int()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language integers and their external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_long()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language long integers and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_netobj()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between variable-length opaque data and its external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_opaque()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between fixed-size opaque data and its external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_pointer()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">Provides pointer chasing within
structures and serializes null pointers. Can represent recursive data structures,
such as binary trees or linked lists.</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_reference()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">a filter primitive that provides
pointer chasing within structures. This primitive allows the serializing,
deserializing, and freeing of any pointers within one structure that are referenced
by another structure. The <span class="apiname">xdr_reference()</span> function does
not attach special meaning to a null pointer during serialization, and passing
the address of a null pointer may cause a memory error. Therefore, the programmer
must describe data with a two-sided discriminated union. One side is used
when the pointer is valid; the other side, when the pointer is null. </td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_short()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language short integers and their external representation</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_string()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language strings and their corresponding external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_u_char()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between unsigned C-language characters and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_u_int()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language unsigned integers and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_u_long()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language unsigned long integers and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_u_short()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between C-language unsigned short integers and their external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_union()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between discriminated C unions and their corresponding external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_vector()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A filter primitive that translates
between fixed-length arrays and their corresponding external representations</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_void()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">Has no parameters. It is passed
to other RPC functions that require a parameter, but does not transmit data</td>
</tr>
<tr><td align="left" valign="top" width="33.33333333333333%" headers="d0e21 "><span class="apiname">xdr_wrapstring()</span></td>
<td align="left" valign="top" width="66.66666666666666%" headers="d0e23 ">A primitive that calls the <span class="apiname">xdr_string(xdr,
sp, maxuint)</span> API, where maxuint is the maximum value of an unsigned
integer. The <span class="apiname">xdr_wrapstring()</span> is useful because the RPC
package passes a maximum of two XDR functions as parameters, and the <span class="apiname">xdr_string()</span> function
requires three. </td>
</tr>
</tbody>
</table>
</div>
</div>
<div>
<div class="familylinks">
<div class="parentlink"><strong>Parent topic:</strong> <a href="rzaaxtirpc.htm" title="Developed by Sun Microsystems, remote procedure call (RPC) easily separates and distributes client applications from a server mechanism.">Transport-independent remote procedure call</a></div>
</div>
<div class="relinfo"><strong>Related information</strong><br />
<div><a href="../apifinder/finder.htm">API finder</a></div>
</div>
</div>
</body>
</html>