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
|
=head1 NAME
nbd_set_debug_callback - set the debug callback
=head1 SYNOPSIS
#include <libnbd.h>
typedef struct {
int (*callback) (void *user_data, const char *context,
const char *msg);
void *user_data;
void (*free) (void *user_data);
} nbd_debug_callback;
int nbd_set_debug_callback (
struct nbd_handle *h,
nbd_debug_callback debug_callback
);
=head1 DESCRIPTION
Set the debug callback. This function is called when the library
emits debug messages, when debugging is enabled on a handle. The
callback parameters are C<user_data> passed to this function, the
name of the libnbd function emitting the debug message (C<context>),
and the message itself (C<msg>). If no debug callback is set on
a handle then messages are printed on C<stderr>.
The callback should not call C<nbd_*> APIs on the same handle since it can
be called while holding the handle lock and will cause a deadlock.
=head1 RETURN VALUE
If the call is successful the function returns C<0>.
=head1 ERRORS
On error C<-1> 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 VERSION
This function first appeared in libnbd 1.0.
If you need to test if this function is available at compile time
check if the following macro is defined:
#define LIBNBD_HAVE_NBD_SET_DEBUG_CALLBACK 1
=head1 SEE ALSO
L<nbd_create(3)>,
L<libnbd(3)>.
=head1 AUTHORS
Eric Blake
Richard W.M. Jones
=head1 COPYRIGHT
Copyright Red Hat
|