nbd_set_tcp_option(3)

πŸ“¦
version 1.25.8 Β· 3 versions
, in centos-stream 10

πŸ’– nbd_set_tcp_option β€” a LIBNBD page with TCP option energy πŸ’–

okay so bestie, welcome to the LIBNBD manual page for nbd_set_tcp_option! This one is literally about setting a subset of TCP options on the socket, and it’s giving very niche socket-glow-up. Let’s go πŸ’…

✨ NAME ✨

nbd_set_tcp_option - set TCP options on the socket

🌸 SYNOPSIS 🌸

        #include <libnbd.h>

        int nbd_set_tcp_option (
              struct nbd_handle *h, int option, int v
            );

πŸ¦‹ DESCRIPTION πŸ¦‹

If you’re making a TCP connection, then you can call this function to set a subset of TCP options on the socket. No cap.

Currently the option parameter may be one of:

  • TCP_KEEPCNT
  • TCP_KEEPIDLE
  • TCP_KEEPINTVL
Heads up bestie: these options may not work on non-Linux systems. πŸ‘€

For the TCP_KEEP* options, keepalive must also be enabled by calling nbd_set_keepalive(3)).

πŸŽ€ RETURN VALUE πŸŽ€

If the call is successful the function returns 0. Slay. ✨

πŸ”₯ ERRORS πŸ”₯

On error it returns -1.

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

  • Handle created, before connecting β€” βœ… allowed
  • Connecting β€” ❌ error
  • Connecting & handshaking (opt_mode) β€” ❌ error
  • Connected to the server β€” ❌ error
  • Connection shut down β€” ❌ error
  • Handle dead β€” ❌ error

⭐ VERSION ⭐

This function first appeared in libnbd 1.26.

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_TCP_OPTION 1

🌈 SEE ALSO 🌈

nbd_create(3), nbd_set_keepalive(3), libnbd(3), setsockopt(2), tcp(7).

🫢 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


okay bye bestie πŸ’– this iconic page is from libnbd-1.25.8, dated 2026-10-13 β€” mwah! 🫢

πŸ“¦ where this page comes from