drivers/net/ethernet/microchip/vcap/vcap_api_client.h
Source file repositories/reference/linux-study-clean/drivers/net/ethernet/microchip/vcap/vcap_api_client.h
File Facts
- System
- Linux kernel
- Corpus path
drivers/net/ethernet/microchip/vcap/vcap_api_client.h- Extension
.h- Size
- 8650 bytes
- Lines
- 285
- Domain
- Driver Families
- Bucket
- drivers/net
- Inferred role
- Driver Families: implementation source
- Status
- source implementation candidate
Why This File Exists
Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
linux/types.hlinux/list.hlinux/netdevice.hnet/flow_offload.hvcap_api.h
Detected Declarations
struct vcap_client_keyfield_ctrlstruct vcap_u1_keystruct vcap_u32_keystruct vcap_u48_keystruct vcap_u56_keystruct vcap_u64_keystruct vcap_u72_keystruct vcap_u112_keystruct vcap_u128_keystruct vcap_client_keyfield_datastruct vcap_client_keyfieldstruct vcap_client_actionfield_ctrlstruct vcap_u1_actionstruct vcap_u32_actionstruct vcap_u48_actionstruct vcap_u56_actionstruct vcap_u64_actionstruct vcap_u72_actionstruct vcap_u112_actionstruct vcap_u128_actionstruct vcap_client_actionfield_datastruct vcap_client_actionfieldstruct vcap_counterenum vcap_bit
Annotated Snippet
struct vcap_client_keyfield_ctrl {
struct list_head list; /* For insertion into a rule */
enum vcap_key_field key;
enum vcap_field_type type;
};
struct vcap_u1_key {
u8 value;
u8 mask;
};
struct vcap_u32_key {
u32 value;
u32 mask;
};
struct vcap_u48_key {
u8 value[6];
u8 mask[6];
};
struct vcap_u56_key {
u8 value[7];
u8 mask[7];
};
struct vcap_u64_key {
u8 value[8];
u8 mask[8];
};
struct vcap_u72_key {
u8 value[9];
u8 mask[9];
};
struct vcap_u112_key {
u8 value[14];
u8 mask[14];
};
struct vcap_u128_key {
u8 value[16];
u8 mask[16];
};
/* Client supplied VCAP rule field data */
struct vcap_client_keyfield_data {
union {
struct vcap_u1_key u1;
struct vcap_u32_key u32;
struct vcap_u48_key u48;
struct vcap_u56_key u56;
struct vcap_u64_key u64;
struct vcap_u72_key u72;
struct vcap_u112_key u112;
struct vcap_u128_key u128;
};
};
/* Client supplied VCAP rule key (value, mask) */
struct vcap_client_keyfield {
struct vcap_client_keyfield_ctrl ctrl;
struct vcap_client_keyfield_data data;
};
/* Client supplied VCAP rule action control part */
struct vcap_client_actionfield_ctrl {
struct list_head list; /* For insertion into a rule */
enum vcap_action_field action;
enum vcap_field_type type;
};
struct vcap_u1_action {
u8 value;
};
struct vcap_u32_action {
u32 value;
};
struct vcap_u48_action {
u8 value[6];
};
struct vcap_u56_action {
u8 value[7];
};
struct vcap_u64_action {
Annotation
- Immediate include surface: `linux/types.h`, `linux/list.h`, `linux/netdevice.h`, `net/flow_offload.h`, `vcap_api.h`.
- Detected declarations: `struct vcap_client_keyfield_ctrl`, `struct vcap_u1_key`, `struct vcap_u32_key`, `struct vcap_u48_key`, `struct vcap_u56_key`, `struct vcap_u64_key`, `struct vcap_u72_key`, `struct vcap_u112_key`, `struct vcap_u128_key`, `struct vcap_client_keyfield_data`.
- Atlas domain: Driver Families / drivers/net.
- 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.