nbd_opt_structured_reply(3)

πŸŽ€ NAME πŸŽ€

nbd_opt_structured_reply β€” request the server to enable structured replies, and yes bestie this is the nbd_opt_structured_reply(3) page from the LIBNBD manual πŸ’…βœ¨

🌸 SYNOPSIS 🌸

Include the header and call it like this, fr fr:

#include <libnbd.h>

int nbd_opt_structured_reply (
      struct nbd_handle *h
    );

πŸ¦‹ DESCRIPTION πŸ¦‹

Okay so the whole vibe is: you're requesting that the server use structured replies by sending "NBD_OPT_STRUCTURED_REPLY" 🫢. This can only be used if nbd_set_opt_mode(3) enabled option mode; furthermore, libnbd defaults to automatically requesting this unless you use nbd_set_request_structured_replies(3) prior to connecting. This function is mainly useful for integration testing of corner cases in server handling β€” no cap, it's giving "tiny gremlin test button" energy πŸ”₯.

This function returns true if the server replies with success, false if the server replies with an error, and fails only if the server does not reply (such as for a loss of connection). Note that some servers fail a second request as redundant; libnbd assumes that once one request has succeeded, then structured replies are supported (as visible by nbd_get_structured_replies_negotiated(3)) regardless if later calls to this function return false. Similarly, a server may fail this request if extended headers are already negotiated, since extended headers take priority. That's the tea β˜•.

πŸ’– RETURN VALUE πŸ’–

This call returns a boolean value. Literally true/false, bestie ✨.

😭 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_opt_structured_reply can be called when the handle is in the following state:

  • 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.

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

#define LIBNBD_HAVE_NBD_OPT_STRUCTURED_REPLY 1

🌈 SEE ALSO 🌈

nbd_aio_opt_structured_reply(3), nbd_create(3), nbd_get_structured_replies_negotiated(3), nbd_opt_go(3), nbd_set_opt_mode(3), nbd_set_request_structured_replies(3), libnbd(3).

🧚 AUTHORS 🧚

  • Eric Blake
  • Richard W.M. Jones

Copyright Red Hat

πŸ’œ LICENSE πŸ’œ

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 bye bestie β€” this page is from libnbd-1.25.8, dated 2026-10-13, and it's nbd_opt_structured_reply(3) signing off πŸ’…βœ¨

πŸ“¦ where this page comes from