nbd_aio_opt_structured_reply(3)
πΈ NAME πΈ
okay so bestie, this is nbd_aio_opt_structured_reply from the libnbd(3) manual β the async main-character move that asks the server to enable structured replies. π
β¨
β¨ SYNOPSIS β¨
#include <libnbd.h>
typedef struct {
int (*callback) (void *user_data, int *error);
void *user_data;
void (*free) (void *user_data);
} nbd_completion_callback;
int nbd_aio_opt_structured_reply (
struct nbd_handle *h,
nbd_completion_callback completion_callback
);
π DESCRIPTION π
okay so you're requesting that the server use structured replies by sending "NBD_OPT_STRUCTURED_REPLY". It's giving the async twin of the synchronous counterpart nbd_opt_structured_reply(3), except this one does not wait for the server's response β she's busy, she's booked, she's asynchronous. π¦
To figure out when the request completes, wait for nbd_aio_is_connecting(3) to return false. Not me refreshing that vibe check. π Or supply the optional "completion_callback" which will be invoked as described in "Completion callbacks" in libnbd(3), except that it is automatically retired regardless of return value. Lowkey important: detecting whether the server returns an error (as is done by the return value of the synchronous counterpart) is only possible with a completion callback. Periodt. π
π₯ RETURN VALUE π₯
If the call is successful the function returns 0. That's the slay. β
π ERRORS π
On error -1 is returned. π
Refer to "ERROR HANDLING" in libnbd(3) for how to get further details of the error.
The following parameters must not be NULL: "h". For more information see "Non-NULL parameters" in libnbd(3).
π¦ HANDLE STATE π¦
nbd_aio_opt_structured_reply can be called when the handle is in the following state β vibe check, bestie:
- Handle created, before connecting β β error
- Connecting β β error
- Connecting & handshaking (opt_mode) β β allowed
- Connected to the server β β error
- Connection shut down β β error
- Handle dead β β error
π VERSION π
This function first appeared in libnbd 1.16. So she's been iconic since then. π
If you need to test if this function is available at compile time check if the following macro is defined:
#define LIBNBD_HAVE_NBD_AIO_OPT_STRUCTURED_REPLY 1
π SEE ALSO π
go read these besties, iykyk:
π«Ά AUTHORS π«Ά
shoutout to the icons who made this happen:
- Eric Blake
- Richard W.M. Jones
π COPYRIGHT π
Copyright Red Hat
periodt. π
π LICENSE π
okay legal bestie, here's the exact license tea β no cap, don't change a word:
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
k thx bye, bestie πβ¨ this page is from libnbd-1.25.8, dated 2026-10-13, and it's literally nbd_aio_opt_structured_reply(3) forever. π«Άπ
π¦ where this page comes from
- centos-stream 10: libnbd-devel 1.25.8-1.el10 Β· LGPL-2.0-or-later AND BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms