ocs_aes_ccm_op(9)
ocs_aes_ccm_op(9) π
β Kernel API Manual
okay so bestie, welcome to the ocs_aes_ccm_op(9) page in the Kernel API Manual. We're doing a CCM operation, and it's giving highkey iconic main character energy. Lowkey obsessed. Let's get into it β¨
π NAME π
ocs_aes_ccm_op β literally performs a CCM operation. That's the whole name, no cap. π
β¨ SYNOPSIS β¨
okay so here's the exact signature, keep the tokens cute and untouched:
int ocs_aes_ccm_op (struct ocs_aes_dev *aes_dev , enum ocs_cipher cipher
, enum ocs_instruction instruction , dma_addr_t dst_dma_list ,
dma_addr_t src_dma_list , u32 src_size , u8 *iv , dma_addr_t
adata_dma_list , u32 adata_size , u8 *in_tag , u32 tag_size );
πΈ ARGUMENTS πΈ
Vibe check: here is every argument, and yes you need all of them bestie:
aes_devβ the OCS AES device to use. Slay, pick your device. πcipherβ the Cipher to use (AESorSM4). Both ate, no cap. πinstructionβ the instruction to perform (encryptordecrypt). Choose your fighter. βdst_dma_listβ the OCS DMA list mapping output memory. That's the output mapping, iykyk. π¦src_dma_listβ the OCS DMA list mapping input payload data. Input payload mapping, bestie. π§src_sizeβ the amount of data mapped bysrc_dma_list. Yes, size matters, fr fr. πivβ the input IV vector. Not me being obsessed with an IV vector. πadata_dma_listβ the OCS DMA list mapping input A-data. A-data gets its own DMA list, periodt. πadata_sizeβ the amount of data mapped byadata_dma_list. Matching size, matching vibe. β¨in_tagβ input tag. The tag is right there in the name, bestie. π·οΈtag_sizeβ the size (in bytes) ofin_tag. Bytes, not vibes. π
π‘ NOTE π‘
for encrypt the tag is appended to the ciphertext (in the memory mapped bydst_dma_list). So when you're encrypting, the tag is literally getting appended to the ciphertext in the memory mapped bydst_dma_list, okay? Don't forget that part. π
π₯ RETURN π₯
0 on success, negative error code otherwise. That's it. Ngl, success is 0; anything negative is giving error. π«Ά
π¦ SEE ALSO π¦
Kernel file ./drivers/crypto/intel/keembay/ocs-aes.c, plus:
struct ocs_dma_linked_list(9)ocs_aes_set_key(9)ocs_aes_op(9)ocs_aes_gcm_op(9)ocs_create_linked_list_from_sg(9)
xoxo bestie π β source/version: ./drivers/crypto/intel/keembay, date: October 2026. That's the footer, now go slay your CCM operation. π
π¦ 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