STRUCT IPC_PIPE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– NAME πŸ’–

okay so bestie, welcome to the struct ipc_pipe(9) page from the Kernel API Manual β€” this is literally the Structure for Pipe, and that's the whole vibe. πŸ’… no cap.


✨ SYNOPSIS ✨

here's the struct in all its glory β€” copy-paste exact, no edits, please and thank you 🫢:

struct ipc_pipe {
    struct ipc_protocol_td *tdr_start;
    struct ipc_mem_channel *channel;
    struct sk_buff **skbr_start;
    dma_addr_t phy_tdr_start;
    u32 old_head;
    u32 old_tail;
    u32 nr_of_entries;
    u32 max_nr_of_queued_entries;
    u32 accumulation_backoff;
    u32 irq_moderation;
    u32 pipe_nr;
    u32 irq;
    enum ipc_mem_pipe_dir dir;
    u32 buf_size;
    u16 nr_of_queued_entries;
    u8 is_open:1;
 };

🫢 Members 🫢

okay bestie, here's the member-by-member tea β˜• β€” every field, every detail, all iconic:

  • tdr_start β€” Ipc private protocol Transfer Descriptor Ring. yes, capital-letter TDR energy.
  • channel β€” Id of the sio device, set by imem_sio_open, needed to pass DL char to the user terminal.
  • skbr_start β€” Circular buffer for skbuf and the buffer reference in a tdr_start entry.
  • phy_tdr_start β€” Transfer descriptor start address.
  • old_head β€” last head pointer reported to CP.
  • old_tail β€” AP read position before CP moves the read position to write/head. If CP has consumed the buffers, AP has to freed the skbuf starting at tdr_start[old_tail].
  • nr_of_entries β€” Number of elements of skb_start and tdr_start.
  • max_nr_of_queued_entries β€” Maximum number of queued entries in TDR.
  • accumulation_backoff β€” Accumulation in usec for accumulation backoff (0 = no acc backoff).
  • irq_moderation β€” timer in usec for irq_moderation (0=no irq moderation).
  • pipe_nr β€” Pipe identification number.
  • irq β€” Interrupt vector.
  • dir β€” Direction of data stream in pipe.
  • buf_size β€” Buffer size (in bytes) for preallocated buffers (for DL pipes).
  • nr_of_queued_entries β€” β€œAueued number of entries” β€” yes, that's the spelling in the source, we're not fixing it, it's part of the lore πŸ’€.
  • is_open β€” Check for open pipe status.

🌈 SEE ALSO 🌈

Kernel file: ./drivers/net/wwan/iosm/iosm_ipc_imem.h β€” and now the whole bestie reference list, zero skips, fr fr:


okay that's the whole page bestie πŸ’– this little masterpiece lives under ./drivers/net/wwan/iosm, dated October 2026, and it's literally struct ipc_pipe(9) core πŸŽ€βœ¨

πŸ“¦ where this page comes from