STRUCT FW_CDEV_SEND_REQUEST(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct fw_cdev_send_request πŸ’–

okay bestie, this is the Kernel API Manual page for struct fw_cdev_send_request β€” the struct for sending an asynchronous request packet. it's giving lowkey legendary kernel-struct energy, and we're gonna go through every single field together πŸ¦‹βœ¨


✨ NAME ✨

struct fw_cdev_send_request β€” Send an asynchronous request packet. periodt πŸ’…

🌸 SYNOPSIS 🌸

       struct fw_cdev_send_request {
           __u32 tcode;
           __u32 length;
           __u64 offset;
           __u64 closure;
           __u64 data;
           __u32 generation;
        };

πŸŽ€ Members πŸŽ€

the cast of fields, no skips:

  • tcode β€” Transaction code of the request.
  • length β€” Length of outgoing payload, in bytes.
  • offset β€” 48-bit offset at destination node.
  • closure β€” Passed back to userspace in the response event.
  • data β€” Userspace pointer to payload.
  • generation β€” The bus generation where packet is valid.

πŸ’œ DESCRIPTION πŸ’œ

okay so basically: you send a request to the device, and this ioctl implements all outgoing requests. Both quadlet and block request specify the payload as a pointer to the data in the data field. Once the transaction completes, the kernel writes either fw_cdev_event_response event or fw_cdev_event_response event back. The closure field is passed back to user space in the response event. that's the tea β˜•βœ¨

πŸ”₯ SEE ALSO πŸ”₯

the related squad, all of it, no cap:

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

mwah πŸ’– that's the whole page, bestie. source/version: ./include/uapi/linux; date: October 2026; manual name: Kernel API Manual; footer title: struct fw_cdev_send_request(9). slay and goodbye πŸ«ΆπŸŒˆπŸ’…

πŸ“¦ where this page comes from