STRUCT FW_CDEV_EVENT_BUS_RESET(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct fw_cdev_event_bus_reset β€” Kernel API Manual, section 9 ✨

okay bestie, welcome to the Kernel API Manual (section 9), and today's main character is struct fw_cdev_event_bus_reset πŸŽ€. this is the whole page, no skipping, we're eating every crumb πŸ“


🌸 NAME 🌸

struct fw_cdev_event_bus_reset β€” the event that gets sent when a bus reset happened ✨ literally the "hey girl the bus just reset" notification πŸ’…


πŸ¦‹ SYNOPSIS πŸ¦‹

struct fw_cdev_event_bus_reset {
    __u64 closure;
    __u32 type;
    __u32 node_id;
    __u32 local_node_id;
    __u32 bm_node_id;
    __u32 irm_node_id;
    __u32 root_node_id;
    __u32 generation;
 };

that's the whole struct, look at her πŸ‘‘ eight fields, all accounted for, no crumbs left behind 🫢


πŸ’œ Members πŸ’œ

okay so every single field gets its moment, no member left on read πŸ’–

  • closure β€” see fw_cdev_event_common; you set this yourself with the FW_CDEV_IOC_GET_INFO ioctl πŸ”₯
  • type β€” see fw_cdev_event_common; this one is always FW_CDEV_EVENT_BUS_RESET periodt πŸ’€
  • node_id β€” the brand-new node ID of this node ⭐
  • local_node_id β€” node ID of the local node, i.e. of the controller πŸ‘‘
  • bm_node_id β€” node ID of the bus manager 🧚
  • irm_node_id β€” node ID of the iso resource manager 🌈
  • root_node_id β€” node ID of the root node 🌸
  • generation β€” the new bus generation, fresh out the oven πŸ“

✨ Description ✨

so like, this event shows up when the bus that the device belongs to goes through a bus reset πŸ’« it's carrying the tea about the new bus configuration β€” things like the new node ID for this device, the new root ID, and other stuff like that 🫢

⚠️ heads up bestie: if bm_node_id is 0xffff right after bus reset, it can be reread by an FW_CDEV_IOC_GET_INFO ioctl after bus manager selection was finished πŸ‘€ and ngl, kernels with ABI version < 4 do not set bm_node_id at all 😭 so don't come for her, she simply didn't fill that field in πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

all the siblings, the whole family reunion, every single one of them 🫢 (source: kernel file ./include/uapi/linux/firewire-cdev.h)

  • struct fw_cdev_event_common(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_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, we ate and left zero crumbs πŸ’… this iconic little number came to you from <pink>./include/uapi/linux</pink>, dated October 2026, and yes the title is still struct fw_cdev_event_bus_reset(9) because she's the moment, she's the main character, periodt πŸ‘‘βœ¨πŸ¦‹

πŸ“¦ where this page comes from