STRUCT S3C_FB_WIN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct s3c_fb_win(9) β€” the Kernel API Manual, bestie edition

okay so you opened the Kernel API Manual page for struct s3c_fb_win(9) and honestly? iconic choice. this is the per-window private-data glow-up for every framebuffer, and we're gonna walk through it together 🫢


✨ NAME ✨

struct s3c_fb_win β€” per window private data for each framebuffer. that's it, that's the whole vibe πŸ’–


🌸 SYNOPSIS 🌸

here's the struct in all its glory, no cap, copy it exactly:

struct s3c_fb_win {
    struct s3c_fb_pd_win    *windata;
    struct s3c_fb           *parent;
    struct fb_info          *fbinfo;
    struct s3c_fb_palette    palette;
    struct s3c_fb_win_variant variant;
    u32 *palette_buffer;
    u32 pseudo_palette[16];
    unsigned int             index;
 };

πŸŽ€ Members πŸŽ€

bestie, let's meet the whole cast 😭 each one is a main character:

  • windata β€” the platform data that got supplied for the window configuration. it's giving "here's everything you need to set me up" ✨
  • parent β€” the hardware that this window is part of. yes, every window has a parent, and that parent is the literal silicon πŸ’€
  • fbinfo β€” a pointer to the framebuffer info for this window. (the og says "pointer pack" β€” we love a typo era, but it's a pointer, fr fr πŸ™ˆ)
  • palette β€” the bitfields for turning r/g/b into a hardware palette entry. color math slay 🌈
  • variant β€” the variant information for this window. lowkey essential, highkey underrated πŸ‘‘
  • palette_buffer β€” buffer/cache to hold palette entries. the storage baddie πŸŽ€
  • pseudo_palette β€” for use in TRUECOLOUR modes for entries 0..15. sixteen little slots of pure potential πŸ’œ
  • index β€” the window number of this window. yes it's a window numbering itself, it's giving self-aware 😭

πŸ¦‹ SEE ALSO πŸ¦‹

the whole friend group, in the order the manual gives it β€” don't come for me, this is the exact list:

Kernel file ./drivers/video/fbdev/s3c-fb.c, plus struct s3c_fb_variant(9), struct s3c_fb_win_variant(9), struct s3c_fb_driverdata(9), struct s3c_fb_palette(9), struct s3c_fb_vsync(9), struct s3c_fb(9), s3c_fb_validate_win_bpp(9), s3c_fb_check_var(9), s3c_fb_calc_pixclk(9), s3c_fb_align_word(9), vidosd_set_size(9), vidosd_set_alpha(9), shadow_protect_win(9), s3c_fb_enable(9), s3c_fb_set_par(9), s3c_fb_update_palette(9), s3c_fb_setcolreg(9), s3c_fb_blank(9), s3c_fb_pan_display(9), s3c_fb_enable_irq(9), s3c_fb_disable_irq(9), s3c_fb_wait_for_vsync(9), s3c_fb_missing_pixclock(9), s3c_fb_alloc_memory(9), s3c_fb_free_memory(9), s3c_fb_release_win(9), s3c_fb_probe_win(9), s3c_fb_set_rgb_timing(9), s3c_fb_clear_win(9), s3c_fb_remove(9).

like, that's thirty-ish functions, they ate and left no crumbs πŸ”₯


ngl, if you're poking at framebuffer windows on an s3c platform, you're gonna be living in ./drivers/video/fbdev/s3c-fb.c. go read it, it's right there 🧚

and that's the page!! footer energy for the win: this lives under ./drivers/video/fbdev, dated October 2026, and it's the struct s3c_fb_win(9) page of the Kernel API Manual. periodt πŸ’…β­

πŸ“¦ where this page comes from