STRUCT HSC_CHANNEL(9)
π 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 associatedhsi_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
- 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