STRUCT ACOMP_REQ(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct acomp_req(9) β€” like, the whole vibe check on asynchronous (de)compression requests πŸŽ€

okay so this is a page from the Kernel API Manual, and bestie, we're talking about struct acomp_req β€” the asynchronous (de)compression request. it's giving "small struct, big responsibilities" and honestly? iconic. πŸ¦‹


✨ NAME ✨

struct acomp_req β€” asynchronous (de)compression request. literally what it says on the tin, no cap. 🫢


🌸 SYNOPSIS 🌸

here's the whole thing, character for character, because we do not paraphrase code in this house:

struct acomp_req {
    struct crypto_async_request base;
    union {
      struct scatterlist *src;
      const u8 *svirt;
    };
    union {
      struct scatterlist *dst;
      u8 *dvirt;
    };
    unsigned int slen;
    unsigned int dlen;
    struct acomp_req_chain chain;
    void *__ctx[];
 };

πŸ‘‘ Members πŸ‘‘

okay, field by field, let's go β€” this is the main character energy part of the page:

  • base β€” the common attributes for asynchronous crypto requests. it's the shared DNA, the group-chat-everyone's-in. πŸ’«
  • {unnamed_union} β€” anonymous. yes, that's literally the note. it's an unnamed union and the manpage just says "anonymous". mysterious. we respect it. πŸ™ˆ
  • src β€” source scatterlist.
  • svirt β€” source virtual address.
  • {unnamed_union} β€” anonymous. again! a second unnamed union, also "anonymous". slay, we love a consistent queen. ✨
  • dst β€” destination scatterlist.
  • dvirt β€” destination virtual address.
  • slen β€” size of the input buffer.
  • dlen β€” size of the output buffer and the number of bytes produced. yes, it's doing double duty, highkey a multitasker. πŸ”₯
  • chain β€” private API code data, do not use. bestie, i'm serious, hands off. this is not your data, it's the API's data. πŸ’€
  • __ctx β€” start of private context data. the beginning of the mystery box. 🎁

🌈 SEE ALSO 🌈

go read these next, i promise it's a whole rabbit hole and it's worth it (iykyk):

and yeah, acomp_request_alloc_extra(9) shows up twice in the list. that's not me being sloppy, that's exactly how it is in the source. we keep the facts, always. πŸ’…

mwah πŸ’œ that's the whole page! this gem lives in ./include/crypto and the source/version stamp on it is dated October 2026 β€” so go forth, set your slen and your dlen, keep your hands off chain, and stan asynchronous (de)compression requests responsibly. 🧚⭐

πŸ“¦ where this page comes from