spu2_fmd_ctrl0_write(9)
π NAME π
ok so spu2_fmd_ctrl0_write β bestie, this is the one that writes the ctrl0 field inside the fixed metadata (FMD) field of an SPU request packet. that's it, that's the whole vibe. (this page is from the Kernel API Manual, in case u were wondering π)
β¨ SYNOPSIS β¨
void spu2_fmd_ctrl0_write (struct SPU2_FMD *fmd , bool is_inbound , bool
auth_first , enum spu2_proto_sel protocol , enum spu2_cipher_type
cipher_type , enum spu2_cipher_mode cipher_mode , enum spu2_hash_type
auth_type , enum spu2_hash_mode auth_mode );
like, yes, it returns void. it's giving "i do the work and i don't need applause." π
π«Ά ARGUMENTS π«Ά
fmdβ start of the FMD field that's getting written. this is ur canvas, ur main character struct pointer π¨is_inboundβtrueif we're decrypting,falseif we're encrypting. pick a lane, bestie π«auth_firstβtrueif the alg authenticates before it encrypts. order matters, always πΈprotocolβ the protocol selectorcipher_typeβ which cipher algorithm we're usingcipher_modeβ the cipher modeauth_typeβ the authentication typeauth_modeβ the authentication mode
ngl there are a Lot of params here but it's just ctrl0 being built up field by field, no cap. pass them all, skip none π
π SEE ALSO π
ok the friend group is BIG, like a whole group chat of related functions, and also a kernel file, which is iconic of it honestly:
Kernel file ./drivers/crypto/bcm/spu2.c β that's where the family lives π
spu2_cipher_xlate(9)spu2_hash_xlate(9)spu2_fmd_init(9)spu2_fmd_ctrl1_write(9)spu2_fmd_ctrl2_write(9)spu2_fmd_ctrl3_write(9)spu2_ctx_max_payload(9)spu2_payload_length(9)spu2_response_hdr_len(9)spu2_hash_pad_len(9)spu2_gcm_ccm_pad_len(9)spu2_assoc_resp_len(9)spu2_aead_ivlen(9)spu2_hash_type(9)spu2_digest_size(9)spu2_create_request(9)spu2_cipher_req_init(9)spu2_cipher_req_finish(9)spu2_request_pad(9)spu2_xts_tweak_in_payload(9)spu2_tx_status_len(9)spu2_rx_status_len(9)spu2_status_process(9)spu2_ccm_update_iv(9)spu2_wordalign_padlen(9)
and that's the whole page, bestie π it came from source ./drivers/crypto/bcm, dated October 2026, living in the Kernel API Manual β go read the neighbors, they ate π₯ππ
π¦ 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