include/crypto/internal/skcipher.h
Source file repositories/reference/linux-study-clean/include/crypto/internal/skcipher.h
File Facts
- System
- Linux kernel
- Corpus path
include/crypto/internal/skcipher.h- Extension
.h- Size
- 7999 bytes
- Lines
- 316
- 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/algapi.hcrypto/internal/cipher.hcrypto/skcipher.hlinux/types.h
Detected Declarations
struct aead_requeststruct rtattrstruct skcipher_instancestruct lskcipher_instancestruct crypto_skcipher_spawnstruct crypto_lskcipher_spawnstruct skcipher_walkstruct skcipher_ctx_simplefunction skcipher_request_completefunction crypto_drop_skcipherfunction crypto_drop_lskcipherfunction crypto_skcipher_set_reqsizefunction crypto_skcipher_set_reqsize_dmafunction skcipher_walk_abortfunction crypto_skcipher_testedfunction skcipher_request_flagsfunction skcipher_cipher_simple
Annotated Snippet
struct skcipher_instance {
void (*free)(struct skcipher_instance *inst);
union {
struct {
char head[offsetof(struct skcipher_alg, base)];
struct crypto_instance base;
} s;
struct skcipher_alg alg;
};
};
struct lskcipher_instance {
void (*free)(struct lskcipher_instance *inst);
union {
struct {
char head[offsetof(struct lskcipher_alg, co.base)];
struct crypto_instance base;
} s;
struct lskcipher_alg alg;
};
};
struct crypto_skcipher_spawn {
struct crypto_spawn base;
};
struct crypto_lskcipher_spawn {
struct crypto_spawn base;
};
struct skcipher_walk {
union {
/* Virtual address of the source. */
struct {
struct {
const void *const addr;
} virt;
} src;
/* Private field for the API, do not use. */
struct scatter_walk in;
};
union {
/* Virtual address of the destination. */
struct {
struct {
void *const addr;
} virt;
} dst;
/* Private field for the API, do not use. */
struct scatter_walk out;
};
unsigned int nbytes;
unsigned int total;
u8 *page;
u8 *buffer;
u8 *oiv;
void *iv;
unsigned int ivsize;
int flags;
unsigned int blocksize;
unsigned int stride;
unsigned int alignmask;
};
static inline struct crypto_instance *skcipher_crypto_instance(
struct skcipher_instance *inst)
{
return &inst->s.base;
}
static inline struct crypto_instance *lskcipher_crypto_instance(
struct lskcipher_instance *inst)
{
return &inst->s.base;
}
static inline struct skcipher_instance *skcipher_alg_instance(
struct crypto_skcipher *skcipher)
{
return container_of(crypto_skcipher_alg(skcipher),
struct skcipher_instance, alg);
}
Annotation
- Immediate include surface: `crypto/algapi.h`, `crypto/internal/cipher.h`, `crypto/skcipher.h`, `linux/types.h`.
- Detected declarations: `struct aead_request`, `struct rtattr`, `struct skcipher_instance`, `struct lskcipher_instance`, `struct crypto_skcipher_spawn`, `struct crypto_lskcipher_spawn`, `struct skcipher_walk`, `struct skcipher_ctx_simple`, `function skcipher_request_complete`, `function crypto_drop_skcipher`.
- 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.