STRUCT HSC_CHANNEL(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct hsc_channel(9) πŸ’–

okay bestie, welcome to the Kernel API Manual β€” today’s main character is struct hsc_channel(9), and she is literally the hsi_char internal channel data struct. no cap, this is the little data homebase for a channel. πŸŽ€

✨ NAME ✨

struct hsc_channel β€” hsi_char internal channel data. that’s the vibe: internal channel data for hsi_char, periodt. πŸ’…

πŸ¦‹ SYNOPSIS πŸ¦‹

struct hsc_channel {
    unsigned int            ch;
    unsigned long           flags;
    struct list_head        free_msgs_list;
    struct list_head        rx_msgs_queue;
    struct list_head        tx_msgs_queue;
    spinlock_t lock;
    struct hsi_client       *cl;
    struct hsc_client_data *cl_data;
    wait_queue_head_t rx_wait;
    wait_queue_head_t tx_wait;
};

πŸŽ€ Members πŸŽ€

  • ch β€” the channel number. iconic little ID. ✨
  • flags β€” keeps the state of the channel (open/close, reading, writing). she remembers everything, lowkey. πŸ’…
  • free_msgs_list β€” a list of free HSI messages/requests. the available pile, bestie. πŸ“
  • rx_msgs_queue β€” a list of pending RX requests. incoming stuff waiting its turn. πŸ“₯
  • tx_msgs_queue β€” a list of pending TX requests. outgoing stuff queued up. πŸ“€
  • lock β€” serialize access to the lists. one at a time, no chaos, fr fr. πŸ”’
  • cl β€” a reference to the associated hsi_client. her client link. 🫢
  • cl_data β€” a reference to the client data that this channel belongs to. the bigger client-data situation. 🌸
  • rx_wait β€” the RX requests wait queue. where RX requests wait, obviously. ⏳
  • tx_wait β€” the TX requests wait queue. same energy, but for TX. ⏳

πŸ”₯ SEE ALSO πŸ”₯

  • Kernel file ./drivers/hsi/clients/hsi_char.c
  • struct hsc_client_data(9)

mwah πŸ’‹ source/version corner: ./drivers/hsi/clients, dated October 2026, and the page is literally struct hsc_channel(9). byeee, bestie 🫢✨

πŸ“¦ where this page comes from