STRUCT PDS_LM_SG_ELEM(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct pds_lm_sg_elem(9) ✨

okay so bestie, we're in the Kernel API Manual today and this one is a little guy with a big job πŸŽ€ it's the transmit scatter-gather descriptor element, and honestly? it ate. no cap.


πŸ’– NAME πŸ’–

struct pds_lm_sg_elem β€” the Transmit scatter-gather (SG) descriptor element πŸ¦‹


🌸 SYNOPSIS 🌸

struct pds_lm_sg_elem {
    __le64 addr;
    __le32 len;
    __le16 rsvd[2];
 };

✨ Members ✨

girl, there's only three of them and they all matter, so let's go 🫢

  • addr β€” the DMA address of the SG element data buffer. this is literally where the data lives, iykyk πŸ’…
  • len β€” how long that SG element data buffer is, in bytes. the length. the size. the vibe check on how much data we're moving πŸ“
  • rsvd β€” Word boundary padding. it's just there to keep things lined up on word boundaries, it's giving padding main character energy πŸŽ€ don't touch it, it's doing its job

πŸ‘‘ SEE ALSO πŸ‘‘

so you're gonna want to check out the kernel file ./include/linux/pds/pds_adminq.h β€” that's the struct's home base πŸ’œ and then all these besties are hanging out nearby:

  • struct 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_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_cmd(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)

like, that's the whole friend group πŸ’€ go read them, they're all iconic.


lowkey that's the whole page bestie β€” three fields, zero drama, maximum structure 🌈

mwah πŸ’‹ that's a wrap! this little love letter lives over in ./include/linux/pds, dated October 2026. go forth and scatter-gather responsibly πŸ§šπŸ’œ

πŸ“¦ where this page comes from