STRUCT SINK_CAPS_EXT_MSG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sink_caps_ext_msg(9) β€” the kernel API manual, bestie edition ✨

okay so this is a page from the Kernel API Manual, section 9, and it's all about one very specific little struct πŸŽ€


🌸 NAME 🌸

struct sink_caps_ext_msg β€” the Sink extended capability PD message. That's it, that's the whole vibe. It's the struct that carries a sink's extended capability info as a Power Delivery message πŸ’–


✨ SYNOPSIS ✨

struct sink_caps_ext_msg {
    __le16 vid;
    __le16 pid;
    __le32 xid;
    u8 fw;
    u8 hw;
    u8 skedb_ver;
    u8 load_step;
    __le16 load_char;
    u8 compliance;
    u8 touch_temp;
    u8 batt_info;
    u8 modes;
    u8 spr_min_pdp;
    u8 spr_op_pdp;
    u8 spr_max_pdp;
    u8 epr_min_pdp;
    u8 epr_op_pdp;
    u8 epr_max_pdp;
 };

like, that's the whole layout right there, no cap πŸ‘‘


🫢 Members 🫢

Bestie. Buckle in. We're going field by field and I'm gonna be so normal about it πŸ’…

  • vid β€” Vendor ID. who made it, basically 🌈
  • pid β€” Product ID. which one of their things it is πŸ’œ
  • xid β€” the value assigned by USB-IF for the product πŸ¦‹
  • fw β€” Firmware version ✨
  • hw β€” Hardware version πŸŽ€
  • skedb_ver β€” Sink Caps Extended Data Block (SKEDB) Version. yes it's an acronym inside an acronym, we love that for us πŸ“
  • load_step β€” indicates the load step slew rate πŸ”₯
  • load_char β€” Sink overload characteristics ⭐
  • compliance β€” the types of sources the sink has been tested & certified on 🧚
  • touch_temp β€” indicates the IEC standard to which the touch temperature conforms to (if applicable). note the if applicable β€” it's not always a thing πŸ™ˆ
  • batt_info β€” indicates number batteries and hot swappable ports πŸ’€
  • modes β€” Charging caps & power sources supported πŸ‘‘
  • spr_min_pdp β€” Sink Minimum PDP for SPR mode 🌸
  • spr_op_pdp β€” Sink Operational PDP for SPR mode πŸ’–
  • spr_max_pdp β€” Sink Maximum PDP for SPR mode 🌺
  • epr_min_pdp β€” Sink Minimum PDP for EPR mode 🌈
  • epr_op_pdp β€” Sink Operational PDP for EPR mode πŸ’œ
  • epr_max_pdp β€” Sink Maximum PDP for EPR mode ⭐
not me listing all eighteen fields and enjoying it 😭 every single one is here, iykyk

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./include/linux/usb/pd.h struct
  • pd_chunked_ext_message_data(9)
  • struct pd_message(9)
  • BSDO(9)

the whole pd.h friend group honestly 🫢


and that's the page, bestie β€” courtesy of ./include/linux/usb, dated October 2026, filed under struct sink_caps_ext_msg(9). slay πŸ’…βœ¨πŸŽ€

πŸ“¦ where this page comes from