cnstr_shdsc_aead_null_decap(9)
π cnstr_shdsc_aead_null_decap β the Kernel API Manual page you didn't know you needed π
okay so bestie, welcome to the Kernel API Manual β¨ today we're talking about cnstr_shdsc_aead_null_decap, and ngl the name is giving "I have seventeen consonants and zero chill" but it's actually so valid once you get it. It's the function that builds you an IPSec ESP decapsulation shared descriptor (non-protocol) with no (null) decryption β like, it sets up the descriptor but the decryption part is literally doing nothing. Null. A beautiful void. π«Ά
πΈ NAME πΈ
cnstr_shdsc_aead_null_decap β IPSec ESP decapsulation shared descriptor (non-protocol) with no (null) decryption. That's it, that's the whole vibe check. π¦
β¨ SYNOPSIS β¨
void cnstr_shdsc_aead_null_decap (u32 * const desc , struct alginfo
*adata , unsigned int icvsize , int era );
void, bestie! It returns absolutely nothing and honestly? Queen behavior β no promises, no expectations, just descriptor construction. π
π ARGUMENTS π
Here's where you actually lock in, because every single one of these matters:
descβ pointer to the buffer used for descriptor construction. This is your canvas, your little construction site, your main character buffer. ποΈadataβ pointer to authentication transform definitions. Important detail incoming: a split key is required for SEC Era < 6, and in that case the size of the split key is specified in this field. Valid algorithm values are one ofOP_ALG_ALGSEL_{MD5, SHA1, SHA224, SHA256, SHA384, SHA512}ANDed withOP_ALG_AAI_HMAC_PRECOMP. Like, ANDed, literally. Don't come in with a bare algo and expect slay. π₯icvsizeβ integrity check value (ICV) size. Can be truncated or full, your call, you do you. πeraβ SEC Era. Yes it's anint. Yes you have to care about it. The split-key thing fromadatais watching. π
π SEE ALSO π
okay this is the friend group, the whole crew, the iykyk section:
The Kernel file lives at ./drivers/crypto/caam/caamalg_desc.c ποΈ and here's everybody else in the group chat:
cnstr_shdsc_aead_null_encap(9)cnstr_shdsc_aead_encap(9)cnstr_shdsc_aead_decap(9)cnstr_shdsc_aead_givencap(9)cnstr_shdsc_gcm_encap(9)cnstr_shdsc_gcm_decap(9)cnstr_shdsc_rfc4106_encap(9)cnstr_shdsc_rfc4106_decap(9)cnstr_shdsc_rfc4543_encap(9)cnstr_shdsc_rfc4543_decap(9)cnstr_shdsc_chachapoly(9)cnstr_shdsc_skcipher_encap(9)cnstr_shdsc_skcipher_decap(9)cnstr_shdsc_xts_skcipher_encap(9)cnstr_shdsc_xts_skcipher_decap(9)
nostalgic for a function you haven't even read yet? same. go click one. π§
aaaand that's the page, bestie!! π this little masterpiece came from ./drivers/crypto/caam, dated October 2026, and it's literally titled cnstr_shdsc_aead_null_decap(9) β iconic, no notes, periodt. π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms