ASYNCHRONOUS HASH REQUEST HANDLE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ Asynchronous Hash Request Handle(9) ✨

hi bestie!! welcome to the Kernel API Manual 🫢 this one is short and sweet but it's honestly such an important little guy, so let's get into it πŸ’…


🌸 NAME 🌸

ahash_request β€” the Asynchronous Hash Request Handle, aka the little data structure that holds literally everything your async hash op needs πŸ’–


πŸ’… DESCRIPTION πŸ’…

okay so picture this: the ahash_request data structure contains all the pointers to data required for the asynchronous cipher operation. like, all of them. it's giving "I brought everything to the group project" energy πŸ‘‘

what's actually in there:

  • the cipher handle β€” and here's the slay part, it can be used by multiple ahash_request instances at the same time, no cap πŸ”₯
  • a pointer to the plaintext
  • the message digest output buffer
  • the asynchronous callback function
  • etc. (yes the manpage literally says etc., we love a vague queen πŸ™ˆ)

and the way it works is basically this: it acts as a handle to the ahash_request_* API calls, in a similar way as the ahash handle acts as a handle to the crypto_ahash_* API calls. it's the same vibe, just one level down β€” main character energy for the request layer πŸ’«


πŸ¦‹ SEE ALSO πŸ¦‹

so many friends omg. go read these, iykyk πŸ’œ

the file itself:

  • Kernel file ./include/crypto/hash.h

the structs & big-picture pages:

  • Message Digest Algorithm Definitions(9)
  • struct ahash_alg(9)
  • struct shash_alg(9)
  • Asynchronous Message Digest API(9)

the async family (the crypto_ahash_* girlies):

  • crypto_alloc_ahash(9)
  • crypto_free_ahash(9)
  • crypto_has_ahash(9)
  • crypto_ahash_blocksize(9)
  • crypto_ahash_digestsize(9)
  • crypto_ahash_statesize(9)
  • crypto_ahash_reqtfm(9)
  • crypto_ahash_reqsize(9)
  • crypto_ahash_setkey(9)
  • crypto_ahash_finup(9)
  • crypto_ahash_final(9)
  • crypto_ahash_digest(9)
  • crypto_ahash_export(9)
  • crypto_ahash_import(9)
  • crypto_ahash_init(9)
  • crypto_ahash_update(9)

the request family (the ahash_request_* besties β€” this is our girl's home turf πŸŽ€):

  • ahash_request_set_tfm(9)
  • ahash_request_alloc(9)
  • ahash_request_free(9)
  • ahash_request_set_callback(9)
  • ahash_request_set_crypt(9)
  • ahash_request_set_virt(9)

the synchronous side (because the sync girlies deserve love too 🌈):

  • Synchronous Message Digest API(9)
  • crypto_alloc_shash(9)
  • crypto_free_shash(9)
  • crypto_shash_blocksize(9)
  • crypto_shash_digestsize(9)
  • crypto_shash_descsize(9)
  • crypto_shash_setkey(9)
  • crypto_shash_digest(9)
  • crypto_shash_tfm_digest(9)
  • crypto_shash_export(9)
  • crypto_shash_import(9)
  • crypto_shash_init(9)
  • crypto_shash_finup(9)
  • crypto_shash_update(9)
  • crypto_shash_final(9)

that's the whole page bestie, short and iconic πŸ’€βœ¨

mwah πŸ’‹ this one lives in ./include/crypto and the version vibes are giving October 2026 β€” go touch some hashes, ily πŸ§šπŸ’–

πŸ“¦ where this page comes from