STRUCT FW_CDEV_SEND_STREAM_PACKET(9)
πΈ struct fw_cdev_send_stream_packet(9) πΈ
okay bestie, welcome to the Kernel API Manual entry for struct fw_cdev_send_stream_packet β and yes, that's a whole mouthful, but trust me, it slaps π
β¨ NAME β¨
struct fw_cdev_send_stream_packet β send an asynchronous stream packet π¦
π SYNOPSIS π
struct fw_cdev_send_stream_packet {
__u32 length;
__u32 tag;
__u32 channel;
__u32 sy;
__u64 closure;
__u64 data;
__u32 generation;
__u32 speed;
};
like, look at her. gorgeous. iconic. eight fields of pure potential π
π«Ά MEMBERS π«Ά
lengthβ the length of the outgoing payload, in bytes. it's giving "how much stuff am i actually sending" πtagβ the data format tag πΈchannelβ the isochronous channel you're transmitting to β¨syβ the synchronization code βclosureβ gets passed right back to userspace in the response event, so it's basically your little note-to-self π«Άdataβ a userspace pointer to the payload, no cap πgenerationβ the bus generation where the packet is valid π¦speedβ the speed to transmit at π₯
π DESCRIPTION π
so the FW_CDEV_IOC_SEND_STREAM_PACKET ioctl sends an asynchronous stream packet to every device which is listening to the specified channel π«Ά it's a broadcast bestie situation, main character energy all around.
the kernel then writes either an fw_cdev_event_response event or an fw_cdev_event_response2 event, which tells you whether the transmission succeeded or failed π so yeah, you will get your vibe check back.
π¦ SEE ALSO π¦
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_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_phy_packet(9)struct fw_cdev_receive_phy_packets(9)
that's the whole group chat, fr fr π
aaaand that's the page! this lil beauty lives in ./include/uapi/linux, dated October 2026 β go off, kernel docs, you ate πβ¨π
π¦ 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