</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Specifies the object ID of the function to call.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int16</term>
<listitem>
<para>
The number of argument format codes that follow
(denoted <replaceable>C</replaceable> below).
This can be zero to indicate that there are no arguments
or that the arguments all use the default format (text);
or one, in which case the specified format code is applied
to all arguments; or it can equal the actual number of
arguments.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int16[<replaceable>C</replaceable>]</term>
<listitem>
<para>
The argument format codes. Each must presently be
zero (text) or one (binary).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int16</term>
<listitem>
<para>
Specifies the number of arguments being supplied to the
function.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Next, the following pair of fields appear for each argument:
</para>
<variablelist>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
The length of the argument value, in bytes (this count
does not include itself). Can be zero.
As a special case, -1 indicates a NULL argument value.
No value bytes follow in the NULL case.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Byte<replaceable>n</replaceable></term>
<listitem>
<para>
The value of the argument, in the format indicated by the
associated format code.
<replaceable>n</replaceable> is the above length.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
After the last argument, the following field appears:
</para>
<variablelist>
<varlistentry>
<term>Int16</term>
<listitem>
<para>
The format code for the function result. Must presently be
zero (text) or one (binary).
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="protocol-message-formats-FunctionCallResponse">
<term>FunctionCallResponse (B)</term>
<listitem>
<variablelist>
<varlistentry>
<term>Byte1('V')</term>
<listitem>
<para>
Identifies the message as a function call result.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
The length of the function result value, in bytes (this count
does not include itself). Can be zero.
As a special case, -1 indicates a NULL function result.
No value bytes follow in the NULL case.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Byte<replaceable>n</replaceable></term>
<listitem>
<para>
The value of the function result, in the format indicated by
the associated format code.
<replaceable>n</replaceable> is the above length.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="protocol-message-formats-GSSENCRequest">
<term>GSSENCRequest (F)</term>
<listitem>
<variablelist>
<varlistentry>
<term>Int32(8)</term>