fw_send_request_with_tstamp(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, welcome to fw_send_request_with_tstamp(9) β€” the manual page for the little firewire helper that shoots a request packet off into the void and then very thoughtfully hits you back with a timestamp when the response lands. it's giving "i sent the text and i'm keeping receipts" energy, and honestly? we're obsessed. 🌸


✨ NAME ✨

fw_send_request_with_tstamp β€” submit a request packet for transmission to generate callback for response with time stamp.

like, you hand it a request, it goes out, and the callback you get back comes with a timestamp attached. that's the whole vibe. no cap. 🫢


πŸŽ€ SYNOPSIS πŸŽ€

void fw_send_request_with_tstamp (struct fw_card *card , struct
fw_transaction *t , int tcode , int destination_id , int generation ,
int speed , unsigned long long offset , void *payload , size_t length ,
fw_transaction_callback_with_tstamp_t callback , void *callback_data );

yep, that's a long signature. eleven arguments. she's high-maintenance but she delivers. πŸ’…


πŸ’– ARGUMENTS πŸ’–

  • card β€” the interface to send the request at. your firewire home base, basically. 🏠
  • t β€” the transaction instance to which the request belongs. this is her transaction, she owns it.
  • tcode β€” transaction code. the "what kind of transaction is this even" field.
  • destination_id β€” destination node ID, consisting of bus_ID and phy_ID. like a little two-part address, iykyk. πŸ“¬
  • generation β€” bus generation in which request and response are valid. vibe check for the bus era, fr.
  • speed β€” transmission speed. zoom zoom. πŸ”₯
  • offset β€” 48bit wide offset into destination's address space. forty-eight bits!! wide!! that's a lot of bits bestie.
  • payload β€” data payload for the request subaction. the actual goods. πŸ“
  • length β€” length of the payload, in bytes. (bytes. not vibes. bytes.) ✨
  • callback β€” function to be called when the transaction is completed. your main character callback. πŸ‘‘
  • callback_data β€” data to be passed to the transaction completion callback. the little care package that rides along. πŸŽ€

🌈 DESCRIPTION 🌈

so this one is a variation of __fw_send_request to generate callback for response subaction with time stamp. same energy, extra timestamp. πŸ•

here's the part you actually need to know, bestie, and i'm not being dramatic:

The callback is invoked in the workqueue context in most cases. However, if an error is detected before queueing or the destination address refers to the local node, it is invoked in the current context instead.

read that again. most of the time it's workqueue context, but if an error is detected before queueing, or if the destination address refers to the local node, it gets invoked in the current context instead. so like... don't assume which context you're in, okay? check. always check. 😭 that's the whole caveat and it's a real one.


πŸ¦‹ SEE ALSO πŸ¦‹


🌸 sign-off 🌸

this lil beauty lives in the kernel tree at ./include/linux, and the page is dated October 2026 β€” so yes, she's from the future, and she's thriving. slay, honestly. πŸŽ€βœ¨πŸ’–

πŸ“¦ where this page comes from