rt2x00queue_for_each_entry(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… rt2x00queue_for_each_entry β€” Kernel API Manual, bestie edition πŸŽ€

okay so you found a page from the Kernel API Manual and it's about rt2x00queue_for_each_entry(9) β€” yes it's a whole mouthful, no I will not be shortening it, and yes we're gonna get through it together. grab a snack πŸ“


✨ NAME ✨

rt2x00queue_for_each_entry β€” literally just loop through all entries in the queue. that's the whole vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

bool rt2x00queue_for_each_entry (struct data_queue *queue , enum
queue_index start , enum queue_index end , void *data , bool
(*fn)(struct queue_entry *entry, void *data) );

look at her go. returns a bool, takes five things, one of which is a function pointer because of course it is 😭


πŸ’– ARGUMENTS πŸ’–

  • queue β€” Pointer to data_queue. our main character, the queue itself πŸ‘‘
  • start β€” enum queue_index Pointer to start index. where the little walk begins 🌈
  • end β€” enum queue_index Pointer to end index. where the walk stops, bestie πŸ’…
  • data β€” Data to pass to the callback function. lil care package for your callback 🎁
  • fn β€” The function to call for each struct queue_entry. this is the callback, the one doing the actual work per entry, no cap ✨

πŸ¦‹ DESCRIPTION πŸ¦‹

so here's the tea: this walks through all entries in the queue, in chronological order. periodt.

which means β€” and i need you to hear this β€” it starts at the current start pointer and keeps walking through the queue until it reaches the end pointer. that's it. that's the whole journey. πŸšΆβ€β™€οΈ

and here's the iconic part: if fn returns true for an entry, rt2x00queue_for_each_entry will stop processing and return true as well. so like, your callback can call it off early. main character behaviour honestly πŸ”₯


πŸ”₯ SEE ALSO πŸ”₯

okay this list is long long, and i'm not skipping a single one of them because every reference is a slay in its own right. buckle up:

Kernel file ./drivers/net/wireless/ralink/rt2x00/rt2x00queue.h Entry frame size(9), enum data_queue_qid(9), enum skb_frame_desc_flags(9), struct skb_frame_desc(9), get_skb_frame_desc(9), enum rxdone_entry_desc_flags(9), RXDONE_SIGNAL_MASK(9), struct rxdone_entry_desc(9), enum txdone_entry_desc_flags(9), struct txdone_entry_desc(9), enum txentry_desc_flags(9), struct txentry_desc(9), enum queue_entry_flags(9), struct queue_entry(9), enum queue_index(9), enum data_queue_flags(9), struct data_queue(9), queue_end(9), tx_queue_end(9), queue_next(9), queue_loop(9), queue_for_each(9), tx_queue_for_each(9), txall_queue_for_each(9), rt2x00queue_empty(9), rt2x00queue_full(9), rt2x00queue_threshold(9), rt2x00queue_dma_timeout(9), _rt2x00_desc_read(9), rt2x00_desc_read(9), rt2x00_desc_write(9)

like?? she really said "know my whole extended family" and honestly? respect πŸ’œ


ngl the SEE ALSO section is giving family reunion energy πŸ™ˆ but that's how you know this function has people. iykyk.

and that's the page bestie!! 🫢 this little cutie comes to you from ./drivers/net/wireless/ralink/... and she's stamped October 2026 β€” so go forth, loop through those entries chronologically, and remember: the callback can always make it stop πŸ’€βœ¨ rt2x00queue_for_each_entry(9), you ate πŸ’…πŸ‘‘

πŸ“¦ where this page comes from