STRUCT CHARLCD_OPS(9)
π struct charlcd_ops(9) π
okay bestie, so this is a page from the Kernel API Manual, and it's all about struct charlcd_ops β the icon β¨
πΈ NAME πΈ
struct charlcd_ops β the functions used by charlcd. Drivers have to implement these. no cap, it's literally their whole job π«Ά
π SYNOPSIS π
struct charlcd_ops {
void (*backlight)(struct charlcd *lcd, enum charlcd_onoff on);
int (*print)(struct charlcd *lcd, int c);
int (*gotoxy)(struct charlcd *lcd, unsigned int x, unsigned int y);
int (*home)(struct charlcd *lcd);
int (*clear_display)(struct charlcd *lcd);
int (*init_display)(struct charlcd *lcd);
int (*shift_cursor)(struct charlcd *lcd, enum charlcd_shift_dir
dir);
int (*shift_display)(struct charlcd *lcd, enum charlcd_shift_dir
dir);
int (*display)(struct charlcd *lcd, enum charlcd_onoff on);
int (*cursor)(struct charlcd *lcd, enum charlcd_onoff on);
int (*blink)(struct charlcd *lcd, enum charlcd_onoff on);
int (*fontsize)(struct charlcd *lcd, enum charlcd_fontsize size);
int (*lines)(struct charlcd *lcd, enum charlcd_lines lines);
int (*redefine_char)(struct charlcd *lcd, char *esc);
};
like, that's the whole squad right there π
π¦ Members π¦
backlightβ turn the backlight on or off. lowkey optional, so nobody's forcing you πprintβ print one character to the display at the current cursor position. the buffered cursor position gets advanced bycharlcd. and listen: the cursor should not wrap to the next line at the end of a line. not me warning you in advance πgotoxyβ set the cursor tox,y. thexandyvalues you're setting are previously set inaddr.xandaddr.ybycharlcd, so they're already served up for you πhomeβ set the cursor to0, 0. the values inaddr.xandaddr.yare set to0, 0bycharlcdprior to calling this function. home sweet home β¨clear_displayβ clear the whole display and set the cursor to0, 0. the values inaddr.xandaddr.yare set to0, 0bycharlcdafter calling this function (yes, after β read it twice, i did π)init_displayβ initialize the display. main character energy, honestly πshift_cursorβ shift the cursor left or right one position πshift_displayβ shift the whole display content left or right. the entire vibe, moving π₯displayβ turn the display on or off.cursorβ turn the cursor on or off.blinkβ turn cursor blink on or off. iconic.linesβ one or two lines. that's it, that's the whole thing π€redefine_charβ redefine the actual pixel matrix of the character. like a glow-up but for pixels π§
ngl bestie, fontsize shows up in the struct up there but it doesn't get its own little entry in this list β so don't come for me, i'm just telling you what the page says π
β SEE ALSO β
- Kernel file
./drivers/auxdisplay/charlcd.hβ go read it, iykyk π
kisses and bye-bye bestie π«Άπ this slay little page lives in ./drivers/auxdisplay, dated October 2026, and it goes by struct charlcd_ops(9) β periodt. π
π
π¦ 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