STRUCT CCP_PASSTHRU_ENGINE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ccp_passthru_engine(9) πŸ’…

okay so bestie, welcome to the Kernel API Manual ✨ β€” yes we're literally in the kernel now, and this page is all about struct ccp_passthru_engine, which is the CCP pass-through operation. it's giving "glow-up for your data" energy πŸ¦‹


✨ NAME ✨

struct ccp_passthru_engine β€” the CCP pass-through operation, aka the lil struct that says "hey, run this data through, do a bitsy thing to it, and hand it back" πŸ’«


🌸 SYNOPSIS 🌸

struct ccp_passthru_engine {
    enum ccp_passthru_bitwise bit_mod;
    enum ccp_passthru_byteswap byte_swap;
    struct scatterlist *mask;
    u32 mask_len;
    struct scatterlist *src, *dst;
    u64 src_len;
    u32 final;
 };

like, that's the whole vibe right there. no cap, every field matters πŸ”₯


πŸŽ€ Members πŸŽ€

  • bit_mod β€” the bitwise operation to perform. yes, we're doing bit math, and we're doing it fabulously πŸ’…
  • byte_swap β€” the byteswap operation to perform. for when your bytes need to switch places, main character style πŸ”„
  • mask β€” the mask to be applied to data. it's literally a mask, so it covers stuff 🎭
  • mask_len β€” length in bytes of mask. gotta know your size, always πŸ“
  • src β€” data to be used for this operation. the input, the source material, the moment before the glow-up ✨
  • dst β€” data produced by this operation. the after pic 🫢
  • src_len β€” length in bytes of data used for this operation. again: size matters, know it πŸ“
  • final β€” indicate final pass-through operation. the grand finale, the last number, the closing track 🎬

πŸ¦‹ Description πŸ¦‹

so here's the tea β˜• β€” these are the variables that are required to be set when you call ccp_enqueue_cmd:

  • bit_mod, byte_swap, src, dst, src_len
  • mask, mask_len if bit_mod is not CCP_PASSTHRU_BITWISE_NOOP
lowkey important: that second bullet is conditional, bestie. if bit_mod is CCP_PASSTHRU_BITWISE_NOOP, you don't need mask and mask_len. but otherwise? you absolutely do. read the conditions, don't skip them 😭

πŸ’œ SEE ALSO πŸ’œ

Kernel file ./include/linux/ccp.h β€” and then a whole squad of friends, fr fr:

  • ccp_present(9)
  • ccp_version(9)
  • ccp_enqueue_cmd(9)
  • struct ccp_aes_engine(9)
  • struct ccp_xts_aes_engine(9)
  • struct ccp_sha_engine(9)
  • struct ccp_des3_engine(9)
  • struct ccp_rsa_engine(9)
  • struct ccp_passthru_nomap_engine(9)
  • struct ccp_ecc_modular_math(9)
  • struct ccp_ecc_point(9)
  • struct ccp_ecc_point_math(9)
  • struct ccp_ecc_engine(9)
  • struct ccp_cmd(9)

like, the whole friend group showed up to the function πŸ‘‘πŸŒˆ


and that's the page!! πŸŽ€ this lil beauty lives over in ./include/linux, dated October 2026, and it's brought to you by the Kernel API Manual. go forth and pass through, bestie β€” periodt πŸ’…πŸ’–

πŸ“¦ where this page comes from