=head1 NAME

nbd_get_handshake_flags - see which handshake flags are supported

=head1 SYNOPSIS

 #include <libnbd.h>

 uint32_t nbd_get_handshake_flags (
            struct nbd_handle *h
          );

=head1 DESCRIPTION

Return the state of the handshake flags
on this handle.  When the
handle has not yet completed a connection (see L<nbd_aio_is_created(3)>),
this returns the flags that the client is willing to use, provided
the server also advertises those flags.  After the connection is
ready (see L<nbd_aio_is_ready(3)>), this returns the flags that were
actually agreed on between the server and client.  If the NBD
protocol defines new handshake flags, then the return value from
a newer library version may include bits that were undefined at
the time of compilation.

=head1 RETURN VALUE

This call returns a bitmask of LIBNBD_HANDSHAKE_FLAG_* values.

=head1 ERRORS

This function does not fail.

The following parameters must not be NULL: C<h>.
For more information see L<libnbd(3)/Non-NULL parameters>.

=head1 VERSION

This function first appeared in libnbd 1.2.

If you need to test if this function is available at compile time
check if the following macro is defined:

 #define LIBNBD_HAVE_NBD_GET_HANDSHAKE_FLAGS 1

=head1 SEE ALSO

L<nbd_aio_is_created(3)>,
L<nbd_aio_is_ready(3)>,
L<nbd_create(3)>,
L<nbd_get_protocol(3)>,
L<nbd_set_handshake_flags(3)>,
L<nbd_set_strict_mode(3)>,
L<libnbd(3)>.

=head1 AUTHORS

Eric Blake

Richard W.M. Jones

=head1 COPYRIGHT

Copyright Red Hat
