crypto_has_ahash(9)
π crypto_has_ahash β bestie, is this ahash even there?
okay so welcome to the Kernel API Manual entry for crypto_has_ahash, and yes we are absolutely getting into it π
β¨ NAME β¨
crypto_has_ahash β the little vibe check that tells you whether an ahash exists at all π
Like, it literally just searches for the availability of an ahash. That's the whole job. Iconic, honestly.
πΈ SYNOPSIS πΈ
int crypto_has_ahash (const char *alg_name , u32 type , u32 mask );
three arguments, one int out the door, no drama π
π¦ ARGUMENTS π¦
alg_nameβ this is thecra_name/ name, or thecra_driver_name/ driver name, of the ahash you're asking about π« so you can slide in with the friendly name or the full government driver name, both work.typeβ specifies the type of the ahash. yeah. that's the whole description. it's giving mysterious but okay πmaskβ specifies the mask for the ahash. and that's it, that's the tea π΅
π₯ RETURN π₯
- returns
truewhen the ahash is known to the kernel crypto API β - returns
falseotherwise β
no cap, that's the entire contract. either it's in the API or it's not, and now you know π
heads up bestie: the signature saysintbut the return section talks abouttrue/falseβ that's just how the page tells it, so don't come for me about it π
π SEE ALSO π
okay this list is LONG, like, scroll-for-a-while long, but every single one of them is here because I would never do you dirty like that π«Ά
- Kernel file
./include/crypto/hash.hβ the home base π - Message Digest Algorithm Definitions(9)
struct ahash_alg(9)struct shash_alg(9)- Asynchronous Message Digest API(9)
crypto_alloc_ahash(9)crypto_free_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)- Asynchronous Hash Request Handle(9)
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)- 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)
like half of these are the async ahash girlies and the other half are the sync shash girlies and honestly both ate π
β¨ that's the whole page, bestie β¨
this lil masterpiece lives under ./include/crypto in the source tree, dated October 2026, and it's filed as crypto_has_ahash(9) β go forth and check your hashes, ily, bye πππ§
π¦ 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