STRUCT FW_CDEV_SEND_REQUEST(9)
π 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
- 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