STRUCT FW_CDEV_EVENT_REQUEST2(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct fw_cdev_event_request2(9) β€” Kernel API Manual ✨

okay so bestie, welcome to the Kernel API Manual entry for struct fw_cdev_event_request2 πŸŽ€ this is the whole entire scoop, no cap.


✨ NAME ✨

struct fw_cdev_event_request2 β€” the little event that gets sent when a request comes in for an address region πŸ¦‹ like, somebody's knocking at your door and this is the notification, periodt.


🌸 SYNOPSIS 🌸

struct fw_cdev_event_request2 {
    __u64 closure;
    __u32 type;
    __u32 tcode;
    __u64 offset;
    __u32 source_node_id;
    __u32 destination_node_id;
    __u32 card;
    __u32 generation;
    __u32 handle;
    __u32 length;
    __u32 data[];
};

look at her. gorgeous. iconic. every field exactly where it belongs πŸ’–


🫢 Members 🫢

  • closure β€” lowkey the same vibes as fw_cdev_event_common; it gets set by the FW_CDEV_IOC_ALLOCATE ioctl. so like, that's where it comes from ✨
  • type β€” also see fw_cdev_event_common; this one is always FW_CDEV_EVENT_REQUEST2. no surprises, she's consistent πŸ’…
  • tcode β€” the transaction code of the incoming request. iykyk πŸ”₯
  • offset β€” the offset into the 48-bit per-node address space. yes, 48-bit. write that down πŸ“
  • source_node_id β€” sender node ID, aka who's texting you first πŸ‘€
  • destination_node_id β€” destination node ID, aka who's getting the text πŸ“²
  • card β€” the index of the card the request came from 🎴
  • generation β€” the bus generation in which the request is valid ⭐
  • handle β€” a reference to the kernel-side pending request, like a little receipt 🧾
  • length β€” data length, i.e. the request's payload size in bytes. bytes!! πŸ“
  • data β€” the incoming data, if there is any. [] means it's flexible, bestie 🌈

πŸ’œ Description πŸ’œ

okay so here's the tea β˜• this event gets sent instead of fw_cdev_event_request3 if the kernel or the client implements ABI version <= 5. that's the whole condition, fr fr.

and the way that it differs from fw_cdev_event_request3? it just... doesn't have a time stamp field. that's it. that's the difference. it has the lack of time stamp field comparing to fw_cdev_event_request3 😭 she's the older sister who forgot her watch, and honestly? still slaying.

ngl if you're on ABI version <= 5, this is your girl. if you're past that, go find fw_cdev_event_request3 πŸ¦‹

🌟 SEE ALSO 🌟

the whole friend group, in order, no one left out, we don't do that here πŸ’–

  • Kernel file ./include/uapi/linux/firewire-cdev.h 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_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_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)

and that's the whole page, bestie 🧚 tysm for reading, you ate that πŸ’…βœ¨

source: ./include/uapi/linux Β· dated: October 2026 β€” mwah, see u in the next manpage πŸŽ€πŸ’–

πŸ“¦ where this page comes from