171 lines
12 KiB
HTML
171 lines
12 KiB
HTML
|
<?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>
|