</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Newest minor protocol version supported by the server
for the major protocol version requested by the client.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Number of protocol options not recognized by the server.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
Then, for protocol option not recognized by the server, there
is the following:
</para>
<variablelist>
<varlistentry>
<term>String</term>
<listitem>
<para>
The option name.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="protocol-message-formats-NoData">
<term>NoData (B)</term>
<listitem>
<variablelist>
<varlistentry>
<term>Byte1('n')</term>
<listitem>
<para>
Identifies the message as a no-data indicator.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32(4)</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="protocol-message-formats-NoticeResponse">
<term>NoticeResponse (B)</term>
<listitem>
<variablelist>
<varlistentry>
<term>Byte1('N')</term>
<listitem>
<para>
Identifies the message as a notice.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>Int32</term>
<listitem>
<para>
Length of message contents in bytes, including self.
</para>
</listitem>
</varlistentry>
</variablelist>
<para>
The message body consists of one or more identified fields,
followed by a zero byte as a terminator. Fields can appear in
any order. For each field there is the following:
</para>
<variablelist>
<varlistentry>
<term>Byte1</term>
<listitem>
<para>
A code identifying the field type; if zero, this is
the message terminator and no string follows.
The presently defined field types are listed in
<xref linkend="protocol-error-fields"/>.
Since more field types might be added in future,
frontends should silently ignore fields of unrecognized
type.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>String</term>
<listitem>
<para>
The field value.
</para>
</listitem>
</varlistentry>
</variablelist>
</listitem>
</varlistentry>
<varlistentry id="protocol-message-formats-NotificationResponse">
<term>NotificationResponse (B)</term>
<listitem>
<variablelist>
<varlistentry>
<term>Byte1('A')</term>
<listitem>
<para>
Identifies the message as a notification response.
</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 process ID of the notifying backend process.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>String</term>
<listitem>
<para>
The name of the channel