smb_compression_decompress(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸŽ€ NAME πŸŽ€

smb_compression_decompress β€” decode an SMB2 compression transform. This is the smb_compression_decompress(9) page from the Kernel API Manual, bestie, and it's lowkey iconic. πŸ’…

✨ SYNOPSIS ✨

int smb_compression_decompress (__le16 alg , bool allow_chained , bool
       allow_pattern , const void *src , u32 slen , void *dst , u32 dlen );

That's the signature, fr fr. 🫢

🌸 ARGUMENTS 🌸

  • alg β€” the negotiated general-purpose compression algorithm. the chosen one of this whole operation, iykyk.
  • allow_chained β€” whether chained transforms were negotiated. the chained-transform vibe check.
  • allow_pattern β€” whether Pattern_V1 payloads were negotiated. the Pattern_V1 negotiation flag, got it.
  • src β€” transform header followed by compressed payload data. the whole little package: header plus payload data.
  • slen β€” total number of bytes available at src. literally the total byte count at src.
  • dst β€” output buffer for the reconstructed SMB2 message. this is where the reconstructed message lands. πŸŽ€
  • dlen β€” exact expected size of the reconstructed SMB2 message. not approximate, exact. periodt.

πŸ’– DESCRIPTION πŸ’–

Okay so the flow is: validate the transform type and the negotiated capabilities first, then dispatch to the chained or unchained decoder. slay. The caller supplies the expected output size after applying its transport-specific message size limits. No cap. ✨

πŸ¦‹ RETURN πŸ¦‹

  • 0 on success πŸ’–
  • otherwise a negative errno 😭

🌈 SEE ALSO 🌈


xoxo πŸ’‹ β€” source/version: ./fs/smb/common/compress; date: October 2026. catch you later, bestie! 🫢

πŸ“¦ where this page comes from