STRUCT FW_CDEV_EVENT_PHY_PACKET2(9)
π NAME π
Okay bestie, this is the struct fw_cd..._phy_packet2(9) page from the Kernel API Manual, and it is literally about this: A PHY packet was transmitted or received with time stamp. β¨
β¨ SYNOPSIS β¨
struct fw_cdev_event_phy_packet2 {
__u64 closure;
__u32 type;
__u32 rcode;
__u32 length;
__u32 tstamp;
__u32 data[];
};
πΈ Members πΈ
closureβ Seefw_cdev_event_common; set byFW_CDEV_IOC_SEND_PHY_PACKETorFW_CDEV_IOC_RECEIVE_PHY_PACKETSioctl. (yes, both of those ioctl names, exactly like that π)typeβFW_CDEV_EVENT_PHY_PACKET_SENT2orFW_CDEV_EVENT_PHY_PACKET_RECEIVED2.rcodeβRCODE_..., indicates success or failure of transmission.lengthβ Data length in bytes.tstampβ ForFW_CDEV_EVENT_PHY_PACKET_RECEIVED2, the time stamp of isochronous cycle at which the packet arrived. ForFW_CDEV_EVENT_PHY_PACKET_SENT2and non-ping packet, the time stamp of isochronous cycle at which the packet was sent. For ping packet, the tick count for round-trip time measured by 1394 OHCI controller.dataβ Incoming data.
π Description π
The time stamp of isochronous cycle at which either the response was sent for FW_CDEV_EVENT_PHY_PACKET_SENT2 or the request arrived for FW_CDEV_EVENT_PHY_PACKET_RECEIVED2.
- If
typeisFW_CDEV_EVENT_PHY_PACKET_SENT2,lengthis8anddataconsists of the two PHY packet quadlets to be sent, in host byte order. - If
typeisFW_CDEV_EVENT_PHY_PACKET_RECEIVED2,lengthis8anddataconsists of the two PHY packet quadlets, in host byte order.
For FW_CDEV_EVENT_PHY_PACKET_RECEIVED2, the tstamp is the isochronous cycle at which the packet arrived. It is 16 bit integer value and the higher 3 bits expresses three low order bits of second field and the rest 13 bits expresses cycle field in the format of the CYCLE_TIME register. That CYCLE_TIME register format detail is doing main character energy, ngl.
For FW_CDEV_EVENT_PHY_PACKET_SENT2, the tstamp has different meanings whether to sent the packet for ping or not. If it's not for ping, the tstamp is the isochronous cycle at which the packet was sent, and use the same format as the case of FW_CDEV_EVENT_PHY_PACKET_SENT2. If it's for ping, the tstamp is for round-trip time measured by 1394 OHCI controller with 42.195 MHz resolution. Highkey obsessed with how specific that 42.195 MHz is π«Ά
π SEE ALSO π
Kernel file first, bestie: ./include/uapi/linux/firewire-cdev.h. Then the whole cross-reference friend group, no cap:
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_packet(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)
This little page is brought to you by source/version ./include/uapi/linux, dated October 2026, and it's the struct fw_cd..._phy_packet2(9) manual. Bye bestie, go be the main character of your FireWire stack π
π₯
π¦ 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