typec_cable_altmode_vdm(9)
π typec_cable_altmode_vdm(9) π
okay bestie, welcome to the typec_cable_altmode_vdm page from the Kernel API Manual β yes it's a kernel function, no it's not scary, i promise π«Ά
πΈ NAME πΈ
typec_cable_altmode_vdm β the glow-up function that sends Vendor Defined Messages (VDM) between the cable plug and the port β¨
π₯ SYNOPSIS π₯
int typec_cable_altmode_vdm (struct typec_altmode *adev , enum
typec_plug_index sop , const u32 header , const u32 *vdo , int count );
like literally that's the whole signature, no cap π
π ARGUMENTS π
adevβ the Alternate mode handle π your main character pointersopβ Cable plug target for VDM π¦ (type isenum typec_plug_index, slay)headerβ the VDM Header πvdoβ Array of Vendor Defined Data Objects β (it's aconst u32 *, so it's giving read-only energy)countβ Number of Data Objects π
β¨ DESCRIPTION β¨
so here's the vibe: the alternate mode drivers use this function for SVID specific communication with the cable plugs π yeah, SVID specific, that's the whole point.
and the port drivers? they use it to deliver the Structured VDMs received from the cable plugs to the alternate mode drivers π¬ like a lil delivery service but for structured vendor defined messages, iykyk.
ngl that's it β two jobs, one function, iconic behavior π§
π SEE ALSO π
- the kernel file
./drivers/usb/typec/bus.cπ (yes, that exact path, go look) typec_altmode_notify(9)typec_altmode_enter(9)typec_altmode_exit(9)typec_altmode_attention(9)typec_altmode_vdm(9)typec_cable_altmode_enter(9)typec_cable_altmode_exit(9)typec_altmode_get_plug(9)typec_altmode_put_plug(9)typec_match_altmode(9)
all the siblings fr fr, go read them too π₯
and that's the page bestie!! π brought to you by ./drivers/usb/typec, dated October 2026 β periodt, go forth and send those VDMs πΈπ
π¦ 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