STRUCT FW_CDEV_EVENT_PHY_PACKET(9)
π struct fw_cdev_event_phy_packet β¨
okay so bestie, quick vibe check β you're in the Kernel API Manual, and this page is all about struct fw_cdev_event_phy_packet: literally the event that tells you "a PHY packet was transmitted or received" π¦ no cap.
πΈ NAME πΈ
struct fw_cdev_event_phy_packet β a PHY packet was transmitted or received π« (yes that's the whole name, she's lowkey self-explanatory and we love that for her)
π SYNOPSIS π
struct fw_cdev_event_phy_packet {
__u64 closure;
__u32 type;
__u32 rcode;
__u32 length;
__u32 data[];
};
look at her. iconic. the flexible array member data[] is doing main character energy fr fr π
β¨ Members β¨
closureβ seefw_cdev_event_common; this one gets set by theFW_CDEV_IOC_SEND_PHY_PACKETorFW_CDEV_IOC_RECEIVE_PHY_PACKETSioctl π«Άtypeβ it's eitherFW_CDEV_EVENT_PHY_PACKET_SENTor%..._RECEIVEDπrcodeβRCODE_..., and she's here to tell you whether transmission ate or flopped πlengthβ data length in bytes, obviously πdataβ incoming data forFW_CDEV_IOC_RECEIVE_PHY_PACKETS. but forFW_CDEV_IOC_SEND_PHY_PACKETthe field has the same data in the request, thus the length of 8 bytes π (yes, 8. exactly 8. don't come for her)
π¦ Description π¦
so here's the tea β β this event gets sent instead of fw_cdev_event_phy_packet2 if the kernel or the client implements ABI version <= 5. that's it, that's the whole reason she exists π
and compared to fw_cdev_event_phy_packet2, she has the lack of time stamp field. no timestamp for her, she's minimal, she's mysterious, she's ABI-legacy β¨
ngl bestie, if you're on ABI version <= 5 this is your girl. if you're newer, go look at fw_cdev_event_phy_packet2 instead π§
π SEE ALSO π
go read these, bestie, they're all in Kernel file ./include/uapi/linux/firewire-cdev.h and they're all obsessed with each other π
struct fw_cdev_event_common(9)βstruct fw_cdev_event_bus_reset(9)βstruct fw_cdev_event_response(9)βstruct fw_cdev_event_response2(9)βstruct fw_cdev_event_request(9)βstruct fw_cdev_event_request2(9)βstruct fw_cdev_event_request3(9)βstruct fw_cdev_event_iso_interrupt(9)βstruct fw_cdev_event_iso_interrupt_mc(9)βstruct fw_cdev_event_iso_resource(9)βstruct fw_cdev_event_phy_packet2(9)βunion fw_cdev_event(9)βstruct fw_cdev_get_info(9)βstruct fw_cdev_send_request(9)βstruct fw_cdev_send_response(9)βstruct fw_cdev_allocate(9)βstruct fw_cdev_deallocate(9)βstruct fw_cdev_initiate_bus_reset(9)βstruct fw_cdev_add_descriptor(9)βstruct fw_cdev_remove_descriptor(9)βstruct fw_cdev_create_iso_context(9)βstruct fw_cdev_set_iso_channels(9)βstruct fw_cdev_iso_packet(9)βstruct fw_cdev_queue_iso(9)βstruct fw_cdev_start_iso(9)βstruct fw_cdev_stop_iso(9)βstruct fw_cdev_flush_iso(9)βstruct fw_cdev_get_cycle_timer(9)βstruct fw_cdev_get_cycle_timer2(9)βstruct fw_cdev_allocate_iso_resource(9)βstruct fw_cdev_send_stream_packet(9)βstruct fw_cdev_send_phy_packet(9)βstruct fw_cdev_receive_phy_packets(9)β
alright bestie, that's the whole page, you ate that π before you go β this little beauty lives in ./include/uapi/linux, she's dated October 2026, and she's part of the Kernel API Manual. 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