STRUCT PDS_FWCTL_QUERY_CMD(9)
π struct pds_fwctl_query_cmd(9) β¨
okay so bestie, welcome to the Kernel API Manual entry for struct pds_fwctl_query_cmd β literally the little struct that carries your query command over to the firmware control interface. she's small, she's packed, she's iconic. let's get into it π«Ά
πΈ NAME πΈ
struct pds_fwctl_query_cmd β the firmware control query command structure, no cap π
β¨ SYNOPSIS β¨
here's the whole glow-up, verbatim, do not touch:
struct pds_fwctl_query_cmd {
u8 opcode;
u8 entity;
u8 version;
u8 rsvd;
__le32 query_data_buf_len;
__le64 query_data_buf_pa;
union {
__le32 ep;
__le32 op;
};
};
π Members π
opcodeβ the operation code for the command. it's giving "what are we doing today" energy π₯entityβ the entity type you're querying, and it's anenum pds_fwctl_query_entitybestie, so pick a real one πversionβ the version of the query data structure that the driver supports. gotta know which era we're in βrsvdβ reserved. she's there, she's quiet, she's not for you πquery_data_buf_lenβ length of the query data buffer. how much room the vibes need πquery_data_buf_paβ physical address of the query data buffer. physical, not virtual, don't get it twisted π{unnamed_union}β anonymous union, main character energy, doesn't even need a name πepβ endpoint identifier to query β this is the one you use whenentityisPDS_FWCTL_RPC_ENDPOINTπopβ operation identifier to query β this is the one you use whenentityisPDS_FWCTL_RPC_OPERATIONπ¦
π Description π
okay so this struct is what you use to send a query command to the firmware control interface. that's the whole job. and here's the slay detail: the structure is packed so there's literally no padding between the fields β not one single extra byte, we keep it tight, we keep it cute β¨π
π¦ SEE ALSO π¦
the whole extended friend group, all of them, every single one, no one left out π«Ά:
- Kernel file
./include/linux/pds/pds_adminq.hstruct pds_core_notifyq_event(9)struct pds_core_link_change_event(9)struct pds_core_reset_event(9)struct pds_core_client_event(9)struct pds_core_notifyq_cmd(9)struct pds_core_client_reg_cmd(9)struct pds_core_client_reg_comp(9)struct pds_core_client_unreg_cmd(9)struct pds_core_client_request_cmd(9)enum pds_core_logical_qtype(9)union pds_core_lif_config(9)struct pds_core_lif_status(9)struct pds_core_lif_info(9)struct pds_core_lif_identity(9)struct pds_core_lif_identify_cmd(9)struct pds_core_lif_identify_comp(9)struct pds_core_lif_init_cmd(9)struct pds_core_lif_init_comp(9)struct pds_core_lif_reset_cmd(9)enum pds_core_lif_attr(9)struct pds_core_lif_setattr_cmd(9)struct pds_core_lif_setattr_comp(9)struct pds_core_lif_getattr_cmd(9)struct pds_core_lif_getattr_comp(9)struct pds_core_q_identity(9)struct pds_core_q_identify_cmd(9)struct pds_core_q_identify_comp(9)struct pds_core_q_init_cmd(9)struct pds_core_q_init_comp(9)struct pds_vdpa_cmd(9)struct pds_vdpa_init_cmd(9)struct pds_vdpa_ident(9)struct pds_vdpa_ident_cmd(9)struct pds_vdpa_status_cmd(9)enum pds_vdpa_attr(9)struct pds_vdpa_setattr_cmd(9)struct pds_vdpa_vq_init_cmd(9)struct pds_vdpa_vq_init_comp(9)struct pds_vdpa_vq_reset_cmd(9)struct pds_vdpa_vq_reset_comp(9)struct pds_vdpa_set_features_cmd(9)struct pds_lm_cmd(9)struct pds_lm_state_size_cmd(9)struct pds_lm_state_size_comp(9)struct pds_lm_suspend_cmd(9)struct pds_lm_suspend_status_cmd(9)struct pds_lm_resume_cmd(9)struct pds_lm_sg_elem(9)struct pds_lm_save_cmd(9)struct pds_lm_restore_cmd(9)union pds_lm_dev_state(9)struct pds_lm_dirty_region_info(9)struct pds_lm_dirty_status_cmd(9)enum pds_lm_dirty_bmp_type(9)struct pds_lm_dirty_status_comp(9)struct pds_lm_dirty_enable_cmd(9)struct pds_lm_dirty_disable_cmd(9)struct pds_lm_dirty_seq_ack_cmd(9)struct pds_lm_host_vf_status_cmd(9)struct pds_fwctl_cmd(9)struct pds_fwctl_comp(9)struct pds_fwctl_ident_cmd(9)struct pds_fwctl_ident(9)struct pds_fwctl_query_comp(9)struct pds_fwctl_query_data_endpoint(9)struct pds_fwctl_query_data_operation(9)struct pds_fwctl_query_data(9)struct pds_fwctl_rpc_cmd(9)struct pds_sg_elem(9)struct pds_fwctl_rpc_comp(9)
and that's the whole page bestie!! okay so the cute little sign-off details: this one lives over in ./include/linux/pds and it's dated October 2026 π go forth and query, you're gonna slay π§β¨π
π¦ 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