6.1 Introduction
The
translation routines allow conversion of data between different data types and
different host representations. See
1.3
Data Types and Host Representations,
for more information on when and how to call these routines.
These
routines all take a translation buffer as an argument. This is an opaque
structure that is at least 12 integers (usually 48 bytes) long that will
describe the translation. The internals of the buffer are unknown to the
application; it is a private RTL data structure. One of five routines must be
called first to set up this buffer. Then,
x/zvtrans
can be called as often as necessary to perform the translation. You may have
several translations available at once by using different translation buffers.
The
first integer in the buffer is special. If it is NULL (0) after the setup
routine has been called, then no translation is needed.
x/zvtrans
will simply move the data in this case, but you can decide to forego calling
x/zvtrans
if it would be more efficient. This first integer is the
only
item
an application may look at in the translation buffer. Using
any
other knowledge about the internals of the buffer may cause your program to
break in the future, as the structure may change without notice.