1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81
|
=head1 NAME
nbd_get_protocol - return the NBD protocol variant
=head1 SYNOPSIS
#include <libnbd.h>
const char * nbd_get_protocol (
struct nbd_handle *h
);
=head1 DESCRIPTION
Return the NBD protocol variant in use on the connection. At
the moment this returns one of the strings C<"oldstyle">,
C<"newstyle"> or C<"newstyle-fixed">. Other strings might
be returned in the future.
Most modern NBD servers use C<"newstyle-fixed">.
This call does not block, because it returns data that is saved in
the handle from the NBD protocol handshake.
=head1 RETURN VALUE
This call returns a statically allocated string, valid for the
lifetime of the process or until libnbd is unloaded by
L<dlclose(3)>. You B<must not> try to free the string.
=head1 ERRORS
On error C<NULL> is returned.
Refer to L<libnbd(3)/ERROR HANDLING>
for how to get further details of the error.
The following parameters must not be NULL: C<h>.
For more information see L<libnbd(3)/Non-NULL parameters>.
=head1 HANDLE STATE
nbd_get_protocol
can be called when the handle is in the following states:
┌─────────────────────────────────────┬─────────────────────────┐
│ Handle created, before connecting │ ❌ error │
│ Connecting │ ❌ error │
│ Connecting & handshaking (opt_mode) │ ✅ allowed │
│ Connected to the server │ ✅ allowed │
│ Connection shut down │ ✅ allowed │
│ Handle dead │ ❌ error │
└─────────────────────────────────────┴─────────────────────────┘
=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_PROTOCOL 1
=head1 SEE ALSO
L<nbd_create(3)>,
L<nbd_get_block_size(3)>,
L<nbd_get_handshake_flags(3)>,
L<nbd_get_structured_replies_negotiated(3)>,
L<nbd_get_tls_negotiated(3)>,
L<libnbd(3)>.
=head1 AUTHORS
Eric Blake
Richard W.M. Jones
=head1 COPYRIGHT
Copyright Red Hat
|