STRUCT PCI_EPF_HEADER(9)
π struct pci_epf_header(9) β the Kernel API Manual, but make it make sense
okay so bestie, this is the manpage for struct pci_epf_header(9) β it literally represents the standard configuration header. That's the whole vibe. It's the glow-up config block that tells everyone who your PCI endpoint function is and what it does π
β¨ SYNOPSIS β¨
here's the whole struct, copy it exactly, no autocomplete crimes:
struct pci_epf_header {
u16 vendorid;
u16 deviceid;
u8 revid;
u8 progif_code;
u8 subclass_code;
u8 baseclass_code;
u8 cache_line_size;
u16 subsys_vendor_id;
u16 subsys_id;
enum pci_interrupt_pin interrupt_pin;
};
π Members π
bestie, go member by member with me, this is the whole syllabus:
vendoridβ identifies the device manufacturer π like whose house is thisdeviceidβ identifies a particular device π the specific main characterrevidβ specifies a device-specific revision identifier π the "v2 actually fixed it" energyprogif_codeβ identifies a specific register-level programming interface π§ very specific, very demuresubclass_codeβ identifies more specifically the function of the device π zooming in on the job descriptionbaseclass_codeβ broadly classifies the type of function the device performs π the big-picture categorycache_line_sizeβ specifies the system cacheline size in units of DWORDs π yes, in units of DWORDs, that's the unit, don't @ mesubsys_sideβ wait no π it'ssubsys_vendor_idβ vendor of the add-in card or subsystem π³ the card's own plugsubsys_idβ ID specific to vendor π pairs with the one above, they're giving duointerrupt_pinβ interrupt pin the device (or device function) uses β‘ which pin is doing the knocking
ngl the field names are load-bearing β copy them exactly, character for character, or the vibe check fails π«Ά
π₯ SEE ALSO π₯
all my fave linked structs, in one place, iykyk:
- Kernel file
./include/linux/pci-epf.h struct pci_epf_ops(9)struct pci_epc_event_ops(9)struct pci_epf_driver(9)struct pci_epf_bar_submap(9)struct pci_epf_bar(9)struct pci_epf_doorbell_msg(9)struct pci_epf(9)struct pci_epf_msix_tbl(9)
okay that's the whole page, no cap, every member accounted for ππ
and this iconic little drop comes from ./include/linux, dated October 2026, shipping under the Kernel API Manual banner β slay, periodt, go read the source πβ¨π¦
π¦ 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