STRUCT PDS_CORE_COMPONENT_TBL(9)
π NAME π
struct pds_core_component_tbl β the component table details, bestie β¨
This one lives in the Kernel API Manual (section 9, kernel-space gang π), and it's honestly giving "backend paperwork that makes the whole firmware update thing work."
π SYNOPSIS π
struct pds_core_component_tbl {
__le32 comparison_stamp;
__le16 classification;
__le16 identifier;
u8 transfer_flag;
u8 version_str_type;
u8 version_str_len;
u8 version_str[];
};
Look at that flexible array member at the end β version_str[] β she's literally built different, no cap. π
π§© Members π§©
okay so let's go field by field, and yes we're doing all of them π
comparison_stampβ the comparison stamp used for component version checks π΅οΈββοΈ like, this is how the kernel figures out whether your component is the version it thinks it is.classificationβ vendor specific classification info π·οΈ it's your vendor's business what goes here, iykyk.identifierβ the component's ID π so everybody knows which component we're talking about.transfer_flagβ part of the component table this request represents π© lowkey the "which chunk are we shipping" marker.version_str_typeβ the types of strings used π€ (yes, plural "types" β that's what it says, don't come for me).version_str_lenβ length ofversion_strπ so the kernel knows how much of that flexible array is real.version_strβ component version information π the actual version juice itself.
π¦ SEE ALSO π¦
Everything in this little family, and bestie there are so many of them β go read them, they're all in the kernel file ./include/linux/pds/pds_core_if.h:
struct pds_core_drv_identity(9)enum pds_core_dev_capability(9)struct pds_core_dev_identity(9)struct pds_core_dev_identify_cmd(9)struct pds_core_dev_identify_comp(9)struct pds_core_dev_reset_cmd(9)struct pds_core_dev_reset_comp(9)struct pds_core_dev_init_cmd(9)struct pds_core_dev_init_comp(9)struct pds_core_fw_download_cmd(9)struct pds_core_fw_download_comp(9)enum pds_core_fw_control_oper(9)enum pds_core_fw_slot(9)struct pds_core_fw_control_cmd(9)struct pds_core_fw_control_comp(9)enum pds_core_vf_link_status(9)struct pds_core_vf_setattr_cmd(9)struct pds_core_vf_getattr_cmd(9)struct pds_core_vf_ctrl_cmd(9)struct pds_core_vf_ctrl_comp(9)struct pds_core_send_pkg_data_cmd(9)struct pds_core_send_pkg_data_comp(9)struct pds_core_send_component_tbl_cmd(9)struct pds_core_send_component_tbl_comp(9)enum pds_core_send_component_op(9)struct pds_core_flash_component(9)struct pds_core_send_component_cmd(9)struct pds_core_send_component_comp(9)enum pds_core_fw_component_type(9)enum pds_core_component_info_flags(9)struct pds_core_fw_component_info(9)struct pds_core_component_list_info(9)struct pds_core_get_component_info_cmd(9)struct pds_core_get_component_info_comp(9)struct pds_core_finalize_update_cmd(9)struct pds_core_finalize_update_comp(9)struct pds_core_match_record_desc_cmd(9)struct pds_core_match_record_desc_comp(9)enum pds_core_host_mem_oper(9)struct pds_core_host_mem_cmd(9)struct pds_core_host_mem_comp(9)struct pds_core_dev_hwstamp_regs(9)struct pds_core_dev_info_regs(9)struct pds_core_dev_cmd_regs(9)struct pds_core_dev_regs(9)
bestie reminder π«Ά the__le32and__le16types are little-endian, so don't go memcpy-ing them around all willy-nilly and then act surprised. byte order is real and she will humble you. π
okay that's the whole page, mwah π this one came out of ./include/linux/pds, and she's dated October 2026 β so yeah, future icon behavior πβ¨ periodt.
π¦ 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