STRUCT FW_CDEV_EVENT_PHY_PACKET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… 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 β€” see fw_cdev_event_common; this one gets set by the FW_CDEV_IOC_SEND_PHY_PACKET or FW_CDEV_IOC_RECEIVE_PHY_PACKETS ioctl 🫢
  • type β€” it's either FW_CDEV_EVENT_PHY_PACKET_SENT or %..._RECEIVED πŸ’Œ
  • rcode β€” RCODE_..., and she's here to tell you whether transmission ate or flopped πŸ’€
  • length β€” data length in bytes, obviously πŸ“
  • data β€” incoming data for FW_CDEV_IOC_RECEIVE_PHY_PACKETS. but for FW_CDEV_IOC_SEND_PHY_PACKET the 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