include/crypto/engine.h
Source file repositories/reference/linux-study-clean/include/crypto/engine.h
File Facts
- System
- Linux kernel
- Corpus path
include/crypto/engine.h- Extension
.h- Size
- 3743 bytes
- Lines
- 107
- Domain
- Repository Root And Misc
- Bucket
- include
- Inferred role
- Repository Root And Misc: implementation source
- Status
- source implementation candidate
Why This File Exists
Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Top-level or miscellaneous repository surface. Use this as map coverage unless a later manual pass promotes the file into a deeper subsystem dossier.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
crypto/aead.hcrypto/akcipher.hcrypto/hash.hcrypto/kpp.hcrypto/skcipher.hlinux/types.h
Detected Declarations
struct crypto_enginestruct devicestruct crypto_engine_opstruct aead_engine_algstruct ahash_engine_algstruct akcipher_engine_algstruct kpp_engine_algstruct skcipher_engine_alg
Annotated Snippet
struct crypto_engine_op {
int (*do_one_request)(struct crypto_engine *engine,
void *areq);
};
struct aead_engine_alg {
struct aead_alg base;
struct crypto_engine_op op;
};
struct ahash_engine_alg {
struct ahash_alg base;
struct crypto_engine_op op;
};
struct akcipher_engine_alg {
struct akcipher_alg base;
struct crypto_engine_op op;
};
struct kpp_engine_alg {
struct kpp_alg base;
struct crypto_engine_op op;
};
struct skcipher_engine_alg {
struct skcipher_alg base;
struct crypto_engine_op op;
};
int crypto_transfer_aead_request_to_engine(struct crypto_engine *engine,
struct aead_request *req);
int crypto_transfer_akcipher_request_to_engine(struct crypto_engine *engine,
struct akcipher_request *req);
int crypto_transfer_hash_request_to_engine(struct crypto_engine *engine,
struct ahash_request *req);
int crypto_transfer_kpp_request_to_engine(struct crypto_engine *engine,
struct kpp_request *req);
int crypto_transfer_skcipher_request_to_engine(struct crypto_engine *engine,
struct skcipher_request *req);
void crypto_finalize_aead_request(struct crypto_engine *engine,
struct aead_request *req, int err);
void crypto_finalize_akcipher_request(struct crypto_engine *engine,
struct akcipher_request *req, int err);
void crypto_finalize_hash_request(struct crypto_engine *engine,
struct ahash_request *req, int err);
void crypto_finalize_kpp_request(struct crypto_engine *engine,
struct kpp_request *req, int err);
void crypto_finalize_skcipher_request(struct crypto_engine *engine,
struct skcipher_request *req, int err);
int crypto_engine_start(struct crypto_engine *engine);
int crypto_engine_stop(struct crypto_engine *engine);
struct crypto_engine *crypto_engine_alloc_init(struct device *dev, bool rt);
struct crypto_engine *crypto_engine_alloc_init_and_set(struct device *dev,
bool retry_support,
bool rt, int qlen);
void crypto_engine_exit(struct crypto_engine *engine);
int crypto_engine_register_aead(struct aead_engine_alg *alg);
void crypto_engine_unregister_aead(struct aead_engine_alg *alg);
int crypto_engine_register_aeads(struct aead_engine_alg *algs, int count);
void crypto_engine_unregister_aeads(struct aead_engine_alg *algs, int count);
int crypto_engine_register_ahash(struct ahash_engine_alg *alg);
void crypto_engine_unregister_ahash(struct ahash_engine_alg *alg);
int crypto_engine_register_ahashes(struct ahash_engine_alg *algs, int count);
void crypto_engine_unregister_ahashes(struct ahash_engine_alg *algs,
int count);
int crypto_engine_register_akcipher(struct akcipher_engine_alg *alg);
void crypto_engine_unregister_akcipher(struct akcipher_engine_alg *alg);
int crypto_engine_register_kpp(struct kpp_engine_alg *alg);
void crypto_engine_unregister_kpp(struct kpp_engine_alg *alg);
int crypto_engine_register_skcipher(struct skcipher_engine_alg *alg);
void crypto_engine_unregister_skcipher(struct skcipher_engine_alg *alg);
int crypto_engine_register_skciphers(struct skcipher_engine_alg *algs,
int count);
void crypto_engine_unregister_skciphers(struct skcipher_engine_alg *algs,
int count);
#endif /* _CRYPTO_ENGINE_H */
Annotation
- Immediate include surface: `crypto/aead.h`, `crypto/akcipher.h`, `crypto/hash.h`, `crypto/kpp.h`, `crypto/skcipher.h`, `linux/types.h`.
- Detected declarations: `struct crypto_engine`, `struct device`, `struct crypto_engine_op`, `struct aead_engine_alg`, `struct ahash_engine_alg`, `struct akcipher_engine_alg`, `struct kpp_engine_alg`, `struct skcipher_engine_alg`.
- Atlas domain: Repository Root And Misc / include.
- Implementation status: source implementation candidate.
Implementation Notes
- This generated page is the file-by-file coverage layer; curated subsystem chapters should link here when they synthesize a multi-file control flow.
- Core OS pages should be promoted from atlas-only to deep-reviewed when they explain data structures, invariants, locking, lifecycle, and C implementation snippets.
- Driver-family pages are intentionally pattern-oriented unless they are part of the selected PCIe/NVMe representative device path.