STRUCT QUEUE_ENTRY(9)
π struct queue_entry(9) β like, the whole kernel API manual, but make it make sense π
okay bestie, so this is struct queue_entry(9) from the Kernel API Manual, and honestly? it's giving "small struct, big responsibilities." it's a struct, it lives in the kernel, and it's literally one entry inside a &struct data_queue. slay. let's get into it π
β¨ NAME β¨
struct queue_entry β the entry that lives inside the &struct data_queue. that's it, that's the vibe. main character energy in struct form π
πΈ SYNOPSIS πΈ
here's the whole thing, verbatim, no cap β don't touch the syntax, she's perfect as she is:
struct queue_entry {
unsigned long flags;
unsigned long last_action;
struct data_queue *queue;
struct sk_buff *skb;
unsigned int entry_idx;
void *priv_data;
};
look at those fields. six of them. each one doing its little job π«Ά
π¦ Members π¦
okay so let's go field by field, because each one is a whole personality:
flagsβ the entry flags. for the deets, go look atenum queue_entry_flags. that's where the flag lore lives π©last_actionβ the timestamp of the last change. literally "when did something last happen to me" as a field. relatable πqueueβ the data queue (struct data_queue) that this entry belongs to. it's the entry's home base, its chosen family πskbβ the buffer that's currently being transmitted (if this is a TX queue), or the one used to directly receive data in (if it's an RX queue). so it's the buffer, and which job it's doing depends on the queue type. dual threat, honestly β¨entry_idxβ the entry index number. yes it's just a number. no it's not boring. it's the number π’priv_dataβ private data that belongs to this queue entry. heads up: the pointer points to data that's specific to a particular driver and queue type. so like, it's private-private. iykyk π
β SEE ALSO β
the full friend group, no one left out, periodt:
- 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)
- 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_for_each_entry(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)
okay that's the whole page bestie, you ate that π
one last thing β this lil beauty comes from the source ./drivers/net/wireless/ralink/... and it's dated October 2026, filed under struct queue_entry(9). go forth and queue your entries responsibly π§ββοΈππ
π¦ 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