STRUCT HSC_CLIENT_DATA(9)
π NAME π
struct hsc_client_data β the internal client data for hsi_char, bestie. it's the little struct that holds all the receipts for one HSI client π«Ά
β¨ SYNOPSIS β¨
ok so picture this, the whole thing looks like:
struct hsc_client_data {
struct cdev cdev;
struct mutex lock;
unsigned long flags;
unsigned int usecnt;
struct hsi_client *cl;
struct hsc_channel channels[HSC_DEVS];
};
that's it, that's the struct π
π MEMBERS π
like, one field at a time, no cap:
cdevβ the character device that's associated with thehsi_client. it's giving "this is the device node the whole thing hangs off of" energy πlockβ a lock whose whole job is to serializeopen/closeaccess. literally its only purpose, and it does it slayfully πflagsβ keeps track of the port state, fr fr β the parenthetical is that it's about the rx hwbreak being armed. so if you're wondering "is the rx hwbreak armed", this is where that lives π©usecntβ the use count for claiming the HSI port, and bestie listen, it's mutex protected. do not touch it without the mutex, i'm serious πclβ a reference to the HSI client. that's the client. that's the pointer. iconic πΈchannelsβ an array of the channels that are accessible by the client, sized[HSC_DEVS]. yes, the whole array, all up in here π¦
nothing here is optional, it's all just the struct's members, so likeβ¦ vibe check passed, but also there's no "flag to turn off" situation, it's a struct, bestie π
π¦ SEE ALSO π¦
- the kernel file
./drivers/hsi/clients/hsi_char.c struct hsc_channel(9)
and that's the page!! π this lil rewrite came to you from source ./drivers/hsi/clients, dated October 2026, and yes it's still in the Kernel API Manual section 9 β go off, kernel docs πβ¨
π¦ 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