libssh2_channe...e_window_adjust(3)
β¨ libssh2_channel_receive_window_adjust β¨
okay bestie, welcome to the libssh2 manual, chapter adjust the channel window π this one's a little vintage, so buckle up π
πΈ NAME πΈ
libssh2_channel_receive_window_adjust β adjust the channel window π¦
β¨ SYNOPSIS β¨
#include <libssh2.h>
unsigned long
libssh2_channel_receive_window_adjust(LIBSSH2_CHANNEL * channel,
unsigned long adjustment,
unsigned char force);
π DESCRIPTION π
girl. GIRL. This function is DEPRECATED in1.1.0. Use thelibssh2_channel_receive_window_adjust2(3)function instead! not me telling you this twice, but like, fr fr π
so what does it even do? it adjusts the receive window for a channel by adjustment bytes. that's it, that's the whole vibe π«
and here's the little detail that matters: if the amount to be adjusted is less than LIBSSH2_CHANNEL_MINADJUST and force is 0, then the adjustment amount gets queued for a later packet instead of going out right away. no cap. β
π RETURN VALUE π
it returns the new size of the receive window, as understood by the remote end π
lowkey important caveat: the window value sent over the wire is strictly 32bit, but this API is made to return a 'long', which may not be 32 bit on all platforms. so like, platform-dependent tea π
π ERRORS π
in 1.0 and earlier, this function returns LIBSSH2_ERROR_EAGAIN for non-blocking channels where it would otherwise block.
and here's the messy part bestie β that is a negative number, and this function only returns an unsigned value. so it leads to a very strange value being returned ππ iconic behavior honestly, but not in a good way.
π«Ά SEE ALSO π«Ά
anywayyy that's the page π this whole thing comes from the libssh2 manual, version 0.15, dated 15 Mar 200β¦ (yeah the date got cut off in the footer, it's giving mysterious π§). mwah, go read the non-deprecated one, ily, bye ππ
π¦ where this page comes from
- alpine 3.22: libssh2-doc 1.11.1-r3 Β· BSD-3-Clause
- alpine 3.23: libssh2-doc 1.11.1-r4 Β· BSD-3-Clause
- alpine 3.24: libssh2-doc 1.11.1-r4 Β· BSD-3-Clause
- arch rolling: libssh2 1.11.1-7 Β· BSD-3-Clause
- debian trixie: libssh2-1-dev 1.11.1-1+deb13u1 Β· BSD3
- debian trixie: libssh2-1-dev 1.11.1-1+deb13u2 Β· BSD3
- epel 10: libssh2-docs 1.11.1-9.el10_3 Β· BSD-3-Clause
- epel 9: libssh2-docs 1.11.1-9.el9 Β· BSD-3-Clause
- fedora 43: libssh2-docs 1.11.1-4.fc43 Β· BSD-3-Clause
- fedora 43: libssh2-docs 1.11.1-9.fc43 Β· BSD-3-Clause
- fedora 44: libssh2-docs 1.11.1-5.fc44 Β· BSD-3-Clause
- fedora 44: libssh2-docs 1.11.1-9.fc44 Β· BSD-3-Clause
- opensuse-leap 16.0: libssh2-devel 1.11.1-160000.5.1 Β· BSD-3-Clause
- opensuse-leap 16.0: libssh2-devel 1.11.1-160000.5.1 Β· BSD-3-Clause
- opensuse-leap 16.0: libssh2-devel 1.11.1-160000.5.1 Β· BSD-3-Clause
- opensuse-leap 16.0: libssh2-devel 1.11.1-160000.5.1 Β· BSD-3-Clause
- ubuntu questing: libssh2-1-dev 1.11.1-1build1
- ubuntu questing: libssh2-1-dev 1.11.1-1ubuntu0.25.10.2
- ubuntu resolute: libssh2-1-dev 1.11.1-1build2 Β· BSD3
- ubuntu resolute: libssh2-1-dev 1.11.1-1ubuntu0.26.04.4 Β· BSD3
- ubuntu stonking: libssh2-1-dev 1.11.1-6 Β· BSD3
- π the page's license: BSD-3-Clause
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms