ccp_enqueue_cmd(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… ccp_enqueue_cmd(9) β€” a Kernel API Manual moment

ok so bestie, welcome to the Kernel API Manual, section 9, and today's main character is ccp_enqueue_cmd πŸŽ€


✨ NAME ✨

ccp_enqueue_cmd β€” queue an operation for processing by the CCP πŸ’«


🌸 SYNOPSIS 🌸

int ccp_enqueue_cmd (struct ccp_cmd *cmd );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • cmd β€” the ccp_cmd struct that's gonna get processed. that's the whole vibe. ✨

πŸ”₯ DESCRIPTION πŸ”₯

first things first: go look at the ccp_cmd struct below for the required fields, okay? it's giving "read the docs before you @ me" πŸ™ˆ

so what are we actually doing? we're queueing a cmd to be processed by the CCP. iconic. but here's the plot twist β€” if queueing the cmd would exceed the defined length of the cmd queue, the cmd will only get queued if the CCP_CMD_MAY_BACKLOG flag is set, and that's gonna result in a return code of -EBUSY. like, no flag, no queue, that's the rule πŸ’…

the callback routine specified in the ccp_cmd struct gets called to notify the caller of completion (if the cmd was not backlogged) or of advancement out of the backlog. and if the cmd has advanced out of the backlog, the "err" value of the callback will be -EINPROGRESS. any other "err" value during callback is the result of the operation. fr fr, that's just how it is 🫢

so when is the cmd actually successfully queued? two ways, bestie: either the return code is -EINPROGRESS, or the return code is -EBUSY and the CCP_CMD_MAY_BACKLOG flag is set. both count. write that down πŸ“

πŸ‘‘ SEE ALSO πŸ‘‘

kernel file ./include/linux/ccp.h β€” and like, the whole friend group:

  • ccp_present(9)
  • ccp_version(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_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)

and that's the whole page, bestie!! source lives at ./include/linux, dated October 2026, and this was ccp_enqueue_cmd(9) β€” slay, you're a kernel dev now πŸ’–βœ¨πŸŽ€πŸ¦‹πŸŒΈπŸ’…
πŸ“¦ where this page comes from