include/linux/pds/pds_adminq.h
Source file repositories/reference/linux-study-clean/include/linux/pds/pds_adminq.h
File Facts
- System
- Linux kernel
- Corpus path
include/linux/pds/pds_adminq.h- Extension
.h- Size
- 42034 bytes
- Lines
- 1546
- Domain
- Core OS
- Bucket
- Core Kernel Interface
- Inferred role
- Core OS: implementation source
- Status
- source implementation candidate
Why This File Exists
Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Core operating-system implementation surface: boot, tasks, memory, VFS, syscall-facing interfaces, synchronization, credentials, and isolation.
- Touches IRQ or DMA behavior; this matters for the representative real-device path.
- Defines or uses C structs; map object ownership, embedded links, reference counts, and lock ownership.
Dependency Surface
- No C-style include directives detected by the generator.
Detected Declarations
struct pds_core_notifyq_eventstruct pds_core_link_change_eventstruct pds_core_reset_eventstruct pds_core_client_eventstruct pds_core_notifyq_cmdstruct pds_core_client_reg_cmdstruct pds_core_client_reg_compstruct pds_core_client_unreg_cmdstruct pds_core_client_request_cmdstruct pds_core_lif_statusstruct pds_core_lif_infostruct pds_core_lif_identitystruct pds_core_lif_identify_cmdstruct pds_core_lif_identify_compstruct pds_core_lif_init_cmdstruct pds_core_lif_init_compstruct pds_core_lif_reset_cmdstruct pds_core_lif_setattr_cmdstruct pds_core_lif_setattr_compstruct pds_core_lif_getattr_cmdstruct pds_core_lif_getattr_compstruct pds_core_q_identitystruct pds_core_q_identify_cmdstruct pds_core_q_identify_compstruct pds_core_q_init_cmdstruct pds_core_q_init_compstruct pds_vdpa_cmdstruct pds_vdpa_init_cmdstruct pds_vdpa_identstruct pds_vdpa_ident_cmdstruct pds_vdpa_status_cmdstruct pds_vdpa_setattr_cmdstruct pds_vdpa_vq_init_cmdstruct pds_vdpa_vq_init_compstruct pds_vdpa_vq_reset_cmdstruct pds_vdpa_vq_reset_compstruct pds_vdpa_set_features_cmdstruct pds_lm_cmdstruct pds_lm_state_size_cmdstruct pds_lm_state_size_compstruct pds_lm_suspend_cmdstruct pds_lm_suspend_status_cmdstruct pds_lm_resume_cmdstruct pds_lm_sg_elemstruct pds_lm_save_cmdstruct pds_lm_restore_cmdstruct pds_lm_dirty_region_infostruct pds_lm_dirty_status_cmd
Annotated Snippet
struct pds_core_notifyq_event {
__le64 eid;
__le16 ecode;
};
/**
* struct pds_core_link_change_event - Link change event notification
* @eid: event number
* @ecode: event code = PDS_EVENT_LINK_CHANGE
* @link_status: link up/down, with error bits
* @link_speed: speed of the network link
*
* Sent when the network link state changes between UP and DOWN
*/
struct pds_core_link_change_event {
__le64 eid;
__le16 ecode;
__le16 link_status;
__le32 link_speed; /* units of 1Mbps: e.g. 10000 = 10Gbps */
};
/**
* struct pds_core_reset_event - Reset event notification
* @eid: event number
* @ecode: event code = PDS_EVENT_RESET
* @reset_code: reset type
* @state: 0=pending, 1=complete, 2=error
*
* Sent when the NIC or some subsystem is going to be or
* has been reset.
*/
struct pds_core_reset_event {
__le64 eid;
__le16 ecode;
u8 reset_code;
u8 state;
};
/**
* struct pds_core_client_event - Client event notification
* @eid: event number
* @ecode: event code = PDS_EVENT_CLIENT
* @client_id: client to sent event to
* @client_event: wrapped event struct for the client
*
* Sent when an event needs to be passed on to a client
*/
struct pds_core_client_event {
__le64 eid;
__le16 ecode;
__le16 client_id;
u8 client_event[54];
};
/**
* struct pds_core_notifyq_cmd - Placeholder for building qcq
* @data: anonymous field for building the qcq
*/
struct pds_core_notifyq_cmd {
__le32 data; /* Not used but needed for qcq structure */
};
/*
* union pds_core_notifyq_comp - Overlay of notifyq event structures
*/
union pds_core_notifyq_comp {
struct {
__le64 eid;
__le16 ecode;
};
struct pds_core_notifyq_event event;
struct pds_core_link_change_event link_change;
struct pds_core_reset_event reset;
u8 data[64];
};
#define PDS_DEVNAME_LEN 32
/**
* struct pds_core_client_reg_cmd - Register a new client with DSC
* @opcode: opcode PDS_AQ_CMD_CLIENT_REG
* @rsvd: word boundary padding
* @devname: text name of client device
* @vif_type: what type of device (enum pds_core_vif_types)
*
* Tell the DSC of the new client, and receive a client_id from DSC.
*/
struct pds_core_client_reg_cmd {
u8 opcode;
u8 rsvd[3];
char devname[PDS_DEVNAME_LEN];
Annotation
- Detected declarations: `struct pds_core_notifyq_event`, `struct pds_core_link_change_event`, `struct pds_core_reset_event`, `struct pds_core_client_event`, `struct pds_core_notifyq_cmd`, `struct pds_core_client_reg_cmd`, `struct pds_core_client_reg_comp`, `struct pds_core_client_unreg_cmd`, `struct pds_core_client_request_cmd`, `struct pds_core_lif_status`.
- Atlas domain: Core OS / Core Kernel Interface.
- Implementation status: source implementation candidate.
- IRQ or DMA behavior appears here, which is relevant to the selected PCIe/NVMe device path.
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.