STRUCT FW_CDEV_GET_CYCLE_TIMER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct fw_cdev_get_cycle_timer(9) πŸ’…

okay bestie, welcome to the Kernel API Manual, section 9 β€” we're looking at struct fw_cdev_get_cycle_timer today and honestly it's giving tiny-but-mighty. πŸŽ€


✨ NAME ✨

struct fw_cdev_get_cycle_timer β€” read cycle timer register


🌸 SYNOPSIS 🌸

struct fw_cdev_get_cycle_timer {
    __u64 local_time;
    __u32 cycle_timer;
 };

πŸ¦‹ Members πŸ¦‹

  • local_time β€” the system time, in microseconds since the Epoch. yes that Epoch, the one everyone's counting from πŸ•°οΈ
  • cycle_timer β€” literally just the contents of the Cycle Time register. iconic. ✨

πŸ’– Description πŸ’–

So it's the same thing as FW_CDEV_IOC_GET_CYCLE_TIMER2, no cap β€” but this one is fixed to use CLOCK_REALTIME and it only does microseconds resolution. that's the vibe, that's the whole personality. πŸ™ˆ

But wait, spill time: in version 1 and 2 of the ABI, this ioctl returned unreliable (non-monotonic) cycle_timer values on certain controllers. 😭 so if you're poking at old ABI versions, be aware β€” those numbers were not giving trustworthy.


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/uapi/linux/firewire-cdev.h (and friends, there are so many friends, bestie):

  • 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)
  • 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_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)

ngl the whole gang's here β€” go read the rest of them, iykyk 🫢

that's the whole page, bestie, you ate that. coming to you from ./include/uapi/linux, dated October 2026, filed under struct fw_cd..._cycle_timer(9) β€” mwah πŸ’…πŸ’–β­

πŸ“¦ where this page comes from